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.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index e118696625..dafd3cc921 100644
--- a/src/lib/libcrypto/asn1/x_x509.c
+++ b/src/lib/libcrypto/asn1/x_x509.c
@@ -81,7 +81,8 @@ IMPLEMENT_ASN1_FUNCTIONS(X509_CINF)
81 81
82extern void policy_cache_free(X509_POLICY_CACHE *cache); 82extern void policy_cache_free(X509_POLICY_CACHE *cache);
83 83
84static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) 84static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
85 void *exarg)
85{ 86{
86 X509 *ret = (X509 *)*pval; 87 X509 *ret = (X509 *)*pval;
87 88
@@ -99,6 +100,7 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
99 ret->rfc3779_asid = NULL; 100 ret->rfc3779_asid = NULL;
100#endif 101#endif
101 ret->aux = NULL; 102 ret->aux = NULL;
103 ret->crldp = NULL;
102 CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); 104 CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data);
103 break; 105 break;
104 106
@@ -112,7 +114,10 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
112 X509_CERT_AUX_free(ret->aux); 114 X509_CERT_AUX_free(ret->aux);
113 ASN1_OCTET_STRING_free(ret->skid); 115 ASN1_OCTET_STRING_free(ret->skid);
114 AUTHORITY_KEYID_free(ret->akid); 116 AUTHORITY_KEYID_free(ret->akid);
117 CRL_DIST_POINTS_free(ret->crldp);
115 policy_cache_free(ret->policy_cache); 118 policy_cache_free(ret->policy_cache);
119 GENERAL_NAMES_free(ret->altname);
120 NAME_CONSTRAINTS_free(ret->nc);
116#ifndef OPENSSL_NO_RFC3779 121#ifndef OPENSSL_NO_RFC3779
117 sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); 122 sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free);
118 ASIdentifiers_free(ret->rfc3779_asid); 123 ASIdentifiers_free(ret->rfc3779_asid);
@@ -136,19 +141,6 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = {
136IMPLEMENT_ASN1_FUNCTIONS(X509) 141IMPLEMENT_ASN1_FUNCTIONS(X509)
137IMPLEMENT_ASN1_DUP_FUNCTION(X509) 142IMPLEMENT_ASN1_DUP_FUNCTION(X509)
138 143
139static ASN1_METHOD meth=
140 {
141 (I2D_OF(void)) i2d_X509,
142 (D2I_OF(void)) d2i_X509,
143 (void *(*)(void))X509_new,
144 (void (*)(void *)) X509_free
145 };
146
147ASN1_METHOD *X509_asn1_meth(void)
148 {
149 return(&meth);
150 }
151
152int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 144int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
153 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) 145 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)
154 { 146 {