aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>1999-04-12 17:23:57 +0000
committerBen Laurie <ben@openssl.org>1999-04-12 17:23:57 +0000
commitf73e07cf420ddad22b6148d8cbe28daf84ccae2d (patch)
tree3396fc9a31ba5a227211ea9e94600ddc4b4a58f2
parenta36a1a5146df87700eb8d3c7091cbd7106c958cf (diff)
downloadopenssl-f73e07cf420ddad22b6148d8cbe28daf84ccae2d.tar.gz
Add type-safe STACKs and SETs.
-rw-r--r--CHANGES10
-rw-r--r--apps/Makefile.ssl179
-rw-r--r--apps/ciphers.c6
-rw-r--r--apps/crl2p7.c10
-rw-r--r--apps/pkcs7.c6
-rw-r--r--apps/s_client.c23
-rw-r--r--apps/s_server.c6
-rw-r--r--crypto/asn1/Makefile.ssl384
-rw-r--r--crypto/asn1/asn1.h27
-rw-r--r--crypto/asn1/asn1_mac.h28
-rw-r--r--crypto/asn1/p7_s_e.c8
-rw-r--r--crypto/asn1/p7_signd.c8
-rw-r--r--crypto/dh/Makefile.ssl2
-rw-r--r--crypto/dsa/Makefile.ssl13
-rw-r--r--crypto/err/Makefile.ssl6
-rw-r--r--crypto/evp/Makefile.ssl128
-rw-r--r--crypto/pem/Makefile.ssl36
-rw-r--r--crypto/pkcs12/Makefile.ssl98
-rw-r--r--crypto/pkcs7/Makefile.ssl20
-rw-r--r--crypto/pkcs7/pk7_doit.c3
-rw-r--r--crypto/pkcs7/pk7_lib.c6
-rw-r--r--crypto/pkcs7/pkcs7.h4
-rw-r--r--crypto/rsa/Makefile.ssl14
-rw-r--r--crypto/stack/Makefile.ssl2
-rw-r--r--crypto/stack/safestack.h115
-rw-r--r--crypto/x509/Makefile.ssl119
-rw-r--r--crypto/x509/x509.h12
-rw-r--r--crypto/x509/x509_cmp.c12
-rw-r--r--crypto/x509/x509_lu.c2
-rw-r--r--crypto/x509/x509_vfy.c15
-rw-r--r--crypto/x509/x509_vfy.h6
-rw-r--r--crypto/x509v3/Makefile.ssl108
-rw-r--r--ssl/Makefile.ssl204
-rw-r--r--ssl/s23_srvr.c6
-rw-r--r--ssl/s2_clnt.c22
-rw-r--r--ssl/s2_srvr.c18
-rw-r--r--ssl/s3_both.c4
-rw-r--r--ssl/s3_clnt.c28
-rw-r--r--ssl/s3_lib.c21
-rw-r--r--ssl/s3_srvr.c46
-rw-r--r--ssl/ssl.h38
-rw-r--r--ssl/ssl3.h2
-rw-r--r--ssl/ssl_cert.c45
-rw-r--r--ssl/ssl_ciph.c41
-rw-r--r--ssl/ssl_lib.c88
-rw-r--r--ssl/ssl_locl.h24
-rw-r--r--ssl/ssl_sess.c2
-rw-r--r--test/Makefile.ssl15
48 files changed, 1147 insertions, 873 deletions
diff --git a/CHANGES b/CHANGES
index d1cc3cf0f0..5bbf146f02 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,16 @@
Changes between 0.9.2b and 0.9.3
+ *) Introduce type-safe ASN.1 SETs.
+ [Ben Laurie]
+
+ *) Introduce type-safe STACKs. This will almost certainly break lots of code
+ that links with OpenSSL (well at least cause lots of warnings), but fear
+ not: the conversion is trivial, and it eliminates loads of evil casts. A
+ few STACKed things have been converted already. Feel free to convert more.
+ In the fullness of time, I'll do away with the STACK type altogether.
+ [Ben Laurie]
+
*) Add `openssl ca -revoke <certfile>' facility which revokes a certificate
specified in <certfile> by updating the entry in the index.txt file.
This way one no longer has to edit the index.txt file manually for
diff --git a/apps/Makefile.ssl b/apps/Makefile.ssl
index e9c22d15f2..b3852e1c01 100644
--- a/apps/Makefile.ssl
+++ b/apps/Makefile.ssl
@@ -149,8 +149,8 @@ asn1pars.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
asn1pars.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
asn1pars.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
asn1pars.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-asn1pars.o: ../include/sha.h ../include/stack.h ../include/x509.h
-asn1pars.o: ../include/x509_vfy.h apps.h progs.h
+asn1pars.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+asn1pars.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
ca.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
ca.o: ../include/buffer.h ../include/cast.h ../include/conf.h
ca.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -158,9 +158,10 @@ ca.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
ca.o: ../include/lhash.h ../include/md2.h ../include/md5.h ../include/mdc2.h
ca.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
ca.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
-ca.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ca.o: ../include/stack.h ../include/txt_db.h ../include/x509.h
-ca.o: ../include/x509_vfy.h ../include/x509v3.h apps.h progs.h
+ca.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
+ca.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+ca.o: ../include/txt_db.h ../include/x509.h ../include/x509_vfy.h
+ca.o: ../include/x509v3.h apps.h progs.h
ciphers.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ciphers.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ciphers.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -169,10 +170,10 @@ ciphers.o: ../include/idea.h ../include/lhash.h ../include/md2.h
ciphers.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
ciphers.o: ../include/opensslv.h ../include/pkcs7.h ../include/rc2.h
ciphers.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-ciphers.o: ../include/rsa.h ../include/sha.h ../include/ssl.h ../include/ssl2.h
-ciphers.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
-ciphers.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
-ciphers.o: progs.h
+ciphers.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+ciphers.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+ciphers.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+ciphers.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
crl.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
crl.o: ../include/buffer.h ../include/cast.h ../include/crypto.h
crl.o: ../include/des.h ../include/dh.h ../include/dsa.h ../include/e_os.h
@@ -180,9 +181,9 @@ crl.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
crl.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
crl.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
crl.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-crl.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h ../include/stack.h
-crl.o: ../include/x509.h ../include/x509_vfy.h ../include/x509v3.h apps.h
-crl.o: progs.h
+crl.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+crl.o: ../include/sha.h ../include/stack.h ../include/x509.h
+crl.o: ../include/x509_vfy.h ../include/x509v3.h apps.h progs.h
crl2p7.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
crl2p7.o: ../include/bn.h ../include/buffer.h ../include/cast.h
crl2p7.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -191,8 +192,9 @@ crl2p7.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
crl2p7.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
crl2p7.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
crl2p7.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-crl2p7.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-crl2p7.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+crl2p7.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+crl2p7.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
+crl2p7.o: progs.h
dgst.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
dgst.o: ../include/bn.h ../include/buffer.h ../include/cast.h
dgst.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -200,9 +202,9 @@ dgst.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
dgst.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
dgst.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
dgst.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
-dgst.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h ../include/sha.h
-dgst.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
-dgst.o: progs.h
+dgst.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
+dgst.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+dgst.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
dh.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
dh.o: ../include/buffer.h ../include/cast.h ../include/crypto.h
dh.o: ../include/des.h ../include/dh.h ../include/dsa.h ../include/e_os.h
@@ -210,8 +212,9 @@ dh.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
dh.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
dh.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
dh.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-dh.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h ../include/stack.h
-dh.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+dh.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+dh.o: ../include/sha.h ../include/stack.h ../include/x509.h
+dh.o: ../include/x509_vfy.h apps.h progs.h
dsa.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
dsa.o: ../include/buffer.h ../include/cast.h ../include/crypto.h
dsa.o: ../include/des.h ../include/dh.h ../include/dsa.h ../include/e_os.h
@@ -219,8 +222,9 @@ dsa.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
dsa.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
dsa.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
dsa.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-dsa.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h ../include/stack.h
-dsa.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+dsa.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+dsa.o: ../include/sha.h ../include/stack.h ../include/x509.h
+dsa.o: ../include/x509_vfy.h apps.h progs.h
dsaparam.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
dsaparam.o: ../include/bn.h ../include/buffer.h ../include/cast.h
dsaparam.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -230,8 +234,9 @@ dsaparam.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
dsaparam.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
dsaparam.o: ../include/pkcs7.h ../include/rand.h ../include/rc2.h
dsaparam.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-dsaparam.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-dsaparam.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+dsaparam.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+dsaparam.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
+dsaparam.o: progs.h
enc.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
enc.o: ../include/buffer.h ../include/cast.h ../include/crypto.h
enc.o: ../include/des.h ../include/dh.h ../include/dsa.h ../include/e_os.h
@@ -239,8 +244,9 @@ enc.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
enc.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
enc.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
enc.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-enc.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h ../include/stack.h
-enc.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+enc.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+enc.o: ../include/sha.h ../include/stack.h ../include/x509.h
+enc.o: ../include/x509_vfy.h apps.h progs.h
errstr.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
errstr.o: ../include/bn.h ../include/buffer.h ../include/cast.h
errstr.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -248,10 +254,11 @@ errstr.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
errstr.o: ../include/lhash.h ../include/md2.h ../include/md5.h
errstr.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
errstr.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-errstr.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-errstr.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
-errstr.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
-errstr.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+errstr.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+errstr.o: ../include/sha.h ../include/ssl.h ../include/ssl2.h
+errstr.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
+errstr.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
+errstr.o: progs.h
gendh.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
gendh.o: ../include/bn.h ../include/buffer.h ../include/cast.h
gendh.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -260,8 +267,9 @@ gendh.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
gendh.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
gendh.o: ../include/pem2.h ../include/pkcs7.h ../include/rand.h
gendh.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-gendh.o: ../include/rsa.h ../include/sha.h ../include/stack.h ../include/x509.h
-gendh.o: ../include/x509_vfy.h apps.h progs.h
+gendh.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+gendh.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
+gendh.o: progs.h
gendsa.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
gendsa.o: ../include/bn.h ../include/buffer.h ../include/cast.h
gendsa.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -270,9 +278,9 @@ gendsa.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
gendsa.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
gendsa.o: ../include/pem2.h ../include/pkcs7.h ../include/rand.h
gendsa.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-gendsa.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-gendsa.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
-gendsa.o: progs.h
+gendsa.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+gendsa.o: ../include/sha.h ../include/stack.h ../include/x509.h
+gendsa.o: ../include/x509_vfy.h apps.h progs.h
genrsa.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
genrsa.o: ../include/bn.h ../include/buffer.h ../include/cast.h
genrsa.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -281,9 +289,9 @@ genrsa.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
genrsa.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
genrsa.o: ../include/pem2.h ../include/pkcs7.h ../include/rand.h
genrsa.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-genrsa.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-genrsa.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
-genrsa.o: progs.h
+genrsa.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+genrsa.o: ../include/sha.h ../include/stack.h ../include/x509.h
+genrsa.o: ../include/x509_vfy.h apps.h progs.h
nseq.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
nseq.o: ../include/bn.h ../include/buffer.h ../include/cast.h
nseq.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -291,9 +299,9 @@ nseq.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
nseq.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
nseq.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
nseq.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
-nseq.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h ../include/sha.h
-nseq.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
-nseq.o: progs.h
+nseq.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
+nseq.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+nseq.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
openssl.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
openssl.o: ../include/bn.h ../include/buffer.h ../include/cast.h
openssl.o: ../include/conf.h ../include/crypto.h ../include/des.h
@@ -303,10 +311,10 @@ openssl.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
openssl.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
openssl.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
openssl.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-openssl.o: ../include/rsa.h ../include/sha.h ../include/ssl.h ../include/ssl2.h
-openssl.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
-openssl.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
-openssl.o: progs.h s_apps.h
+openssl.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+openssl.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+openssl.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+openssl.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h s_apps.h
pkcs7.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
pkcs7.o: ../include/bn.h ../include/buffer.h ../include/cast.h
pkcs7.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -314,9 +322,9 @@ pkcs7.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
pkcs7.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
pkcs7.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
pkcs7.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
-pkcs7.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h ../include/sha.h
-pkcs7.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
-pkcs7.o: progs.h
+pkcs7.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
+pkcs7.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+pkcs7.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
req.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
req.o: ../include/buffer.h ../include/cast.h ../include/conf.h
req.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -325,8 +333,9 @@ req.o: ../include/lhash.h ../include/md2.h ../include/md5.h ../include/mdc2.h
req.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
req.o: ../include/pem2.h ../include/pkcs7.h ../include/rand.h ../include/rc2.h
req.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-req.o: ../include/sha.h ../include/stack.h ../include/x509.h
-req.o: ../include/x509_vfy.h ../include/x509v3.h apps.h progs.h
+req.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+req.o: ../include/x509.h ../include/x509_vfy.h ../include/x509v3.h apps.h
+req.o: progs.h
rsa.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h ../include/bn.h
rsa.o: ../include/buffer.h ../include/cast.h ../include/crypto.h
rsa.o: ../include/des.h ../include/dh.h ../include/dsa.h ../include/e_os.h
@@ -334,8 +343,9 @@ rsa.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
rsa.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
rsa.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
rsa.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-rsa.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h ../include/stack.h
-rsa.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+rsa.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+rsa.o: ../include/sha.h ../include/stack.h ../include/x509.h
+rsa.o: ../include/x509_vfy.h apps.h progs.h
s_cb.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s_cb.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s_cb.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -343,10 +353,10 @@ s_cb.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
s_cb.o: ../include/lhash.h ../include/md2.h ../include/md5.h ../include/mdc2.h
s_cb.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s_cb.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-s_cb.o: ../include/rsa.h ../include/sha.h ../include/ssl.h ../include/ssl2.h
-s_cb.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
-s_cb.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
-s_cb.o: progs.h s_apps.h
+s_cb.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+s_cb.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h ../include/ssl3.h
+s_cb.o: ../include/stack.h ../include/tls1.h ../include/x509.h
+s_cb.o: ../include/x509_vfy.h apps.h progs.h s_apps.h
s_client.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s_client.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s_client.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -356,10 +366,10 @@ s_client.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s_client.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
s_client.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
s_client.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-s_client.o: ../include/rsa.h ../include/sha.h ../include/ssl.h
-s_client.o: ../include/ssl2.h ../include/ssl23.h ../include/ssl3.h
-s_client.o: ../include/stack.h ../include/tls1.h ../include/x509.h
-s_client.o: ../include/x509_vfy.h apps.h progs.h s_apps.h
+s_client.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+s_client.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+s_client.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+s_client.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h s_apps.h
s_server.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s_server.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s_server.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -369,10 +379,10 @@ s_server.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s_server.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
s_server.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
s_server.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-s_server.o: ../include/rsa.h ../include/sha.h ../include/ssl.h
-s_server.o: ../include/ssl2.h ../include/ssl23.h ../include/ssl3.h
-s_server.o: ../include/stack.h ../include/tls1.h ../include/x509.h
-s_server.o: ../include/x509_vfy.h apps.h progs.h s_apps.h
+s_server.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+s_server.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+s_server.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+s_server.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h s_apps.h
s_socket.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s_socket.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s_socket.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -381,10 +391,10 @@ s_socket.o: ../include/idea.h ../include/lhash.h ../include/md2.h
s_socket.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
s_socket.o: ../include/opensslv.h ../include/pkcs7.h ../include/rc2.h
s_socket.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-s_socket.o: ../include/rsa.h ../include/sha.h ../include/ssl.h
-s_socket.o: ../include/ssl2.h ../include/ssl23.h ../include/ssl3.h
-s_socket.o: ../include/stack.h ../include/tls1.h ../include/x509.h
-s_socket.o: ../include/x509_vfy.h apps.h progs.h s_apps.h
+s_socket.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+s_socket.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+s_socket.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+s_socket.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h s_apps.h
s_time.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s_time.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s_time.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -393,10 +403,11 @@ s_time.o: ../include/lhash.h ../include/md2.h ../include/md5.h
s_time.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
s_time.o: ../include/pem.h ../include/pem2.h ../include/pkcs7.h
s_time.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s_time.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s_time.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
-s_time.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
-s_time.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h s_apps.h
+s_time.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s_time.o: ../include/sha.h ../include/ssl.h ../include/ssl2.h
+s_time.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
+s_time.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
+s_time.o: progs.h s_apps.h
sess_id.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
sess_id.o: ../include/bn.h ../include/buffer.h ../include/cast.h
sess_id.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -406,10 +417,10 @@ sess_id.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
sess_id.o: ../include/opensslv.h ../include/pem.h ../include/pem2.h
sess_id.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
sess_id.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-sess_id.o: ../include/sha.h ../include/ssl.h ../include/ssl2.h
-sess_id.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
-sess_id.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h apps.h
-sess_id.o: progs.h
+sess_id.o: ../include/safestack.h ../include/sha.h ../include/ssl.h
+sess_id.o: ../include/ssl2.h ../include/ssl23.h ../include/ssl3.h
+sess_id.o: ../include/stack.h ../include/tls1.h ../include/x509.h
+sess_id.o: ../include/x509_vfy.h apps.h progs.h
speed.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
speed.o: ../include/bn.h ../include/buffer.h ../include/cast.h
speed.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -417,9 +428,9 @@ speed.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/hmac.h
speed.o: ../include/idea.h ../include/md2.h ../include/md5.h ../include/mdc2.h
speed.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
speed.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-speed.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-speed.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ./testdsa.h
-speed.o: ./testrsa.h apps.h progs.h
+speed.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+speed.o: ../include/sha.h ../include/stack.h ../include/x509.h
+speed.o: ../include/x509_vfy.h ./testdsa.h ./testrsa.h apps.h progs.h
verify.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
verify.o: ../include/bn.h ../include/buffer.h ../include/cast.h
verify.o: ../include/crypto.h ../include/des.h ../include/dh.h ../include/dsa.h
@@ -428,8 +439,9 @@ verify.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
verify.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
verify.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
verify.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-verify.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-verify.o: ../include/x509.h ../include/x509_vfy.h apps.h progs.h
+verify.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+verify.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h apps.h
+verify.o: progs.h
version.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
version.o: ../include/bn.h ../include/buffer.h ../include/cast.h
version.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -446,6 +458,7 @@ x509.o: ../include/e_os.h ../include/err.h ../include/evp.h ../include/idea.h
x509.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
x509.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
x509.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
-x509.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h ../include/sha.h
-x509.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h
-x509.o: ../include/x509v3.h apps.h progs.h
+x509.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
+x509.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+x509.o: ../include/x509.h ../include/x509_vfy.h ../include/x509v3.h apps.h
+x509.o: progs.h
diff --git a/apps/ciphers.c b/apps/ciphers.c
index 867196e393..a62c5b0e8a 100644
--- a/apps/ciphers.c
+++ b/apps/ciphers.c
@@ -89,7 +89,7 @@ char **argv;
SSL *ssl=NULL;
char *ciphers=NULL;
SSL_METHOD *meth=NULL;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
char buf[512];
BIO *STDout=NULL;
@@ -167,10 +167,10 @@ char **argv;
{
sk=SSL_get_ciphers(ssl);
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
{
BIO_puts(STDout,SSL_CIPHER_description(
- (SSL_CIPHER *)sk_value(sk,i),
+ sk_SSL_CIPHER_value(sk,i),
buf,512));
}
}
diff --git a/apps/crl2p7.c b/apps/crl2p7.c
index befae045ce..beadc96caf 100644
--- a/apps/crl2p7.c
+++ b/apps/crl2p7.c
@@ -73,7 +73,7 @@
#include "objects.h"
#ifndef NOPROTO
-static int add_certs_from_file(STACK *stack, char *certfile);
+static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile);
#else
static int add_certs_from_file();
#endif
@@ -100,7 +100,7 @@ char **argv;
X509_CRL *crl=NULL;
STACK *certflst=NULL;
STACK *crl_stack=NULL;
- STACK *cert_stack=NULL;
+ STACK_OF(X509) *cert_stack=NULL;
int ret=1,nocrl=0;
apps_startup();
@@ -228,7 +228,7 @@ bad:
crl=NULL; /* now part of p7 for Freeing */
}
- if ((cert_stack=sk_new(NULL)) == NULL) goto end;
+ if ((cert_stack=sk_X509_new(NULL)) == NULL) goto end;
p7s->cert=cert_stack;
if(certflst) for(i = 0; i < sk_num(certflst); i++) {
@@ -289,7 +289,7 @@ end:
*----------------------------------------------------------------------
*/
static int add_certs_from_file(stack,certfile)
-STACK *stack;
+STACK_OF(X509) *stack;
char *certfile;
{
struct stat st;
@@ -325,7 +325,7 @@ char *certfile;
xi=(X509_INFO *)sk_shift(sk);
if (xi->x509 != NULL)
{
- sk_push(stack,(char *)xi->x509);
+ sk_X509_push(stack,xi->x509);
xi->x509=NULL;
count++;
}
diff --git a/apps/pkcs7.c b/apps/pkcs7.c
index 9f96edc565..cac75f48b2 100644
--- a/apps/pkcs7.c
+++ b/apps/pkcs7.c
@@ -223,7 +223,7 @@ bad:
if (print_certs)
{
- STACK *certs=NULL;
+ STACK_OF(X509) *certs=NULL;
STACK *crls=NULL;
i=OBJ_obj2nid(p7->type);
@@ -245,9 +245,9 @@ bad:
{
X509 *x;
- for (i=0; i<sk_num(certs); i++)
+ for (i=0; i<sk_X509_num(certs); i++)
{
- x=(X509 *)sk_value(certs,i);
+ x=sk_X509_value(certs,i);
X509_NAME_oneline(X509_get_subject_name(x),
buf,256);
diff --git a/apps/s_client.c b/apps/s_client.c
index c6b7938de3..7140f8ba2b 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -666,7 +666,8 @@ int full;
char *p;
static char *space=" ";
char buf[BUFSIZ];
- STACK *sk;
+ STACK_OF(X509) *sk;
+ STACK_OF(X509_NAME) *sk2;
SSL_CIPHER *c;
X509_NAME *xn;
int j,i;
@@ -677,16 +678,16 @@ int full;
if (sk != NULL)
{
BIO_printf(bio,"---\nCertificate chain\n");
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_num(sk); i++)
{
- X509_NAME_oneline(X509_get_subject_name((X509 *)
- sk_value(sk,i)),buf,BUFSIZ);
+ X509_NAME_oneline(X509_get_subject_name(
+ sk_X509_value(sk,i)),buf,BUFSIZ);
BIO_printf(bio,"%2d s:%s\n",i,buf);
- X509_NAME_oneline(X509_get_issuer_name((X509 *)
- sk_value(sk,i)),buf,BUFSIZ);
+ X509_NAME_oneline(X509_get_issuer_name(
+ sk_X509_value(sk,i)),buf,BUFSIZ);
BIO_printf(bio," i:%s\n",buf);
if (c_showcerts)
- PEM_write_bio_X509(bio,(X509 *) sk_value(sk,i));
+ PEM_write_bio_X509(bio,sk_X509_value(sk,i));
}
}
@@ -707,13 +708,13 @@ int full;
else
BIO_printf(bio,"no peer certificate available\n");
- sk=SSL_get_client_CA_list(s);
- if ((sk != NULL) && (sk_num(sk) > 0))
+ sk2=SSL_get_client_CA_list(s);
+ if ((sk != NULL) && (sk_X509_NAME_num(sk2) > 0))
{
BIO_printf(bio,"---\nAcceptable client certificate CA names\n");
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_NAME_num(sk2); i++)
{
- xn=(X509_NAME *)sk_value(sk,i);
+ xn=sk_X509_NAME_value(sk2,i);
X509_NAME_oneline(xn,buf,sizeof(buf));
BIO_write(bio,buf,strlen(buf));
BIO_write(bio,"\n",1);
diff --git a/apps/s_server.c b/apps/s_server.c
index 7d9df46085..de0c712109 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -998,7 +998,7 @@ char *context;
{
char *p;
X509 *peer;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
static char *space=" ";
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/html\r\n\r\n");
@@ -1017,10 +1017,10 @@ char *context;
* be done */
BIO_printf(io,"Ciphers supported in s_server binary\n");
sk=SSL_get_ciphers(con);
- j=sk_num(sk);
+ j=sk_SSL_CIPHER_num(sk);
for (i=0; i<j; i++)
{
- c=(SSL_CIPHER *)sk_value(sk,i);
+ c=sk_SSL_CIPHER_value(sk,i);
BIO_printf(io,"%-11s:%-25s",
SSL_CIPHER_get_version(c),
SSL_CIPHER_get_name(c));
diff --git a/crypto/asn1/Makefile.ssl b/crypto/asn1/Makefile.ssl
index 5bf33158e0..4dbf8ca8be 100644
--- a/crypto/asn1/Makefile.ssl
+++ b/crypto/asn1/Makefile.ssl
@@ -136,9 +136,9 @@ a_bytes.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_bytes.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_bytes.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_bytes.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_bytes.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_bytes.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_bytes.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_bytes.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_bytes.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_bytes.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_d2i_fp.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
a_d2i_fp.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
a_d2i_fp.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -146,9 +146,9 @@ a_d2i_fp.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_d2i_fp.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_d2i_fp.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_d2i_fp.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_d2i_fp.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_d2i_fp.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_d2i_fp.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_d2i_fp.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_d2i_fp.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_d2i_fp.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_digest.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
a_digest.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
a_digest.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -156,9 +156,9 @@ a_digest.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_digest.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_digest.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_digest.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_digest.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_digest.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_digest.o: ../crypto.h ../opensslv.h asn1.h
+a_digest.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_digest.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_digest.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
a_dup.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
a_dup.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
a_dup.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -166,9 +166,9 @@ a_dup.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_dup.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_dup.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_dup.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_dup.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_dup.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_dup.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_dup.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_dup.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_dup.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_enum.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
a_enum.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
a_enum.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
@@ -182,9 +182,9 @@ a_hdr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_hdr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_hdr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_hdr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_hdr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_hdr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_hdr.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_hdr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_hdr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_hdr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_i2d_fp.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
a_i2d_fp.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
a_i2d_fp.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -192,9 +192,9 @@ a_i2d_fp.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_i2d_fp.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_i2d_fp.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_i2d_fp.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_i2d_fp.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_i2d_fp.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_i2d_fp.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_i2d_fp.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_i2d_fp.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_i2d_fp.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_int.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
a_int.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
a_int.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
@@ -205,9 +205,9 @@ a_meth.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_meth.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_meth.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_meth.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_meth.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_meth.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_meth.o: ../crypto.h ../opensslv.h asn1.h
+a_meth.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_meth.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_meth.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
a_object.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
a_object.o: ../../include/e_os.h ../../include/err.h ../../include/objects.h
a_object.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
@@ -225,9 +225,9 @@ a_set.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_set.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_set.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_set.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_set.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_set.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_set.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_set.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_set.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_set.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_sign.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
a_sign.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
a_sign.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -235,9 +235,9 @@ a_sign.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_sign.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_sign.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_sign.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_sign.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_sign.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_sign.o: ../crypto.h ../opensslv.h asn1.h
+a_sign.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_sign.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_sign.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
a_time.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
a_time.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
a_time.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
@@ -248,9 +248,9 @@ a_type.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_type.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_type.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_type.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_type.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_type.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_type.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+a_type.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_type.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_type.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
a_utctm.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
a_utctm.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
a_utctm.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
@@ -261,9 +261,9 @@ a_verify.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
a_verify.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
a_verify.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
a_verify.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-a_verify.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-a_verify.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-a_verify.o: ../crypto.h ../opensslv.h asn1.h
+a_verify.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+a_verify.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+a_verify.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
asn1_err.o: ../../include/bn.h ../../include/err.h ../../include/stack.h asn1.h
asn1_lib.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
asn1_lib.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
@@ -272,9 +272,9 @@ asn1_lib.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
asn1_lib.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
asn1_lib.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
asn1_lib.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-asn1_lib.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-asn1_lib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-asn1_lib.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+asn1_lib.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+asn1_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+asn1_lib.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
asn1_par.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
asn1_par.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
asn1_par.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -282,9 +282,9 @@ asn1_par.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
asn1_par.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
asn1_par.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
asn1_par.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-asn1_par.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-asn1_par.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-asn1_par.o: ../crypto.h ../opensslv.h asn1.h
+asn1_par.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+asn1_par.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+asn1_par.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
asn_pack.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
asn_pack.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
asn_pack.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
@@ -295,9 +295,9 @@ d2i_dhp.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_dhp.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_dhp.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_dhp.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_dhp.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_dhp.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_dhp.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_dhp.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_dhp.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_dhp.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
d2i_dsap.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_dsap.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_dsap.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -305,9 +305,9 @@ d2i_dsap.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_dsap.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_dsap.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_dsap.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_dsap.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_dsap.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_dsap.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_dsap.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_dsap.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_dsap.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
d2i_pr.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_pr.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_pr.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -315,9 +315,9 @@ d2i_pr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_pr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_pr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_pr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_pr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_pr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_pr.o: ../crypto.h ../opensslv.h asn1.h
+d2i_pr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_pr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_pr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
d2i_pu.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_pu.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_pu.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -325,9 +325,9 @@ d2i_pu.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_pu.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_pu.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_pu.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_pu.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_pu.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_pu.o: ../crypto.h ../opensslv.h asn1.h
+d2i_pu.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_pu.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_pu.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
d2i_r_pr.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_r_pr.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_r_pr.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -335,9 +335,9 @@ d2i_r_pr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_r_pr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_r_pr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_r_pr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_r_pr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_r_pr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_r_pr.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_r_pr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_r_pr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_r_pr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
d2i_r_pu.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_r_pu.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_r_pu.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -345,9 +345,9 @@ d2i_r_pu.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_r_pu.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_r_pu.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_r_pu.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_r_pu.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_r_pu.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_r_pu.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_r_pu.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_r_pu.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_r_pu.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
d2i_s_pr.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_s_pr.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_s_pr.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -355,9 +355,9 @@ d2i_s_pr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_s_pr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_s_pr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_s_pr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_s_pr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_s_pr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_s_pr.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_s_pr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_s_pr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_s_pr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
d2i_s_pu.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
d2i_s_pu.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
d2i_s_pu.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -365,9 +365,9 @@ d2i_s_pu.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
d2i_s_pu.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
d2i_s_pu.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
d2i_s_pu.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-d2i_s_pu.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-d2i_s_pu.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-d2i_s_pu.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+d2i_s_pu.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+d2i_s_pu.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+d2i_s_pu.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
evp_asn1.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
evp_asn1.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
evp_asn1.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -375,9 +375,9 @@ evp_asn1.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
evp_asn1.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
evp_asn1.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
evp_asn1.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-evp_asn1.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-evp_asn1.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-evp_asn1.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+evp_asn1.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+evp_asn1.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+evp_asn1.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
f_enum.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
f_enum.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
f_enum.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -385,9 +385,9 @@ f_enum.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
f_enum.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
f_enum.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
f_enum.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-f_enum.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-f_enum.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-f_enum.o: ../crypto.h ../opensslv.h asn1.h
+f_enum.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+f_enum.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+f_enum.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
f_int.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
f_int.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
f_int.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -395,9 +395,9 @@ f_int.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
f_int.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
f_int.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
f_int.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-f_int.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-f_int.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-f_int.o: ../crypto.h ../opensslv.h asn1.h
+f_int.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+f_int.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+f_int.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
f_string.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
f_string.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
f_string.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -405,9 +405,9 @@ f_string.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
f_string.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
f_string.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
f_string.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-f_string.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-f_string.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-f_string.o: ../crypto.h ../opensslv.h asn1.h
+f_string.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+f_string.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+f_string.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
i2d_dhp.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_dhp.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_dhp.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -415,9 +415,9 @@ i2d_dhp.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_dhp.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_dhp.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_dhp.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_dhp.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_dhp.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_dhp.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_dhp.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_dhp.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_dhp.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
i2d_dsap.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_dsap.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_dsap.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -425,9 +425,9 @@ i2d_dsap.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_dsap.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_dsap.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_dsap.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_dsap.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_dsap.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_dsap.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_dsap.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_dsap.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_dsap.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
i2d_pr.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_pr.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_pr.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -453,9 +453,9 @@ i2d_r_pr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_r_pr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_r_pr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_r_pr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_r_pr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_r_pr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_r_pr.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_r_pr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_r_pr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_r_pr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
i2d_r_pu.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_r_pu.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_r_pu.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -463,9 +463,9 @@ i2d_r_pu.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_r_pu.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_r_pu.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_r_pu.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_r_pu.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_r_pu.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_r_pu.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_r_pu.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_r_pu.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_r_pu.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
i2d_s_pr.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_s_pr.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_s_pr.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -473,9 +473,9 @@ i2d_s_pr.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_s_pr.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_s_pr.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_s_pr.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_s_pr.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_s_pr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_s_pr.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_s_pr.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_s_pr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_s_pr.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
i2d_s_pu.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
i2d_s_pu.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
i2d_s_pu.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -483,9 +483,9 @@ i2d_s_pu.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
i2d_s_pu.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
i2d_s_pu.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
i2d_s_pu.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-i2d_s_pu.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-i2d_s_pu.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-i2d_s_pu.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+i2d_s_pu.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+i2d_s_pu.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+i2d_s_pu.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
n_pkey.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
n_pkey.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
n_pkey.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -493,18 +493,18 @@ n_pkey.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
n_pkey.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
n_pkey.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
n_pkey.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-n_pkey.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-n_pkey.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-n_pkey.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+n_pkey.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+n_pkey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+n_pkey.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
nsseq.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
nsseq.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
nsseq.o: ../../include/dsa.h ../../include/err.h ../../include/evp.h
nsseq.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
nsseq.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
nsseq.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-nsseq.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-nsseq.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-nsseq.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+nsseq.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+nsseq.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+nsseq.o: ../../include/x509_vfy.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p5_pbe.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p5_pbe.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p5_pbe.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -512,9 +512,21 @@ p5_pbe.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p5_pbe.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p5_pbe.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
p5_pbe.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p5_pbe.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p5_pbe.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p5_pbe.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p5_pbe.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p5_pbe.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p5_pbe.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p5_pbe.o: asn1.h asn1_mac.h
+p5_pbev2.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
+p5_pbev2.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
+p5_pbev2.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
+p5_pbev2.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
+p5_pbev2.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
+p5_pbev2.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
+p5_pbev2.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
+p5_pbev2.o: ../../include/ripemd.h ../../include/rsa.h
+p5_pbev2.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p5_pbev2.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p5_pbev2.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_dgst.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_dgst.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_dgst.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -522,9 +534,9 @@ p7_dgst.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_dgst.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_dgst.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_dgst.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_dgst.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_dgst.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_dgst.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_dgst.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_dgst.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_dgst.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_enc.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_enc.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_enc.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -532,9 +544,9 @@ p7_enc.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_enc.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_enc.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_enc.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_enc.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_enc.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_enc.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_enc.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_enc.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_enc.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_enc_c.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_enc_c.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_enc_c.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -542,9 +554,9 @@ p7_enc_c.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_enc_c.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_enc_c.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_enc_c.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_enc_c.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_enc_c.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_enc_c.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_enc_c.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_enc_c.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_enc_c.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_evp.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_evp.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_evp.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -552,9 +564,9 @@ p7_evp.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_evp.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_evp.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_evp.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_evp.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_evp.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_evp.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_evp.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_evp.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_evp.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_i_s.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_i_s.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_i_s.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -562,9 +574,9 @@ p7_i_s.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_i_s.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_i_s.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_i_s.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_i_s.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_i_s.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_i_s.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_i_s.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_i_s.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_i_s.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_lib.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_lib.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_lib.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -572,9 +584,9 @@ p7_lib.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_lib.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_lib.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_lib.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_lib.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_lib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_lib.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_lib.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_lib.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_recip.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_recip.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_recip.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -582,9 +594,9 @@ p7_recip.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_recip.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_recip.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_recip.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_recip.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_recip.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_recip.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_recip.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_recip.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_recip.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_s_e.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_s_e.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_s_e.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -592,9 +604,9 @@ p7_s_e.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_s_e.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_s_e.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_s_e.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_s_e.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_s_e.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_s_e.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_s_e.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_s_e.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_s_e.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_signd.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_signd.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_signd.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -602,9 +614,9 @@ p7_signd.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_signd.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_signd.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_signd.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_signd.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_signd.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_signd.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_signd.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_signd.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_signd.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p7_signi.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p7_signi.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p7_signi.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -612,9 +624,9 @@ p7_signi.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p7_signi.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p7_signi.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p7_signi.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p7_signi.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p7_signi.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p7_signi.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p7_signi.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p7_signi.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p7_signi.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
p8_pkey.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
p8_pkey.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
p8_pkey.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -622,9 +634,9 @@ p8_pkey.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
p8_pkey.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p8_pkey.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p8_pkey.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p8_pkey.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p8_pkey.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p8_pkey.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+p8_pkey.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p8_pkey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p8_pkey.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
t_crl.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
t_crl.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
t_crl.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -632,9 +644,9 @@ t_crl.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
t_crl.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
t_crl.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
t_crl.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-t_crl.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-t_crl.o: ../../include/x509.h ../../include/x509_vfy.h ../../include/x509v3.h
-t_crl.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
+t_crl.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+t_crl.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+t_crl.o: ../../include/x509v3.h ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
t_pkey.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
t_pkey.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
t_pkey.o: ../../include/err.h ../../include/rsa.h ../../include/stack.h
@@ -646,9 +658,9 @@ t_req.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
t_req.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
t_req.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
t_req.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-t_req.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-t_req.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-t_req.o: ../crypto.h ../opensslv.h asn1.h
+t_req.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+t_req.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+t_req.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
t_x509.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
t_x509.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
t_x509.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -656,9 +668,9 @@ t_x509.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
t_x509.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
t_x509.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
t_x509.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-t_x509.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-t_x509.o: ../../include/x509.h ../../include/x509_vfy.h ../../include/x509v3.h
-t_x509.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
+t_x509.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+t_x509.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+t_x509.o: ../../include/x509v3.h ../cryptlib.h ../crypto.h ../opensslv.h asn1.h
x_algor.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_algor.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_algor.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -666,9 +678,9 @@ x_algor.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_algor.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_algor.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_algor.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_algor.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_algor.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_algor.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_algor.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_algor.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_algor.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_attrib.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_attrib.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_attrib.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -676,9 +688,9 @@ x_attrib.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_attrib.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_attrib.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_attrib.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_attrib.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_attrib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_attrib.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_attrib.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_attrib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_attrib.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_cinf.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_cinf.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_cinf.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -686,9 +698,9 @@ x_cinf.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_cinf.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_cinf.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_cinf.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_cinf.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_cinf.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_cinf.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_cinf.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_cinf.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_cinf.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_crl.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_crl.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_crl.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -696,9 +708,9 @@ x_crl.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_crl.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_crl.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_crl.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_crl.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_crl.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_crl.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_crl.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_crl.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_crl.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_exten.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_exten.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_exten.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -706,9 +718,9 @@ x_exten.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_exten.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_exten.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_exten.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_exten.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_exten.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_exten.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_exten.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_exten.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_exten.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_info.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_info.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_info.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -716,9 +728,9 @@ x_info.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_info.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_info.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_info.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_info.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_info.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_info.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_info.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_info.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_info.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_name.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_name.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_name.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -726,9 +738,9 @@ x_name.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_name.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_name.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_name.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_name.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_name.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_name.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_name.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_name.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_name.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_pkey.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_pkey.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_pkey.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -736,9 +748,9 @@ x_pkey.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_pkey.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_pkey.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_pkey.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_pkey.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_pkey.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_pkey.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_pkey.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_pkey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_pkey.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_pubkey.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_pubkey.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_pubkey.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -746,9 +758,9 @@ x_pubkey.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_pubkey.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_pubkey.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_pubkey.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_pubkey.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_pubkey.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_pubkey.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_pubkey.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_pubkey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_pubkey.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_req.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_req.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_req.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -756,9 +768,9 @@ x_req.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_req.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_req.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_req.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_req.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_req.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_req.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_req.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_req.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_req.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_sig.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_sig.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_sig.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -766,9 +778,9 @@ x_sig.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_sig.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_sig.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_sig.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_sig.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_sig.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_sig.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_sig.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_sig.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_sig.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_spki.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_spki.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_spki.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -776,9 +788,9 @@ x_spki.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_spki.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_spki.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_spki.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_spki.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_spki.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_spki.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_spki.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_spki.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_spki.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_val.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_val.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_val.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -786,9 +798,9 @@ x_val.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_val.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_val.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_val.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_val.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_val.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_val.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_val.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_val.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_val.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
x_x509.o: ../../include/bio.h ../../include/blowfish.h ../../include/bn.h
x_x509.o: ../../include/buffer.h ../../include/cast.h ../../include/des.h
x_x509.o: ../../include/dh.h ../../include/dsa.h ../../include/e_os.h
@@ -796,6 +808,6 @@ x_x509.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
x_x509.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
x_x509.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
x_x509.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x_x509.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x_x509.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-x_x509.o: ../crypto.h ../opensslv.h asn1.h asn1_mac.h
+x_x509.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x_x509.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+x_x509.o: ../cryptlib.h ../crypto.h ../opensslv.h asn1.h asn1_mac.h
diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h
index e2280c2c11..c0002e95e7 100644
--- a/crypto/asn1/asn1.h
+++ b/crypto/asn1/asn1.h
@@ -485,6 +485,33 @@ STACK * d2i_ASN1_SET(STACK **a, unsigned char **pp, long length,
char *(*func)(), void (*free_func)(),
int ex_tag, int ex_class);
+#define DECLARE_ASN1_SET_OF(type) \
+int i2d_ASN1_SET_OF_##type(STACK_OF(type) *a,unsigned char **pp, \
+ int (*func)(type *,unsigned char **), int ex_tag, \
+ int ex_class, int is_set); \
+STACK_OF(type) *d2i_ASN1_SET_OF_##type(STACK_OF(type) **a,unsigned char **pp, \
+ long length, \
+ type *(*func)(type **, \
+ unsigned char **,long), \
+ void (*free_func)(type *), \
+ int ex_tag,int ex_class);
+
+#define IMPLEMENT_ASN1_SET_OF(type) \
+int i2d_ASN1_SET_OF_##type(STACK_OF(type) *a,unsigned char **pp, \
+ int (*func)(type *,unsigned char **), int ex_tag, \
+ int ex_class, int is_set) \
+ { return i2d_ASN1_SET((STACK *)a,pp,func,ex_tag,ex_class,is_set); } \
+STACK_OF(type) *d2i_ASN1_SET_OF_##type(STACK_OF(type) **a,unsigned char **pp, \
+ long length, \
+ type *(*func)(type **, \
+ unsigned char **,long), \
+ void (*free_func)(type *), \
+ int ex_tag,int ex_class) \
+ { return (STACK_OF(type) *)d2i_ASN1_SET((STACK **)a,pp,length, \
+ (char *(*)())func, \
+ (void (*)())free_func, \
+ ex_tag,ex_class); }
+
#ifdef HEADER_BIO_H
int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a);
int a2i_ASN1_INTEGER(BIO *bp,ASN1_INTEGER *bs,char *buf,int size);
diff --git a/crypto/asn1/asn1_mac.h b/crypto/asn1/asn1_mac.h
index 41bf4072a2..3aeedc18a6 100644
--- a/crypto/asn1/asn1_mac.h
+++ b/crypto/asn1/asn1_mac.h
@@ -180,6 +180,15 @@ err:\
tag,V_ASN1_CONTEXT_SPECIFIC); \
}
+#define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \
+ if ((c.slen != 0) && \
+ (M_ASN1_next == \
+ (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\
+ { \
+ M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\
+ tag,V_ASN1_CONTEXT_SPECIFIC); \
+ }
+
#define M_ASN1_D2I_get_seq(r,func,free_func) \
M_ASN1_D2I_get_imp_set(r,func,free_func,\
V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL);
@@ -200,6 +209,13 @@ err:\
{ c.line=__LINE__; goto err; } \
c.slen-=(c.p-c.q);
+#define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \
+ c.q=c.p; \
+ if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,free_func,a,b) \
+ == NULL) \
+ { c.line=__LINE__; goto err; } \
+ c.slen-=(c.p-c.q);
+
#define M_ASN1_D2I_get_set_strings(r,func,a,b) \
c.q=c.p; \
if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \
@@ -314,6 +330,12 @@ err:\
ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \
IS_SEQUENCE);
+#define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \
+ if ((a != NULL) && (sk_##type##_num(a) != 0)) \
+ ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \
+ V_ASN1_CONTEXT_SPECIFIC, \
+ IS_SEQUENCE);
+
#define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \
if (a != NULL)\
{ \
@@ -371,6 +393,12 @@ err:\
{ i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \
IS_SEQUENCE); }
+#define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \
+ if ((a != NULL) && (sk_##type##_num(a) != 0)) \
+ { i2d_ASN1_SET_OF_##type(a,&p,f,x, \
+ V_ASN1_CONTEXT_SPECIFIC, \
+ IS_SEQUENCE); }
+
#define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \
if (a != NULL) \
{ \
diff --git a/crypto/asn1/p7_s_e.c b/crypto/asn1/p7_s_e.c
index 72f5b6503b..8271c8f8e3 100644
--- a/crypto/asn1/p7_s_e.c
+++ b/crypto/asn1/p7_s_e.c
@@ -76,7 +76,7 @@ unsigned char **pp;
M_ASN1_I2D_len_SET(a->recipientinfo,i2d_PKCS7_RECIP_INFO);
M_ASN1_I2D_len_SET(a->md_algs,i2d_X509_ALGOR);
M_ASN1_I2D_len(a->enc_data,i2d_PKCS7_ENC_CONTENT);
- M_ASN1_I2D_len_IMP_SEQUENCE_opt(a->cert,i2d_X509,0);
+ M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
M_ASN1_I2D_len_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
M_ASN1_I2D_len_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
@@ -86,7 +86,7 @@ unsigned char **pp;
M_ASN1_I2D_put_SET(a->recipientinfo,i2d_PKCS7_RECIP_INFO);
M_ASN1_I2D_put_SET(a->md_algs,i2d_X509_ALGOR);
M_ASN1_I2D_put(a->enc_data,i2d_PKCS7_ENC_CONTENT);
- M_ASN1_I2D_put_IMP_SEQUENCE_opt(a->cert,i2d_X509,0);
+ M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
M_ASN1_I2D_put_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
M_ASN1_I2D_put_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
@@ -107,7 +107,7 @@ long length;
PKCS7_RECIP_INFO_free);
M_ASN1_D2I_get_set(ret->md_algs,d2i_X509_ALGOR,X509_ALGOR_free);
M_ASN1_D2I_get(ret->enc_data,d2i_PKCS7_ENC_CONTENT);
- M_ASN1_D2I_get_IMP_set_opt(ret->cert,d2i_X509,X509_free,0);
+ M_ASN1_D2I_get_IMP_set_opt_type(X509,ret->cert,d2i_X509,X509_free,0);
M_ASN1_D2I_get_IMP_set_opt(ret->crl,d2i_X509_CRL,X509_CRL_free,1);
M_ASN1_D2I_get_set(ret->signer_info,d2i_PKCS7_SIGNER_INFO,
PKCS7_SIGNER_INFO_free);
@@ -141,7 +141,7 @@ PKCS7_SIGN_ENVELOPE *a;
sk_pop_free(a->recipientinfo,PKCS7_RECIP_INFO_free);
sk_pop_free(a->md_algs,X509_ALGOR_free);
PKCS7_ENC_CONTENT_free(a->enc_data);
- sk_pop_free(a->cert,X509_free);
+ sk_X509_pop_free(a->cert,X509_free);
sk_pop_free(a->crl,X509_CRL_free);
sk_pop_free(a->signer_info,PKCS7_SIGNER_INFO_free);
Free((char *)a);
diff --git a/crypto/asn1/p7_signd.c b/crypto/asn1/p7_signd.c
index cefa92a212..f4d03f8b89 100644
--- a/crypto/asn1/p7_signd.c
+++ b/crypto/asn1/p7_signd.c
@@ -75,7 +75,7 @@ unsigned char **pp;
M_ASN1_I2D_len(a->version,i2d_ASN1_INTEGER);
M_ASN1_I2D_len_SET(a->md_algs,i2d_X509_ALGOR);
M_ASN1_I2D_len(a->contents,i2d_PKCS7);
- M_ASN1_I2D_len_IMP_SEQUENCE_opt(a->cert,i2d_X509,0);
+ M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
M_ASN1_I2D_len_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
M_ASN1_I2D_len_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
@@ -84,7 +84,7 @@ unsigned char **pp;
M_ASN1_I2D_put(a->version,i2d_ASN1_INTEGER);
M_ASN1_I2D_put_SET(a->md_algs,i2d_X509_ALGOR);
M_ASN1_I2D_put(a->contents,i2d_PKCS7);
- M_ASN1_I2D_put_IMP_SEQUENCE_opt(a->cert,i2d_X509,0);
+ M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
M_ASN1_I2D_put_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
M_ASN1_I2D_put_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
@@ -103,7 +103,7 @@ long length;
M_ASN1_D2I_get(ret->version,d2i_ASN1_INTEGER);
M_ASN1_D2I_get_set(ret->md_algs,d2i_X509_ALGOR,X509_ALGOR_free);
M_ASN1_D2I_get(ret->contents,d2i_PKCS7);
- M_ASN1_D2I_get_IMP_set_opt(ret->cert,d2i_X509,X509_free,0);
+ M_ASN1_D2I_get_IMP_set_opt_type(X509,ret->cert,d2i_X509,X509_free,0);
M_ASN1_D2I_get_IMP_set_opt(ret->crl,d2i_X509_CRL,X509_CRL_free,1);
M_ASN1_D2I_get_set(ret->signer_info,d2i_PKCS7_SIGNER_INFO,
PKCS7_SIGNER_INFO_free);
@@ -134,7 +134,7 @@ PKCS7_SIGNED *a;
ASN1_INTEGER_free(a->version);
sk_pop_free(a->md_algs,X509_ALGOR_free);
PKCS7_free(a->contents);
- sk_pop_free(a->cert,X509_free);
+ sk_X509_pop_free(a->cert,X509_free);
sk_pop_free(a->crl,X509_CRL_free);
sk_pop_free(a->signer_info,PKCS7_SIGNER_INFO_free);
Free((char *)a);
diff --git a/crypto/dh/Makefile.ssl b/crypto/dh/Makefile.ssl
index acec3c60fe..712a39f354 100644
--- a/crypto/dh/Makefile.ssl
+++ b/crypto/dh/Makefile.ssl
@@ -87,7 +87,7 @@ $(ERRC).c: $(ERR).err
dh_check.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
dh_check.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
dh_check.o: ../cryptlib.h ../crypto.h ../opensslv.h dh.h
-dh_err.o: ../../include/err.h dh.h
+dh_err.o: ../../include/bn.h ../../include/err.h dh.h
dh_gen.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
dh_gen.o: ../../include/e_os.h ../../include/err.h ../../include/stack.h
dh_gen.o: ../cryptlib.h ../crypto.h ../opensslv.h dh.h
diff --git a/crypto/dsa/Makefile.ssl b/crypto/dsa/Makefile.ssl
index d45501a11c..07620d5049 100644
--- a/crypto/dsa/Makefile.ssl
+++ b/crypto/dsa/Makefile.ssl
@@ -91,9 +91,10 @@ dsa_asn1.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
dsa_asn1.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
dsa_asn1.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
dsa_asn1.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-dsa_asn1.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-dsa_asn1.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-dsa_asn1.o: ../cryptlib.h ../crypto.h ../opensslv.h dsa.h
+dsa_asn1.o: ../../include/ripemd.h ../../include/rsa.h
+dsa_asn1.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+dsa_asn1.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+dsa_asn1.o: ../crypto.h ../opensslv.h dsa.h
dsa_err.o: ../../include/bn.h ../../include/err.h dsa.h
dsa_gen.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
dsa_gen.o: ../../include/e_os.h ../../include/err.h ../../include/rand.h
@@ -118,6 +119,6 @@ dsa_vrf.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
dsa_vrf.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
dsa_vrf.o: ../../include/rand.h ../../include/rc2.h ../../include/rc4.h
dsa_vrf.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-dsa_vrf.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-dsa_vrf.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-dsa_vrf.o: dsa.h
+dsa_vrf.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+dsa_vrf.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+dsa_vrf.o: ../crypto.h ../opensslv.h dsa.h
diff --git a/crypto/err/Makefile.ssl b/crypto/err/Makefile.ssl
index 337f8739fc..9df56d49aa 100644
--- a/crypto/err/Makefile.ssl
+++ b/crypto/err/Makefile.ssl
@@ -89,9 +89,9 @@ err_all.o: ../../include/lhash.h ../../include/md2.h ../../include/md5.h
err_all.o: ../../include/mdc2.h ../../include/objects.h ../../include/pem2.h
err_all.o: ../../include/pkcs12.h ../../include/pkcs7.h ../../include/rc2.h
err_all.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-err_all.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-err_all.o: ../../include/x509.h ../../include/x509_vfy.h ../../include/x509v3.h
-err_all.o: ../crypto.h ../opensslv.h err.h
+err_all.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+err_all.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+err_all.o: ../../include/x509v3.h ../crypto.h ../opensslv.h err.h
err_prn.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
err_prn.o: ../../include/lhash.h ../../include/stack.h ../cryptlib.h
err_prn.o: ../crypto.h ../opensslv.h err.h
diff --git a/crypto/evp/Makefile.ssl b/crypto/evp/Makefile.ssl
index 54e21c1347..09279490ad 100644
--- a/crypto/evp/Makefile.ssl
+++ b/crypto/evp/Makefile.ssl
@@ -154,9 +154,9 @@ c_all.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
c_all.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
c_all.o: ../../include/objects.h ../../include/pkcs12.h ../../include/pkcs7.h
c_all.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-c_all.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-c_all.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-c_all.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+c_all.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+c_all.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+c_all.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h evp.h
digest.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
digest.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
digest.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -478,9 +478,9 @@ evp_key.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
evp_key.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
evp_key.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
evp_key.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-evp_key.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-evp_key.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-evp_key.o: ../crypto.h ../opensslv.h evp.h
+evp_key.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+evp_key.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+evp_key.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
evp_lib.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
evp_lib.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
evp_lib.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -497,9 +497,9 @@ evp_pbe.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
evp_pbe.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
evp_pbe.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
evp_pbe.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-evp_pbe.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-evp_pbe.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-evp_pbe.o: ../crypto.h ../opensslv.h evp.h
+evp_pbe.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+evp_pbe.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+evp_pbe.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
evp_pkey.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
evp_pkey.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
evp_pkey.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -507,9 +507,10 @@ evp_pkey.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
evp_pkey.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
evp_pkey.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
evp_pkey.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-evp_pkey.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-evp_pkey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-evp_pkey.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+evp_pkey.o: ../../include/ripemd.h ../../include/rsa.h
+evp_pkey.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+evp_pkey.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+evp_pkey.o: ../crypto.h ../opensslv.h evp.h
m_dss.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_dss.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_dss.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -517,9 +518,9 @@ m_dss.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_dss.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_dss.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_dss.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_dss.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_dss.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_dss.o: ../crypto.h ../opensslv.h evp.h
+m_dss.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_dss.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_dss.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_dss1.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_dss1.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_dss1.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -527,9 +528,9 @@ m_dss1.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_dss1.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_dss1.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_dss1.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_dss1.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_dss1.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_dss1.o: ../crypto.h ../opensslv.h evp.h
+m_dss1.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_dss1.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_dss1.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_md2.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_md2.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_md2.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -537,9 +538,9 @@ m_md2.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_md2.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_md2.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_md2.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_md2.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_md2.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_md2.o: ../crypto.h ../opensslv.h evp.h
+m_md2.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_md2.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_md2.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_md5.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_md5.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_md5.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -547,9 +548,9 @@ m_md5.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_md5.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_md5.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_md5.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_md5.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_md5.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_md5.o: ../crypto.h ../opensslv.h evp.h
+m_md5.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_md5.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_md5.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_mdc2.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_mdc2.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_mdc2.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -557,9 +558,9 @@ m_mdc2.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_mdc2.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_mdc2.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_mdc2.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_mdc2.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_mdc2.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_mdc2.o: ../crypto.h ../opensslv.h evp.h
+m_mdc2.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_mdc2.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_mdc2.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_null.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_null.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_null.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -567,9 +568,9 @@ m_null.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_null.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_null.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_null.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_null.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_null.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_null.o: ../crypto.h ../opensslv.h evp.h
+m_null.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_null.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_null.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_ripemd.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_ripemd.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_ripemd.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -577,9 +578,9 @@ m_ripemd.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_ripemd.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_ripemd.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_ripemd.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_ripemd.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_ripemd.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_ripemd.o: ../crypto.h ../opensslv.h evp.h
+m_ripemd.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_ripemd.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_ripemd.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_sha.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_sha.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_sha.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -587,9 +588,9 @@ m_sha.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_sha.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_sha.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_sha.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_sha.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_sha.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_sha.o: ../crypto.h ../opensslv.h evp.h
+m_sha.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_sha.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_sha.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
m_sha1.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
m_sha1.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
m_sha1.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -597,9 +598,9 @@ m_sha1.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
m_sha1.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
m_sha1.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
m_sha1.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-m_sha1.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-m_sha1.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-m_sha1.o: ../crypto.h ../opensslv.h evp.h
+m_sha1.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+m_sha1.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+m_sha1.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
names.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
names.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
names.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -607,9 +608,9 @@ names.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
names.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
names.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
names.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-names.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-names.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-names.o: ../crypto.h ../opensslv.h evp.h
+names.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+names.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+names.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_dec.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_dec.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_dec.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -617,9 +618,9 @@ p_dec.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_dec.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_dec.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
p_dec.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p_dec.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p_dec.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p_dec.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+p_dec.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p_dec.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p_dec.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_enc.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_enc.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_enc.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -627,9 +628,9 @@ p_enc.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_enc.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_enc.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
p_enc.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p_enc.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p_enc.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p_enc.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+p_enc.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p_enc.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p_enc.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_lib.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
p_lib.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
p_lib.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -637,9 +638,9 @@ p_lib.o: ../../include/dsa.h ../../include/e_os.h ../../include/err.h
p_lib.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p_lib.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p_lib.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p_lib.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p_lib.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+p_lib.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p_lib.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p_lib.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_open.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_open.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_open.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -647,9 +648,9 @@ p_open.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_open.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_open.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p_open.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p_open.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p_open.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p_open.o: ../crypto.h ../opensslv.h evp.h
+p_open.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p_open.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p_open.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_seal.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_seal.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_seal.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -657,9 +658,10 @@ p_seal.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_seal.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_seal.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rand.h
p_seal.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p_seal.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p_seal.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p_seal.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
+p_seal.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p_seal.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p_seal.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p_seal.o: evp.h
p_sign.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_sign.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_sign.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -667,9 +669,9 @@ p_sign.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_sign.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_sign.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p_sign.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p_sign.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p_sign.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p_sign.o: ../crypto.h ../opensslv.h evp.h
+p_sign.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p_sign.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p_sign.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
p_verify.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p_verify.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p_verify.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -677,6 +679,6 @@ p_verify.o: ../../include/e_os.h ../../include/err.h ../../include/idea.h
p_verify.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
p_verify.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
p_verify.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p_verify.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p_verify.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p_verify.o: ../crypto.h ../opensslv.h evp.h
+p_verify.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p_verify.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p_verify.o: ../cryptlib.h ../crypto.h ../opensslv.h evp.h
diff --git a/crypto/pem/Makefile.ssl b/crypto/pem/Makefile.ssl
index 60da66aa8a..f6ffab036c 100644
--- a/crypto/pem/Makefile.ssl
+++ b/crypto/pem/Makefile.ssl
@@ -112,9 +112,9 @@ pem_all.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pem_all.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pem_all.o: ../../include/opensslv.h ../../include/pkcs7.h ../../include/rc2.h
pem_all.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-pem_all.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-pem_all.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h pem.h
-pem_all.o: pem2.h
+pem_all.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+pem_all.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+pem_all.o: ../cryptlib.h pem.h pem2.h
pem_err.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pem_err.o: ../../include/bn.h ../../include/cast.h ../../include/crypto.h
pem_err.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -123,8 +123,8 @@ pem_err.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
pem_err.o: ../../include/objects.h ../../include/opensslv.h
pem_err.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
pem_err.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-pem_err.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-pem_err.o: ../../include/x509_vfy.h pem.h pem2.h
+pem_err.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pem_err.o: ../../include/x509.h ../../include/x509_vfy.h pem.h pem2.h
pem_info.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pem_info.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
pem_info.o: ../../include/crypto.h ../../include/des.h ../../include/dh.h
@@ -133,9 +133,9 @@ pem_info.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pem_info.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pem_info.o: ../../include/opensslv.h ../../include/pkcs7.h ../../include/rc2.h
pem_info.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-pem_info.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-pem_info.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h pem.h
-pem_info.o: pem2.h
+pem_info.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+pem_info.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+pem_info.o: ../cryptlib.h pem.h pem2.h
pem_lib.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pem_lib.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
pem_lib.o: ../../include/crypto.h ../../include/des.h ../../include/dh.h
@@ -144,9 +144,9 @@ pem_lib.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pem_lib.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pem_lib.o: ../../include/opensslv.h ../../include/pkcs7.h ../../include/rand.h
pem_lib.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-pem_lib.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-pem_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-pem_lib.o: ../cryptlib.h pem.h pem2.h
+pem_lib.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+pem_lib.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+pem_lib.o: ../../include/x509_vfy.h ../cryptlib.h pem.h pem2.h
pem_seal.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pem_seal.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
pem_seal.o: ../../include/crypto.h ../../include/des.h ../../include/dh.h
@@ -155,9 +155,10 @@ pem_seal.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pem_seal.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pem_seal.o: ../../include/opensslv.h ../../include/pkcs7.h ../../include/rand.h
pem_seal.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-pem_seal.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-pem_seal.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-pem_seal.o: ../cryptlib.h pem.h pem2.h
+pem_seal.o: ../../include/ripemd.h ../../include/rsa.h
+pem_seal.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pem_seal.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h pem.h
+pem_seal.o: pem2.h
pem_sign.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pem_sign.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
pem_sign.o: ../../include/crypto.h ../../include/des.h ../../include/dh.h
@@ -166,6 +167,7 @@ pem_sign.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pem_sign.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pem_sign.o: ../../include/opensslv.h ../../include/pkcs7.h ../../include/rand.h
pem_sign.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-pem_sign.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-pem_sign.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-pem_sign.o: ../cryptlib.h pem.h pem2.h
+pem_sign.o: ../../include/ripemd.h ../../include/rsa.h
+pem_sign.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pem_sign.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h pem.h
+pem_sign.o: pem2.h
diff --git a/crypto/pkcs12/Makefile.ssl b/crypto/pkcs12/Makefile.ssl
index 2511724ad6..ff016d534e 100644
--- a/crypto/pkcs12/Makefile.ssl
+++ b/crypto/pkcs12/Makefile.ssl
@@ -97,9 +97,10 @@ p12_add.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_add.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_add.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_add.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_add.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_add.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_add.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_add.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p12_add.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p12_add.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p12_add.o: pkcs12.h
p12_attr.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_attr.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_attr.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -107,9 +108,10 @@ p12_attr.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_attr.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_attr.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_attr.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_attr.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_attr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_attr.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_attr.o: ../../include/ripemd.h ../../include/rsa.h
+p12_attr.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_attr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_attr.o: ../crypto.h ../opensslv.h pkcs12.h
p12_bags.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
p12_bags.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
p12_bags.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -118,9 +120,9 @@ p12_bags.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
p12_bags.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
p12_bags.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
p12_bags.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-p12_bags.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-p12_bags.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-p12_bags.o: pkcs12.h
+p12_bags.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_bags.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_bags.o: ../crypto.h ../opensslv.h pkcs12.h
p12_crpt.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_crpt.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_crpt.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -128,9 +130,10 @@ p12_crpt.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_crpt.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_crpt.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_crpt.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_crpt.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_crpt.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_crpt.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_crpt.o: ../../include/ripemd.h ../../include/rsa.h
+p12_crpt.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_crpt.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_crpt.o: ../crypto.h ../opensslv.h pkcs12.h
p12_crt.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_crt.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_crt.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -138,9 +141,10 @@ p12_crt.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_crt.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_crt.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_crt.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_crt.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_crt.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_crt.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_crt.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p12_crt.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p12_crt.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p12_crt.o: pkcs12.h
p12_decr.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_decr.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_decr.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -148,9 +152,10 @@ p12_decr.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_decr.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_decr.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_decr.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_decr.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_decr.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_decr.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_decr.o: ../../include/ripemd.h ../../include/rsa.h
+p12_decr.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_decr.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_decr.o: ../crypto.h ../opensslv.h pkcs12.h
p12_init.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_init.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_init.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -158,9 +163,10 @@ p12_init.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_init.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_init.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_init.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_init.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_init.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_init.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_init.o: ../../include/ripemd.h ../../include/rsa.h
+p12_init.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_init.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_init.o: ../crypto.h ../opensslv.h pkcs12.h
p12_key.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_key.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_key.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -168,9 +174,10 @@ p12_key.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_key.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_key.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_key.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_key.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_key.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_key.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_key.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p12_key.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p12_key.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p12_key.o: pkcs12.h
p12_kiss.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_kiss.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_kiss.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -178,9 +185,10 @@ p12_kiss.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_kiss.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_kiss.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_kiss.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_kiss.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_kiss.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_kiss.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_kiss.o: ../../include/ripemd.h ../../include/rsa.h
+p12_kiss.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_kiss.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_kiss.o: ../crypto.h ../opensslv.h pkcs12.h
p12_lib.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
p12_lib.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
p12_lib.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -189,9 +197,9 @@ p12_lib.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
p12_lib.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
p12_lib.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
p12_lib.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-p12_lib.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-p12_lib.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-p12_lib.o: pkcs12.h
+p12_lib.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_lib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_lib.o: ../crypto.h ../opensslv.h pkcs12.h
p12_mac.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
p12_mac.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
p12_mac.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -200,9 +208,9 @@ p12_mac.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
p12_mac.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
p12_mac.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
p12_mac.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-p12_mac.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-p12_mac.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-p12_mac.o: pkcs12.h
+p12_mac.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_mac.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_mac.o: ../crypto.h ../opensslv.h pkcs12.h
p12_mutl.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_mutl.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_mutl.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -211,9 +219,9 @@ p12_mutl.o: ../../include/hmac.h ../../include/idea.h ../../include/md2.h
p12_mutl.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
p12_mutl.o: ../../include/pkcs7.h ../../include/rand.h ../../include/rc2.h
p12_mutl.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-p12_mutl.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-p12_mutl.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-p12_mutl.o: ../crypto.h ../opensslv.h pkcs12.h
+p12_mutl.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+p12_mutl.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+p12_mutl.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
p12_sbag.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
p12_sbag.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
p12_sbag.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -222,9 +230,9 @@ p12_sbag.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
p12_sbag.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
p12_sbag.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
p12_sbag.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-p12_sbag.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-p12_sbag.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-p12_sbag.o: pkcs12.h
+p12_sbag.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+p12_sbag.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+p12_sbag.o: ../crypto.h ../opensslv.h pkcs12.h
p12_utl.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
p12_utl.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
p12_utl.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -232,9 +240,10 @@ p12_utl.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
p12_utl.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
p12_utl.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
p12_utl.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-p12_utl.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-p12_utl.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-p12_utl.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs12.h
+p12_utl.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+p12_utl.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+p12_utl.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+p12_utl.o: pkcs12.h
pk12err.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pk12err.o: ../../include/bn.h ../../include/cast.h ../../include/des.h
pk12err.o: ../../include/dh.h ../../include/dsa.h ../../include/err.h
@@ -242,5 +251,6 @@ pk12err.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pk12err.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pk12err.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
pk12err.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-pk12err.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-pk12err.o: ../../include/x509_vfy.h ../crypto.h ../opensslv.h pkcs12.h
+pk12err.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pk12err.o: ../../include/x509.h ../../include/x509_vfy.h ../crypto.h
+pk12err.o: ../opensslv.h pkcs12.h
diff --git a/crypto/pkcs7/Makefile.ssl b/crypto/pkcs7/Makefile.ssl
index 1a38f10f37..d5331bac76 100644
--- a/crypto/pkcs7/Makefile.ssl
+++ b/crypto/pkcs7/Makefile.ssl
@@ -93,9 +93,10 @@ pk7_doit.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
pk7_doit.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
pk7_doit.o: ../../include/mdc2.h ../../include/objects.h ../../include/rand.h
pk7_doit.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-pk7_doit.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-pk7_doit.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-pk7_doit.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs7.h
+pk7_doit.o: ../../include/ripemd.h ../../include/rsa.h
+pk7_doit.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pk7_doit.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+pk7_doit.o: ../crypto.h ../opensslv.h pkcs7.h
pk7_lib.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pk7_lib.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
pk7_lib.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -103,15 +104,16 @@ pk7_lib.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
pk7_lib.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
pk7_lib.o: ../../include/mdc2.h ../../include/objects.h ../../include/rc2.h
pk7_lib.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-pk7_lib.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-pk7_lib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-pk7_lib.o: ../crypto.h ../opensslv.h pkcs7.h
+pk7_lib.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+pk7_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+pk7_lib.o: ../cryptlib.h ../crypto.h ../opensslv.h pkcs7.h
pkcs7err.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
pkcs7err.o: ../../include/bn.h ../../include/cast.h ../../include/des.h
pkcs7err.o: ../../include/dh.h ../../include/dsa.h ../../include/err.h
pkcs7err.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
pkcs7err.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
pkcs7err.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-pkcs7err.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-pkcs7err.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-pkcs7err.o: ../crypto.h ../opensslv.h pkcs7.h
+pkcs7err.o: ../../include/ripemd.h ../../include/rsa.h
+pkcs7err.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+pkcs7err.o: ../../include/x509.h ../../include/x509_vfy.h ../crypto.h
+pkcs7err.o: ../opensslv.h pkcs7.h
diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c
index 88229c08ba..1b8150874a 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -650,7 +650,8 @@ PKCS7_SIGNER_INFO *si;
PKCS7_ISSUER_AND_SERIAL *ias;
int ret=0,i;
int md_type;
- STACK *sk,*cert;
+ STACK *sk;
+ STACK_OF(X509) *cert;
BIO *btmp;
X509 *x509;
EVP_PKEY *pkey;
diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c
index 7534f4c2a5..d69f536ae8 100644
--- a/crypto/pkcs7/pk7_lib.c
+++ b/crypto/pkcs7/pk7_lib.c
@@ -250,7 +250,7 @@ PKCS7 *p7;
X509 *x509;
{
int i;
- STACK **sk;
+ STACK_OF(X509) **sk;
i=OBJ_obj2nid(p7->type);
switch (i)
@@ -267,9 +267,9 @@ X509 *x509;
}
if (*sk == NULL)
- *sk=sk_new_null();
+ *sk=sk_X509_new_null();
CRYPTO_add(&x509->references,1,CRYPTO_LOCK_X509);
- sk_push(*sk,(char *)x509);
+ sk_X509_push(*sk,x509);
return(1);
}
diff --git a/crypto/pkcs7/pkcs7.h b/crypto/pkcs7/pkcs7.h
index 6fcb63bfaf..6038aacd6b 100644
--- a/crypto/pkcs7/pkcs7.h
+++ b/crypto/pkcs7/pkcs7.h
@@ -106,7 +106,7 @@ typedef struct pkcs7_signed_st
{
ASN1_INTEGER *version; /* version 1 */
STACK /* X509_ALGOR's */ *md_algs; /* md used */
- STACK /* X509 */ *cert; /* [ 0 ] */
+ STACK_OF(X509) *cert; /* [ 0 ] */
STACK /* X509_CRL */ *crl; /* [ 1 ] */
STACK /* PKCS7_SIGNER_INFO */ *signer_info;
@@ -133,7 +133,7 @@ typedef struct pkcs7_signedandenveloped_st
{
ASN1_INTEGER *version; /* version 1 */
STACK /* X509_ALGOR's */ *md_algs; /* md used */
- STACK /* X509 */ *cert; /* [ 0 ] */
+ STACK_OF(X509) *cert; /* [ 0 ] */
STACK /* X509_CRL */ *crl; /* [ 1 ] */
STACK /* PKCS7_SIGNER_INFO */ *signer_info;
diff --git a/crypto/rsa/Makefile.ssl b/crypto/rsa/Makefile.ssl
index 3703278188..48dcd0cea8 100644
--- a/crypto/rsa/Makefile.ssl
+++ b/crypto/rsa/Makefile.ssl
@@ -114,9 +114,10 @@ rsa_saos.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
rsa_saos.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
rsa_saos.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
rsa_saos.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-rsa_saos.o: ../../include/ripemd.h ../../include/sha.h ../../include/stack.h
-rsa_saos.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-rsa_saos.o: ../crypto.h ../opensslv.h rsa.h
+rsa_saos.o: ../../include/ripemd.h ../../include/safestack.h
+rsa_saos.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+rsa_saos.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+rsa_saos.o: rsa.h
rsa_sign.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
rsa_sign.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
rsa_sign.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -124,9 +125,10 @@ rsa_sign.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
rsa_sign.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
rsa_sign.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
rsa_sign.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-rsa_sign.o: ../../include/ripemd.h ../../include/sha.h ../../include/stack.h
-rsa_sign.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-rsa_sign.o: ../crypto.h ../opensslv.h rsa.h
+rsa_sign.o: ../../include/ripemd.h ../../include/safestack.h
+rsa_sign.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+rsa_sign.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+rsa_sign.o: rsa.h
rsa_ssl.o: ../../include/bio.h ../../include/bn.h ../../include/buffer.h
rsa_ssl.o: ../../include/e_os.h ../../include/err.h ../../include/rand.h
rsa_ssl.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h rsa.h
diff --git a/crypto/stack/Makefile.ssl b/crypto/stack/Makefile.ssl
index 0a9d125671..0189704d02 100644
--- a/crypto/stack/Makefile.ssl
+++ b/crypto/stack/Makefile.ssl
@@ -25,7 +25,7 @@ LIBOBJ=stack.o
SRC= $(LIBSRC)
-EXHEADER= stack.h
+EXHEADER= stack.h safestack.h
HEADER= $(EXHEADER)
ALL= $(GENERAL) $(SRC) $(HEADER)
diff --git a/crypto/stack/safestack.h b/crypto/stack/safestack.h
new file mode 100644
index 0000000000..87bc9221a7
--- /dev/null
+++ b/crypto/stack/safestack.h
@@ -0,0 +1,115 @@
+/* ====================================================================
+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+#ifndef HEADER_SAFESTACK_H
+#define HEADER_SAFESTACK_H
+
+#include "stack.h"
+
+#define STACK_OF(type) STACK_##type
+
+#define DECLARE_STACK_OF(type) \
+typedef struct stack_st_##type \
+ { \
+ STACK stack; \
+ } STACK_OF(type); \
+STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)); \
+STACK_OF(type) *sk_##type##_new_null(void); \
+void sk_##type##_free(STACK_OF(type) *sk); \
+int sk_##type##_num(STACK_OF(type) *sk); \
+type *sk_##type##_value(STACK_OF(type) *sk,int n); \
+type *sk_##type##_set(STACK_OF(type) *sk,int n,type *v); \
+void sk_##type##_zero(STACK_OF(type) *sk); \
+int sk_##type##_push(STACK_OF(type) *sk,type *v); \
+int sk_##type##_find(STACK_OF(type) *sk,type *v); \
+void sk_##type##_delete(STACK_OF(type) *sk,int n); \
+void sk_##type##_delete_ptr(STACK_OF(type) *sk,type *v); \
+void sk_##type##_set_cmp_func(STACK_OF(type) *sk,int (*cmp)(type **,type **)); \
+STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk); \
+void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)); \
+type *sk_##type##_shift(STACK_OF(type) *sk);
+
+#define IMPLEMENT_STACK_OF(type) \
+STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)) \
+ { return (STACK_OF(type) *)sk_new(cmp); } \
+STACK_OF(type) *sk_##type##_new_null() \
+ { return (STACK_OF(type) *)sk_new_null(); } \
+void sk_##type##_free(STACK_OF(type) *sk) \
+ { sk_free((STACK *)sk); } \
+int sk_##type##_num(STACK_OF(type) *sk) \
+ { return sk_num((STACK *)sk); } \
+type *sk_##type##_value(STACK_OF(type) *sk,int n) \
+ { return (type *)sk_value((STACK *)sk,n); } \
+type *sk_##type##_set(STACK_OF(type) *sk,int n,type *v) \
+ { return (type *)(sk_value((STACK *)sk,n)=(char *)v); } \
+void sk_##type##_zero(STACK_OF(type) *sk) \
+ { sk_zero((STACK *)sk); } \
+int sk_##type##_push(STACK_OF(type) *sk,type *v) \
+ { return sk_push((STACK *)sk,(char *)v); } \
+int sk_##type##_find(STACK_OF(type) *sk,type *v) \
+ { return sk_find((STACK *)sk,(char *)v); } \
+void sk_##type##_delete(STACK_OF(type) *sk,int n) \
+ { sk_delete((STACK *)sk,n); } \
+void sk_##type##_delete_ptr(STACK_OF(type) *sk,type *v) \
+ { sk_delete_ptr((STACK *)sk,(char *)v); } \
+void sk_##type##_set_cmp_func(STACK_OF(type) *sk,int (*cmp)(type **,type **)) \
+ { sk_set_cmp_func((STACK *)sk,cmp); } \
+STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk) \
+ { return (STACK_OF(type) *)sk_dup((STACK *)sk); } \
+void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)) \
+ { sk_pop_free((STACK *)sk,func); } \
+type *sk_##type##_shift(STACK_OF(type) *sk) \
+ { return (type *)sk_shift((STACK *)sk); }
+
+#endif /* ndef HEADER_SAFESTACK_H */
diff --git a/crypto/x509/Makefile.ssl b/crypto/x509/Makefile.ssl
index 4b9d095947..b9cd45a831 100644
--- a/crypto/x509/Makefile.ssl
+++ b/crypto/x509/Makefile.ssl
@@ -104,8 +104,8 @@ by_dir.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
by_dir.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
by_dir.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
by_dir.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-by_dir.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
-by_dir.o: ../opensslv.h x509.h x509_vfy.h
+by_dir.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+by_dir.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
by_file.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
by_file.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
by_file.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -114,9 +114,9 @@ by_file.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
by_file.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
by_file.o: ../../include/pem.h ../../include/pem2.h ../../include/pkcs7.h
by_file.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-by_file.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-by_file.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-by_file.o: x509_vfy.h
+by_file.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+by_file.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+by_file.o: ../opensslv.h x509.h x509_vfy.h
v3_net.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_net.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_net.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -124,9 +124,9 @@ v3_net.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
v3_net.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
v3_net.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_net.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_net.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_net.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-v3_net.o: x509_vfy.h
+v3_net.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_net.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+v3_net.o: ../opensslv.h x509.h x509_vfy.h
v3_x509.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_x509.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_x509.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -134,9 +134,9 @@ v3_x509.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
v3_x509.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
v3_x509.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_x509.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_x509.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_x509.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-v3_x509.o: x509_vfy.h
+v3_x509.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_x509.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+v3_x509.o: ../opensslv.h x509.h x509_vfy.h
x509_cmp.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_cmp.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_cmp.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -144,9 +144,9 @@ x509_cmp.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_cmp.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_cmp.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_cmp.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_cmp.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_cmp.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509_cmp.o: x509.h x509_vfy.h
+x509_cmp.o: ../../include/ripemd.h ../../include/rsa.h
+x509_cmp.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_cmp.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_d2.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_d2.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_d2.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -154,9 +154,9 @@ x509_d2.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_d2.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_d2.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_d2.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_d2.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_d2.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-x509_d2.o: x509_vfy.h
+x509_d2.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+x509_d2.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+x509_d2.o: ../opensslv.h x509.h x509_vfy.h
x509_def.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_def.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_def.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -164,9 +164,9 @@ x509_def.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_def.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_def.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_def.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_def.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_def.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509_def.o: x509.h x509_vfy.h
+x509_def.o: ../../include/ripemd.h ../../include/rsa.h
+x509_def.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_def.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_err.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_err.o: ../../include/bn.h ../../include/cast.h ../../include/des.h
x509_err.o: ../../include/dh.h ../../include/dsa.h ../../include/err.h
@@ -174,8 +174,8 @@ x509_err.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
x509_err.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
x509_err.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
x509_err.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-x509_err.o: ../../include/sha.h ../../include/stack.h ../crypto.h ../opensslv.h
-x509_err.o: x509.h x509_vfy.h
+x509_err.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_err.o: ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_ext.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_ext.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_ext.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -183,9 +183,9 @@ x509_ext.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_ext.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_ext.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_ext.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_ext.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_ext.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509_ext.o: x509.h x509_vfy.h
+x509_ext.o: ../../include/ripemd.h ../../include/rsa.h
+x509_ext.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_ext.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_lu.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_lu.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_lu.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -194,8 +194,8 @@ x509_lu.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
x509_lu.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
x509_lu.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
x509_lu.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-x509_lu.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
-x509_lu.o: ../opensslv.h x509.h x509_vfy.h
+x509_lu.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_lu.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_obj.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_obj.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_obj.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -204,8 +204,8 @@ x509_obj.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
x509_obj.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
x509_obj.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
x509_obj.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-x509_obj.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
-x509_obj.o: ../opensslv.h x509.h x509_vfy.h
+x509_obj.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_obj.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_r2x.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_r2x.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_r2x.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -213,9 +213,9 @@ x509_r2x.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_r2x.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_r2x.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_r2x.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_r2x.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_r2x.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509_r2x.o: x509.h x509_vfy.h
+x509_r2x.o: ../../include/ripemd.h ../../include/rsa.h
+x509_r2x.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_r2x.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_req.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_req.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_req.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -224,8 +224,9 @@ x509_req.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_req.o: ../../include/mdc2.h ../../include/objects.h ../../include/pem.h
x509_req.o: ../../include/pem2.h ../../include/pkcs7.h ../../include/rc2.h
x509_req.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-x509_req.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-x509_req.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
+x509_req.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+x509_req.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
+x509_req.o: x509.h x509_vfy.h
x509_set.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_set.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_set.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -233,9 +234,9 @@ x509_set.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_set.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_set.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_set.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_set.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_set.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509_set.o: x509.h x509_vfy.h
+x509_set.o: ../../include/ripemd.h ../../include/rsa.h
+x509_set.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_set.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_txt.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_txt.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_txt.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -244,8 +245,8 @@ x509_txt.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
x509_txt.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
x509_txt.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
x509_txt.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-x509_txt.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
-x509_txt.o: ../opensslv.h x509.h x509_vfy.h
+x509_txt.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_txt.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509_v3.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_v3.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_v3.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -253,9 +254,9 @@ x509_v3.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509_v3.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509_v3.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509_v3.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509_v3.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509_v3.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-x509_v3.o: x509_vfy.h
+x509_v3.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+x509_v3.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+x509_v3.o: ../opensslv.h x509.h x509_vfy.h
x509_vfy.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509_vfy.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509_vfy.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -264,8 +265,8 @@ x509_vfy.o: ../../include/idea.h ../../include/lhash.h ../../include/md2.h
x509_vfy.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
x509_vfy.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
x509_vfy.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-x509_vfy.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
-x509_vfy.o: ../opensslv.h x509.h x509_vfy.h
+x509_vfy.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509_vfy.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509name.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509name.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509name.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -273,9 +274,9 @@ x509name.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509name.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509name.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509name.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509name.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509name.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509name.o: x509.h x509_vfy.h
+x509name.o: ../../include/ripemd.h ../../include/rsa.h
+x509name.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509name.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509pack.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509pack.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509pack.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -283,9 +284,9 @@ x509pack.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509pack.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509pack.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509pack.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509pack.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509pack.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509pack.o: x509.h x509_vfy.h
+x509pack.o: ../../include/ripemd.h ../../include/rsa.h
+x509pack.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509pack.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509rset.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509rset.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509rset.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -293,9 +294,9 @@ x509rset.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509rset.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509rset.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509rset.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509rset.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509rset.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509rset.o: x509.h x509_vfy.h
+x509rset.o: ../../include/ripemd.h ../../include/rsa.h
+x509rset.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509rset.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x509type.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x509type.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x509type.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -303,9 +304,9 @@ x509type.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x509type.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x509type.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x509type.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x509type.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x509type.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h
-x509type.o: x509.h x509_vfy.h
+x509type.o: ../../include/ripemd.h ../../include/rsa.h
+x509type.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+x509type.o: ../cryptlib.h ../crypto.h ../opensslv.h x509.h x509_vfy.h
x_all.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
x_all.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
x_all.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -313,6 +314,6 @@ x_all.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
x_all.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
x_all.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
x_all.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-x_all.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-x_all.o: ../../include/stack.h ../cryptlib.h ../crypto.h ../opensslv.h x509.h
-x_all.o: x509_vfy.h
+x_all.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+x_all.o: ../../include/sha.h ../../include/stack.h ../cryptlib.h ../crypto.h
+x_all.o: ../opensslv.h x509.h x509_vfy.h
diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h
index 2f1ca6229b..0cb6c04f47 100644
--- a/crypto/x509/x509.h
+++ b/crypto/x509/x509.h
@@ -66,6 +66,7 @@ extern "C" {
#include "stack.h"
#include "asn1.h"
+#include "safestack.h"
#ifndef NO_RSA
#include "rsa.h"
@@ -155,6 +156,8 @@ typedef struct X509_name_st
unsigned long hash; /* Keep the hash around for lookups */
} X509_NAME;
+DECLARE_STACK_OF(X509_NAME)
+
#define X509_EX_V_NETSCAPE_HACK 0x8000
#define X509_EX_V_INIT 0x0001
typedef struct X509_extension_st
@@ -228,6 +231,9 @@ typedef struct x509_st
char *name;
} X509;
+DECLARE_STACK_OF(X509)
+DECLARE_ASN1_SET_OF(X509)
+
typedef struct X509_revoked_st
{
ASN1_INTEGER *serialNumber;
@@ -870,9 +876,9 @@ ASN1_STRING * X509v3_unpack_string(ASN1_STRING **ex,int type,
int X509_verify_cert(X509_STORE_CTX *ctx);
/* lookup a cert from a X509 STACK */
-X509 *X509_find_by_issuer_and_serial(STACK *sk,X509_NAME *name,
- ASN1_INTEGER *serial);
-X509 *X509_find_by_subject(STACK *sk,X509_NAME *name);
+X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name,
+ ASN1_INTEGER *serial);
+X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name);
int i2d_PBEPARAM(PBEPARAM *a, unsigned char **pp);
PBEPARAM *PBEPARAM_new(void);
diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c
index 7d850184ca..7dec3199cd 100644
--- a/crypto/x509/x509_cmp.c
+++ b/crypto/x509/x509_cmp.c
@@ -218,7 +218,7 @@ X509_NAME *x;
/* Search a stack of X509 for a match */
X509 *X509_find_by_issuer_and_serial(sk,name,serial)
-STACK *sk;
+STACK_OF(X509) *sk;
X509_NAME *name;
ASN1_INTEGER *serial;
{
@@ -230,9 +230,9 @@ ASN1_INTEGER *serial;
cinf.serialNumber=serial;
cinf.issuer=name;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_num(sk); i++)
{
- x509=(X509 *)sk_value(sk,i);
+ x509=sk_X509_value(sk,i);
if (X509_issuer_and_serial_cmp(x509,&x) == 0)
return(x509);
}
@@ -240,15 +240,15 @@ ASN1_INTEGER *serial;
}
X509 *X509_find_by_subject(sk,name)
-STACK *sk;
+STACK_OF(X509) *sk;
X509_NAME *name;
{
X509 *x509;
int i;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_num(sk); i++)
{
- x509=(X509 *)sk_value(sk,i);
+ x509=sk_X509_value(sk,i);
if (X509_NAME_cmp(X509_get_subject_name(x509),name) == 0)
return(x509);
}
diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c
index a70ce771a4..bb913c28ec 100644
--- a/crypto/x509/x509_lu.c
+++ b/crypto/x509/x509_lu.c
@@ -421,7 +421,7 @@ void X509_STORE_CTX_init(ctx,store,x509,chain)
X509_STORE_CTX *ctx;
X509_STORE *store;
X509 *x509;
-STACK *chain;
+STACK_OF(X509) *chain;
{
ctx->ctx=store;
ctx->current_method=0;
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index 0d3187d0b6..10f1848481 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -112,7 +112,7 @@ X509_STORE_CTX *ctx;
int depth,i,ok=0;
int num;
int (*cb)();
- STACK *sktmp=NULL;
+ STACK_OF(X509) *sktmp=NULL;
if (ctx->cert == NULL)
{
@@ -138,7 +138,8 @@ X509_STORE_CTX *ctx;
}
/* We use a temporary so we can chop and hack at it */
- if ((ctx->untrusted != NULL) && (sktmp=sk_dup(ctx->untrusted)) == NULL)
+ if (ctx->untrusted != NULL
+ && (sktmp=sk_X509_dup(ctx->untrusted)) == NULL)
{
X509err(X509_F_X509_VERIFY_CERT,ERR_R_MALLOC_FAILURE);
goto end;
@@ -171,7 +172,7 @@ X509_STORE_CTX *ctx;
goto end;
}
CRYPTO_add(&xtmp->references,1,CRYPTO_LOCK_X509);
- sk_delete_ptr(sktmp,(char *)xtmp);
+ sk_X509_delete_ptr(sktmp,xtmp);
ctx->last_untrusted++;
x=xtmp;
num++;
@@ -290,7 +291,7 @@ X509_STORE_CTX *ctx;
end:
X509_get_pubkey_parameters(NULL,ctx->chain);
}
- if (sktmp != NULL) sk_free(sktmp);
+ if (sktmp != NULL) sk_X509_free(sktmp);
if (chain_ss != NULL) X509_free(chain_ss);
return(ok);
}
@@ -659,9 +660,11 @@ X509 *x;
void X509_STORE_CTX_set_chain(ctx,sk)
X509_STORE_CTX *ctx;
-STACK *sk;
+STACK_OF(X509) *sk;
{
ctx->untrusted=sk;
}
-
+IMPLEMENT_STACK_OF(X509)
+IMPLEMENT_ASN1_SET_OF(X509)
+IMPLEMENT_STACK_OF(X509_NAME)
diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h
index 929045fac2..e49fb184c2 100644
--- a/crypto/x509/x509_vfy.h
+++ b/crypto/x509/x509_vfy.h
@@ -192,7 +192,7 @@ struct x509_store_state_st
/* The following are set by the caller */
X509 *cert; /* The cert to check */
- STACK *untrusted; /* chain of X509s - untrusted - passed in */
+ STACK_OF(X509) *untrusted; /* chain of X509s - untrusted - passed in */
/* The following is built up */
int depth; /* how far to go looking up certs */
@@ -262,7 +262,7 @@ X509_STORE *X509_STORE_new(void );
void X509_STORE_free(X509_STORE *v);
void X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store,
- X509 *x509, STACK *chain);
+ X509 *x509, STACK_OF(X509) *chain);
void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
@@ -317,7 +317,7 @@ int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
STACK * X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x);
-void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK /* X509 */ *sk);
+void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK_OF(X509) *sk);
#else
diff --git a/crypto/x509v3/Makefile.ssl b/crypto/x509v3/Makefile.ssl
index 1d4347cc42..ac8690b12e 100644
--- a/crypto/x509v3/Makefile.ssl
+++ b/crypto/x509v3/Makefile.ssl
@@ -96,9 +96,10 @@ v3_akey.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
v3_akey.o: ../../include/lhash.h ../../include/md2.h ../../include/md5.h
v3_akey.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_akey.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_akey.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_akey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_akey.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_akey.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_akey.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+v3_akey.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+v3_akey.o: x509v3.h
v3_alt.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_alt.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_alt.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -107,9 +108,9 @@ v3_alt.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_alt.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_alt.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_alt.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_alt.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_alt.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_alt.o: ../crypto.h ../opensslv.h x509v3.h
+v3_alt.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_alt.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_alt.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_bcons.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
v3_bcons.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
v3_bcons.o: ../../include/cast.h ../../include/conf.h ../../include/des.h
@@ -118,9 +119,10 @@ v3_bcons.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
v3_bcons.o: ../../include/lhash.h ../../include/md2.h ../../include/md5.h
v3_bcons.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_bcons.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_bcons.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_bcons.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_bcons.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_bcons.o: ../../include/ripemd.h ../../include/rsa.h
+v3_bcons.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+v3_bcons.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+v3_bcons.o: ../crypto.h ../opensslv.h x509v3.h
v3_bitst.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_bitst.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_bitst.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -129,9 +131,9 @@ v3_bitst.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_bitst.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_bitst.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_bitst.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_bitst.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_bitst.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_bitst.o: ../crypto.h ../opensslv.h x509v3.h
+v3_bitst.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_bitst.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_bitst.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_conf.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_conf.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_conf.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -140,9 +142,9 @@ v3_conf.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_conf.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_conf.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_conf.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_conf.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_conf.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_conf.o: ../crypto.h ../opensslv.h x509v3.h
+v3_conf.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_conf.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_conf.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_enum.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_enum.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_enum.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -150,9 +152,10 @@ v3_enum.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
v3_enum.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
v3_enum.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_enum.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_enum.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_enum.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_enum.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_enum.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_enum.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+v3_enum.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+v3_enum.o: x509v3.h
v3_extku.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_extku.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_extku.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -161,9 +164,9 @@ v3_extku.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_extku.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_extku.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_extku.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_extku.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_extku.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_extku.o: ../crypto.h ../opensslv.h x509v3.h
+v3_extku.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_extku.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_extku.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_genn.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
v3_genn.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
v3_genn.o: ../../include/cast.h ../../include/conf.h ../../include/des.h
@@ -172,9 +175,10 @@ v3_genn.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
v3_genn.o: ../../include/lhash.h ../../include/md2.h ../../include/md5.h
v3_genn.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_genn.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_genn.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_genn.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_genn.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_genn.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_genn.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+v3_genn.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+v3_genn.o: x509v3.h
v3_ia5.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_ia5.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_ia5.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -183,9 +187,9 @@ v3_ia5.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_ia5.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_ia5.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_ia5.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_ia5.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_ia5.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_ia5.o: ../crypto.h ../opensslv.h x509v3.h
+v3_ia5.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_ia5.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_ia5.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_int.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_int.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_int.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -193,9 +197,10 @@ v3_int.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
v3_int.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
v3_int.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_int.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_int.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_int.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_int.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_int.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_int.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+v3_int.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+v3_int.o: x509v3.h
v3_lib.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_lib.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_lib.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -204,9 +209,9 @@ v3_lib.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_lib.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_lib.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_lib.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_lib.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_lib.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_lib.o: ../crypto.h ../opensslv.h x509v3.h
+v3_lib.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_lib.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_lib.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_pku.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
v3_pku.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
v3_pku.o: ../../include/cast.h ../../include/des.h ../../include/dh.h
@@ -215,9 +220,9 @@ v3_pku.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
v3_pku.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
v3_pku.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
v3_pku.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-v3_pku.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-v3_pku.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
-v3_pku.o: x509v3.h
+v3_pku.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+v3_pku.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+v3_pku.o: ../crypto.h ../opensslv.h x509v3.h
v3_prn.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_prn.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_prn.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -226,9 +231,9 @@ v3_prn.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_prn.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_prn.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_prn.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_prn.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_prn.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_prn.o: ../crypto.h ../opensslv.h x509v3.h
+v3_prn.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_prn.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_prn.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3_skey.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_skey.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_skey.o: ../../include/des.h ../../include/dh.h ../../include/dsa.h
@@ -236,9 +241,10 @@ v3_skey.o: ../../include/e_os.h ../../include/err.h ../../include/evp.h
v3_skey.o: ../../include/idea.h ../../include/md2.h ../../include/md5.h
v3_skey.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_skey.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_skey.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_skey.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_skey.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_skey.o: ../../include/ripemd.h ../../include/rsa.h ../../include/safestack.h
+v3_skey.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
+v3_skey.o: ../../include/x509_vfy.h ../cryptlib.h ../crypto.h ../opensslv.h
+v3_skey.o: x509v3.h
v3_sxnet.o: ../../include/asn1.h ../../include/asn1_mac.h ../../include/bio.h
v3_sxnet.o: ../../include/blowfish.h ../../include/bn.h ../../include/buffer.h
v3_sxnet.o: ../../include/cast.h ../../include/conf.h ../../include/des.h
@@ -247,9 +253,10 @@ v3_sxnet.o: ../../include/err.h ../../include/evp.h ../../include/idea.h
v3_sxnet.o: ../../include/lhash.h ../../include/md2.h ../../include/md5.h
v3_sxnet.o: ../../include/mdc2.h ../../include/objects.h ../../include/pkcs7.h
v3_sxnet.o: ../../include/rc2.h ../../include/rc4.h ../../include/rc5.h
-v3_sxnet.o: ../../include/ripemd.h ../../include/rsa.h ../../include/sha.h
-v3_sxnet.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
-v3_sxnet.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
+v3_sxnet.o: ../../include/ripemd.h ../../include/rsa.h
+v3_sxnet.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+v3_sxnet.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
+v3_sxnet.o: ../crypto.h ../opensslv.h x509v3.h
v3_utl.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3_utl.o: ../../include/bn.h ../../include/buffer.h ../../include/cast.h
v3_utl.o: ../../include/conf.h ../../include/des.h ../../include/dh.h
@@ -258,9 +265,9 @@ v3_utl.o: ../../include/evp.h ../../include/idea.h ../../include/lhash.h
v3_utl.o: ../../include/md2.h ../../include/md5.h ../../include/mdc2.h
v3_utl.o: ../../include/objects.h ../../include/pkcs7.h ../../include/rc2.h
v3_utl.o: ../../include/rc4.h ../../include/rc5.h ../../include/ripemd.h
-v3_utl.o: ../../include/rsa.h ../../include/sha.h ../../include/stack.h
-v3_utl.o: ../../include/x509.h ../../include/x509_vfy.h ../cryptlib.h
-v3_utl.o: ../crypto.h ../opensslv.h x509v3.h
+v3_utl.o: ../../include/rsa.h ../../include/safestack.h ../../include/sha.h
+v3_utl.o: ../../include/stack.h ../../include/x509.h ../../include/x509_vfy.h
+v3_utl.o: ../cryptlib.h ../crypto.h ../opensslv.h x509v3.h
v3err.o: ../../include/asn1.h ../../include/bio.h ../../include/blowfish.h
v3err.o: ../../include/bn.h ../../include/cast.h ../../include/des.h
v3err.o: ../../include/dh.h ../../include/dsa.h ../../include/err.h
@@ -268,5 +275,6 @@ v3err.o: ../../include/evp.h ../../include/idea.h ../../include/md2.h
v3err.o: ../../include/md5.h ../../include/mdc2.h ../../include/objects.h
v3err.o: ../../include/pkcs7.h ../../include/rc2.h ../../include/rc4.h
v3err.o: ../../include/rc5.h ../../include/ripemd.h ../../include/rsa.h
-v3err.o: ../../include/sha.h ../../include/stack.h ../../include/x509.h
-v3err.o: ../../include/x509_vfy.h ../crypto.h ../opensslv.h x509v3.h
+v3err.o: ../../include/safestack.h ../../include/sha.h ../../include/stack.h
+v3err.o: ../../include/x509.h ../../include/x509_vfy.h ../crypto.h
+v3err.o: ../opensslv.h x509v3.h
diff --git a/ssl/Makefile.ssl b/ssl/Makefile.ssl
index 8f18f7fe02..0a499ffbbc 100644
--- a/ssl/Makefile.ssl
+++ b/ssl/Makefile.ssl
@@ -108,8 +108,9 @@ bio_ssl.o: ../include/lhash.h ../include/md2.h ../include/md5.h
bio_ssl.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
bio_ssl.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
bio_ssl.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-bio_ssl.o: ../include/sha.h ../include/stack.h ../include/x509.h
-bio_ssl.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h
+bio_ssl.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+bio_ssl.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+bio_ssl.o: tls1.h
s23_clnt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s23_clnt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s23_clnt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -119,8 +120,9 @@ s23_clnt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s23_clnt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s23_clnt.o: ../include/rand.h ../include/rc2.h ../include/rc4.h
s23_clnt.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-s23_clnt.o: ../include/sha.h ../include/stack.h ../include/x509.h
-s23_clnt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s23_clnt.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+s23_clnt.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+s23_clnt.o: ssl_locl.h tls1.h
s23_lib.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s23_lib.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s23_lib.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -129,9 +131,9 @@ s23_lib.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s23_lib.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s23_lib.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s23_lib.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s23_lib.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s23_lib.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s23_lib.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s23_lib.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s23_lib.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s23_lib.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s23_meth.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s23_meth.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s23_meth.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -140,9 +142,9 @@ s23_meth.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s23_meth.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s23_meth.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s23_meth.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s23_meth.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s23_meth.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s23_meth.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s23_meth.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s23_meth.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s23_meth.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s23_pkt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s23_pkt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s23_pkt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -151,9 +153,9 @@ s23_pkt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s23_pkt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s23_pkt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s23_pkt.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s23_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s23_pkt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s23_pkt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s23_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s23_pkt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s23_pkt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s23_srvr.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s23_srvr.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s23_srvr.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -163,8 +165,9 @@ s23_srvr.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s23_srvr.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s23_srvr.o: ../include/rand.h ../include/rc2.h ../include/rc4.h
s23_srvr.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-s23_srvr.o: ../include/sha.h ../include/stack.h ../include/x509.h
-s23_srvr.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s23_srvr.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+s23_srvr.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+s23_srvr.o: ssl_locl.h tls1.h
s2_clnt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_clnt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_clnt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -173,9 +176,9 @@ s2_clnt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_clnt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_clnt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_clnt.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_clnt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_clnt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_clnt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_clnt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s2_enc.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_enc.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_enc.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -184,9 +187,9 @@ s2_enc.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_enc.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_enc.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_enc.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_enc.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_enc.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_enc.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_enc.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_enc.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_enc.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s2_lib.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_lib.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_lib.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -195,9 +198,9 @@ s2_lib.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_lib.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_lib.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_lib.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_lib.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_lib.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_lib.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_lib.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_lib.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_lib.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s2_meth.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_meth.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_meth.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -206,9 +209,9 @@ s2_meth.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_meth.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_meth.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_meth.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_meth.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_meth.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_meth.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_meth.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_meth.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_meth.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s2_pkt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_pkt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_pkt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -217,9 +220,9 @@ s2_pkt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_pkt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_pkt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_pkt.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_pkt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_pkt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_pkt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_pkt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s2_srvr.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s2_srvr.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s2_srvr.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -228,9 +231,9 @@ s2_srvr.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s2_srvr.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s2_srvr.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s2_srvr.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s2_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s2_srvr.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s2_srvr.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s2_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s2_srvr.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s2_srvr.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_both.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_both.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_both.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -239,9 +242,9 @@ s3_both.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_both.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_both.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_both.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_both.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_both.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_both.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_both.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_both.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_both.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_clnt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_clnt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_clnt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -250,9 +253,9 @@ s3_clnt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_clnt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_clnt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_clnt.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_clnt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_clnt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_clnt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_clnt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_enc.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_enc.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_enc.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -261,9 +264,9 @@ s3_enc.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_enc.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_enc.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_enc.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_enc.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_enc.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_enc.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_enc.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_enc.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_enc.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_lib.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_lib.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_lib.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -272,9 +275,9 @@ s3_lib.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_lib.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_lib.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_lib.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_lib.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_lib.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_lib.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_lib.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_lib.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_lib.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_meth.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_meth.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_meth.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -283,9 +286,9 @@ s3_meth.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_meth.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_meth.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_meth.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_meth.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_meth.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_meth.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_meth.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_meth.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_meth.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_pkt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_pkt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_pkt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -294,9 +297,9 @@ s3_pkt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_pkt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_pkt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_pkt.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_pkt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_pkt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_pkt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_pkt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_pkt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
s3_srvr.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
s3_srvr.o: ../include/bn.h ../include/buffer.h ../include/cast.h
s3_srvr.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -305,9 +308,9 @@ s3_srvr.o: ../include/evp.h ../include/idea.h ../include/lhash.h
s3_srvr.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
s3_srvr.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
s3_srvr.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-s3_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-s3_srvr.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-s3_srvr.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+s3_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+s3_srvr.o: ../include/sha.h ../include/stack.h ../include/x509.h
+s3_srvr.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_algs.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_algs.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_algs.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -316,9 +319,9 @@ ssl_algs.o: ../include/evp.h ../include/idea.h ../include/lhash.h
ssl_algs.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_algs.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_algs.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-ssl_algs.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ssl_algs.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-ssl_algs.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_algs.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+ssl_algs.o: ../include/sha.h ../include/stack.h ../include/x509.h
+ssl_algs.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_asn1.o: ../include/asn1.h ../include/asn1_mac.h ../include/bio.h
ssl_asn1.o: ../include/blowfish.h ../include/bn.h ../include/buffer.h
ssl_asn1.o: ../include/cast.h ../include/comp.h ../include/crypto.h
@@ -328,8 +331,9 @@ ssl_asn1.o: ../include/lhash.h ../include/md2.h ../include/md5.h
ssl_asn1.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
ssl_asn1.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
ssl_asn1.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-ssl_asn1.o: ../include/sha.h ../include/stack.h ../include/x509.h
-ssl_asn1.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_asn1.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+ssl_asn1.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+ssl_asn1.o: ssl_locl.h tls1.h
ssl_cert.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_cert.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_cert.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -339,9 +343,9 @@ ssl_cert.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_cert.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
ssl_cert.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
ssl_cert.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-ssl_cert.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-ssl_cert.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
-ssl_cert.o: ssl_locl.h tls1.h
+ssl_cert.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+ssl_cert.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
+ssl_cert.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_ciph.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_ciph.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_ciph.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -350,9 +354,9 @@ ssl_ciph.o: ../include/evp.h ../include/idea.h ../include/lhash.h
ssl_ciph.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_ciph.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_ciph.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-ssl_ciph.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ssl_ciph.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-ssl_ciph.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_ciph.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+ssl_ciph.o: ../include/sha.h ../include/stack.h ../include/x509.h
+ssl_ciph.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_err.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_err.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_err.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -361,8 +365,9 @@ ssl_err.o: ../include/lhash.h ../include/md2.h ../include/md5.h
ssl_err.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
ssl_err.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h
ssl_err.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-ssl_err.o: ../include/sha.h ../include/stack.h ../include/x509.h
-ssl_err.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h
+ssl_err.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+ssl_err.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+ssl_err.o: tls1.h
ssl_err2.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_err2.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_err2.o: ../include/crypto.h ../include/des.h ../include/dh.h
@@ -371,9 +376,9 @@ ssl_err2.o: ../include/idea.h ../include/lhash.h ../include/md2.h
ssl_err2.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
ssl_err2.o: ../include/opensslv.h ../include/pkcs7.h ../include/rc2.h
ssl_err2.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-ssl_err2.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-ssl_err2.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
-ssl_err2.o: tls1.h
+ssl_err2.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+ssl_err2.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
+ssl_err2.o: ssl2.h ssl23.h ssl3.h tls1.h
ssl_lib.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_lib.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_lib.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -382,9 +387,9 @@ ssl_lib.o: ../include/evp.h ../include/idea.h ../include/lhash.h
ssl_lib.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_lib.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_lib.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-ssl_lib.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ssl_lib.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-ssl_lib.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_lib.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+ssl_lib.o: ../include/sha.h ../include/stack.h ../include/x509.h
+ssl_lib.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_rsa.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_rsa.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_rsa.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -394,9 +399,9 @@ ssl_rsa.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_rsa.o: ../include/objects.h ../include/opensslv.h ../include/pem.h
ssl_rsa.o: ../include/pem2.h ../include/pkcs7.h ../include/rc2.h
ssl_rsa.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-ssl_rsa.o: ../include/rsa.h ../include/sha.h ../include/stack.h
-ssl_rsa.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
-ssl_rsa.o: ssl_locl.h tls1.h
+ssl_rsa.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+ssl_rsa.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
+ssl_rsa.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_sess.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_sess.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_sess.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -406,8 +411,9 @@ ssl_sess.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_sess.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_sess.o: ../include/rand.h ../include/rc2.h ../include/rc4.h
ssl_sess.o: ../include/rc5.h ../include/ripemd.h ../include/rsa.h
-ssl_sess.o: ../include/sha.h ../include/stack.h ../include/x509.h
-ssl_sess.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_sess.o: ../include/safestack.h ../include/sha.h ../include/stack.h
+ssl_sess.o: ../include/x509.h ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h
+ssl_sess.o: ssl_locl.h tls1.h
ssl_stat.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_stat.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_stat.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -416,9 +422,9 @@ ssl_stat.o: ../include/evp.h ../include/idea.h ../include/lhash.h
ssl_stat.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_stat.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_stat.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-ssl_stat.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ssl_stat.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-ssl_stat.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_stat.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+ssl_stat.o: ../include/sha.h ../include/stack.h ../include/x509.h
+ssl_stat.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
ssl_txt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
ssl_txt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
ssl_txt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -427,9 +433,9 @@ ssl_txt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
ssl_txt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
ssl_txt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
ssl_txt.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-ssl_txt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-ssl_txt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-ssl_txt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+ssl_txt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+ssl_txt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+ssl_txt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
t1_clnt.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
t1_clnt.o: ../include/bn.h ../include/buffer.h ../include/cast.h
t1_clnt.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -438,9 +444,9 @@ t1_clnt.o: ../include/evp.h ../include/idea.h ../include/lhash.h
t1_clnt.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
t1_clnt.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
t1_clnt.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-t1_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-t1_clnt.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-t1_clnt.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+t1_clnt.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+t1_clnt.o: ../include/sha.h ../include/stack.h ../include/x509.h
+t1_clnt.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
t1_enc.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
t1_enc.o: ../include/bn.h ../include/buffer.h ../include/cast.h
t1_enc.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -449,9 +455,9 @@ t1_enc.o: ../include/evp.h ../include/hmac.h ../include/idea.h
t1_enc.o: ../include/lhash.h ../include/md2.h ../include/md5.h
t1_enc.o: ../include/mdc2.h ../include/objects.h ../include/opensslv.h
t1_enc.o: ../include/pkcs7.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-t1_enc.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-t1_enc.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-t1_enc.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+t1_enc.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+t1_enc.o: ../include/sha.h ../include/stack.h ../include/x509.h
+t1_enc.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
t1_lib.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
t1_lib.o: ../include/bn.h ../include/buffer.h ../include/cast.h
t1_lib.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -460,9 +466,9 @@ t1_lib.o: ../include/evp.h ../include/idea.h ../include/lhash.h
t1_lib.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
t1_lib.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
t1_lib.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-t1_lib.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-t1_lib.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-t1_lib.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+t1_lib.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+t1_lib.o: ../include/sha.h ../include/stack.h ../include/x509.h
+t1_lib.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
t1_meth.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
t1_meth.o: ../include/bn.h ../include/buffer.h ../include/cast.h
t1_meth.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -471,9 +477,9 @@ t1_meth.o: ../include/evp.h ../include/idea.h ../include/lhash.h
t1_meth.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
t1_meth.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
t1_meth.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-t1_meth.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-t1_meth.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-t1_meth.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+t1_meth.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+t1_meth.o: ../include/sha.h ../include/stack.h ../include/x509.h
+t1_meth.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
t1_srvr.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
t1_srvr.o: ../include/bn.h ../include/buffer.h ../include/cast.h
t1_srvr.o: ../include/comp.h ../include/crypto.h ../include/des.h
@@ -482,6 +488,6 @@ t1_srvr.o: ../include/evp.h ../include/idea.h ../include/lhash.h
t1_srvr.o: ../include/md2.h ../include/md5.h ../include/mdc2.h
t1_srvr.o: ../include/objects.h ../include/opensslv.h ../include/pkcs7.h
t1_srvr.o: ../include/rand.h ../include/rc2.h ../include/rc4.h ../include/rc5.h
-t1_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-t1_srvr.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h ssl.h
-t1_srvr.o: ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
+t1_srvr.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+t1_srvr.o: ../include/sha.h ../include/stack.h ../include/x509.h
+t1_srvr.o: ../include/x509_vfy.h ssl.h ssl2.h ssl23.h ssl3.h ssl_locl.h tls1.h
diff --git a/ssl/s23_srvr.c b/ssl/s23_srvr.c
index bf5e112754..fa132166bd 100644
--- a/ssl/s23_srvr.c
+++ b/ssl/s23_srvr.c
@@ -256,7 +256,7 @@ SSL *s;
if (s->options & SSL_OP_NON_EXPORT_FIRST)
{
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
SSL_CIPHER *c;
int ne2,ne3;
@@ -287,9 +287,9 @@ SSL *s;
if (sk != NULL)
{
ne2=ne3=0;
- for (j=0; j<sk_num(sk); j++)
+ for (j=0; j<sk_SSL_CIPHER_num(sk); j++)
{
- c=(SSL_CIPHER *)sk_value(sk,j);
+ c=sk_SSL_CIPHER_value(sk,j);
if (!SSL_C_IS_EXPORT(c))
{
if ((c->id>>24L) == 2L)
diff --git a/ssl/s2_clnt.c b/ssl/s2_clnt.c
index d5457b0328..46e14d82cd 100644
--- a/ssl/s2_clnt.c
+++ b/ssl/s2_clnt.c
@@ -302,7 +302,7 @@ SSL *s;
unsigned char *buf;
unsigned char *p;
int i,j;
- STACK *sk=NULL,*cl;
+ STACK_OF(SSL_CIPHER) *sk=NULL,*cl;
buf=(unsigned char *)s->init_buf->data;
p=buf;
@@ -411,7 +411,7 @@ SSL *s;
/* load the ciphers */
sk=ssl_bytes_to_cipher_list(s,p,s->s2->tmp.csl,
- &s->session->ciphers);
+ &s->session->ciphers);
p+=s->s2->tmp.csl;
if (sk == NULL)
{
@@ -420,7 +420,7 @@ SSL *s;
return(-1);
}
- sk_set_cmp_func(sk,ssl_cipher_ptr_id_cmp);
+ sk_SSL_CIPHER_set_cmp_func(sk,ssl_cipher_ptr_id_cmp);
/* get the array of ciphers we will accept */
cl=ssl_get_ciphers_by_id(s);
@@ -430,19 +430,20 @@ SSL *s;
* will check against the list we origionally sent and
* for performance reasons we should not bother to match
* the two lists up just to check. */
- for (i=0; i<sk_num(cl); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(cl); i++)
{
- if (sk_find(sk,sk_value(cl,i)) >= 0)
+ if (sk_SSL_CIPHER_find(sk,
+ sk_SSL_CIPHER_value(cl,i)) >= 0)
break;
}
- if (i >= sk_num(cl))
+ if (i >= sk_SSL_CIPHER_num(cl))
{
ssl2_return_error(s,SSL2_PE_NO_CIPHER);
SSLerr(SSL_F_GET_SERVER_HELLO,SSL_R_NO_CIPHER_MATCH);
return(-1);
}
- s->session->cipher=(SSL_CIPHER *)sk_value(cl,i);
+ s->session->cipher=sk_SSL_CIPHER_value(cl,i);
}
if ((s->session != NULL) && (s->session->peer != NULL))
@@ -894,7 +895,7 @@ int type;
int len;
unsigned char *data;
{
- STACK *sk=NULL;
+ STACK_OF(X509) *sk=NULL;
EVP_PKEY *pkey=NULL;
CERT *c=NULL;
int i;
@@ -908,8 +909,7 @@ unsigned char *data;
goto err;
}
- if (((sk=sk_new_null()) == NULL) ||
- (!sk_push(sk,(char *)x509)))
+ if ((sk=sk_X509_new_null()) == NULL || !sk_X509_push(sk,x509))
{
SSLerr(SSL_F_SSL2_SET_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto err;
@@ -957,7 +957,7 @@ unsigned char *data;
goto err;
ret=1;
err:
- sk_free(sk);
+ sk_X509_free(sk);
X509_free(x509);
EVP_PKEY_free(pkey);
return(ret);
diff --git a/ssl/s2_srvr.c b/ssl/s2_srvr.c
index 73c19af807..930a47d4d3 100644
--- a/ssl/s2_srvr.c
+++ b/ssl/s2_srvr.c
@@ -465,8 +465,8 @@ SSL *s;
{
int i,n;
unsigned char *p;
- STACK *cs; /* a stack of SSL_CIPHERS */
- STACK *cl; /* the ones we want to use */
+ STACK_OF(SSL_CIPHER) *cs; /* a stack of SSL_CIPHERS */
+ STACK_OF(SSL_CIPHER) *cl; /* the ones we want to use */
int z;
/* This is a bit of a hack to check for the correct packet
@@ -574,11 +574,11 @@ SSL *s;
cl=ssl_get_ciphers_by_id(s);
- for (z=0; z<sk_num(cs); z++)
+ for (z=0; z<sk_SSL_CIPHER_num(cs); z++)
{
- if (sk_find(cl,sk_value(cs,z)) < 0)
+ if (sk_SSL_CIPHER_find(cl,sk_SSL_CIPHER_value(cs,z)) < 0)
{
- sk_delete(cs,z);
+ sk_SSL_CIPHER_delete(cs,z);
z--;
}
}
@@ -608,7 +608,7 @@ SSL *s;
{
unsigned char *p,*d;
int n,hit;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
p=(unsigned char *)s->init_buf->data;
if (s->state == SSL2_ST_SEND_SERVER_HELLO_A)
@@ -787,7 +787,7 @@ SSL *s;
unsigned char *ccd;
int i,j,ctype,ret= -1;
X509 *x509=NULL;
- STACK *sk=NULL;
+ STACK_OF(X509) *sk=NULL;
ccd=s->s2->tmp.ccl;
if (s->state == SSL2_ST_SEND_REQUEST_CERTIFICATE_A)
@@ -876,7 +876,7 @@ SSL *s;
goto msg_end;
}
- if (((sk=sk_new_null()) == NULL) || (!sk_push(sk,(char *)x509)))
+ if (((sk=sk_X509_new_null()) == NULL) || (!sk_X509_push(sk,x509)))
{
SSLerr(SSL_F_REQUEST_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto msg_end;
@@ -933,7 +933,7 @@ msg_end:
ssl2_return_error(s,SSL2_PE_BAD_CERTIFICATE);
}
end:
- sk_free(sk);
+ sk_X509_free(sk);
X509_free(x509);
return(ret);
}
diff --git a/ssl/s3_both.c b/ssl/s3_both.c
index 0dad8919c7..c3d660ff33 100644
--- a/ssl/s3_both.c
+++ b/ssl/s3_both.c
@@ -245,9 +245,9 @@ X509 *x;
/* Thawte special :-) */
if (s->ctx->extra_certs != NULL)
- for (i=0; i<sk_num(s->ctx->extra_certs); i++)
+ for (i=0; i<sk_X509_num(s->ctx->extra_certs); i++)
{
- x=(X509 *)sk_value(s->ctx->extra_certs,i);
+ x=sk_X509_value(s->ctx->extra_certs,i);
n=i2d_X509(x,NULL);
if (!BUF_MEM_grow(buf,(int)(n+l+3)))
{
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index 5cc0ff446d..24d4f14e93 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -531,11 +531,11 @@ SSL *s;
if (s->ctx->comp_methods == NULL)
j=0;
else
- j=sk_num(s->ctx->comp_methods);
+ j=sk_SSL_COMP_num(s->ctx->comp_methods);
*(p++)=1+j;
for (i=0; i<j; i++)
{
- comp=(SSL_COMP *)sk_value(s->ctx->comp_methods,i);
+ comp=sk_SSL_COMP_value(s->ctx->comp_methods,i);
*(p++)=comp->id;
}
*(p++)=0; /* Add the NULL method */
@@ -560,7 +560,7 @@ err:
static int ssl3_get_server_hello(s)
SSL *s;
{
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
SSL_CIPHER *c;
unsigned char *p,*d;
int i,al,ok;
@@ -645,7 +645,7 @@ SSL *s;
p+=ssl_put_cipher_by_char(s,NULL,NULL);
sk=ssl_get_ciphers_by_id(s);
- i=sk_find(sk,(char *)c);
+ i=sk_SSL_CIPHER_find(sk,c);
if (i < 0)
{
/* we did not say we would use this cipher */
@@ -707,7 +707,7 @@ SSL *s;
unsigned long n,nc,llen,l;
X509 *x=NULL;
unsigned char *p,*d,*q;
- STACK *sk=NULL;
+ STACK_OF(X509) *sk=NULL;
CERT *c;
EVP_PKEY *pkey=NULL;
@@ -738,7 +738,7 @@ SSL *s;
}
d=p=(unsigned char *)s->init_buf->data;
- if ((sk=sk_new_null()) == NULL)
+ if ((sk=sk_X509_new_null()) == NULL)
{
SSLerr(SSL_F_SSL3_GET_SERVER_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto err;
@@ -775,7 +775,7 @@ SSL *s;
SSLerr(SSL_F_SSL3_GET_SERVER_CERTIFICATE,SSL_R_CERT_LENGTH_MISMATCH);
goto f_err;
}
- if (!sk_push(sk,(char *)x))
+ if (!sk_X509_push(sk,x))
{
SSLerr(SSL_F_SSL3_GET_SERVER_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto err;
@@ -800,7 +800,7 @@ SSL *s;
s->session->cert=c;
c->cert_chain=sk;
- x=(X509 *)sk_value(sk,0);
+ x=sk_X509_value(sk,0);
sk=NULL;
pkey=X509_get_pubkey(x);
@@ -845,7 +845,7 @@ f_err:
err:
EVP_PKEY_free(pkey);
X509_free(x);
- sk_pop_free(sk,X509_free);
+ sk_X509_pop_free(sk,X509_free);
return(ret);
}
@@ -1151,7 +1151,7 @@ SSL *s;
unsigned int llen,ctype_num,i;
X509_NAME *xn=NULL;
unsigned char *p,*d,*q;
- STACK *ca_sk=NULL;
+ STACK_OF(X509_NAME) *ca_sk=NULL;
n=ssl3_get_message(s,
SSL3_ST_CR_CERT_REQ_A,
@@ -1195,7 +1195,7 @@ SSL *s;
d=p=(unsigned char *)s->init_buf->data;
- if ((ca_sk=sk_new(ca_dn_cmp)) == NULL)
+ if ((ca_sk=sk_X509_NAME_new(ca_dn_cmp)) == NULL)
{
SSLerr(SSL_F_SSL3_GET_CERTIFICATE_REQUEST,ERR_R_MALLOC_FAILURE);
goto err;
@@ -1260,7 +1260,7 @@ fclose(out);
SSLerr(SSL_F_SSL3_GET_CERTIFICATE_REQUEST,SSL_R_CA_DN_LENGTH_MISMATCH);
goto err;
}
- if (!sk_push(ca_sk,(char *)xn))
+ if (!sk_X509_NAME_push(ca_sk,xn))
{
SSLerr(SSL_F_SSL3_GET_CERTIFICATE_REQUEST,ERR_R_MALLOC_FAILURE);
goto err;
@@ -1280,13 +1280,13 @@ cont:
s->s3->tmp.cert_req=1;
s->s3->tmp.ctype_num=ctype_num;
if (s->s3->tmp.ca_names != NULL)
- sk_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
+ sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
s->s3->tmp.ca_names=ca_sk;
ca_sk=NULL;
ret=1;
err:
- if (ca_sk != NULL) sk_pop_free(ca_sk,X509_NAME_free);
+ if (ca_sk != NULL) sk_X509_NAME_pop_free(ca_sk,X509_NAME_free);
return(ret);
}
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index 0fba6ce0ba..d7bb6cde35 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -502,7 +502,7 @@ SSL *s;
DH_free(s->s3->tmp.dh);
#endif
if (s->s3->tmp.ca_names != NULL)
- sk_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
+ sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
memset(s->s3,0,sizeof(SSL3_CTX));
Free(s->s3);
s->s3=NULL;
@@ -515,7 +515,7 @@ SSL *s;
ssl3_cleanup_key_block(s);
if (s->s3->tmp.ca_names != NULL)
- sk_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
+ sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
if (s->s3->rrec.comp != NULL)
{
@@ -750,10 +750,10 @@ char *parg;
case SSL_CTRL_EXTRA_CHAIN_CERT:
if (ctx->extra_certs == NULL)
{
- if ((ctx->extra_certs=sk_new_null()) == NULL)
+ if ((ctx->extra_certs=sk_X509_new_null()) == NULL)
return(0);
}
- sk_push(ctx->extra_certs,(char *)parg);
+ sk_X509_push(ctx->extra_certs,(X509 *)parg);
break;
default:
@@ -832,7 +832,8 @@ int i;
SSL_CIPHER *ssl3_choose_cipher(s,have,pref)
SSL *s;
-STACK *have,*pref;
+STACK_OF(SSL_CIPHER) *have;
+STACK_OF(SSL_CIPHER) *pref;
{
SSL_CIPHER *c,*ret=NULL;
int i,j,ok;
@@ -845,7 +846,7 @@ STACK *have,*pref;
else
cert=s->ctx->default_cert;
- sk_set_cmp_func(pref,ssl_cipher_ptr_id_cmp);
+ sk_SSL_CIPHER_set_cmp_func(pref,ssl_cipher_ptr_id_cmp);
#ifdef CIPHER_DEBUG
printf("Have:\n");
@@ -856,9 +857,9 @@ STACK *have,*pref;
}
#endif
- for (i=0; i<sk_num(have); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(have); i++)
{
- c=(SSL_CIPHER *)sk_value(have,i);
+ c=sk_SSL_CIPHER_value(have,i);
ssl_set_cert_masks(cert,s->ctx->default_cert,c);
mask=cert->mask;
@@ -884,10 +885,10 @@ STACK *have,*pref;
if (!ok) continue;
- j=sk_find(pref,(char *)c);
+ j=sk_SSL_CIPHER_find(pref,c);
if (j >= 0)
{
- ret=(SSL_CIPHER *)sk_value(pref,j);
+ ret=sk_SSL_CIPHER_value(pref,j);
break;
}
}
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 21b93c1ba4..3969657599 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -555,7 +555,7 @@ SSL *s;
unsigned char *p,*d,*q;
SSL_CIPHER *c;
SSL_COMP *comp=NULL;
- STACK *ciphers=NULL;
+ STACK_OF(SSL_CIPHER) *ciphers=NULL;
/* We do this so that we will respond with our native type.
* If we are TLSv1 and we get SSLv3, we will respond with TLSv1,
@@ -643,9 +643,9 @@ SSL *s;
#ifdef CIPHER_DEBUG
printf("client sent %d ciphers\n",sk_num(ciphers));
#endif
- for (i=0; i<sk_num(ciphers); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(ciphers); i++)
{
- c=(SSL_CIPHER *)sk_value(ciphers,i);
+ c=sk_SSL_CIPHER_value(ciphers,i);
#ifdef CIPHER_DEBUG
printf("client [%2d of %2d]:%s\n",
i,sk_num(ciphers),SSL_CIPHER_get_name(c));
@@ -658,11 +658,11 @@ SSL *s;
}
if (j == 0)
{
- if ((s->options & SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG) && (sk_num(ciphers) == 1))
+ if ((s->options & SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG) && (sk_SSL_CIPHER_num(ciphers) == 1))
{
/* Very bad for multi-threading.... */
- s->session->cipher=
- (SSL_CIPHER *)sk_value(ciphers,0);
+ s->session->cipher=sk_SSL_CIPHER_value(ciphers,
+ 0);
}
else
{
@@ -700,10 +700,10 @@ SSL *s;
{ /* See if we have a match */
int m,nn,o,v,done=0;
- nn=sk_num(s->ctx->comp_methods);
+ nn=sk_SSL_COMP_num(s->ctx->comp_methods);
for (m=0; m<nn; m++)
{
- comp=(SSL_COMP *)sk_value(s->ctx->comp_methods,m);
+ comp=sk_SSL_COMP_value(s->ctx->comp_methods,m);
v=comp->id;
for (o=0; o<i; o++)
{
@@ -741,7 +741,7 @@ SSL *s;
{
s->session->compress_meth=(comp == NULL)?0:comp->id;
if (s->session->ciphers != NULL)
- sk_free(s->session->ciphers);
+ sk_SSL_CIPHER_free(s->session->ciphers);
s->session->ciphers=ciphers;
if (ciphers == NULL)
{
@@ -751,7 +751,7 @@ SSL *s;
}
ciphers=NULL;
c=ssl3_choose_cipher(s,s->session->ciphers,
- ssl_get_ciphers_by_id(s));
+ ssl_get_ciphers_by_id(s));
if (c == NULL)
{
@@ -765,16 +765,16 @@ SSL *s;
{
/* Session-id reuse */
#ifdef REUSE_CIPHER_BUG
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
SSL_CIPHER *nc=NULL;
SSL_CIPHER *ec=NULL;
if (s->options & SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG)
{
sk=s->session->ciphers;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
{
- c=(SSL_CIPHER *)sk_value(sk,i);
+ c=sk_SSL_CIPHER_value(sk,i);
if (c->algorithms & SSL_eNULL)
nc=c;
if (SSL_C_IS_EXPORT(c))
@@ -810,7 +810,7 @@ f_err:
ssl3_send_alert(s,SSL3_AL_FATAL,al);
}
err:
- if (ciphers != NULL) sk_free(ciphers);
+ if (ciphers != NULL) sk_SSL_CIPHER_free(ciphers);
return(ret);
}
@@ -1136,7 +1136,7 @@ SSL *s;
{
unsigned char *p,*d;
int i,j,nl,off,n;
- STACK *sk=NULL;
+ STACK_OF(X509_NAME) *sk=NULL;
X509_NAME *name;
BUF_MEM *buf;
@@ -1161,9 +1161,9 @@ SSL *s;
nl=0;
if (sk != NULL)
{
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_NAME_num(sk); i++)
{
- name=(X509_NAME *)sk_value(sk,i);
+ name=sk_X509_NAME_value(sk,i);
j=i2d_X509_NAME(name,NULL);
if (!BUF_MEM_grow(buf,4+n+j+2))
{
@@ -1562,7 +1562,7 @@ SSL *s;
X509 *x=NULL;
unsigned long l,nc,llen,n;
unsigned char *p,*d,*q;
- STACK *sk=NULL;
+ STACK_OF(X509) *sk=NULL;
n=ssl3_get_message(s,
SSL3_ST_SR_CERT_A,
@@ -1605,7 +1605,7 @@ SSL *s;
}
d=p=(unsigned char *)s->init_buf->data;
- if ((sk=sk_new_null()) == NULL)
+ if ((sk=sk_X509_new_null()) == NULL)
{
SSLerr(SSL_F_SSL3_GET_CLIENT_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto err;
@@ -1641,7 +1641,7 @@ SSL *s;
SSLerr(SSL_F_SSL3_GET_CLIENT_CERTIFICATE,SSL_R_CERT_LENGTH_MISMATCH);
goto f_err;
}
- if (!sk_push(sk,(char *)x))
+ if (!sk_X509_push(sk,x))
{
SSLerr(SSL_F_SSL3_GET_CLIENT_CERTIFICATE,ERR_R_MALLOC_FAILURE);
goto err;
@@ -1650,7 +1650,7 @@ SSL *s;
nc+=l+3;
}
- if (sk_num(sk) <= 0)
+ if (sk_X509_num(sk) <= 0)
{
/* TLS does not mind 0 certs returned */
if (s->version == SSL3_VERSION)
@@ -1682,7 +1682,7 @@ SSL *s;
/* This should not be needed */
if (s->session->peer != NULL)
X509_free(s->session->peer);
- s->session->peer=(X509 *)sk_shift(sk);
+ s->session->peer=sk_X509_shift(sk);
s->session->cert->cert_chain=sk;
sk=NULL;
@@ -1694,7 +1694,7 @@ f_err:
}
err:
if (x != NULL) X509_free(x);
- if (sk != NULL) sk_pop_free(sk,X509_free);
+ if (sk != NULL) sk_X509_pop_free(sk,X509_free);
return(ret);
}
diff --git a/ssl/ssl.h b/ssl/ssl.h
index 06ca4aaa22..4bb1a2eceb 100644
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -63,6 +63,8 @@
extern "C" {
#endif
+#include "safestack.h"
+
/* SSLeay version number for ASN.1 encoding of the session information */
/* Version 0 - initial version
* Version 1 - added the optional peer certificate
@@ -167,6 +169,8 @@ typedef struct ssl_cipher_st
unsigned long mask; /* used for matching */
} SSL_CIPHER;
+DECLARE_STACK_OF(SSL_CIPHER)
+
typedef struct ssl_st SSL;
typedef struct ssl_ctx_st SSL_CTX;
@@ -254,7 +258,7 @@ typedef struct ssl_session_st
* needs to be used to load
* the 'cipher' structure */
- STACK /* SSL_CIPHER */ *ciphers; /* shared ciphers? */
+ STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */
CRYPTO_EX_DATA ex_data; /* application specific data */
@@ -314,14 +318,16 @@ typedef struct ssl_comp_st
#endif
} SSL_COMP;
+DECLARE_STACK_OF(SSL_COMP)
+
struct ssl_ctx_st
{
SSL_METHOD *method;
unsigned long options;
- STACK /* SSL_CIPHER */ *cipher_list;
+ STACK_OF(SSL_CIPHER) *cipher_list;
/* same as above but sorted for lookup */
- STACK /* SSL_CIPHER */ *cipher_list_by_id;
+ STACK_OF(SSL_CIPHER) *cipher_list_by_id;
struct x509_store_st /* X509_STORE */ *cert_store;
struct lhash_st /* LHASH */ *sessions; /* a set of SSL_SESSION's */
@@ -404,7 +410,7 @@ struct ssl_ctx_st
/**/ int (*client_cert_cb)(/* SSL *ssl, X509 **x509, EVP_PKEY **pkey */);
/* what we put in client requests */
- STACK *client_CA;
+ STACK_OF(X509_NAME) *client_CA;
/**/ int quiet_shutdown;
@@ -414,8 +420,8 @@ struct ssl_ctx_st
EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */
EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */
- STACK *extra_certs;
- STACK *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */
+ STACK_OF(X509) *extra_certs;
+ STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */
};
#define SSL_SESS_CACHE_OFF 0x0000
@@ -533,8 +539,8 @@ struct ssl_st
int hit; /* reusing a previous session */
/* crypto */
- STACK /* SSL_CIPHER */ *cipher_list;
- STACK /* SSL_CIPHER */ *cipher_list_by_id;
+ STACK_OF(SSL_CIPHER) *cipher_list;
+ STACK_OF(SSL_CIPHER) *cipher_list_by_id;
/* These are the ones being used, the ones is SSL_SESSION are
* the ones to be 'copied' into these ones */
@@ -588,7 +594,7 @@ struct ssl_st
CRYPTO_EX_DATA ex_data;
/* for server side, keep the list of CA_dn we can use */
- STACK /* X509_NAME */ *client_CA;
+ STACK_OF(X509_NAME) *client_CA;
int references;
unsigned long options;
@@ -868,7 +874,7 @@ int SSL_use_certificate_file(SSL *ssl, char *file, int type);
int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, char *file, int type);
int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, char *file, int type);
int SSL_CTX_use_certificate_file(SSL_CTX *ctx, char *file, int type);
-STACK * SSL_load_client_CA_file(char *file);
+STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
int SSL_add_file_cert_subjects_to_stack(STACK *stackCAs,
const char *file);
int SSL_add_dir_cert_subjects_to_stack(STACK *stackCAs,
@@ -907,7 +913,7 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a,unsigned char **pp,long length);
X509 * SSL_get_peer_certificate(SSL *s);
#endif
-STACK * SSL_get_peer_cert_chain(SSL *s);
+STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s);
int SSL_CTX_get_verify_mode(SSL_CTX *ctx);
int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(int,X509_STORE_CTX *);
@@ -961,7 +967,7 @@ SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */
SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */
SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */
-STACK *SSL_get_ciphers(SSL *s);
+STACK_OF(SSL_CIPHER) *SSL_get_ciphers(SSL *s);
int SSL_do_handshake(SSL *s);
int SSL_renegotiate(SSL *s);
@@ -974,10 +980,10 @@ char *SSL_alert_type_string(int value);
char *SSL_alert_desc_string_long(int value);
char *SSL_alert_desc_string(int value);
-void SSL_set_client_CA_list(SSL *s, STACK *list);
-void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK *list);
-STACK *SSL_get_client_CA_list(SSL *s);
-STACK *SSL_CTX_get_client_CA_list(SSL_CTX *s);
+void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list);
+void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list);
+STACK_OF(X509_NAME) *SSL_get_client_CA_list(SSL *s);
+STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(SSL_CTX *s);
int SSL_add_client_CA(SSL *ssl,X509 *x);
int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x);
diff --git a/ssl/ssl3.h b/ssl/ssl3.h
index cf8238c1eb..d334c90c3d 100644
--- a/ssl/ssl3.h
+++ b/ssl/ssl3.h
@@ -331,7 +331,7 @@ typedef struct ssl3_ctx_st
int cert_req;
int ctype_num;
char ctype[SSL3_CT_NUMBER];
- STACK *ca_names;
+ STACK_OF(X509_NAME) *ca_names;
int use_rsa_tmp;
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c
index f50de34a06..52812e9966 100644
--- a/ssl/ssl_cert.c
+++ b/ssl/ssl_cert.c
@@ -143,7 +143,7 @@ void ssl_cert_free(CERT *c)
#endif
}
if (c->cert_chain != NULL)
- sk_pop_free(c->cert_chain,X509_free);
+ sk_X509_pop_free(c->cert_chain,X509_free);
Free(c);
}
@@ -174,16 +174,16 @@ int ssl_set_cert_type(CERT *c,int type)
return(1);
}
-int ssl_verify_cert_chain(SSL *s,STACK *sk)
+int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk)
{
X509 *x;
int i;
X509_STORE_CTX ctx;
- if ((sk == NULL) || (sk_num(sk) == 0))
+ if ((sk == NULL) || (sk_X509_num(sk) == 0))
return(0);
- x=(X509 *)sk_value(sk,0);
+ x=sk_X509_value(sk,0);
X509_STORE_CTX_init(&ctx,s->ctx->cert_store,x,sk);
X509_STORE_CTX_set_ex_data(&ctx,SSL_get_ex_data_X509_STORE_CTX_idx(),
(char *)s);
@@ -207,10 +207,11 @@ int ssl_verify_cert_chain(SSL *s,STACK *sk)
return(i);
}
-static void set_client_CA_list(STACK **ca_list,STACK *list)
+static void set_client_CA_list(STACK_OF(X509_NAME) **ca_list,
+ STACK_OF(X509_NAME) *list)
{
if (*ca_list != NULL)
- sk_pop_free(*ca_list,X509_NAME_free);
+ sk_X509_NAME_pop_free(*ca_list,X509_NAME_free);
*ca_list=list;
}
@@ -234,22 +235,22 @@ STACK *SSL_dup_CA_list(STACK *sk)
return(ret);
}
-void SSL_set_client_CA_list(SSL *s,STACK *list)
+void SSL_set_client_CA_list(SSL *s,STACK_OF(X509_NAME) *list)
{
set_client_CA_list(&(s->client_CA),list);
}
-void SSL_CTX_set_client_CA_list(SSL_CTX *ctx,STACK *list)
+void SSL_CTX_set_client_CA_list(SSL_CTX *ctx,STACK_OF(X509_NAME) *list)
{
set_client_CA_list(&(ctx->client_CA),list);
}
-STACK *SSL_CTX_get_client_CA_list(SSL_CTX *ctx)
+STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(SSL_CTX *ctx)
{
return(ctx->client_CA);
}
-STACK *SSL_get_client_CA_list(SSL *s)
+STACK_OF(X509_NAME) *SSL_get_client_CA_list(SSL *s)
{
if (s->type == SSL_ST_CONNECT)
{ /* we are in the client */
@@ -268,18 +269,18 @@ STACK *SSL_get_client_CA_list(SSL *s)
}
}
-static int add_client_CA(STACK **sk,X509 *x)
+static int add_client_CA(STACK_OF(X509_NAME) **sk,X509 *x)
{
X509_NAME *name;
if (x == NULL) return(0);
- if ((*sk == NULL) && ((*sk=sk_new_null()) == NULL))
+ if ((*sk == NULL) && ((*sk=sk_X509_NAME_new_null()) == NULL))
return(0);
if ((name=X509_NAME_dup(X509_get_subject_name(x))) == NULL)
return(0);
- if (!sk_push(*sk,(char *)name))
+ if (!sk_X509_NAME_push(*sk,name))
{
X509_NAME_free(name);
return(0);
@@ -311,15 +312,15 @@ static int name_cmp(X509_NAME **a,X509_NAME **b)
* \param file the file containing one or more certs.
* \return a ::STACK containing the certs.
*/
-STACK *SSL_load_client_CA_file(char *file)
+STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file)
{
BIO *in;
X509 *x=NULL;
X509_NAME *xn=NULL;
- STACK *ret,*sk;
+ STACK_OF(X509_NAME) *ret,*sk;
- ret=sk_new(NULL);
- sk=sk_new(name_cmp);
+ ret=sk_X509_NAME_new(NULL);
+ sk=sk_X509_NAME_new(name_cmp);
in=BIO_new(BIO_s_file_internal());
@@ -340,22 +341,22 @@ STACK *SSL_load_client_CA_file(char *file)
/* check for duplicates */
xn=X509_NAME_dup(xn);
if (xn == NULL) goto err;
- if (sk_find(sk,(char *)xn) >= 0)
+ if (sk_X509_NAME_find(sk,xn) >= 0)
X509_NAME_free(xn);
else
{
- sk_push(sk,(char *)xn);
- sk_push(ret,(char *)xn);
+ sk_X509_NAME_push(sk,xn);
+ sk_X509_NAME_push(ret,xn);
}
}
if (0)
{
err:
- if (ret != NULL) sk_pop_free(ret,X509_NAME_free);
+ if (ret != NULL) sk_X509_NAME_pop_free(ret,X509_NAME_free);
ret=NULL;
}
- if (sk != NULL) sk_free(sk);
+ if (sk != NULL) sk_X509_NAME_free(sk);
if (in != NULL) BIO_free(in);
if (x != NULL) X509_free(x);
return(ret);
diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
index e3f61ea0bc..55c3fd06bb 100644
--- a/ssl/ssl_ciph.c
+++ b/ssl/ssl_ciph.c
@@ -74,7 +74,7 @@ static EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX]={
NULL,NULL,NULL,NULL,NULL,NULL,
};
-static STACK /* SSL_COMP */ *ssl_comp_methods=NULL;
+static STACK_OF(SSL_COMP) *ssl_comp_methods=NULL;
#define SSL_MD_MD5_IDX 0
#define SSL_MD_SHA1_IDX 1
@@ -211,9 +211,9 @@ SSL_COMP **comp;
{
ctmp.id=s->compress_meth;
- i=sk_find(ssl_comp_methods,(char *)&ctmp);
+ i=sk_SSL_COMP_find(ssl_comp_methods,&ctmp);
if (i >= 0)
- *comp=(SSL_COMP *)sk_value(ssl_comp_methods,i);
+ *comp=sk_SSL_COMP_value(ssl_comp_methods,i);
else
*comp=NULL;
}
@@ -298,14 +298,15 @@ CIPHER_ORDER **head,*curr,**tail;
*tail=curr;
}
-STACK *ssl_create_cipher_list(ssl_method,cipher_list,cipher_list_by_id,str)
+STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(ssl_method,cipher_list,
+ cipher_list_by_id,str)
SSL_METHOD *ssl_method;
-STACK **cipher_list,**cipher_list_by_id;
+STACK_OF(SSL_CIPHER) **cipher_list,**cipher_list_by_id;
char *str;
{
SSL_CIPHER *c;
char *l;
- STACK *ret=NULL,*ok=NULL;
+ STACK_OF(SSL_CIPHER) *ret=NULL,*ok=NULL;
#define CL_BUF 40
char buf[CL_BUF];
char *tmp_str=NULL;
@@ -340,7 +341,7 @@ char *str;
num=ssl_method->num_ciphers();
- if ((ret=(STACK *)sk_new(NULL)) == NULL) goto err;
+ if ((ret=sk_SSL_CIPHER_new(NULL)) == NULL) goto err;
if ((ca_list=(STACK *)sk_new(cmp_by_name)) == NULL) goto err;
mask =SSL_kFZA;
@@ -573,7 +574,7 @@ end_loop:
{
if (curr->active)
{
- sk_push(ret,(char *)curr->cipher);
+ sk_SSL_CIPHER_push(ret,curr->cipher);
#ifdef CIPHER_DEBUG
printf("<%s>\n",curr->cipher->name);
#endif
@@ -583,15 +584,15 @@ end_loop:
if (cipher_list != NULL)
{
if (*cipher_list != NULL)
- sk_free(*cipher_list);
+ sk_SSL_CIPHER_free(*cipher_list);
*cipher_list=ret;
}
if (cipher_list_by_id != NULL)
{
if (*cipher_list_by_id != NULL)
- sk_free(*cipher_list_by_id);
- *cipher_list_by_id=sk_dup(ret);
+ sk_SSL_CIPHER_free(*cipher_list_by_id);
+ *cipher_list_by_id=sk_SSL_CIPHER_dup(ret);
}
if ( (cipher_list_by_id == NULL) ||
@@ -599,14 +600,14 @@ end_loop:
(cipher_list == NULL) ||
(*cipher_list == NULL))
goto err;
- sk_set_cmp_func(*cipher_list_by_id,ssl_cipher_ptr_id_cmp);
+ sk_SSL_CIPHER_set_cmp_func(*cipher_list_by_id,ssl_cipher_ptr_id_cmp);
ok=ret;
ret=NULL;
err:
if (tmp_str) Free(tmp_str);
if (ops != NULL) Free(ops);
- if (ret != NULL) sk_free(ret);
+ if (ret != NULL) sk_SSL_CIPHER_free(ret);
if (ca_list != NULL) sk_free(ca_list);
if (list != NULL) Free(list);
return(ok);
@@ -794,17 +795,17 @@ int *alg_bits;
}
SSL_COMP *ssl3_comp_find(sk,n)
-STACK *sk;
+STACK_OF(SSL_COMP) *sk;
int n;
{
SSL_COMP *ctmp;
int i,nn;
if ((n == 0) || (sk == NULL)) return(NULL);
- nn=sk_num(sk);
+ nn=sk_SSL_COMP_num(sk);
for (i=0; i<nn; i++)
{
- ctmp=(SSL_COMP *)sk_value(sk,i);
+ ctmp=sk_SSL_COMP_value(sk,i);
if (ctmp->id == n)
return(ctmp);
}
@@ -817,7 +818,7 @@ SSL_COMP **a,**b;
return((*a)->id-(*b)->id);
}
-STACK *SSL_COMP_get_compression_methods()
+STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods()
{
return(ssl_comp_methods);
}
@@ -827,16 +828,16 @@ int id;
COMP_METHOD *cm;
{
SSL_COMP *comp;
- STACK *sk;
+ STACK_OF(SSL_COMP) *sk;
comp=(SSL_COMP *)Malloc(sizeof(SSL_COMP));
comp->id=id;
comp->method=cm;
if (ssl_comp_methods == NULL)
- sk=ssl_comp_methods=sk_new(sk_comp_cmp);
+ sk=ssl_comp_methods=sk_SSL_COMP_new(sk_comp_cmp);
else
sk=ssl_comp_methods;
- if ((sk == NULL) || !sk_push(sk,(char *)comp))
+ if ((sk == NULL) || !sk_SSL_COMP_push(sk,comp))
{
SSLerr(SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD,ERR_R_MALLOC_FAILURE);
return(0);
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 3b6c364b01..566d112d07 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -145,13 +145,13 @@ int SSL_clear(SSL *s)
/** Used to change an SSL_CTXs default SSL method type */
int SSL_CTX_set_ssl_version(SSL_CTX *ctx,SSL_METHOD *meth)
{
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
ctx->method=meth;
sk=ssl_create_cipher_list(ctx->method,&(ctx->cipher_list),
&(ctx->cipher_list_by_id),SSL_DEFAULT_CIPHER_LIST);
- if ((sk == NULL) || (sk_num(sk) <= 0))
+ if ((sk == NULL) || (sk_SSL_CIPHER_num(sk) <= 0))
{
SSLerr(SSL_F_SSL_CTX_SET_SSL_VERSION,SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS);
return(0);
@@ -270,8 +270,8 @@ void SSL_free(SSL *s)
if (s->init_buf != NULL) BUF_MEM_free(s->init_buf);
/* add extra stuff */
- if (s->cipher_list != NULL) sk_free(s->cipher_list);
- if (s->cipher_list_by_id != NULL) sk_free(s->cipher_list_by_id);
+ if (s->cipher_list != NULL) sk_SSL_CIPHER_free(s->cipher_list);
+ if (s->cipher_list_by_id != NULL) sk_SSL_CIPHER_free(s->cipher_list_by_id);
/* Make the next call work :-) */
if (s->session != NULL)
@@ -288,7 +288,7 @@ void SSL_free(SSL *s)
if (s->ctx) SSL_CTX_free(s->ctx);
if (s->client_CA != NULL)
- sk_pop_free(s->client_CA,X509_NAME_free);
+ sk_X509_NAME_pop_free(s->client_CA,X509_NAME_free);
if (s->method != NULL) s->method->ssl_free(s);
@@ -460,9 +460,9 @@ X509 *SSL_get_peer_certificate(SSL *s)
return(r);
}
-STACK *SSL_get_peer_cert_chain(SSL *s)
+STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s)
{
- STACK *r;
+ STACK_OF(X509) *r;
if ((s == NULL) || (s->session == NULL) || (s->session->cert == NULL))
r=NULL;
@@ -705,7 +705,7 @@ int ssl_cipher_ptr_id_cmp(SSL_CIPHER **ap,SSL_CIPHER **bp)
/** return a STACK of the ciphers available for the SSL and in order of
* preference */
-STACK *SSL_get_ciphers(SSL *s)
+STACK_OF(SSL_CIPHER) *SSL_get_ciphers(SSL *s)
{
if ((s != NULL) && (s->cipher_list != NULL))
{
@@ -721,7 +721,7 @@ STACK *SSL_get_ciphers(SSL *s)
/** return a STACK of the ciphers available for the SSL and in order of
* algorithm id */
-STACK *ssl_get_ciphers_by_id(SSL *s)
+STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s)
{
if ((s != NULL) && (s->cipher_list_by_id != NULL))
{
@@ -739,13 +739,13 @@ STACK *ssl_get_ciphers_by_id(SSL *s)
char *SSL_get_cipher_list(SSL *s,int n)
{
SSL_CIPHER *c;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
if (s == NULL) return(NULL);
sk=SSL_get_ciphers(s);
- if ((sk == NULL) || (sk_num(sk) <= n))
+ if ((sk == NULL) || (sk_SSL_CIPHER_num(sk) <= n))
return(NULL);
- c=(SSL_CIPHER *)sk_value(sk,n);
+ c=sk_SSL_CIPHER_value(sk,n);
if (c == NULL) return(NULL);
return(c->name);
}
@@ -753,7 +753,7 @@ char *SSL_get_cipher_list(SSL *s,int n)
/** specify the ciphers to be used by defaut by the SSL_CTX */
int SSL_CTX_set_cipher_list(SSL_CTX *ctx,char *str)
{
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
sk=ssl_create_cipher_list(ctx->method,&ctx->cipher_list,
&ctx->cipher_list_by_id,str);
@@ -764,7 +764,7 @@ int SSL_CTX_set_cipher_list(SSL_CTX *ctx,char *str)
/** specify the ciphers to be used by the SSL */
int SSL_set_cipher_list(SSL *s,char *str)
{
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
sk=ssl_create_cipher_list(s->ctx->method,&s->cipher_list,
&s->cipher_list_by_id,str);
@@ -776,7 +776,7 @@ int SSL_set_cipher_list(SSL *s,char *str)
char *SSL_get_shared_ciphers(SSL *s,char *buf,int len)
{
char *p,*cp;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
SSL_CIPHER *c;
int i;
@@ -786,11 +786,11 @@ char *SSL_get_shared_ciphers(SSL *s,char *buf,int len)
p=buf;
sk=s->session->ciphers;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
{
/* Decrement for either the ':' or a '\0' */
len--;
- c=(SSL_CIPHER *)sk_value(sk,i);
+ c=sk_SSL_CIPHER_value(sk,i);
for (cp=c->name; *cp; )
{
if (len-- == 0)
@@ -807,7 +807,7 @@ char *SSL_get_shared_ciphers(SSL *s,char *buf,int len)
return(buf);
}
-int ssl_cipher_list_to_bytes(SSL *s,STACK *sk,unsigned char *p)
+int ssl_cipher_list_to_bytes(SSL *s,STACK_OF(SSL_CIPHER) *sk,unsigned char *p)
{
int i,j=0;
SSL_CIPHER *c;
@@ -816,19 +816,20 @@ int ssl_cipher_list_to_bytes(SSL *s,STACK *sk,unsigned char *p)
if (sk == NULL) return(0);
q=p;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
{
- c=(SSL_CIPHER *)sk_value(sk,i);
+ c=sk_SSL_CIPHER_value(sk,i);
j=ssl_put_cipher_by_char(s,c,p);
p+=j;
}
return(p-q);
}
-STACK *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,STACK **skp)
+STACK_OF(SSL_CIPHER) *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,
+ STACK_OF(SSL_CIPHER) **skp)
{
SSL_CIPHER *c;
- STACK *sk;
+ STACK_OF(SSL_CIPHER) *sk;
int i,n;
n=ssl_put_cipher_by_char(s,NULL,NULL);
@@ -838,11 +839,11 @@ STACK *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,STACK **skp)
return(NULL);
}
if ((skp == NULL) || (*skp == NULL))
- sk=sk_new(NULL); /* change perhaps later */
+ sk=sk_SSL_CIPHER_new(NULL); /* change perhaps later */
else
{
sk= *skp;
- sk_zero(sk);
+ sk_SSL_CIPHER_zero(sk);
}
for (i=0; i<num; i+=n)
@@ -851,7 +852,7 @@ STACK *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,STACK **skp)
p+=n;
if (c != NULL)
{
- if (!sk_push(sk,(char *)c))
+ if (!sk_SSL_CIPHER_push(sk,c))
{
SSLerr(SSL_F_SSL_BYTES_TO_CIPHER_LIST,ERR_R_MALLOC_FAILURE);
goto err;
@@ -864,7 +865,7 @@ STACK *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,STACK **skp)
return(sk);
err:
if ((skp == NULL) || (*skp == NULL))
- sk_free(sk);
+ sk_SSL_CIPHER_free(sk);
return(NULL);
}
@@ -958,7 +959,8 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD *meth)
ssl_create_cipher_list(ret->method,
&ret->cipher_list,&ret->cipher_list_by_id,
SSL_DEFAULT_CIPHER_LIST);
- if ((ret->cipher_list == NULL) || (sk_num(ret->cipher_list) <= 0))
+ if (ret->cipher_list == NULL
+ || sk_SSL_CIPHER_num(ret->cipher_list) <= 0)
{
SSLerr(SSL_F_SSL_CTX_NEW,SSL_R_LIBRARY_HAS_NO_CIPHERS);
goto err2;
@@ -980,7 +982,7 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD *meth)
goto err2;
}
- if ((ret->client_CA=sk_new_null()) == NULL)
+ if ((ret->client_CA=sk_X509_NAME_new_null()) == NULL)
goto err;
CRYPTO_new_ex_data(ssl_ctx_meth,(char *)ret,&ret->ex_data);
@@ -996,6 +998,9 @@ err2:
return(NULL);
}
+static void SSL_COMP_free(SSL_COMP *comp)
+ { Free(comp); }
+
void SSL_CTX_free(SSL_CTX *a)
{
int i;
@@ -1024,17 +1029,17 @@ void SSL_CTX_free(SSL_CTX *a)
if (a->cert_store != NULL)
X509_STORE_free(a->cert_store);
if (a->cipher_list != NULL)
- sk_free(a->cipher_list);
+ sk_SSL_CIPHER_free(a->cipher_list);
if (a->cipher_list_by_id != NULL)
- sk_free(a->cipher_list_by_id);
+ sk_SSL_CIPHER_free(a->cipher_list_by_id);
if (a->default_cert != NULL)
ssl_cert_free(a->default_cert);
if (a->client_CA != NULL)
- sk_pop_free(a->client_CA,X509_NAME_free);
+ sk_X509_NAME_pop_free(a->client_CA,X509_NAME_free);
if (a->extra_certs != NULL)
- sk_pop_free(a->extra_certs,X509_free);
+ sk_X509_pop_free(a->extra_certs,X509_free);
if (a->comp_methods != NULL)
- sk_pop_free(a->comp_methods,FreeFunc);
+ sk_SSL_COMP_pop_free(a->comp_methods,SSL_COMP_free);
Free((char *)a);
}
@@ -1427,7 +1432,7 @@ char *SSL_get_version(SSL *s)
SSL *SSL_dup(SSL *s)
{
- STACK *sk;
+ STACK_OF(X509_NAME) *sk;
X509_NAME *xn;
SSL *ret;
int i;
@@ -1471,23 +1476,23 @@ SSL *SSL_dup(SSL *s)
/* dup the cipher_list and cipher_list_by_id stacks */
if (s->cipher_list != NULL)
{
- if ((ret->cipher_list=sk_dup(s->cipher_list)) == NULL)
+ if ((ret->cipher_list=sk_SSL_CIPHER_dup(s->cipher_list)) == NULL)
goto err;
}
if (s->cipher_list_by_id != NULL)
- if ((ret->cipher_list_by_id=sk_dup(s->cipher_list_by_id))
+ if ((ret->cipher_list_by_id=sk_SSL_CIPHER_dup(s->cipher_list_by_id))
== NULL)
goto err;
/* Dup the client_CA list */
if (s->client_CA != NULL)
{
- if ((sk=sk_dup(s->client_CA)) == NULL) goto err;
+ if ((sk=sk_X509_NAME_dup(s->client_CA)) == NULL) goto err;
ret->client_CA=sk;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_NAME_num(sk); i++)
{
- xn=(X509_NAME *)sk_value(sk,i);
- if ((sk_value(sk,i)=(char *)X509_NAME_dup(xn)) == NULL)
+ xn=sk_X509_NAME_value(sk,i);
+ if (sk_X509_NAME_set(sk,i,X509_NAME_dup(xn)) == NULL)
{
X509_NAME_free(xn);
goto err;
@@ -1796,3 +1801,6 @@ void SSL_set_tmp_dh_callback(SSL *ssl,DH *(*dh)(SSL *ssl,int export,
#if defined(_WINDLL) && defined(WIN16)
#include "../crypto/bio/bss_file.c"
#endif
+
+IMPLEMENT_STACK_OF(SSL_CIPHER)
+IMPLEMENT_STACK_OF(SSL_COMP)
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h
index b57345758a..a29994b1e1 100644
--- a/ssl/ssl_locl.h
+++ b/ssl/ssl_locl.h
@@ -283,7 +283,7 @@ typedef struct cert_st
DH *(*dh_tmp_cb)(SSL *ssl,int export,int keysize);
CERT_PKEY pkeys[SSL_PKEY_NUM];
- STACK *cert_chain;
+ STACK_OF(X509) *cert_chain;
int references;
} CERT;
@@ -359,20 +359,23 @@ int ssl_get_new_session(SSL *s, int session);
int ssl_get_prev_session(SSL *s, unsigned char *session,int len);
int ssl_cipher_id_cmp(SSL_CIPHER *a,SSL_CIPHER *b);
int ssl_cipher_ptr_id_cmp(SSL_CIPHER **ap,SSL_CIPHER **bp);
-STACK *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,STACK **skp);
-int ssl_cipher_list_to_bytes(SSL *s,STACK *sk,unsigned char *p);
-STACK *ssl_create_cipher_list(SSL_METHOD *meth,STACK **pref,
- STACK **sorted,char *str);
+STACK_OF(SSL_CIPHER) *ssl_bytes_to_cipher_list(SSL *s,unsigned char *p,int num,
+ STACK_OF(SSL_CIPHER) **skp);
+int ssl_cipher_list_to_bytes(SSL *s,STACK_OF(SSL_CIPHER) *sk,unsigned char *p);
+STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_METHOD *meth,
+ STACK_OF(SSL_CIPHER) **pref,
+ STACK_OF(SSL_CIPHER) **sorted,
+ char *str);
void ssl_update_cache(SSL *s, int mode);
int ssl_cipher_get_evp(SSL_SESSION *s, EVP_CIPHER **enc, EVP_MD **md,
SSL_COMP **comp);
-int ssl_verify_cert_chain(SSL *s,STACK *sk);
+int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk);
int ssl_undefined_function(SSL *s);
X509 *ssl_get_server_send_cert(SSL *);
EVP_PKEY *ssl_get_sign_pkey(SSL *,SSL_CIPHER *);
int ssl_cert_type(X509 *x,EVP_PKEY *pkey);
void ssl_set_cert_masks(CERT *c,CERT *default_cert,SSL_CIPHER *cipher);
-STACK *ssl_get_ciphers_by_id(SSL *s);
+STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s);
int ssl_verify_alarm_type(long type);
int ssl2_enc_init(SSL *s, int client);
@@ -432,7 +435,8 @@ void ssl3_finish_mac(SSL *s, unsigned char *buf, int len);
int ssl3_enc(SSL *s, int send_data);
int ssl3_mac(SSL *ssl, unsigned char *md, int send_data);
unsigned long ssl3_output_cert_chain(SSL *s, X509 *x);
-SSL_CIPHER *ssl3_choose_cipher(SSL *ssl,STACK *have,STACK *pref);
+SSL_CIPHER *ssl3_choose_cipher(SSL *ssl,STACK_OF(SSL_CIPHER) *have,
+ STACK_OF(SSL_CIPHER) *pref);
int ssl3_setup_buffers(SSL *s);
int ssl3_new(SSL *s);
void ssl3_free(SSL *s);
@@ -474,8 +478,8 @@ int tls1_alert_code(int code);
int ssl3_alert_code(int code);
int ssl_ok(SSL *s);
-SSL_COMP *ssl3_comp_find(STACK *sk, int n);
-STACK *SSL_COMP_get_compression_methods(void);
+SSL_COMP *ssl3_comp_find(STACK_OF(SSL_COMP) *sk, int n);
+STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
#else
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 341dc63ea2..66bd281d16 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -399,7 +399,7 @@ SSL_SESSION *ss;
memset(ss->session_id,0,SSL_MAX_SSL_SESSION_ID_LENGTH);
if (ss->cert != NULL) ssl_cert_free(ss->cert);
if (ss->peer != NULL) X509_free(ss->peer);
- if (ss->ciphers != NULL) sk_free(ss->ciphers);
+ if (ss->ciphers != NULL) sk_SSL_CIPHER_free(ss->ciphers);
memset(ss,0,sizeof(*ss));
Free(ss);
}
diff --git a/test/Makefile.ssl b/test/Makefile.ssl
index d35926498e..2f3cee59c7 100644
--- a/test/Makefile.ssl
+++ b/test/Makefile.ssl
@@ -305,8 +305,9 @@ bntest.o: ../include/err.h ../include/evp.h ../include/idea.h ../include/md2.h
bntest.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
bntest.o: ../include/opensslv.h ../include/pkcs7.h ../include/rand.h
bntest.o: ../include/rc2.h ../include/rc4.h ../include/rc5.h
-bntest.o: ../include/ripemd.h ../include/rsa.h ../include/sha.h
-bntest.o: ../include/stack.h ../include/x509.h ../include/x509_vfy.h
+bntest.o: ../include/ripemd.h ../include/rsa.h ../include/safestack.h
+bntest.o: ../include/sha.h ../include/stack.h ../include/x509.h
+bntest.o: ../include/x509_vfy.h
casttest.o: ../include/cast.h
destest.o: ../include/des.h
dhtest.o: ../include/bio.h ../include/bn.h ../include/crypto.h ../include/dh.h
@@ -335,7 +336,8 @@ rc4test.o: ../include/rc4.h
rc5test.o: ../include/rc5.h
rmdtest.o: ../include/ripemd.h
rsa_oaep_test.o: ../include/bn.h ../include/crypto.h ../include/e_os.h
-rsa_oaep_test.o: ../include/opensslv.h ../include/rsa.h ../include/stack.h
+rsa_oaep_test.o: ../include/err.h ../include/opensslv.h ../include/rsa.h
+rsa_oaep_test.o: ../include/stack.h
sha1test.o: ../include/sha.h
shatest.o: ../include/sha.h
ssltest.o: ../include/asn1.h ../include/bio.h ../include/blowfish.h
@@ -346,6 +348,7 @@ ssltest.o: ../include/idea.h ../include/lhash.h ../include/md2.h
ssltest.o: ../include/md5.h ../include/mdc2.h ../include/objects.h
ssltest.o: ../include/opensslv.h ../include/pkcs7.h ../include/rc2.h
ssltest.o: ../include/rc4.h ../include/rc5.h ../include/ripemd.h
-ssltest.o: ../include/rsa.h ../include/sha.h ../include/ssl.h ../include/ssl2.h
-ssltest.o: ../include/ssl23.h ../include/ssl3.h ../include/stack.h
-ssltest.o: ../include/tls1.h ../include/x509.h ../include/x509_vfy.h
+ssltest.o: ../include/rsa.h ../include/safestack.h ../include/sha.h
+ssltest.o: ../include/ssl.h ../include/ssl2.h ../include/ssl23.h
+ssltest.o: ../include/ssl3.h ../include/stack.h ../include/tls1.h
+ssltest.o: ../include/x509.h ../include/x509_vfy.h