summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3
diff options
context:
space:
mode:
authorbeck <>2000-12-15 02:58:47 +0000
committerbeck <>2000-12-15 02:58:47 +0000
commit9200bb13d15da4b2a23e6bc92c20e95b74aa2113 (patch)
tree5c52d628ec1e34be76e7ef2a4235d248b7c44d24 /src/lib/libcrypto/x509v3
parente131d25072e3d4197ba4b9bcc0d1b27d34d6488d (diff)
downloadopenbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.gz
openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.bz2
openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.zip
openssl-engine-0.9.6 merge
Diffstat (limited to 'src/lib/libcrypto/x509v3')
-rw-r--r--src/lib/libcrypto/x509v3/Makefile.ssl418
-rw-r--r--src/lib/libcrypto/x509v3/v3_akey.c8
-rw-r--r--src/lib/libcrypto/x509v3/v3_alt.c6
-rw-r--r--src/lib/libcrypto/x509v3/v3_bcons.c2
-rw-r--r--src/lib/libcrypto/x509v3/v3_conf.c4
-rw-r--r--src/lib/libcrypto/x509v3/v3_cpols.c41
-rw-r--r--src/lib/libcrypto/x509v3/v3_crld.c10
-rw-r--r--src/lib/libcrypto/x509v3/v3_extku.c2
-rw-r--r--src/lib/libcrypto/x509v3/v3_genn.c6
-rw-r--r--src/lib/libcrypto/x509v3/v3_ia5.c2
-rw-r--r--src/lib/libcrypto/x509v3/v3_info.c16
-rw-r--r--src/lib/libcrypto/x509v3/v3_lib.c28
-rw-r--r--src/lib/libcrypto/x509v3/v3_pku.c2
-rw-r--r--src/lib/libcrypto/x509v3/v3_prn.c2
-rw-r--r--src/lib/libcrypto/x509v3/v3_purp.c162
-rw-r--r--src/lib/libcrypto/x509v3/v3_sxnet.c6
-rw-r--r--src/lib/libcrypto/x509v3/v3_utl.c134
-rw-r--r--src/lib/libcrypto/x509v3/x509v3.h23
18 files changed, 551 insertions, 321 deletions
diff --git a/src/lib/libcrypto/x509v3/Makefile.ssl b/src/lib/libcrypto/x509v3/Makefile.ssl
index 1bb746d52d..f7c3a6ca13 100644
--- a/src/lib/libcrypto/x509v3/Makefile.ssl
+++ b/src/lib/libcrypto/x509v3/Makefile.ssl
@@ -88,17 +88,19 @@ v3_akey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
88v3_akey.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 88v3_akey.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
89v3_akey.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 89v3_akey.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
90v3_akey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 90v3_akey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
91v3_akey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 91v3_akey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
92v3_akey.o: ../../include/openssl/err.h ../../include/openssl/evp.h 92v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
93v3_akey.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 93v3_akey.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
94v3_akey.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 94v3_akey.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
95v3_akey.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 95v3_akey.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
96v3_akey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 96v3_akey.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
97v3_akey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h 97v3_akey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
98v3_akey.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h 98v3_akey.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
99v3_akey.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h 99v3_akey.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
100v3_akey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 100v3_akey.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
101v3_akey.o: ../../include/openssl/stack.h ../../include/openssl/x509.h 101v3_akey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
102v3_akey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
103v3_akey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
102v3_akey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h 104v3_akey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
103v3_akey.o: ../cryptlib.h 105v3_akey.o: ../cryptlib.h
104v3_alt.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 106v3_alt.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -107,16 +109,18 @@ v3_alt.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
107v3_alt.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 109v3_alt.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
108v3_alt.o: ../../include/openssl/des.h ../../include/openssl/dh.h 110v3_alt.o: ../../include/openssl/des.h ../../include/openssl/dh.h
109v3_alt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 111v3_alt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
110v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 112v3_alt.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
111v3_alt.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 113v3_alt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
112v3_alt.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 114v3_alt.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
115v3_alt.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
113v3_alt.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 116v3_alt.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
114v3_alt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 117v3_alt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
115v3_alt.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 118v3_alt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
116v3_alt.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 119v3_alt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
117v3_alt.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 120v3_alt.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
118v3_alt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 121v3_alt.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
119v3_alt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 122v3_alt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
123v3_alt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
120v3_alt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 124v3_alt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
121v3_alt.o: ../../include/openssl/x509v3.h ../cryptlib.h 125v3_alt.o: ../../include/openssl/x509v3.h ../cryptlib.h
122v3_bcons.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 126v3_bcons.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
@@ -125,53 +129,60 @@ v3_bcons.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
125v3_bcons.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 129v3_bcons.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
126v3_bcons.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 130v3_bcons.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
127v3_bcons.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 131v3_bcons.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
128v3_bcons.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 132v3_bcons.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
129v3_bcons.o: ../../include/openssl/err.h ../../include/openssl/evp.h 133v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
130v3_bcons.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 134v3_bcons.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
131v3_bcons.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 135v3_bcons.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
132v3_bcons.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 136v3_bcons.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
133v3_bcons.o: ../../include/openssl/opensslconf.h 137v3_bcons.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
138v3_bcons.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
134v3_bcons.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 139v3_bcons.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
135v3_bcons.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 140v3_bcons.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
136v3_bcons.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 141v3_bcons.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
137v3_bcons.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 142v3_bcons.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
138v3_bcons.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 143v3_bcons.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
139v3_bcons.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 144v3_bcons.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
140v3_bcons.o: ../../include/openssl/x509v3.h ../cryptlib.h 145v3_bcons.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
146v3_bcons.o: ../cryptlib.h
141v3_bitst.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 147v3_bitst.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
142v3_bitst.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h 148v3_bitst.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
143v3_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h 149v3_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
144v3_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 150v3_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
145v3_bitst.o: ../../include/openssl/des.h ../../include/openssl/dh.h 151v3_bitst.o: ../../include/openssl/des.h ../../include/openssl/dh.h
146v3_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 152v3_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
147v3_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 153v3_bitst.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
148v3_bitst.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 154v3_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
149v3_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 155v3_bitst.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
156v3_bitst.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
150v3_bitst.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 157v3_bitst.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
151v3_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 158v3_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
159v3_bitst.o: ../../include/openssl/opensslconf.h
152v3_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 160v3_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
153v3_bitst.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 161v3_bitst.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
154v3_bitst.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 162v3_bitst.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
155v3_bitst.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 163v3_bitst.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
156v3_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 164v3_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
157v3_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 165v3_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
158v3_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h 166v3_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
167v3_bitst.o: ../cryptlib.h
159v3_conf.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 168v3_conf.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
160v3_conf.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h 169v3_conf.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
161v3_conf.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h 170v3_conf.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
162v3_conf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 171v3_conf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
163v3_conf.o: ../../include/openssl/des.h ../../include/openssl/dh.h 172v3_conf.o: ../../include/openssl/des.h ../../include/openssl/dh.h
164v3_conf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 173v3_conf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
165v3_conf.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 174v3_conf.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
166v3_conf.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 175v3_conf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
167v3_conf.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 176v3_conf.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
177v3_conf.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
168v3_conf.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 178v3_conf.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
169v3_conf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 179v3_conf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
170v3_conf.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 180v3_conf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
171v3_conf.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 181v3_conf.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
172v3_conf.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 182v3_conf.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
173v3_conf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 183v3_conf.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
174v3_conf.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 184v3_conf.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
185v3_conf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
175v3_conf.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 186v3_conf.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
176v3_conf.o: ../../include/openssl/x509v3.h ../cryptlib.h 187v3_conf.o: ../../include/openssl/x509v3.h ../cryptlib.h
177v3_cpols.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 188v3_cpols.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
@@ -180,36 +191,40 @@ v3_cpols.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
180v3_cpols.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 191v3_cpols.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
181v3_cpols.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 192v3_cpols.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
182v3_cpols.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 193v3_cpols.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
183v3_cpols.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 194v3_cpols.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
184v3_cpols.o: ../../include/openssl/err.h ../../include/openssl/evp.h 195v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
185v3_cpols.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 196v3_cpols.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
186v3_cpols.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 197v3_cpols.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
187v3_cpols.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 198v3_cpols.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
188v3_cpols.o: ../../include/openssl/opensslconf.h 199v3_cpols.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
200v3_cpols.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
189v3_cpols.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 201v3_cpols.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
190v3_cpols.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 202v3_cpols.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
191v3_cpols.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 203v3_cpols.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
192v3_cpols.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 204v3_cpols.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
193v3_cpols.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 205v3_cpols.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
194v3_cpols.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 206v3_cpols.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
195v3_cpols.o: ../../include/openssl/x509v3.h ../cryptlib.h 207v3_cpols.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
208v3_cpols.o: ../cryptlib.h
196v3_crld.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 209v3_crld.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
197v3_crld.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h 210v3_crld.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
198v3_crld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h 211v3_crld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
199v3_crld.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 212v3_crld.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
200v3_crld.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 213v3_crld.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
201v3_crld.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 214v3_crld.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
202v3_crld.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 215v3_crld.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
203v3_crld.o: ../../include/openssl/err.h ../../include/openssl/evp.h 216v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
204v3_crld.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 217v3_crld.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
205v3_crld.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 218v3_crld.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
206v3_crld.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 219v3_crld.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
207v3_crld.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 220v3_crld.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
208v3_crld.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h 221v3_crld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
209v3_crld.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h 222v3_crld.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
210v3_crld.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h 223v3_crld.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
211v3_crld.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 224v3_crld.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
212v3_crld.o: ../../include/openssl/stack.h ../../include/openssl/x509.h 225v3_crld.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
226v3_crld.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
227v3_crld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
213v3_crld.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h 228v3_crld.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
214v3_crld.o: ../cryptlib.h 229v3_crld.o: ../cryptlib.h
215v3_enum.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 230v3_enum.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -218,16 +233,18 @@ v3_enum.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
218v3_enum.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 233v3_enum.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
219v3_enum.o: ../../include/openssl/des.h ../../include/openssl/dh.h 234v3_enum.o: ../../include/openssl/des.h ../../include/openssl/dh.h
220v3_enum.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 235v3_enum.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
221v3_enum.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 236v3_enum.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
222v3_enum.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 237v3_enum.o: ../../include/openssl/err.h ../../include/openssl/evp.h
223v3_enum.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 238v3_enum.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
239v3_enum.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
224v3_enum.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 240v3_enum.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
225v3_enum.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 241v3_enum.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
226v3_enum.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 242v3_enum.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
227v3_enum.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 243v3_enum.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
228v3_enum.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 244v3_enum.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
229v3_enum.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 245v3_enum.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
230v3_enum.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 246v3_enum.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
247v3_enum.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
231v3_enum.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 248v3_enum.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
232v3_enum.o: ../../include/openssl/x509v3.h ../cryptlib.h 249v3_enum.o: ../../include/openssl/x509v3.h ../cryptlib.h
233v3_extku.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 250v3_extku.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -236,35 +253,40 @@ v3_extku.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
236v3_extku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 253v3_extku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
237v3_extku.o: ../../include/openssl/des.h ../../include/openssl/dh.h 254v3_extku.o: ../../include/openssl/des.h ../../include/openssl/dh.h
238v3_extku.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 255v3_extku.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
239v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 256v3_extku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
240v3_extku.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 257v3_extku.o: ../../include/openssl/err.h ../../include/openssl/evp.h
241v3_extku.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 258v3_extku.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
259v3_extku.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
242v3_extku.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 260v3_extku.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
243v3_extku.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 261v3_extku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
262v3_extku.o: ../../include/openssl/opensslconf.h
244v3_extku.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 263v3_extku.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
245v3_extku.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 264v3_extku.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
246v3_extku.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 265v3_extku.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
247v3_extku.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 266v3_extku.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
248v3_extku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 267v3_extku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
249v3_extku.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 268v3_extku.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
250v3_extku.o: ../../include/openssl/x509v3.h ../cryptlib.h 269v3_extku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
270v3_extku.o: ../cryptlib.h
251v3_genn.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 271v3_genn.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
252v3_genn.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h 272v3_genn.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
253v3_genn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h 273v3_genn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
254v3_genn.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 274v3_genn.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
255v3_genn.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 275v3_genn.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
256v3_genn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 276v3_genn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
257v3_genn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 277v3_genn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
258v3_genn.o: ../../include/openssl/err.h ../../include/openssl/evp.h 278v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
259v3_genn.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 279v3_genn.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
260v3_genn.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 280v3_genn.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
261v3_genn.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 281v3_genn.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
262v3_genn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 282v3_genn.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
263v3_genn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h 283v3_genn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
264v3_genn.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h 284v3_genn.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
265v3_genn.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h 285v3_genn.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
266v3_genn.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 286v3_genn.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
267v3_genn.o: ../../include/openssl/stack.h ../../include/openssl/x509.h 287v3_genn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
288v3_genn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
289v3_genn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
268v3_genn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h 290v3_genn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
269v3_genn.o: ../cryptlib.h 291v3_genn.o: ../cryptlib.h
270v3_ia5.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 292v3_ia5.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -273,16 +295,18 @@ v3_ia5.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
273v3_ia5.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 295v3_ia5.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
274v3_ia5.o: ../../include/openssl/des.h ../../include/openssl/dh.h 296v3_ia5.o: ../../include/openssl/des.h ../../include/openssl/dh.h
275v3_ia5.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 297v3_ia5.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
276v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 298v3_ia5.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
277v3_ia5.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 299v3_ia5.o: ../../include/openssl/err.h ../../include/openssl/evp.h
278v3_ia5.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 300v3_ia5.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
301v3_ia5.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
279v3_ia5.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 302v3_ia5.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
280v3_ia5.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 303v3_ia5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
281v3_ia5.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 304v3_ia5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
282v3_ia5.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 305v3_ia5.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
283v3_ia5.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 306v3_ia5.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
284v3_ia5.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 307v3_ia5.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
285v3_ia5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 308v3_ia5.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
309v3_ia5.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
286v3_ia5.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 310v3_ia5.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
287v3_ia5.o: ../../include/openssl/x509v3.h ../cryptlib.h 311v3_ia5.o: ../../include/openssl/x509v3.h ../cryptlib.h
288v3_info.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 312v3_info.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
@@ -291,17 +315,19 @@ v3_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
291v3_info.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 315v3_info.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
292v3_info.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 316v3_info.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
293v3_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 317v3_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
294v3_info.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 318v3_info.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
295v3_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h 319v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
296v3_info.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 320v3_info.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
297v3_info.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 321v3_info.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
298v3_info.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 322v3_info.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
299v3_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 323v3_info.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
300v3_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h 324v3_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
301v3_info.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h 325v3_info.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
302v3_info.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h 326v3_info.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
303v3_info.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 327v3_info.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
304v3_info.o: ../../include/openssl/stack.h ../../include/openssl/x509.h 328v3_info.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
329v3_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
330v3_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
305v3_info.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h 331v3_info.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
306v3_info.o: ../cryptlib.h 332v3_info.o: ../cryptlib.h
307v3_int.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 333v3_int.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -310,16 +336,18 @@ v3_int.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
310v3_int.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 336v3_int.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
311v3_int.o: ../../include/openssl/des.h ../../include/openssl/dh.h 337v3_int.o: ../../include/openssl/des.h ../../include/openssl/dh.h
312v3_int.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 338v3_int.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
313v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 339v3_int.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
314v3_int.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 340v3_int.o: ../../include/openssl/err.h ../../include/openssl/evp.h
315v3_int.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 341v3_int.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
342v3_int.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
316v3_int.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 343v3_int.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
317v3_int.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 344v3_int.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
318v3_int.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 345v3_int.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
319v3_int.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 346v3_int.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
320v3_int.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 347v3_int.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
321v3_int.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 348v3_int.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
322v3_int.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 349v3_int.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
350v3_int.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
323v3_int.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 351v3_int.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
324v3_int.o: ../../include/openssl/x509v3.h ../cryptlib.h 352v3_int.o: ../../include/openssl/x509v3.h ../cryptlib.h
325v3_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 353v3_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -328,16 +356,18 @@ v3_lib.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
328v3_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 356v3_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
329v3_lib.o: ../../include/openssl/des.h ../../include/openssl/dh.h 357v3_lib.o: ../../include/openssl/des.h ../../include/openssl/dh.h
330v3_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 358v3_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
331v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 359v3_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
332v3_lib.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 360v3_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
333v3_lib.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 361v3_lib.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
362v3_lib.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
334v3_lib.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 363v3_lib.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
335v3_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 364v3_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
336v3_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 365v3_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
337v3_lib.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 366v3_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
338v3_lib.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 367v3_lib.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
339v3_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 368v3_lib.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
340v3_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 369v3_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
370v3_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
341v3_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 371v3_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
342v3_lib.o: ../../include/openssl/x509v3.h ../cryptlib.h ext_dat.h 372v3_lib.o: ../../include/openssl/x509v3.h ../cryptlib.h ext_dat.h
343v3_pku.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 373v3_pku.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
@@ -346,17 +376,19 @@ v3_pku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
346v3_pku.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 376v3_pku.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
347v3_pku.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 377v3_pku.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
348v3_pku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 378v3_pku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
349v3_pku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 379v3_pku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
350v3_pku.o: ../../include/openssl/err.h ../../include/openssl/evp.h 380v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
351v3_pku.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 381v3_pku.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
352v3_pku.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 382v3_pku.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
353v3_pku.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 383v3_pku.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
354v3_pku.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 384v3_pku.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
355v3_pku.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h 385v3_pku.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
356v3_pku.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h 386v3_pku.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
357v3_pku.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h 387v3_pku.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
358v3_pku.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h 388v3_pku.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
359v3_pku.o: ../../include/openssl/stack.h ../../include/openssl/x509.h 389v3_pku.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
390v3_pku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
391v3_pku.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
360v3_pku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h 392v3_pku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
361v3_pku.o: ../cryptlib.h 393v3_pku.o: ../cryptlib.h
362v3_prn.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 394v3_prn.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -365,16 +397,18 @@ v3_prn.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
365v3_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 397v3_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
366v3_prn.o: ../../include/openssl/des.h ../../include/openssl/dh.h 398v3_prn.o: ../../include/openssl/des.h ../../include/openssl/dh.h
367v3_prn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 399v3_prn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
368v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 400v3_prn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
369v3_prn.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 401v3_prn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
370v3_prn.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 402v3_prn.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
403v3_prn.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
371v3_prn.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 404v3_prn.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
372v3_prn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 405v3_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
373v3_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 406v3_prn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
374v3_prn.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 407v3_prn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
375v3_prn.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 408v3_prn.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
376v3_prn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 409v3_prn.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
377v3_prn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 410v3_prn.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
411v3_prn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
378v3_prn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 412v3_prn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
379v3_prn.o: ../../include/openssl/x509v3.h ../cryptlib.h 413v3_prn.o: ../../include/openssl/x509v3.h ../cryptlib.h
380v3_purp.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 414v3_purp.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -383,16 +417,18 @@ v3_purp.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
383v3_purp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 417v3_purp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
384v3_purp.o: ../../include/openssl/des.h ../../include/openssl/dh.h 418v3_purp.o: ../../include/openssl/des.h ../../include/openssl/dh.h
385v3_purp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 419v3_purp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
386v3_purp.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 420v3_purp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
387v3_purp.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 421v3_purp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
388v3_purp.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 422v3_purp.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
423v3_purp.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
389v3_purp.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 424v3_purp.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
390v3_purp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 425v3_purp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
391v3_purp.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 426v3_purp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
392v3_purp.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 427v3_purp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
393v3_purp.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 428v3_purp.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
394v3_purp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 429v3_purp.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
395v3_purp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 430v3_purp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
431v3_purp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
396v3_purp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 432v3_purp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
397v3_purp.o: ../../include/openssl/x509v3.h ../cryptlib.h 433v3_purp.o: ../../include/openssl/x509v3.h ../cryptlib.h
398v3_skey.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 434v3_skey.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
@@ -401,16 +437,18 @@ v3_skey.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
401v3_skey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 437v3_skey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
402v3_skey.o: ../../include/openssl/des.h ../../include/openssl/dh.h 438v3_skey.o: ../../include/openssl/des.h ../../include/openssl/dh.h
403v3_skey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 439v3_skey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
404v3_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 440v3_skey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
405v3_skey.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 441v3_skey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
406v3_skey.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 442v3_skey.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
443v3_skey.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
407v3_skey.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 444v3_skey.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
408v3_skey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 445v3_skey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
409v3_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 446v3_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
410v3_skey.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 447v3_skey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
411v3_skey.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 448v3_skey.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
412v3_skey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 449v3_skey.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
413v3_skey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 450v3_skey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
451v3_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
414v3_skey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 452v3_skey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
415v3_skey.o: ../../include/openssl/x509v3.h ../cryptlib.h 453v3_skey.o: ../../include/openssl/x509v3.h ../cryptlib.h
416v3_sxnet.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h 454v3_sxnet.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
@@ -419,51 +457,57 @@ v3_sxnet.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
419v3_sxnet.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 457v3_sxnet.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
420v3_sxnet.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 458v3_sxnet.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
421v3_sxnet.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 459v3_sxnet.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
422v3_sxnet.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h 460v3_sxnet.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
423v3_sxnet.o: ../../include/openssl/err.h ../../include/openssl/evp.h 461v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
424v3_sxnet.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h 462v3_sxnet.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
425v3_sxnet.o: ../../include/openssl/md2.h ../../include/openssl/md5.h 463v3_sxnet.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
426v3_sxnet.o: ../../include/openssl/mdc2.h ../../include/openssl/objects.h 464v3_sxnet.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
427v3_sxnet.o: ../../include/openssl/opensslconf.h 465v3_sxnet.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
466v3_sxnet.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
428v3_sxnet.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 467v3_sxnet.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
429v3_sxnet.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 468v3_sxnet.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
430v3_sxnet.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 469v3_sxnet.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
431v3_sxnet.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 470v3_sxnet.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
432v3_sxnet.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 471v3_sxnet.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
433v3_sxnet.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 472v3_sxnet.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
434v3_sxnet.o: ../../include/openssl/x509v3.h ../cryptlib.h 473v3_sxnet.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
474v3_sxnet.o: ../cryptlib.h
435v3_utl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 475v3_utl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
436v3_utl.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h 476v3_utl.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
437v3_utl.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h 477v3_utl.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
438v3_utl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h 478v3_utl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
439v3_utl.o: ../../include/openssl/des.h ../../include/openssl/dh.h 479v3_utl.o: ../../include/openssl/des.h ../../include/openssl/dh.h
440v3_utl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h 480v3_utl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
441v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 481v3_utl.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
442v3_utl.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 482v3_utl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
443v3_utl.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 483v3_utl.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
484v3_utl.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
444v3_utl.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 485v3_utl.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
445v3_utl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 486v3_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
446v3_utl.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 487v3_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
447v3_utl.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 488v3_utl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
448v3_utl.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 489v3_utl.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
449v3_utl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 490v3_utl.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
450v3_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 491v3_utl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
492v3_utl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
451v3_utl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 493v3_utl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
452v3_utl.o: ../../include/openssl/x509v3.h ../cryptlib.h 494v3_utl.o: ../../include/openssl/x509v3.h ../cryptlib.h
453v3err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 495v3err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
454v3err.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h 496v3err.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
455v3err.o: ../../include/openssl/cast.h ../../include/openssl/conf.h 497v3err.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
456v3err.o: ../../include/openssl/crypto.h ../../include/openssl/des.h 498v3err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
457v3err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h 499v3err.o: ../../include/openssl/des.h ../../include/openssl/dh.h
500v3err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
458v3err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 501v3err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
459v3err.o: ../../include/openssl/evp.h ../../include/openssl/idea.h 502v3err.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
460v3err.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h 503v3err.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
461v3err.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h 504v3err.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
505v3err.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
462v3err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h 506v3err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
463v3err.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h 507v3err.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
464v3err.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h 508v3err.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
465v3err.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h 509v3err.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
466v3err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h 510v3err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
467v3err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h 511v3err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
468v3err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h 512v3err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
469v3err.o: ../../include/openssl/x509v3.h 513v3err.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
diff --git a/src/lib/libcrypto/x509v3/v3_akey.c b/src/lib/libcrypto/x509v3/v3_akey.c
index 96c04fe4f5..0889a18993 100644
--- a/src/lib/libcrypto/x509v3/v3_akey.c
+++ b/src/lib/libcrypto/x509v3/v3_akey.c
@@ -132,7 +132,7 @@ void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a)
132 M_ASN1_OCTET_STRING_free(a->keyid); 132 M_ASN1_OCTET_STRING_free(a->keyid);
133 sk_GENERAL_NAME_pop_free(a->issuer, GENERAL_NAME_free); 133 sk_GENERAL_NAME_pop_free(a->issuer, GENERAL_NAME_free);
134 M_ASN1_INTEGER_free (a->serial); 134 M_ASN1_INTEGER_free (a->serial);
135 Free (a); 135 OPENSSL_free (a);
136} 136}
137 137
138static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, 138static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
@@ -142,7 +142,7 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
142 if(akeyid->keyid) { 142 if(akeyid->keyid) {
143 tmp = hex_to_string(akeyid->keyid->data, akeyid->keyid->length); 143 tmp = hex_to_string(akeyid->keyid->data, akeyid->keyid->length);
144 X509V3_add_value("keyid", tmp, &extlist); 144 X509V3_add_value("keyid", tmp, &extlist);
145 Free(tmp); 145 OPENSSL_free(tmp);
146 } 146 }
147 if(akeyid->issuer) 147 if(akeyid->issuer)
148 extlist = i2v_GENERAL_NAMES(NULL, akeyid->issuer, extlist); 148 extlist = i2v_GENERAL_NAMES(NULL, akeyid->issuer, extlist);
@@ -150,7 +150,7 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
150 tmp = hex_to_string(akeyid->serial->data, 150 tmp = hex_to_string(akeyid->serial->data,
151 akeyid->serial->length); 151 akeyid->serial->length);
152 X509V3_add_value("serial", tmp, &extlist); 152 X509V3_add_value("serial", tmp, &extlist);
153 Free(tmp); 153 OPENSSL_free(tmp);
154 } 154 }
155 return extlist; 155 return extlist;
156} 156}
@@ -224,7 +224,7 @@ if((issuer && !ikeyid) || (issuer == 2)) {
224if(!(akeyid = AUTHORITY_KEYID_new())) goto err; 224if(!(akeyid = AUTHORITY_KEYID_new())) goto err;
225 225
226if(isname) { 226if(isname) {
227 if(!(gens = sk_GENERAL_NAME_new(NULL)) || !(gen = GENERAL_NAME_new()) 227 if(!(gens = sk_GENERAL_NAME_new_null()) || !(gen = GENERAL_NAME_new())
228 || !sk_GENERAL_NAME_push(gens, gen)) { 228 || !sk_GENERAL_NAME_push(gens, gen)) {
229 X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,ERR_R_MALLOC_FAILURE); 229 X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,ERR_R_MALLOC_FAILURE);
230 goto err; 230 goto err;
diff --git a/src/lib/libcrypto/x509v3/v3_alt.c b/src/lib/libcrypto/x509v3/v3_alt.c
index 5ccd1e0e3d..733919f250 100644
--- a/src/lib/libcrypto/x509v3/v3_alt.c
+++ b/src/lib/libcrypto/x509v3/v3_alt.c
@@ -160,7 +160,7 @@ static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method,
160 STACK_OF(GENERAL_NAME) *gens = NULL; 160 STACK_OF(GENERAL_NAME) *gens = NULL;
161 CONF_VALUE *cnf; 161 CONF_VALUE *cnf;
162 int i; 162 int i;
163 if(!(gens = sk_GENERAL_NAME_new(NULL))) { 163 if(!(gens = sk_GENERAL_NAME_new_null())) {
164 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); 164 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE);
165 return NULL; 165 return NULL;
166 } 166 }
@@ -225,7 +225,7 @@ static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method,
225 STACK_OF(GENERAL_NAME) *gens = NULL; 225 STACK_OF(GENERAL_NAME) *gens = NULL;
226 CONF_VALUE *cnf; 226 CONF_VALUE *cnf;
227 int i; 227 int i;
228 if(!(gens = sk_GENERAL_NAME_new(NULL))) { 228 if(!(gens = sk_GENERAL_NAME_new_null())) {
229 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); 229 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE);
230 return NULL; 230 return NULL;
231 } 231 }
@@ -304,7 +304,7 @@ STACK_OF(GENERAL_NAME) *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method,
304 STACK_OF(GENERAL_NAME) *gens = NULL; 304 STACK_OF(GENERAL_NAME) *gens = NULL;
305 CONF_VALUE *cnf; 305 CONF_VALUE *cnf;
306 int i; 306 int i;
307 if(!(gens = sk_GENERAL_NAME_new(NULL))) { 307 if(!(gens = sk_GENERAL_NAME_new_null())) {
308 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); 308 X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE);
309 return NULL; 309 return NULL;
310 } 310 }
diff --git a/src/lib/libcrypto/x509v3/v3_bcons.c b/src/lib/libcrypto/x509v3/v3_bcons.c
index 1e3edc205f..c576b8e955 100644
--- a/src/lib/libcrypto/x509v3/v3_bcons.c
+++ b/src/lib/libcrypto/x509v3/v3_bcons.c
@@ -123,7 +123,7 @@ void BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a)
123{ 123{
124 if (a == NULL) return; 124 if (a == NULL) return;
125 M_ASN1_INTEGER_free (a->pathlen); 125 M_ASN1_INTEGER_free (a->pathlen);
126 Free (a); 126 OPENSSL_free (a);
127} 127}
128 128
129static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method, 129static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,
diff --git a/src/lib/libcrypto/x509v3/v3_conf.c b/src/lib/libcrypto/x509v3/v3_conf.c
index b2f03010cc..bdc9c1cbc1 100644
--- a/src/lib/libcrypto/x509v3/v3_conf.c
+++ b/src/lib/libcrypto/x509v3/v3_conf.c
@@ -167,7 +167,7 @@ static X509_EXTENSION *do_ext_i2d(X509V3_EXT_METHOD *method, int ext_nid,
167 X509_EXTENSION *ext; 167 X509_EXTENSION *ext;
168 /* Convert internal representation to DER */ 168 /* Convert internal representation to DER */
169 ext_len = method->i2d(ext_struc, NULL); 169 ext_len = method->i2d(ext_struc, NULL);
170 if(!(ext_der = Malloc(ext_len))) goto merr; 170 if(!(ext_der = OPENSSL_malloc(ext_len))) goto merr;
171 p = ext_der; 171 p = ext_der;
172 method->i2d(ext_struc, &p); 172 method->i2d(ext_struc, &p);
173 if(!(ext_oct = M_ASN1_OCTET_STRING_new())) goto merr; 173 if(!(ext_oct = M_ASN1_OCTET_STRING_new())) goto merr;
@@ -255,7 +255,7 @@ extension = X509_EXTENSION_create_by_OBJ(NULL, obj, crit, oct);
255err: 255err:
256ASN1_OBJECT_free(obj); 256ASN1_OBJECT_free(obj);
257M_ASN1_OCTET_STRING_free(oct); 257M_ASN1_OCTET_STRING_free(oct);
258if(ext_der) Free(ext_der); 258if(ext_der) OPENSSL_free(ext_der);
259return extension; 259return extension;
260} 260}
261 261
diff --git a/src/lib/libcrypto/x509v3/v3_cpols.c b/src/lib/libcrypto/x509v3/v3_cpols.c
index 466713b50d..8203ed7571 100644
--- a/src/lib/libcrypto/x509v3/v3_cpols.c
+++ b/src/lib/libcrypto/x509v3/v3_cpols.c
@@ -73,7 +73,7 @@ static POLICYINFO *policy_section(X509V3_CTX *ctx,
73 STACK_OF(CONF_VALUE) *polstrs, int ia5org); 73 STACK_OF(CONF_VALUE) *polstrs, int ia5org);
74static POLICYQUALINFO *notice_section(X509V3_CTX *ctx, 74static POLICYQUALINFO *notice_section(X509V3_CTX *ctx,
75 STACK_OF(CONF_VALUE) *unot, int ia5org); 75 STACK_OF(CONF_VALUE) *unot, int ia5org);
76static STACK *nref_nos(STACK_OF(CONF_VALUE) *nos); 76static STACK_OF(ASN1_INTEGER) *nref_nos(STACK_OF(CONF_VALUE) *nos);
77 77
78X509V3_EXT_METHOD v3_cpols = { 78X509V3_EXT_METHOD v3_cpols = {
79NID_certificate_policies, 0, 79NID_certificate_policies, 0,
@@ -282,20 +282,22 @@ static POLICYQUALINFO *notice_section(X509V3_CTX *ctx,
282 return NULL; 282 return NULL;
283} 283}
284 284
285static STACK *nref_nos(STACK_OF(CONF_VALUE) *nos) 285static STACK_OF(ASN1_INTEGER) *nref_nos(STACK_OF(CONF_VALUE) *nos)
286{ 286{
287 STACK *nnums; 287 STACK_OF(ASN1_INTEGER) *nnums;
288 CONF_VALUE *cnf; 288 CONF_VALUE *cnf;
289 ASN1_INTEGER *aint; 289 ASN1_INTEGER *aint;
290
290 int i; 291 int i;
291 if(!(nnums = sk_new_null())) goto merr; 292
293 if(!(nnums = sk_ASN1_INTEGER_new_null())) goto merr;
292 for(i = 0; i < sk_CONF_VALUE_num(nos); i++) { 294 for(i = 0; i < sk_CONF_VALUE_num(nos); i++) {
293 cnf = sk_CONF_VALUE_value(nos, i); 295 cnf = sk_CONF_VALUE_value(nos, i);
294 if(!(aint = s2i_ASN1_INTEGER(NULL, cnf->name))) { 296 if(!(aint = s2i_ASN1_INTEGER(NULL, cnf->name))) {
295 X509V3err(X509V3_F_NREF_NOS,X509V3_R_INVALID_NUMBER); 297 X509V3err(X509V3_F_NREF_NOS,X509V3_R_INVALID_NUMBER);
296 goto err; 298 goto err;
297 } 299 }
298 if(!sk_push(nnums, (char *)aint)) goto merr; 300 if(!sk_ASN1_INTEGER_push(nnums, aint)) goto merr;
299 } 301 }
300 return nnums; 302 return nnums;
301 303
@@ -303,7 +305,7 @@ static STACK *nref_nos(STACK_OF(CONF_VALUE) *nos)
303 X509V3err(X509V3_F_NOTICE_SECTION,ERR_R_MALLOC_FAILURE); 305 X509V3err(X509V3_F_NOTICE_SECTION,ERR_R_MALLOC_FAILURE);
304 306
305 err: 307 err:
306 sk_pop_free(nnums, ASN1_STRING_free); 308 sk_ASN1_INTEGER_pop_free(nnums, ASN1_STRING_free);
307 return NULL; 309 return NULL;
308} 310}
309 311
@@ -399,7 +401,7 @@ void POLICYINFO_free(POLICYINFO *a)
399 if (a == NULL) return; 401 if (a == NULL) return;
400 ASN1_OBJECT_free(a->policyid); 402 ASN1_OBJECT_free(a->policyid);
401 sk_POLICYQUALINFO_pop_free(a->qualifiers, POLICYQUALINFO_free); 403 sk_POLICYQUALINFO_pop_free(a->qualifiers, POLICYQUALINFO_free);
402 Free (a); 404 OPENSSL_free (a);
403} 405}
404 406
405static void print_qualifiers(BIO *out, STACK_OF(POLICYQUALINFO) *quals, 407static void print_qualifiers(BIO *out, STACK_OF(POLICYQUALINFO) *quals,
@@ -441,15 +443,15 @@ static void print_notice(BIO *out, USERNOTICE *notice, int indent)
441 BIO_printf(out, "%*sOrganization: %s\n", indent, "", 443 BIO_printf(out, "%*sOrganization: %s\n", indent, "",
442 ref->organization->data); 444 ref->organization->data);
443 BIO_printf(out, "%*sNumber%s: ", indent, "", 445 BIO_printf(out, "%*sNumber%s: ", indent, "",
444 (sk_num(ref->noticenos) > 1) ? "s" : ""); 446 sk_ASN1_INTEGER_num(ref->noticenos) > 1 ? "s" : "");
445 for(i = 0; i < sk_num(ref->noticenos); i++) { 447 for(i = 0; i < sk_ASN1_INTEGER_num(ref->noticenos); i++) {
446 ASN1_INTEGER *num; 448 ASN1_INTEGER *num;
447 char *tmp; 449 char *tmp;
448 num = (ASN1_INTEGER *)sk_value(ref->noticenos, i); 450 num = sk_ASN1_INTEGER_value(ref->noticenos, i);
449 if(i) BIO_puts(out, ", "); 451 if(i) BIO_puts(out, ", ");
450 tmp = i2s_ASN1_INTEGER(NULL, num); 452 tmp = i2s_ASN1_INTEGER(NULL, num);
451 BIO_puts(out, tmp); 453 BIO_puts(out, tmp);
452 Free(tmp); 454 OPENSSL_free(tmp);
453 } 455 }
454 BIO_puts(out, "\n"); 456 BIO_puts(out, "\n");
455 } 457 }
@@ -551,7 +553,7 @@ void POLICYQUALINFO_free(POLICYQUALINFO *a)
551 } 553 }
552 554
553 ASN1_OBJECT_free(a->pqualid); 555 ASN1_OBJECT_free(a->pqualid);
554 Free (a); 556 OPENSSL_free (a);
555} 557}
556 558
557int i2d_USERNOTICE(USERNOTICE *a, unsigned char **pp) 559int i2d_USERNOTICE(USERNOTICE *a, unsigned char **pp)
@@ -597,7 +599,7 @@ void USERNOTICE_free(USERNOTICE *a)
597 if (a == NULL) return; 599 if (a == NULL) return;
598 NOTICEREF_free(a->noticeref); 600 NOTICEREF_free(a->noticeref);
599 M_DISPLAYTEXT_free(a->exptext); 601 M_DISPLAYTEXT_free(a->exptext);
600 Free (a); 602 OPENSSL_free (a);
601} 603}
602 604
603int i2d_NOTICEREF(NOTICEREF *a, unsigned char **pp) 605int i2d_NOTICEREF(NOTICEREF *a, unsigned char **pp)
@@ -605,12 +607,14 @@ int i2d_NOTICEREF(NOTICEREF *a, unsigned char **pp)
605 M_ASN1_I2D_vars(a); 607 M_ASN1_I2D_vars(a);
606 608
607 M_ASN1_I2D_len (a->organization, i2d_DISPLAYTEXT); 609 M_ASN1_I2D_len (a->organization, i2d_DISPLAYTEXT);
608 M_ASN1_I2D_len_SEQUENCE(a->noticenos, i2d_ASN1_INTEGER); 610 M_ASN1_I2D_len_SEQUENCE_type(ASN1_INTEGER, a->noticenos,
611 i2d_ASN1_INTEGER);
609 612
610 M_ASN1_I2D_seq_total(); 613 M_ASN1_I2D_seq_total();
611 614
612 M_ASN1_I2D_put (a->organization, i2d_DISPLAYTEXT); 615 M_ASN1_I2D_put (a->organization, i2d_DISPLAYTEXT);
613 M_ASN1_I2D_put_SEQUENCE(a->noticenos, i2d_ASN1_INTEGER); 616 M_ASN1_I2D_put_SEQUENCE_type(ASN1_INTEGER, a->noticenos,
617 i2d_ASN1_INTEGER);
614 618
615 M_ASN1_I2D_finish(); 619 M_ASN1_I2D_finish();
616} 620}
@@ -639,7 +643,8 @@ NOTICEREF *d2i_NOTICEREF(NOTICEREF **a, unsigned char **pp,long length)
639 if(!ret->organization) { 643 if(!ret->organization) {
640 M_ASN1_D2I_get(ret->organization, d2i_DISPLAYTEXT); 644 M_ASN1_D2I_get(ret->organization, d2i_DISPLAYTEXT);
641 } 645 }
642 M_ASN1_D2I_get_seq(ret->noticenos, d2i_ASN1_INTEGER, ASN1_STRING_free); 646 M_ASN1_D2I_get_seq_type(ASN1_INTEGER, ret->noticenos, d2i_ASN1_INTEGER,
647 ASN1_STRING_free);
643 M_ASN1_D2I_Finish(a, NOTICEREF_free, ASN1_F_D2I_NOTICEREF); 648 M_ASN1_D2I_Finish(a, NOTICEREF_free, ASN1_F_D2I_NOTICEREF);
644} 649}
645 650
@@ -647,8 +652,8 @@ void NOTICEREF_free(NOTICEREF *a)
647{ 652{
648 if (a == NULL) return; 653 if (a == NULL) return;
649 M_DISPLAYTEXT_free(a->organization); 654 M_DISPLAYTEXT_free(a->organization);
650 sk_pop_free(a->noticenos, ASN1_STRING_free); 655 sk_ASN1_INTEGER_pop_free(a->noticenos, ASN1_STRING_free);
651 Free (a); 656 OPENSSL_free (a);
652} 657}
653 658
654IMPLEMENT_STACK_OF(POLICYQUALINFO) 659IMPLEMENT_STACK_OF(POLICYQUALINFO)
diff --git a/src/lib/libcrypto/x509v3/v3_crld.c b/src/lib/libcrypto/x509v3/v3_crld.c
index e459d2595a..67feea4017 100644
--- a/src/lib/libcrypto/x509v3/v3_crld.c
+++ b/src/lib/libcrypto/x509v3/v3_crld.c
@@ -87,7 +87,7 @@ static STACK_OF(CONF_VALUE) *i2v_crld(X509V3_EXT_METHOD *method,
87 int i; 87 int i;
88 for(i = 0; i < sk_DIST_POINT_num(crld); i++) { 88 for(i = 0; i < sk_DIST_POINT_num(crld); i++) {
89 point = sk_DIST_POINT_value(crld, i); 89 point = sk_DIST_POINT_value(crld, i);
90 if(point->distpoint->fullname) { 90 if(point->distpoint && point->distpoint->fullname) {
91 exts = i2v_GENERAL_NAMES(NULL, 91 exts = i2v_GENERAL_NAMES(NULL,
92 point->distpoint->fullname, exts); 92 point->distpoint->fullname, exts);
93 } 93 }
@@ -95,7 +95,7 @@ static STACK_OF(CONF_VALUE) *i2v_crld(X509V3_EXT_METHOD *method,
95 X509V3_add_value("reasons","<UNSUPPORTED>", &exts); 95 X509V3_add_value("reasons","<UNSUPPORTED>", &exts);
96 if(point->CRLissuer) 96 if(point->CRLissuer)
97 X509V3_add_value("CRLissuer","<UNSUPPORTED>", &exts); 97 X509V3_add_value("CRLissuer","<UNSUPPORTED>", &exts);
98 if(point->distpoint->relativename) 98 if(point->distpoint && point->distpoint->relativename)
99 X509V3_add_value("RelativeName","<UNSUPPORTED>", &exts); 99 X509V3_add_value("RelativeName","<UNSUPPORTED>", &exts);
100 } 100 }
101 return exts; 101 return exts;
@@ -109,7 +109,7 @@ static STACK_OF(DIST_POINT) *v2i_crld(X509V3_EXT_METHOD *method,
109 GENERAL_NAME *gen = NULL; 109 GENERAL_NAME *gen = NULL;
110 CONF_VALUE *cnf; 110 CONF_VALUE *cnf;
111 int i; 111 int i;
112 if(!(crld = sk_DIST_POINT_new(NULL))) goto merr; 112 if(!(crld = sk_DIST_POINT_new_null())) goto merr;
113 for(i = 0; i < sk_CONF_VALUE_num(nval); i++) { 113 for(i = 0; i < sk_CONF_VALUE_num(nval); i++) {
114 DIST_POINT *point; 114 DIST_POINT *point;
115 cnf = sk_CONF_VALUE_value(nval, i); 115 cnf = sk_CONF_VALUE_value(nval, i);
@@ -213,7 +213,7 @@ void DIST_POINT_free(DIST_POINT *a)
213 DIST_POINT_NAME_free(a->distpoint); 213 DIST_POINT_NAME_free(a->distpoint);
214 M_ASN1_BIT_STRING_free(a->reasons); 214 M_ASN1_BIT_STRING_free(a->reasons);
215 sk_GENERAL_NAME_pop_free(a->CRLissuer, GENERAL_NAME_free); 215 sk_GENERAL_NAME_pop_free(a->CRLissuer, GENERAL_NAME_free);
216 Free (a); 216 OPENSSL_free (a);
217} 217}
218 218
219int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp) 219int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp)
@@ -256,7 +256,7 @@ void DIST_POINT_NAME_free(DIST_POINT_NAME *a)
256 if (a == NULL) return; 256 if (a == NULL) return;
257 sk_X509_NAME_ENTRY_pop_free(a->relativename, X509_NAME_ENTRY_free); 257 sk_X509_NAME_ENTRY_pop_free(a->relativename, X509_NAME_ENTRY_free);
258 sk_GENERAL_NAME_pop_free(a->fullname, GENERAL_NAME_free); 258 sk_GENERAL_NAME_pop_free(a->fullname, GENERAL_NAME_free);
259 Free (a); 259 OPENSSL_free (a);
260} 260}
261 261
262DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, unsigned char **pp, 262DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, unsigned char **pp,
diff --git a/src/lib/libcrypto/x509v3/v3_extku.c b/src/lib/libcrypto/x509v3/v3_extku.c
index e039d21cbf..53ec40a027 100644
--- a/src/lib/libcrypto/x509v3/v3_extku.c
+++ b/src/lib/libcrypto/x509v3/v3_extku.c
@@ -129,7 +129,7 @@ ASN1_OBJECT *objtmp;
129CONF_VALUE *val; 129CONF_VALUE *val;
130int i; 130int i;
131 131
132if(!(extku = sk_ASN1_OBJECT_new(NULL))) { 132if(!(extku = sk_ASN1_OBJECT_new_null())) {
133 X509V3err(X509V3_F_V2I_EXT_KU,ERR_R_MALLOC_FAILURE); 133 X509V3err(X509V3_F_V2I_EXT_KU,ERR_R_MALLOC_FAILURE);
134 return NULL; 134 return NULL;
135} 135}
diff --git a/src/lib/libcrypto/x509v3/v3_genn.c b/src/lib/libcrypto/x509v3/v3_genn.c
index 894afa7e03..d44751458e 100644
--- a/src/lib/libcrypto/x509v3/v3_genn.c
+++ b/src/lib/libcrypto/x509v3/v3_genn.c
@@ -211,7 +211,7 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
211 break; 211 break;
212 212
213 } 213 }
214 Free (a); 214 OPENSSL_free (a);
215} 215}
216 216
217/* Now the GeneralNames versions: a SEQUENCE OF GeneralName. These are needed as 217/* Now the GeneralNames versions: a SEQUENCE OF GeneralName. These are needed as
@@ -220,7 +220,7 @@ void GENERAL_NAME_free(GENERAL_NAME *a)
220 220
221STACK_OF(GENERAL_NAME) *GENERAL_NAMES_new() 221STACK_OF(GENERAL_NAME) *GENERAL_NAMES_new()
222{ 222{
223 return sk_GENERAL_NAME_new(NULL); 223 return sk_GENERAL_NAME_new_null();
224} 224}
225 225
226void GENERAL_NAMES_free(STACK_OF(GENERAL_NAME) *a) 226void GENERAL_NAMES_free(STACK_OF(GENERAL_NAME) *a)
@@ -286,6 +286,6 @@ void OTHERNAME_free(OTHERNAME *a)
286 if (a == NULL) return; 286 if (a == NULL) return;
287 ASN1_OBJECT_free(a->type_id); 287 ASN1_OBJECT_free(a->type_id);
288 ASN1_TYPE_free(a->value); 288 ASN1_TYPE_free(a->value);
289 Free (a); 289 OPENSSL_free (a);
290} 290}
291 291
diff --git a/src/lib/libcrypto/x509v3/v3_ia5.c b/src/lib/libcrypto/x509v3/v3_ia5.c
index af3525f33e..f3bba38269 100644
--- a/src/lib/libcrypto/x509v3/v3_ia5.c
+++ b/src/lib/libcrypto/x509v3/v3_ia5.c
@@ -82,7 +82,7 @@ static char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
82{ 82{
83 char *tmp; 83 char *tmp;
84 if(!ia5 || !ia5->length) return NULL; 84 if(!ia5 || !ia5->length) return NULL;
85 tmp = Malloc(ia5->length + 1); 85 tmp = OPENSSL_malloc(ia5->length + 1);
86 memcpy(tmp, ia5->data, ia5->length); 86 memcpy(tmp, ia5->data, ia5->length);
87 tmp[ia5->length] = 0; 87 tmp[ia5->length] = 0;
88 return tmp; 88 return tmp;
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c
index 78d2135046..a045a629ee 100644
--- a/src/lib/libcrypto/x509v3/v3_info.c
+++ b/src/lib/libcrypto/x509v3/v3_info.c
@@ -94,7 +94,7 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method
94 if(!ret) break; 94 if(!ret) break;
95 vtmp = sk_CONF_VALUE_value(ret, i); 95 vtmp = sk_CONF_VALUE_value(ret, i);
96 i2t_ASN1_OBJECT(objtmp, 80, desc->method); 96 i2t_ASN1_OBJECT(objtmp, 80, desc->method);
97 ntmp = Malloc(strlen(objtmp) + strlen(vtmp->name) + 5); 97 ntmp = OPENSSL_malloc(strlen(objtmp) + strlen(vtmp->name) + 5);
98 if(!ntmp) { 98 if(!ntmp) {
99 X509V3err(X509V3_F_I2V_AUTHORITY_INFO_ACCESS, 99 X509V3err(X509V3_F_I2V_AUTHORITY_INFO_ACCESS,
100 ERR_R_MALLOC_FAILURE); 100 ERR_R_MALLOC_FAILURE);
@@ -103,7 +103,7 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method
103 strcpy(ntmp, objtmp); 103 strcpy(ntmp, objtmp);
104 strcat(ntmp, " - "); 104 strcat(ntmp, " - ");
105 strcat(ntmp, vtmp->name); 105 strcat(ntmp, vtmp->name);
106 Free(vtmp->name); 106 OPENSSL_free(vtmp->name);
107 vtmp->name = ntmp; 107 vtmp->name = ntmp;
108 108
109 } 109 }
@@ -119,7 +119,7 @@ static STACK_OF(ACCESS_DESCRIPTION) *v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
119 ACCESS_DESCRIPTION *acc; 119 ACCESS_DESCRIPTION *acc;
120 int i, objlen; 120 int i, objlen;
121 char *objtmp, *ptmp; 121 char *objtmp, *ptmp;
122 if(!(ainfo = sk_ACCESS_DESCRIPTION_new(NULL))) { 122 if(!(ainfo = sk_ACCESS_DESCRIPTION_new_null())) {
123 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,ERR_R_MALLOC_FAILURE); 123 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,ERR_R_MALLOC_FAILURE);
124 return NULL; 124 return NULL;
125 } 125 }
@@ -140,7 +140,7 @@ static STACK_OF(ACCESS_DESCRIPTION) *v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
140 ctmp.value = cnf->value; 140 ctmp.value = cnf->value;
141 if(!(acc->location = v2i_GENERAL_NAME(method, ctx, &ctmp))) 141 if(!(acc->location = v2i_GENERAL_NAME(method, ctx, &ctmp)))
142 goto err; 142 goto err;
143 if(!(objtmp = Malloc(objlen + 1))) { 143 if(!(objtmp = OPENSSL_malloc(objlen + 1))) {
144 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,ERR_R_MALLOC_FAILURE); 144 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,ERR_R_MALLOC_FAILURE);
145 goto err; 145 goto err;
146 } 146 }
@@ -150,10 +150,10 @@ static STACK_OF(ACCESS_DESCRIPTION) *v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
150 if(!acc->method) { 150 if(!acc->method) {
151 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,X509V3_R_BAD_OBJECT); 151 X509V3err(X509V3_F_V2I_ACCESS_DESCRIPTION,X509V3_R_BAD_OBJECT);
152 ERR_add_error_data(2, "value=", objtmp); 152 ERR_add_error_data(2, "value=", objtmp);
153 Free(objtmp); 153 OPENSSL_free(objtmp);
154 goto err; 154 goto err;
155 } 155 }
156 Free(objtmp); 156 OPENSSL_free(objtmp);
157 157
158 } 158 }
159 return ainfo; 159 return ainfo;
@@ -204,12 +204,12 @@ void ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a)
204 if (a == NULL) return; 204 if (a == NULL) return;
205 ASN1_OBJECT_free(a->method); 205 ASN1_OBJECT_free(a->method);
206 GENERAL_NAME_free(a->location); 206 GENERAL_NAME_free(a->location);
207 Free (a); 207 OPENSSL_free (a);
208} 208}
209 209
210STACK_OF(ACCESS_DESCRIPTION) *AUTHORITY_INFO_ACCESS_new(void) 210STACK_OF(ACCESS_DESCRIPTION) *AUTHORITY_INFO_ACCESS_new(void)
211{ 211{
212 return sk_ACCESS_DESCRIPTION_new(NULL); 212 return sk_ACCESS_DESCRIPTION_new_null();
213} 213}
214 214
215void AUTHORITY_INFO_ACCESS_free(STACK_OF(ACCESS_DESCRIPTION) *a) 215void AUTHORITY_INFO_ACCESS_free(STACK_OF(ACCESS_DESCRIPTION) *a)
diff --git a/src/lib/libcrypto/x509v3/v3_lib.c b/src/lib/libcrypto/x509v3/v3_lib.c
index 4242d130a2..ea86b9ebb9 100644
--- a/src/lib/libcrypto/x509v3/v3_lib.c
+++ b/src/lib/libcrypto/x509v3/v3_lib.c
@@ -64,25 +64,27 @@
64 64
65#include "ext_dat.h" 65#include "ext_dat.h"
66 66
67static STACK *ext_list = NULL; 67static STACK_OF(X509V3_EXT_METHOD) *ext_list = NULL;
68 68
69static int ext_cmp(X509V3_EXT_METHOD **a, X509V3_EXT_METHOD **b); 69static int ext_cmp(const X509V3_EXT_METHOD * const *a,
70 const X509V3_EXT_METHOD * const *b);
70static void ext_list_free(X509V3_EXT_METHOD *ext); 71static void ext_list_free(X509V3_EXT_METHOD *ext);
71 72
72int X509V3_EXT_add(X509V3_EXT_METHOD *ext) 73int X509V3_EXT_add(X509V3_EXT_METHOD *ext)
73{ 74{
74 if(!ext_list && !(ext_list = sk_new(ext_cmp))) { 75 if(!ext_list && !(ext_list = sk_X509V3_EXT_METHOD_new(ext_cmp))) {
75 X509V3err(X509V3_F_X509V3_EXT_ADD,ERR_R_MALLOC_FAILURE); 76 X509V3err(X509V3_F_X509V3_EXT_ADD,ERR_R_MALLOC_FAILURE);
76 return 0; 77 return 0;
77 } 78 }
78 if(!sk_push(ext_list, (char *)ext)) { 79 if(!sk_X509V3_EXT_METHOD_push(ext_list, ext)) {
79 X509V3err(X509V3_F_X509V3_EXT_ADD,ERR_R_MALLOC_FAILURE); 80 X509V3err(X509V3_F_X509V3_EXT_ADD,ERR_R_MALLOC_FAILURE);
80 return 0; 81 return 0;
81 } 82 }
82 return 1; 83 return 1;
83} 84}
84 85
85static int ext_cmp(X509V3_EXT_METHOD **a, X509V3_EXT_METHOD **b) 86static int ext_cmp(const X509V3_EXT_METHOD * const *a,
87 const X509V3_EXT_METHOD * const *b)
86{ 88{
87 return ((*a)->ext_nid - (*b)->ext_nid); 89 return ((*a)->ext_nid - (*b)->ext_nid);
88} 90}
@@ -95,12 +97,12 @@ X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid)
95 tmp.ext_nid = nid; 97 tmp.ext_nid = nid;
96 ret = (X509V3_EXT_METHOD **) OBJ_bsearch((char *)&t, 98 ret = (X509V3_EXT_METHOD **) OBJ_bsearch((char *)&t,
97 (char *)standard_exts, STANDARD_EXTENSION_COUNT, 99 (char *)standard_exts, STANDARD_EXTENSION_COUNT,
98 sizeof(X509V3_EXT_METHOD *), (int (*)())ext_cmp); 100 sizeof(X509V3_EXT_METHOD *), (int (*)(const void *, const void *))ext_cmp);
99 if(ret) return *ret; 101 if(ret) return *ret;
100 if(!ext_list) return NULL; 102 if(!ext_list) return NULL;
101 idx = sk_find(ext_list, (char *)&tmp); 103 idx = sk_X509V3_EXT_METHOD_find(ext_list, &tmp);
102 if(idx == -1) return NULL; 104 if(idx == -1) return NULL;
103 return (X509V3_EXT_METHOD *)sk_value(ext_list, idx); 105 return sk_X509V3_EXT_METHOD_value(ext_list, idx);
104} 106}
105 107
106X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext) 108X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext)
@@ -125,7 +127,7 @@ int X509V3_EXT_add_alias(int nid_to, int nid_from)
125 X509V3err(X509V3_F_X509V3_EXT_ADD_ALIAS,X509V3_R_EXTENSION_NOT_FOUND); 127 X509V3err(X509V3_F_X509V3_EXT_ADD_ALIAS,X509V3_R_EXTENSION_NOT_FOUND);
126 return 0; 128 return 0;
127 } 129 }
128 if(!(tmpext = (X509V3_EXT_METHOD *)Malloc(sizeof(X509V3_EXT_METHOD)))) { 130 if(!(tmpext = (X509V3_EXT_METHOD *)OPENSSL_malloc(sizeof(X509V3_EXT_METHOD)))) {
129 X509V3err(X509V3_F_X509V3_EXT_ADD_ALIAS,ERR_R_MALLOC_FAILURE); 131 X509V3err(X509V3_F_X509V3_EXT_ADD_ALIAS,ERR_R_MALLOC_FAILURE);
130 return 0; 132 return 0;
131 } 133 }
@@ -137,13 +139,13 @@ int X509V3_EXT_add_alias(int nid_to, int nid_from)
137 139
138void X509V3_EXT_cleanup(void) 140void X509V3_EXT_cleanup(void)
139{ 141{
140 sk_pop_free(ext_list, ext_list_free); 142 sk_X509V3_EXT_METHOD_pop_free(ext_list, ext_list_free);
141 ext_list = NULL; 143 ext_list = NULL;
142} 144}
143 145
144static void ext_list_free(X509V3_EXT_METHOD *ext) 146static void ext_list_free(X509V3_EXT_METHOD *ext)
145{ 147{
146 if(ext->ext_flags & X509V3_EXT_DYNAMIC) Free(ext); 148 if(ext->ext_flags & X509V3_EXT_DYNAMIC) OPENSSL_free(ext);
147} 149}
148 150
149/* Legacy function: we don't need to add standard extensions 151/* Legacy function: we don't need to add standard extensions
@@ -213,9 +215,11 @@ void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx)
213 if(crit) *crit = found_ex->critical; 215 if(crit) *crit = found_ex->critical;
214 return X509V3_EXT_d2i(found_ex); 216 return X509V3_EXT_d2i(found_ex);
215 } 217 }
216 218
217 /* Extension not found */ 219 /* Extension not found */
218 if(idx) *idx = -1; 220 if(idx) *idx = -1;
219 if(crit) *crit = -1; 221 if(crit) *crit = -1;
220 return NULL; 222 return NULL;
221} 223}
224
225IMPLEMENT_STACK_OF(X509V3_EXT_METHOD)
diff --git a/src/lib/libcrypto/x509v3/v3_pku.c b/src/lib/libcrypto/x509v3/v3_pku.c
index 30a62c6090..47f9e8f123 100644
--- a/src/lib/libcrypto/x509v3/v3_pku.c
+++ b/src/lib/libcrypto/x509v3/v3_pku.c
@@ -121,7 +121,7 @@ void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a)
121 if (a == NULL) return; 121 if (a == NULL) return;
122 M_ASN1_GENERALIZEDTIME_free(a->notBefore); 122 M_ASN1_GENERALIZEDTIME_free(a->notBefore);
123 M_ASN1_GENERALIZEDTIME_free(a->notAfter); 123 M_ASN1_GENERALIZEDTIME_free(a->notAfter);
124 Free (a); 124 OPENSSL_free (a);
125} 125}
126 126
127static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, 127static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
diff --git a/src/lib/libcrypto/x509v3/v3_prn.c b/src/lib/libcrypto/x509v3/v3_prn.c
index bee624c6be..dbc4fb1f16 100644
--- a/src/lib/libcrypto/x509v3/v3_prn.c
+++ b/src/lib/libcrypto/x509v3/v3_prn.c
@@ -133,7 +133,7 @@ int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent)
133 133
134 err: 134 err:
135 sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); 135 sk_CONF_VALUE_pop_free(nval, X509V3_conf_free);
136 if(value) Free(value); 136 if(value) OPENSSL_free(value);
137 method->ext_free(ext_str); 137 method->ext_free(ext_str);
138 return ok; 138 return ok;
139} 139}
diff --git a/src/lib/libcrypto/x509v3/v3_purp.c b/src/lib/libcrypto/x509v3/v3_purp.c
index 5594a1d64f..867699b26f 100644
--- a/src/lib/libcrypto/x509v3/v3_purp.c
+++ b/src/lib/libcrypto/x509v3/v3_purp.c
@@ -59,21 +59,24 @@
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include <openssl/x509v3.h> 61#include <openssl/x509v3.h>
62#include <openssl/x509_vfy.h>
62 63
63 64
64static void x509v3_cache_extensions(X509 *x); 65static void x509v3_cache_extensions(X509 *x);
65 66
66static int ca_check(X509 *x); 67static int ca_check(const X509 *x);
67static int check_purpose_ssl_client(X509_PURPOSE *xp, X509 *x, int ca); 68static int check_ssl_ca(const X509 *x);
68static int check_purpose_ssl_server(X509_PURPOSE *xp, X509 *x, int ca); 69static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, int ca);
69static int check_purpose_ns_ssl_server(X509_PURPOSE *xp, X509 *x, int ca); 70static int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca);
70static int purpose_smime(X509 *x, int ca); 71static int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca);
71static int check_purpose_smime_sign(X509_PURPOSE *xp, X509 *x, int ca); 72static int purpose_smime(const X509 *x, int ca);
72static int check_purpose_smime_encrypt(X509_PURPOSE *xp, X509 *x, int ca); 73static int check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x, int ca);
73static int check_purpose_crl_sign(X509_PURPOSE *xp, X509 *x, int ca); 74static int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509 *x, int ca);
74static int no_check(X509_PURPOSE *xp, X509 *x, int ca); 75static int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x, int ca);
75 76static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca);
76static int xp_cmp(X509_PURPOSE **a, X509_PURPOSE **b); 77
78static int xp_cmp(const X509_PURPOSE * const *a,
79 const X509_PURPOSE * const *b);
77static void xptable_free(X509_PURPOSE *p); 80static void xptable_free(X509_PURPOSE *p);
78 81
79static X509_PURPOSE xstandard[] = { 82static X509_PURPOSE xstandard[] = {
@@ -92,15 +95,19 @@ IMPLEMENT_STACK_OF(X509_PURPOSE)
92 95
93static STACK_OF(X509_PURPOSE) *xptable = NULL; 96static STACK_OF(X509_PURPOSE) *xptable = NULL;
94 97
95static int xp_cmp(X509_PURPOSE **a, X509_PURPOSE **b) 98static int xp_cmp(const X509_PURPOSE * const *a,
99 const X509_PURPOSE * const *b)
96{ 100{
97 return (*a)->purpose - (*b)->purpose; 101 return (*a)->purpose - (*b)->purpose;
98} 102}
99 103
104/* As much as I'd like to make X509_check_purpose use a "const" X509*
105 * I really can't because it does recalculate hashes and do other non-const
106 * things. */
100int X509_check_purpose(X509 *x, int id, int ca) 107int X509_check_purpose(X509 *x, int id, int ca)
101{ 108{
102 int idx; 109 int idx;
103 X509_PURPOSE *pt; 110 const X509_PURPOSE *pt;
104 if(!(x->ex_flags & EXFLAG_SET)) { 111 if(!(x->ex_flags & EXFLAG_SET)) {
105 CRYPTO_w_lock(CRYPTO_LOCK_X509); 112 CRYPTO_w_lock(CRYPTO_LOCK_X509);
106 x509v3_cache_extensions(x); 113 x509v3_cache_extensions(x);
@@ -152,7 +159,7 @@ int X509_PURPOSE_get_by_id(int purpose)
152} 159}
153 160
154int X509_PURPOSE_add(int id, int trust, int flags, 161int X509_PURPOSE_add(int id, int trust, int flags,
155 int (*ck)(X509_PURPOSE *, X509 *, int), 162 int (*ck)(const X509_PURPOSE *, const X509 *, int),
156 char *name, char *sname, void *arg) 163 char *name, char *sname, void *arg)
157{ 164{
158 int idx; 165 int idx;
@@ -165,17 +172,17 @@ int X509_PURPOSE_add(int id, int trust, int flags,
165 idx = X509_PURPOSE_get_by_id(id); 172 idx = X509_PURPOSE_get_by_id(id);
166 /* Need a new entry */ 173 /* Need a new entry */
167 if(idx == -1) { 174 if(idx == -1) {
168 if(!(ptmp = Malloc(sizeof(X509_PURPOSE)))) { 175 if(!(ptmp = OPENSSL_malloc(sizeof(X509_PURPOSE)))) {
169 X509V3err(X509V3_F_X509_PURPOSE_ADD,ERR_R_MALLOC_FAILURE); 176 X509V3err(X509V3_F_X509_PURPOSE_ADD,ERR_R_MALLOC_FAILURE);
170 return 0; 177 return 0;
171 } 178 }
172 ptmp->flags = X509_PURPOSE_DYNAMIC; 179 ptmp->flags = X509_PURPOSE_DYNAMIC;
173 } else ptmp = X509_PURPOSE_get0(idx); 180 } else ptmp = X509_PURPOSE_get0(idx);
174 181
175 /* Free existing name if dynamic */ 182 /* OPENSSL_free existing name if dynamic */
176 if(ptmp->flags & X509_PURPOSE_DYNAMIC_NAME) { 183 if(ptmp->flags & X509_PURPOSE_DYNAMIC_NAME) {
177 Free(ptmp->name); 184 OPENSSL_free(ptmp->name);
178 Free(ptmp->sname); 185 OPENSSL_free(ptmp->sname);
179 } 186 }
180 /* dup supplied name */ 187 /* dup supplied name */
181 ptmp->name = BUF_strdup(name); 188 ptmp->name = BUF_strdup(name);
@@ -214,10 +221,10 @@ static void xptable_free(X509_PURPOSE *p)
214 if (p->flags & X509_PURPOSE_DYNAMIC) 221 if (p->flags & X509_PURPOSE_DYNAMIC)
215 { 222 {
216 if (p->flags & X509_PURPOSE_DYNAMIC_NAME) { 223 if (p->flags & X509_PURPOSE_DYNAMIC_NAME) {
217 Free(p->name); 224 OPENSSL_free(p->name);
218 Free(p->sname); 225 OPENSSL_free(p->sname);
219 } 226 }
220 Free(p); 227 OPENSSL_free(p);
221 } 228 }
222 } 229 }
223 230
@@ -249,16 +256,18 @@ int X509_PURPOSE_get_trust(X509_PURPOSE *xp)
249 return xp->trust; 256 return xp->trust;
250} 257}
251 258
252#ifndef NO_SHA
253static void x509v3_cache_extensions(X509 *x) 259static void x509v3_cache_extensions(X509 *x)
254{ 260{
255 BASIC_CONSTRAINTS *bs; 261 BASIC_CONSTRAINTS *bs;
256 ASN1_BIT_STRING *usage; 262 ASN1_BIT_STRING *usage;
257 ASN1_BIT_STRING *ns; 263 ASN1_BIT_STRING *ns;
258 STACK_OF(ASN1_OBJECT) *extusage; 264 STACK_OF(ASN1_OBJECT) *extusage;
265
259 int i; 266 int i;
260 if(x->ex_flags & EXFLAG_SET) return; 267 if(x->ex_flags & EXFLAG_SET) return;
268#ifndef NO_SHA
261 X509_digest(x, EVP_sha1(), x->sha1_hash, NULL); 269 X509_digest(x, EVP_sha1(), x->sha1_hash, NULL);
270#endif
262 /* Does subject name match issuer ? */ 271 /* Does subject name match issuer ? */
263 if(!X509_NAME_cmp(X509_get_subject_name(x), X509_get_issuer_name(x))) 272 if(!X509_NAME_cmp(X509_get_subject_name(x), X509_get_issuer_name(x)))
264 x->ex_flags |= EXFLAG_SS; 273 x->ex_flags |= EXFLAG_SS;
@@ -322,9 +331,10 @@ static void x509v3_cache_extensions(X509 *x)
322 x->ex_flags |= EXFLAG_NSCERT; 331 x->ex_flags |= EXFLAG_NSCERT;
323 ASN1_BIT_STRING_free(ns); 332 ASN1_BIT_STRING_free(ns);
324 } 333 }
334 x->skid =X509_get_ext_d2i(x, NID_subject_key_identifier, NULL, NULL);
335 x->akid =X509_get_ext_d2i(x, NID_authority_key_identifier, NULL, NULL);
325 x->ex_flags |= EXFLAG_SET; 336 x->ex_flags |= EXFLAG_SET;
326} 337}
327#endif
328 338
329/* CA checks common to all purposes 339/* CA checks common to all purposes
330 * return codes: 340 * return codes:
@@ -342,7 +352,7 @@ static void x509v3_cache_extensions(X509 *x)
342#define ns_reject(x, usage) \ 352#define ns_reject(x, usage) \
343 (((x)->ex_flags & EXFLAG_NSCERT) && !((x)->ex_nscert & (usage))) 353 (((x)->ex_flags & EXFLAG_NSCERT) && !((x)->ex_nscert & (usage)))
344 354
345static int ca_check(X509 *x) 355static int ca_check(const X509 *x)
346{ 356{
347 /* keyUsage if present should allow cert signing */ 357 /* keyUsage if present should allow cert signing */
348 if(ku_reject(x, KU_KEY_CERT_SIGN)) return 0; 358 if(ku_reject(x, KU_KEY_CERT_SIGN)) return 0;
@@ -356,22 +366,26 @@ static int ca_check(X509 *x)
356 } 366 }
357} 367}
358 368
369/* Check SSL CA: common checks for SSL client and server */
370static int check_ssl_ca(const X509 *x)
371{
372 int ca_ret;
373 ca_ret = ca_check(x);
374 if(!ca_ret) return 0;
375 /* check nsCertType if present */
376 if(x->ex_flags & EXFLAG_NSCERT) {
377 if(x->ex_nscert & NS_SSL_CA) return ca_ret;
378 return 0;
379 }
380 if(ca_ret != 2) return ca_ret;
381 else return 0;
382}
383
359 384
360static int check_purpose_ssl_client(X509_PURPOSE *xp, X509 *x, int ca) 385static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, int ca)
361{ 386{
362 if(xku_reject(x,XKU_SSL_CLIENT)) return 0; 387 if(xku_reject(x,XKU_SSL_CLIENT)) return 0;
363 if(ca) { 388 if(ca) return check_ssl_ca(x);
364 int ca_ret;
365 ca_ret = ca_check(x);
366 if(!ca_ret) return 0;
367 /* check nsCertType if present */
368 if(x->ex_flags & EXFLAG_NSCERT) {
369 if(x->ex_nscert & NS_SSL_CA) return ca_ret;
370 return 0;
371 }
372 if(ca_ret != 2) return ca_ret;
373 else return 0;
374 }
375 /* We need to do digital signatures with it */ 389 /* We need to do digital signatures with it */
376 if(ku_reject(x,KU_DIGITAL_SIGNATURE)) return 0; 390 if(ku_reject(x,KU_DIGITAL_SIGNATURE)) return 0;
377 /* nsCertType if present should allow SSL client use */ 391 /* nsCertType if present should allow SSL client use */
@@ -379,11 +393,10 @@ static int check_purpose_ssl_client(X509_PURPOSE *xp, X509 *x, int ca)
379 return 1; 393 return 1;
380} 394}
381 395
382static int check_purpose_ssl_server(X509_PURPOSE *xp, X509 *x, int ca) 396static int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca)
383{ 397{
384 if(xku_reject(x,XKU_SSL_SERVER|XKU_SGC)) return 0; 398 if(xku_reject(x,XKU_SSL_SERVER|XKU_SGC)) return 0;
385 /* Otherwise same as SSL client for a CA */ 399 if(ca) return check_ssl_ca(x);
386 if(ca) return check_purpose_ssl_client(xp, x, 1);
387 400
388 if(ns_reject(x, NS_SSL_SERVER)) return 0; 401 if(ns_reject(x, NS_SSL_SERVER)) return 0;
389 /* Now as for keyUsage: we'll at least need to sign OR encipher */ 402 /* Now as for keyUsage: we'll at least need to sign OR encipher */
@@ -393,7 +406,7 @@ static int check_purpose_ssl_server(X509_PURPOSE *xp, X509 *x, int ca)
393 406
394} 407}
395 408
396static int check_purpose_ns_ssl_server(X509_PURPOSE *xp, X509 *x, int ca) 409static int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509 *x, int ca)
397{ 410{
398 int ret; 411 int ret;
399 ret = check_purpose_ssl_server(xp, x, ca); 412 ret = check_purpose_ssl_server(xp, x, ca);
@@ -404,7 +417,7 @@ static int check_purpose_ns_ssl_server(X509_PURPOSE *xp, X509 *x, int ca)
404} 417}
405 418
406/* common S/MIME checks */ 419/* common S/MIME checks */
407static int purpose_smime(X509 *x, int ca) 420static int purpose_smime(const X509 *x, int ca)
408{ 421{
409 if(xku_reject(x,XKU_SMIME)) return 0; 422 if(xku_reject(x,XKU_SMIME)) return 0;
410 if(ca) { 423 if(ca) {
@@ -428,7 +441,7 @@ static int purpose_smime(X509 *x, int ca)
428 return 1; 441 return 1;
429} 442}
430 443
431static int check_purpose_smime_sign(X509_PURPOSE *xp, X509 *x, int ca) 444static int check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x, int ca)
432{ 445{
433 int ret; 446 int ret;
434 ret = purpose_smime(x, ca); 447 ret = purpose_smime(x, ca);
@@ -437,7 +450,7 @@ static int check_purpose_smime_sign(X509_PURPOSE *xp, X509 *x, int ca)
437 return ret; 450 return ret;
438} 451}
439 452
440static int check_purpose_smime_encrypt(X509_PURPOSE *xp, X509 *x, int ca) 453static int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509 *x, int ca)
441{ 454{
442 int ret; 455 int ret;
443 ret = purpose_smime(x, ca); 456 ret = purpose_smime(x, ca);
@@ -446,7 +459,7 @@ static int check_purpose_smime_encrypt(X509_PURPOSE *xp, X509 *x, int ca)
446 return ret; 459 return ret;
447} 460}
448 461
449static int check_purpose_crl_sign(X509_PURPOSE *xp, X509 *x, int ca) 462static int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x, int ca)
450{ 463{
451 if(ca) { 464 if(ca) {
452 int ca_ret; 465 int ca_ret;
@@ -457,7 +470,64 @@ static int check_purpose_crl_sign(X509_PURPOSE *xp, X509 *x, int ca)
457 return 1; 470 return 1;
458} 471}
459 472
460static int no_check(X509_PURPOSE *xp, X509 *x, int ca) 473static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca)
461{ 474{
462 return 1; 475 return 1;
463} 476}
477
478/* Various checks to see if one certificate issued the second.
479 * This can be used to prune a set of possible issuer certificates
480 * which have been looked up using some simple method such as by
481 * subject name.
482 * These are:
483 * 1. Check issuer_name(subject) == subject_name(issuer)
484 * 2. If akid(subject) exists check it matches issuer
485 * 3. If key_usage(issuer) exists check it supports certificate signing
486 * returns 0 for OK, positive for reason for mismatch, reasons match
487 * codes for X509_verify_cert()
488 */
489
490int X509_check_issued(X509 *issuer, X509 *subject)
491{
492 if(X509_NAME_cmp(X509_get_subject_name(issuer),
493 X509_get_issuer_name(subject)))
494 return X509_V_ERR_SUBJECT_ISSUER_MISMATCH;
495 x509v3_cache_extensions(issuer);
496 x509v3_cache_extensions(subject);
497 if(subject->akid) {
498 /* Check key ids (if present) */
499 if(subject->akid->keyid && issuer->skid &&
500 ASN1_OCTET_STRING_cmp(subject->akid->keyid, issuer->skid) )
501 return X509_V_ERR_AKID_SKID_MISMATCH;
502 /* Check serial number */
503 if(subject->akid->serial &&
504 ASN1_INTEGER_cmp(X509_get_serialNumber(issuer),
505 subject->akid->serial))
506 return X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH;
507 /* Check issuer name */
508 if(subject->akid->issuer) {
509 /* Ugh, for some peculiar reason AKID includes
510 * SEQUENCE OF GeneralName. So look for a DirName.
511 * There may be more than one but we only take any
512 * notice of the first.
513 */
514 STACK_OF(GENERAL_NAME) *gens;
515 GENERAL_NAME *gen;
516 X509_NAME *nm = NULL;
517 int i;
518 gens = subject->akid->issuer;
519 for(i = 0; i < sk_GENERAL_NAME_num(gens); i++) {
520 gen = sk_GENERAL_NAME_value(gens, i);
521 if(gen->type == GEN_DIRNAME) {
522 nm = gen->d.dirn;
523 break;
524 }
525 }
526 if(nm && X509_NAME_cmp(nm, X509_get_issuer_name(issuer)))
527 return X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH;
528 }
529 }
530 if(ku_reject(issuer, KU_KEY_CERT_SIGN)) return X509_V_ERR_KEYUSAGE_NO_CERTSIGN;
531 return X509_V_OK;
532}
533
diff --git a/src/lib/libcrypto/x509v3/v3_sxnet.c b/src/lib/libcrypto/x509v3/v3_sxnet.c
index 20ba8ac8d6..bfecacd336 100644
--- a/src/lib/libcrypto/x509v3/v3_sxnet.c
+++ b/src/lib/libcrypto/x509v3/v3_sxnet.c
@@ -132,7 +132,7 @@ void SXNET_free(SXNET *a)
132 if (a == NULL) return; 132 if (a == NULL) return;
133 M_ASN1_INTEGER_free(a->version); 133 M_ASN1_INTEGER_free(a->version);
134 sk_SXNETID_pop_free(a->ids, SXNETID_free); 134 sk_SXNETID_pop_free(a->ids, SXNETID_free);
135 Free (a); 135 OPENSSL_free (a);
136} 136}
137 137
138int i2d_SXNETID(SXNETID *a, unsigned char **pp) 138int i2d_SXNETID(SXNETID *a, unsigned char **pp)
@@ -176,7 +176,7 @@ void SXNETID_free(SXNETID *a)
176 if (a == NULL) return; 176 if (a == NULL) return;
177 M_ASN1_INTEGER_free(a->zone); 177 M_ASN1_INTEGER_free(a->zone);
178 M_ASN1_OCTET_STRING_free(a->user); 178 M_ASN1_OCTET_STRING_free(a->user);
179 Free (a); 179 OPENSSL_free (a);
180} 180}
181 181
182static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, 182static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,
@@ -192,7 +192,7 @@ static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,
192 id = sk_SXNETID_value(sx->ids, i); 192 id = sk_SXNETID_value(sx->ids, i);
193 tmp = i2s_ASN1_INTEGER(NULL, id->zone); 193 tmp = i2s_ASN1_INTEGER(NULL, id->zone);
194 BIO_printf(out, "\n%*sZone: %s, User: ", indent, "", tmp); 194 BIO_printf(out, "\n%*sZone: %s, User: ", indent, "", tmp);
195 Free(tmp); 195 OPENSSL_free(tmp);
196 M_ASN1_OCTET_STRING_print(out, id->user); 196 M_ASN1_OCTET_STRING_print(out, id->user);
197 } 197 }
198 return 1; 198 return 1;
diff --git a/src/lib/libcrypto/x509v3/v3_utl.c b/src/lib/libcrypto/x509v3/v3_utl.c
index 4c2c4a9483..619f161b58 100644
--- a/src/lib/libcrypto/x509v3/v3_utl.c
+++ b/src/lib/libcrypto/x509v3/v3_utl.c
@@ -65,6 +65,10 @@
65#include <openssl/x509v3.h> 65#include <openssl/x509v3.h>
66 66
67static char *strip_spaces(char *name); 67static char *strip_spaces(char *name);
68static int sk_strcmp(const char * const *a, const char * const *b);
69static STACK *get_email(X509_NAME *name, STACK_OF(GENERAL_NAME) *gens);
70static void str_free(void *str);
71static int append_ia5(STACK **sk, ASN1_IA5STRING *email);
68 72
69/* Add a CONF_VALUE name value pair to stack */ 73/* Add a CONF_VALUE name value pair to stack */
70 74
@@ -75,8 +79,8 @@ int X509V3_add_value(const char *name, const char *value,
75 char *tname = NULL, *tvalue = NULL; 79 char *tname = NULL, *tvalue = NULL;
76 if(name && !(tname = BUF_strdup(name))) goto err; 80 if(name && !(tname = BUF_strdup(name))) goto err;
77 if(value && !(tvalue = BUF_strdup(value))) goto err;; 81 if(value && !(tvalue = BUF_strdup(value))) goto err;;
78 if(!(vtmp = (CONF_VALUE *)Malloc(sizeof(CONF_VALUE)))) goto err; 82 if(!(vtmp = (CONF_VALUE *)OPENSSL_malloc(sizeof(CONF_VALUE)))) goto err;
79 if(!*extlist && !(*extlist = sk_CONF_VALUE_new(NULL))) goto err; 83 if(!*extlist && !(*extlist = sk_CONF_VALUE_new_null())) goto err;
80 vtmp->section = NULL; 84 vtmp->section = NULL;
81 vtmp->name = tname; 85 vtmp->name = tname;
82 vtmp->value = tvalue; 86 vtmp->value = tvalue;
@@ -84,9 +88,9 @@ int X509V3_add_value(const char *name, const char *value,
84 return 1; 88 return 1;
85 err: 89 err:
86 X509V3err(X509V3_F_X509V3_ADD_VALUE,ERR_R_MALLOC_FAILURE); 90 X509V3err(X509V3_F_X509V3_ADD_VALUE,ERR_R_MALLOC_FAILURE);
87 if(vtmp) Free(vtmp); 91 if(vtmp) OPENSSL_free(vtmp);
88 if(tname) Free(tname); 92 if(tname) OPENSSL_free(tname);
89 if(tvalue) Free(tvalue); 93 if(tvalue) OPENSSL_free(tvalue);
90 return 0; 94 return 0;
91} 95}
92 96
@@ -101,10 +105,10 @@ int X509V3_add_value_uchar(const char *name, const unsigned char *value,
101void X509V3_conf_free(CONF_VALUE *conf) 105void X509V3_conf_free(CONF_VALUE *conf)
102{ 106{
103 if(!conf) return; 107 if(!conf) return;
104 if(conf->name) Free(conf->name); 108 if(conf->name) OPENSSL_free(conf->name);
105 if(conf->value) Free(conf->value); 109 if(conf->value) OPENSSL_free(conf->value);
106 if(conf->section) Free(conf->section); 110 if(conf->section) OPENSSL_free(conf->section);
107 Free(conf); 111 OPENSSL_free(conf);
108} 112}
109 113
110int X509V3_add_value_bool(const char *name, int asn1_bool, 114int X509V3_add_value_bool(const char *name, int asn1_bool,
@@ -176,7 +180,7 @@ int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint,
176 if(!aint) return 1; 180 if(!aint) return 1;
177 if(!(strtmp = i2s_ASN1_INTEGER(NULL, aint))) return 0; 181 if(!(strtmp = i2s_ASN1_INTEGER(NULL, aint))) return 0;
178 ret = X509V3_add_value(name, strtmp, extlist); 182 ret = X509V3_add_value(name, strtmp, extlist);
179 Free(strtmp); 183 OPENSSL_free(strtmp);
180 return ret; 184 return ret;
181} 185}
182 186
@@ -298,11 +302,11 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line)
298 } 302 }
299 X509V3_add_value(ntmp, NULL, &values); 303 X509V3_add_value(ntmp, NULL, &values);
300 } 304 }
301Free(linebuf); 305OPENSSL_free(linebuf);
302return values; 306return values;
303 307
304err: 308err:
305Free(linebuf); 309OPENSSL_free(linebuf);
306sk_CONF_VALUE_pop_free(values, X509V3_conf_free); 310sk_CONF_VALUE_pop_free(values, X509V3_conf_free);
307return NULL; 311return NULL;
308 312
@@ -325,8 +329,9 @@ static char *strip_spaces(char *name)
325 329
326/* hex string utilities */ 330/* hex string utilities */
327 331
328/* Given a buffer of length 'len' return a Malloc'ed string with its 332/* Given a buffer of length 'len' return a OPENSSL_malloc'ed string with its
329 * hex representation 333 * hex representation
334 * @@@ (Contents of buffer are always kept in ASCII, also on EBCDIC machines)
330 */ 335 */
331 336
332char *hex_to_string(unsigned char *buffer, long len) 337char *hex_to_string(unsigned char *buffer, long len)
@@ -336,7 +341,7 @@ char *hex_to_string(unsigned char *buffer, long len)
336 int i; 341 int i;
337 static char hexdig[] = "0123456789ABCDEF"; 342 static char hexdig[] = "0123456789ABCDEF";
338 if(!buffer || !len) return NULL; 343 if(!buffer || !len) return NULL;
339 if(!(tmp = Malloc(len * 3 + 1))) { 344 if(!(tmp = OPENSSL_malloc(len * 3 + 1))) {
340 X509V3err(X509V3_F_HEX_TO_STRING,ERR_R_MALLOC_FAILURE); 345 X509V3err(X509V3_F_HEX_TO_STRING,ERR_R_MALLOC_FAILURE);
341 return NULL; 346 return NULL;
342 } 347 }
@@ -347,6 +352,10 @@ char *hex_to_string(unsigned char *buffer, long len)
347 *q++ = ':'; 352 *q++ = ':';
348 } 353 }
349 q[-1] = 0; 354 q[-1] = 0;
355#ifdef CHARSET_EBCDIC
356 ebcdic2ascii(tmp, tmp, q - tmp - 1);
357#endif
358
350 return tmp; 359 return tmp;
351} 360}
352 361
@@ -362,14 +371,20 @@ unsigned char *string_to_hex(char *str, long *len)
362 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_INVALID_NULL_ARGUMENT); 371 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_INVALID_NULL_ARGUMENT);
363 return NULL; 372 return NULL;
364 } 373 }
365 if(!(hexbuf = Malloc(strlen(str) >> 1))) goto err; 374 if(!(hexbuf = OPENSSL_malloc(strlen(str) >> 1))) goto err;
366 for(p = (unsigned char *)str, q = hexbuf; *p;) { 375 for(p = (unsigned char *)str, q = hexbuf; *p;) {
367 ch = *p++; 376 ch = *p++;
377#ifdef CHARSET_EBCDIC
378 ch = os_toebcdic[ch];
379#endif
368 if(ch == ':') continue; 380 if(ch == ':') continue;
369 cl = *p++; 381 cl = *p++;
382#ifdef CHARSET_EBCDIC
383 cl = os_toebcdic[cl];
384#endif
370 if(!cl) { 385 if(!cl) {
371 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ODD_NUMBER_OF_DIGITS); 386 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ODD_NUMBER_OF_DIGITS);
372 Free(hexbuf); 387 OPENSSL_free(hexbuf);
373 return NULL; 388 return NULL;
374 } 389 }
375 if(isupper(ch)) ch = tolower(ch); 390 if(isupper(ch)) ch = tolower(ch);
@@ -391,12 +406,12 @@ unsigned char *string_to_hex(char *str, long *len)
391 return hexbuf; 406 return hexbuf;
392 407
393 err: 408 err:
394 if(hexbuf) Free(hexbuf); 409 if(hexbuf) OPENSSL_free(hexbuf);
395 X509V3err(X509V3_F_STRING_TO_HEX,ERR_R_MALLOC_FAILURE); 410 X509V3err(X509V3_F_STRING_TO_HEX,ERR_R_MALLOC_FAILURE);
396 return NULL; 411 return NULL;
397 412
398 badhex: 413 badhex:
399 Free(hexbuf); 414 OPENSSL_free(hexbuf);
400 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ILLEGAL_HEX_DIGIT); 415 X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ILLEGAL_HEX_DIGIT);
401 return NULL; 416 return NULL;
402 417
@@ -416,3 +431,86 @@ int name_cmp(const char *name, const char *cmp)
416 if(!c || (c=='.')) return 0; 431 if(!c || (c=='.')) return 0;
417 return 1; 432 return 1;
418} 433}
434
435static int sk_strcmp(const char * const *a, const char * const *b)
436{
437 return strcmp(*a, *b);
438}
439
440STACK *X509_get1_email(X509 *x)
441{
442 STACK_OF(GENERAL_NAME) *gens;
443 STACK *ret;
444 gens = X509_get_ext_d2i(x, NID_subject_alt_name, NULL, NULL);
445 ret = get_email(X509_get_subject_name(x), gens);
446 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
447 return ret;
448}
449
450STACK *X509_REQ_get1_email(X509_REQ *x)
451{
452 STACK_OF(GENERAL_NAME) *gens;
453 STACK_OF(X509_EXTENSION) *exts;
454 STACK *ret;
455 exts = X509_REQ_get_extensions(x);
456 gens = X509V3_get_d2i(exts, NID_subject_alt_name, NULL, NULL);
457 ret = get_email(X509_REQ_get_subject_name(x), gens);
458 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
459 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
460 return ret;
461}
462
463
464static STACK *get_email(X509_NAME *name, STACK_OF(GENERAL_NAME) *gens)
465{
466 STACK *ret = NULL;
467 X509_NAME_ENTRY *ne;
468 ASN1_IA5STRING *email;
469 GENERAL_NAME *gen;
470 int i;
471 /* Now add any email address(es) to STACK */
472 i = -1;
473 /* First supplied X509_NAME */
474 while((i = X509_NAME_get_index_by_NID(name,
475 NID_pkcs9_emailAddress, i)) > 0) {
476 ne = X509_NAME_get_entry(name, i);
477 email = X509_NAME_ENTRY_get_data(ne);
478 if(!append_ia5(&ret, email)) return NULL;
479 }
480 for(i = 0; i < sk_GENERAL_NAME_num(gens); i++)
481 {
482 gen = sk_GENERAL_NAME_value(gens, i);
483 if(gen->type != GEN_EMAIL) continue;
484 if(!append_ia5(&ret, gen->d.ia5)) return NULL;
485 }
486 return ret;
487}
488
489static void str_free(void *str)
490{
491 OPENSSL_free(str);
492}
493
494static int append_ia5(STACK **sk, ASN1_IA5STRING *email)
495{
496 char *emtmp;
497 /* First some sanity checks */
498 if(email->type != V_ASN1_IA5STRING) return 1;
499 if(!email->data || !email->length) return 1;
500 if(!*sk) *sk = sk_new(sk_strcmp);
501 if(!*sk) return 0;
502 /* Don't add duplicates */
503 if(sk_find(*sk, (char *)email->data) != -1) return 1;
504 emtmp = BUF_strdup((char *)email->data);
505 if(!emtmp || !sk_push(*sk, emtmp)) {
506 X509_email_free(*sk);
507 *sk = NULL;
508 return 0;
509 }
510 return 1;
511}
512
513void X509_email_free(STACK *sk)
514{
515 sk_pop_free(sk, str_free);
516}
diff --git a/src/lib/libcrypto/x509v3/x509v3.h b/src/lib/libcrypto/x509v3/x509v3.h
index 96ceb7c4fb..0453b12d63 100644
--- a/src/lib/libcrypto/x509v3/x509v3.h
+++ b/src/lib/libcrypto/x509v3/x509v3.h
@@ -58,14 +58,14 @@
58#ifndef HEADER_X509V3_H 58#ifndef HEADER_X509V3_H
59#define HEADER_X509V3_H 59#define HEADER_X509V3_H
60 60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
65#include <openssl/bio.h> 61#include <openssl/bio.h>
66#include <openssl/x509.h> 62#include <openssl/x509.h>
67#include <openssl/conf.h> 63#include <openssl/conf.h>
68 64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69/* Forward reference */ 69/* Forward reference */
70struct v3_ext_method; 70struct v3_ext_method;
71struct v3_ext_ctx; 71struct v3_ext_ctx;
@@ -131,6 +131,8 @@ void *db;
131typedef struct v3_ext_method X509V3_EXT_METHOD; 131typedef struct v3_ext_method X509V3_EXT_METHOD;
132typedef struct v3_ext_ctx X509V3_CTX; 132typedef struct v3_ext_ctx X509V3_CTX;
133 133
134DECLARE_STACK_OF(X509V3_EXT_METHOD)
135
134/* ext_flags values */ 136/* ext_flags values */
135#define X509V3_EXT_DYNAMIC 0x1 137#define X509V3_EXT_DYNAMIC 0x1
136#define X509V3_EXT_CTX_DEP 0x2 138#define X509V3_EXT_CTX_DEP 0x2
@@ -227,7 +229,7 @@ typedef struct SXNET_st {
227 229
228typedef struct NOTICEREF_st { 230typedef struct NOTICEREF_st {
229 ASN1_STRING *organization; 231 ASN1_STRING *organization;
230 STACK *noticenos; 232 STACK_OF(ASN1_INTEGER) *noticenos;
231} NOTICEREF; 233} NOTICEREF;
232 234
233typedef struct USERNOTICE_st { 235typedef struct USERNOTICE_st {
@@ -332,7 +334,8 @@ typedef struct x509_purpose_st {
332 int purpose; 334 int purpose;
333 int trust; /* Default trust ID */ 335 int trust; /* Default trust ID */
334 int flags; 336 int flags;
335 int (*check_purpose)(struct x509_purpose_st *, X509 *, int); 337 int (*check_purpose)(const struct x509_purpose_st *,
338 const X509 *, int);
336 char *name; 339 char *name;
337 char *sname; 340 char *sname;
338 void *usr_data; 341 void *usr_data;
@@ -529,12 +532,13 @@ int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent);
529int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); 532int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
530 533
531int X509_check_purpose(X509 *x, int id, int ca); 534int X509_check_purpose(X509 *x, int id, int ca);
535int X509_check_issued(X509 *issuer, X509 *subject);
532int X509_PURPOSE_get_count(void); 536int X509_PURPOSE_get_count(void);
533X509_PURPOSE * X509_PURPOSE_get0(int idx); 537X509_PURPOSE * X509_PURPOSE_get0(int idx);
534int X509_PURPOSE_get_by_sname(char *sname); 538int X509_PURPOSE_get_by_sname(char *sname);
535int X509_PURPOSE_get_by_id(int id); 539int X509_PURPOSE_get_by_id(int id);
536int X509_PURPOSE_add(int id, int trust, int flags, 540int X509_PURPOSE_add(int id, int trust, int flags,
537 int (*ck)(X509_PURPOSE *, X509 *, int), 541 int (*ck)(const X509_PURPOSE *, const X509 *, int),
538 char *name, char *sname, void *arg); 542 char *name, char *sname, void *arg);
539char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); 543char *X509_PURPOSE_get0_name(X509_PURPOSE *xp);
540char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); 544char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp);
@@ -542,6 +546,11 @@ int X509_PURPOSE_get_trust(X509_PURPOSE *xp);
542void X509_PURPOSE_cleanup(void); 546void X509_PURPOSE_cleanup(void);
543int X509_PURPOSE_get_id(X509_PURPOSE *); 547int X509_PURPOSE_get_id(X509_PURPOSE *);
544 548
549STACK *X509_get1_email(X509 *x);
550STACK *X509_REQ_get1_email(X509_REQ *x);
551void X509_email_free(STACK *sk);
552
553
545/* BEGIN ERROR CODES */ 554/* BEGIN ERROR CODES */
546/* The following lines are auto generated by the script mkerr.pl. Any changes 555/* The following lines are auto generated by the script mkerr.pl. Any changes
547 * made after this point may be overwritten when the script is next run. 556 * made after this point may be overwritten when the script is next run.