diff options
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_pci.c')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_pci.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_pci.c b/src/lib/libcrypto/x509v3/v3_pci.c index b32d968619..601211f416 100644 --- a/src/lib/libcrypto/x509v3/v3_pci.c +++ b/src/lib/libcrypto/x509v3/v3_pci.c | |||
@@ -44,7 +44,7 @@ static int i2r_pci(X509V3_EXT_METHOD *method, PROXY_CERT_INFO_EXTENSION *ext, | |||
44 | static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method, | 44 | static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method, |
45 | X509V3_CTX *ctx, char *str); | 45 | X509V3_CTX *ctx, char *str); |
46 | 46 | ||
47 | X509V3_EXT_METHOD v3_pci = | 47 | const X509V3_EXT_METHOD v3_pci = |
48 | { NID_proxyCertInfo, 0, ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION), | 48 | { NID_proxyCertInfo, 0, ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION), |
49 | 0,0,0,0, | 49 | 0,0,0,0, |
50 | 0,0, | 50 | 0,0, |
@@ -82,13 +82,13 @@ static int process_pci_value(CONF_VALUE *val, | |||
82 | { | 82 | { |
83 | if (*language) | 83 | if (*language) |
84 | { | 84 | { |
85 | X509V3err(X509V3_F_R2I_PCI,X509V3_R_POLICY_LANGUAGE_ALREADTY_DEFINED); | 85 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_LANGUAGE_ALREADTY_DEFINED); |
86 | X509V3_conf_err(val); | 86 | X509V3_conf_err(val); |
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
89 | if (!(*language = OBJ_txt2obj(val->value, 0))) | 89 | if (!(*language = OBJ_txt2obj(val->value, 0))) |
90 | { | 90 | { |
91 | X509V3err(X509V3_F_R2I_PCI,X509V3_R_INVALID_OBJECT_IDENTIFIER); | 91 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_INVALID_OBJECT_IDENTIFIER); |
92 | X509V3_conf_err(val); | 92 | X509V3_conf_err(val); |
93 | return 0; | 93 | return 0; |
94 | } | 94 | } |
@@ -97,13 +97,13 @@ static int process_pci_value(CONF_VALUE *val, | |||
97 | { | 97 | { |
98 | if (*pathlen) | 98 | if (*pathlen) |
99 | { | 99 | { |
100 | X509V3err(X509V3_F_R2I_PCI,X509V3_R_POLICY_PATH_LENGTH_ALREADTY_DEFINED); | 100 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_PATH_LENGTH_ALREADTY_DEFINED); |
101 | X509V3_conf_err(val); | 101 | X509V3_conf_err(val); |
102 | return 0; | 102 | return 0; |
103 | } | 103 | } |
104 | if (!X509V3_get_value_int(val, pathlen)) | 104 | if (!X509V3_get_value_int(val, pathlen)) |
105 | { | 105 | { |
106 | X509V3err(X509V3_F_R2I_PCI,X509V3_R_POLICY_PATH_LENGTH); | 106 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_PATH_LENGTH); |
107 | X509V3_conf_err(val); | 107 | X509V3_conf_err(val); |
108 | return 0; | 108 | return 0; |
109 | } | 109 | } |
@@ -117,7 +117,7 @@ static int process_pci_value(CONF_VALUE *val, | |||
117 | *policy = ASN1_OCTET_STRING_new(); | 117 | *policy = ASN1_OCTET_STRING_new(); |
118 | if (!*policy) | 118 | if (!*policy) |
119 | { | 119 | { |
120 | X509V3err(X509V3_F_R2I_PCI,ERR_R_MALLOC_FAILURE); | 120 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,ERR_R_MALLOC_FAILURE); |
121 | X509V3_conf_err(val); | 121 | X509V3_conf_err(val); |
122 | return 0; | 122 | return 0; |
123 | } | 123 | } |
@@ -148,7 +148,7 @@ static int process_pci_value(CONF_VALUE *val, | |||
148 | BIO *b = BIO_new_file(val->value + 5, "r"); | 148 | BIO *b = BIO_new_file(val->value + 5, "r"); |
149 | if (!b) | 149 | if (!b) |
150 | { | 150 | { |
151 | X509V3err(X509V3_F_R2I_PCI,ERR_R_BIO_LIB); | 151 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,ERR_R_BIO_LIB); |
152 | X509V3_conf_err(val); | 152 | X509V3_conf_err(val); |
153 | goto err; | 153 | goto err; |
154 | } | 154 | } |
@@ -172,7 +172,7 @@ static int process_pci_value(CONF_VALUE *val, | |||
172 | 172 | ||
173 | if (n < 0) | 173 | if (n < 0) |
174 | { | 174 | { |
175 | X509V3err(X509V3_F_R2I_PCI,ERR_R_BIO_LIB); | 175 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,ERR_R_BIO_LIB); |
176 | X509V3_conf_err(val); | 176 | X509V3_conf_err(val); |
177 | goto err; | 177 | goto err; |
178 | } | 178 | } |
@@ -193,13 +193,13 @@ static int process_pci_value(CONF_VALUE *val, | |||
193 | } | 193 | } |
194 | else | 194 | else |
195 | { | 195 | { |
196 | X509V3err(X509V3_F_R2I_PCI,X509V3_R_INCORRECT_POLICY_SYNTAX_TAG); | 196 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_INCORRECT_POLICY_SYNTAX_TAG); |
197 | X509V3_conf_err(val); | 197 | X509V3_conf_err(val); |
198 | goto err; | 198 | goto err; |
199 | } | 199 | } |
200 | if (!tmp_data) | 200 | if (!tmp_data) |
201 | { | 201 | { |
202 | X509V3err(X509V3_F_R2I_PCI,ERR_R_MALLOC_FAILURE); | 202 | X509V3err(X509V3_F_PROCESS_PCI_VALUE,ERR_R_MALLOC_FAILURE); |
203 | X509V3_conf_err(val); | 203 | X509V3_conf_err(val); |
204 | goto err; | 204 | goto err; |
205 | } | 205 | } |
@@ -286,12 +286,6 @@ static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method, | |||
286 | X509V3err(X509V3_F_R2I_PCI,ERR_R_MALLOC_FAILURE); | 286 | X509V3err(X509V3_F_R2I_PCI,ERR_R_MALLOC_FAILURE); |
287 | goto err; | 287 | goto err; |
288 | } | 288 | } |
289 | pci->proxyPolicy = PROXY_POLICY_new(); | ||
290 | if (!pci->proxyPolicy) | ||
291 | { | ||
292 | X509V3err(X509V3_F_R2I_PCI,ERR_R_MALLOC_FAILURE); | ||
293 | goto err; | ||
294 | } | ||
295 | 289 | ||
296 | pci->proxyPolicy->policyLanguage = language; language = NULL; | 290 | pci->proxyPolicy->policyLanguage = language; language = NULL; |
297 | pci->proxyPolicy->policy = policy; policy = NULL; | 291 | pci->proxyPolicy->policy = policy; policy = NULL; |
@@ -301,11 +295,6 @@ err: | |||
301 | if (language) { ASN1_OBJECT_free(language); language = NULL; } | 295 | if (language) { ASN1_OBJECT_free(language); language = NULL; } |
302 | if (pathlen) { ASN1_INTEGER_free(pathlen); pathlen = NULL; } | 296 | if (pathlen) { ASN1_INTEGER_free(pathlen); pathlen = NULL; } |
303 | if (policy) { ASN1_OCTET_STRING_free(policy); policy = NULL; } | 297 | if (policy) { ASN1_OCTET_STRING_free(policy); policy = NULL; } |
304 | if (pci && pci->proxyPolicy) | ||
305 | { | ||
306 | PROXY_POLICY_free(pci->proxyPolicy); | ||
307 | pci->proxyPolicy = NULL; | ||
308 | } | ||
309 | if (pci) { PROXY_CERT_INFO_EXTENSION_free(pci); pci = NULL; } | 298 | if (pci) { PROXY_CERT_INFO_EXTENSION_free(pci); pci = NULL; } |
310 | end: | 299 | end: |
311 | sk_CONF_VALUE_pop_free(vals, X509V3_conf_free); | 300 | sk_CONF_VALUE_pop_free(vals, X509V3_conf_free); |