diff options
author | djm <> | 2008-09-06 12:17:54 +0000 |
---|---|---|
committer | djm <> | 2008-09-06 12:17:54 +0000 |
commit | 38ce604e3cc97706b876b0525ddff0121115456d (patch) | |
tree | 7ccc28afe1789ea3dbedf72365f955d5b8e105b5 /src/lib/libcrypto/asn1/x_x509.c | |
parent | 12867252827c8efaa8ddd1fa3b3d6e321e2bcdef (diff) | |
download | openbsd-38ce604e3cc97706b876b0525ddff0121115456d.tar.gz openbsd-38ce604e3cc97706b876b0525ddff0121115456d.tar.bz2 openbsd-38ce604e3cc97706b876b0525ddff0121115456d.zip |
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/asn1/x_x509.c')
-rw-r--r-- | src/lib/libcrypto/asn1/x_x509.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c index b50167ce43..e118696625 100644 --- a/src/lib/libcrypto/asn1/x_x509.c +++ b/src/lib/libcrypto/asn1/x_x509.c | |||
@@ -79,6 +79,8 @@ ASN1_SEQUENCE(X509_CINF) = { | |||
79 | IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | 79 | IMPLEMENT_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 | ||
82 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | ||
83 | |||
82 | static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | 84 | static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) |
83 | { | 85 | { |
84 | X509 *ret = (X509 *)*pval; | 86 | X509 *ret = (X509 *)*pval; |
@@ -92,6 +94,10 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | |||
92 | ret->ex_pathlen = -1; | 94 | ret->ex_pathlen = -1; |
93 | ret->skid = NULL; | 95 | ret->skid = NULL; |
94 | ret->akid = NULL; | 96 | ret->akid = NULL; |
97 | #ifndef OPENSSL_NO_RFC3779 | ||
98 | ret->rfc3779_addr = NULL; | ||
99 | ret->rfc3779_asid = NULL; | ||
100 | #endif | ||
95 | ret->aux = NULL; | 101 | ret->aux = NULL; |
96 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); | 102 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); |
97 | break; | 103 | break; |
@@ -106,6 +112,11 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | |||
106 | X509_CERT_AUX_free(ret->aux); | 112 | X509_CERT_AUX_free(ret->aux); |
107 | ASN1_OCTET_STRING_free(ret->skid); | 113 | ASN1_OCTET_STRING_free(ret->skid); |
108 | AUTHORITY_KEYID_free(ret->akid); | 114 | 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 | ||
109 | 120 | ||
110 | if (ret->name != NULL) OPENSSL_free(ret->name); | 121 | if (ret->name != NULL) OPENSSL_free(ret->name); |
111 | break; | 122 | break; |
@@ -125,11 +136,13 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
125 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 136 | IMPLEMENT_ASN1_FUNCTIONS(X509) |
126 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 137 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
127 | 138 | ||
128 | static ASN1_METHOD meth={ | 139 | static ASN1_METHOD meth= |
129 | (int (*)()) i2d_X509, | 140 | { |
130 | (char *(*)())d2i_X509, | 141 | (I2D_OF(void)) i2d_X509, |
131 | (char *(*)())X509_new, | 142 | (D2I_OF(void)) d2i_X509, |
132 | (void (*)()) X509_free}; | 143 | (void *(*)(void))X509_new, |
144 | (void (*)(void *)) X509_free | ||
145 | }; | ||
133 | 146 | ||
134 | ASN1_METHOD *X509_asn1_meth(void) | 147 | ASN1_METHOD *X509_asn1_meth(void) |
135 | { | 148 | { |
@@ -161,9 +174,9 @@ void *X509_get_ex_data(X509 *r, int idx) | |||
161 | * | 174 | * |
162 | */ | 175 | */ |
163 | 176 | ||
164 | X509 *d2i_X509_AUX(X509 **a, unsigned char **pp, long length) | 177 | X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length) |
165 | { | 178 | { |
166 | unsigned char *q; | 179 | const unsigned char *q; |
167 | X509 *ret; | 180 | X509 *ret; |
168 | /* Save start position */ | 181 | /* Save start position */ |
169 | q = *pp; | 182 | q = *pp; |