summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_x509.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/x_x509.c')
-rw-r--r--src/lib/libcrypto/asn1/x_x509.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index e118696625..b50167ce43 100644
--- a/src/lib/libcrypto/asn1/x_x509.c
+++ b/src/lib/libcrypto/asn1/x_x509.c
@@ -79,8 +79,6 @@ ASN1_SEQUENCE(X509_CINF) = {
79IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) 79IMPLEMENT_ASN1_FUNCTIONS(X509_CINF)
80/* X509 top level structure needs a bit of customisation */ 80/* X509 top level structure needs a bit of customisation */
81 81
82extern void policy_cache_free(X509_POLICY_CACHE *cache);
83
84static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) 82static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
85{ 83{
86 X509 *ret = (X509 *)*pval; 84 X509 *ret = (X509 *)*pval;
@@ -94,10 +92,6 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
94 ret->ex_pathlen = -1; 92 ret->ex_pathlen = -1;
95 ret->skid = NULL; 93 ret->skid = NULL;
96 ret->akid = NULL; 94 ret->akid = NULL;
97#ifndef OPENSSL_NO_RFC3779
98 ret->rfc3779_addr = NULL;
99 ret->rfc3779_asid = NULL;
100#endif
101 ret->aux = NULL; 95 ret->aux = NULL;
102 CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); 96 CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data);
103 break; 97 break;
@@ -112,11 +106,6 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
112 X509_CERT_AUX_free(ret->aux); 106 X509_CERT_AUX_free(ret->aux);
113 ASN1_OCTET_STRING_free(ret->skid); 107 ASN1_OCTET_STRING_free(ret->skid);
114 AUTHORITY_KEYID_free(ret->akid); 108 AUTHORITY_KEYID_free(ret->akid);
115 policy_cache_free(ret->policy_cache);
116#ifndef OPENSSL_NO_RFC3779
117 sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free);
118 ASIdentifiers_free(ret->rfc3779_asid);
119#endif
120 109
121 if (ret->name != NULL) OPENSSL_free(ret->name); 110 if (ret->name != NULL) OPENSSL_free(ret->name);
122 break; 111 break;
@@ -136,13 +125,11 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = {
136IMPLEMENT_ASN1_FUNCTIONS(X509) 125IMPLEMENT_ASN1_FUNCTIONS(X509)
137IMPLEMENT_ASN1_DUP_FUNCTION(X509) 126IMPLEMENT_ASN1_DUP_FUNCTION(X509)
138 127
139static ASN1_METHOD meth= 128static ASN1_METHOD meth={
140 { 129 (int (*)()) i2d_X509,
141 (I2D_OF(void)) i2d_X509, 130 (char *(*)())d2i_X509,
142 (D2I_OF(void)) d2i_X509, 131 (char *(*)())X509_new,
143 (void *(*)(void))X509_new, 132 (void (*)()) X509_free};
144 (void (*)(void *)) X509_free
145 };
146 133
147ASN1_METHOD *X509_asn1_meth(void) 134ASN1_METHOD *X509_asn1_meth(void)
148 { 135 {
@@ -174,9 +161,9 @@ void *X509_get_ex_data(X509 *r, int idx)
174 * 161 *
175 */ 162 */
176 163
177X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length) 164X509 *d2i_X509_AUX(X509 **a, unsigned char **pp, long length)
178{ 165{
179 const unsigned char *q; 166 unsigned char *q;
180 X509 *ret; 167 X509 *ret;
181 /* Save start position */ 168 /* Save start position */
182 q = *pp; 169 q = *pp;