Add type-safe STACKs and SETs.
diff --git a/crypto/asn1/Makefile.ssl b/crypto/asn1/Makefile.ssl
index 5bf3315..4dbf8ca 100644
--- a/crypto/asn1/Makefile.ssl
+++ b/crypto/asn1/Makefile.ssl
@@ -136,9 +136,9 @@
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 e2280c2..c0002e9 100644
--- a/crypto/asn1/asn1.h
+++ b/crypto/asn1/asn1.h
@@ -485,6 +485,33 @@
 			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 41bf407..3aeedc1 100644
--- a/crypto/asn1/asn1_mac.h
+++ b/crypto/asn1/asn1_mac.h
@@ -180,6 +180,15 @@
 			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 @@
 		{ 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 @@
 			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 @@
 			{ 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 72f5b65..8271c8f 100644
--- a/crypto/asn1/p7_s_e.c
+++ b/crypto/asn1/p7_s_e.c
@@ -76,7 +76,7 @@
 	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 @@
 	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 @@
 		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 @@
 	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 cefa92a..f4d03f8 100644
--- a/crypto/asn1/p7_signd.c
+++ b/crypto/asn1/p7_signd.c
@@ -75,7 +75,7 @@
 	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 @@
 	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 @@
 	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 @@
 	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 acec3c6..712a39f 100644
--- a/crypto/dh/Makefile.ssl
+++ b/crypto/dh/Makefile.ssl
@@ -87,7 +87,7 @@
 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 d45501a..07620d5 100644
--- a/crypto/dsa/Makefile.ssl
+++ b/crypto/dsa/Makefile.ssl
@@ -91,9 +91,10 @@
 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/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 337f873..9df56d4 100644
--- a/crypto/err/Makefile.ssl
+++ b/crypto/err/Makefile.ssl
@@ -89,9 +89,9 @@
 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 54e21c1..0927949 100644
--- a/crypto/evp/Makefile.ssl
+++ b/crypto/evp/Makefile.ssl
@@ -154,9 +154,9 @@
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 60da66a..f6ffab0 100644
--- a/crypto/pem/Makefile.ssl
+++ b/crypto/pem/Makefile.ssl
@@ -112,9 +112,9 @@
 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/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/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/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/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/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 2511724..ff016d5 100644
--- a/crypto/pkcs12/Makefile.ssl
+++ b/crypto/pkcs12/Makefile.ssl
@@ -97,9 +97,10 @@
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 1a38f10..d5331ba 100644
--- a/crypto/pkcs7/Makefile.ssl
+++ b/crypto/pkcs7/Makefile.ssl
@@ -93,9 +93,10 @@
 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/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 88229c0..1b81508 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -650,7 +650,8 @@
 	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 7534f4c..d69f536 100644
--- a/crypto/pkcs7/pk7_lib.c
+++ b/crypto/pkcs7/pk7_lib.c
@@ -250,7 +250,7 @@
 X509 *x509;
 	{
 	int i;
-	STACK **sk;
+	STACK_OF(X509) **sk;
 
 	i=OBJ_obj2nid(p7->type);
 	switch (i)
@@ -267,9 +267,9 @@
 		}
 
 	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 6fcb63b..6038aac 100644
--- a/crypto/pkcs7/pkcs7.h
+++ b/crypto/pkcs7/pkcs7.h
@@ -106,7 +106,7 @@
 	{
 	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 @@
 	{
 	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 3703278..48dcd0c 100644
--- a/crypto/rsa/Makefile.ssl
+++ b/crypto/rsa/Makefile.ssl
@@ -114,9 +114,10 @@
 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/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 0a9d125..0189704 100644
--- a/crypto/stack/Makefile.ssl
+++ b/crypto/stack/Makefile.ssl
@@ -25,7 +25,7 @@
 
 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 0000000..87bc922
--- /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 4b9d095..b9cd45a 100644
--- a/crypto/x509/Makefile.ssl
+++ b/crypto/x509/Makefile.ssl
@@ -104,8 +104,8 @@
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 2f1ca62..0cb6c04 100644
--- a/crypto/x509/x509.h
+++ b/crypto/x509/x509.h
@@ -66,6 +66,7 @@
 
 #include "stack.h"
 #include "asn1.h"
+#include "safestack.h"
 
 #ifndef NO_RSA
 #include "rsa.h"
@@ -155,6 +156,8 @@
 	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 @@
 	char *name;
 	} X509;
 
+DECLARE_STACK_OF(X509)
+DECLARE_ASN1_SET_OF(X509)
+
 typedef struct X509_revoked_st
 	{
 	ASN1_INTEGER *serialNumber;
@@ -870,9 +876,9 @@
 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 7d85018..7dec319 100644
--- a/crypto/x509/x509_cmp.c
+++ b/crypto/x509/x509_cmp.c
@@ -218,7 +218,7 @@
 
 /* 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 @@
 	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 @@
 	}
 
 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 a70ce77..bb913c2 100644
--- a/crypto/x509/x509_lu.c
+++ b/crypto/x509/x509_lu.c
@@ -421,7 +421,7 @@
 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 0d3187d..10f1848 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -112,7 +112,7 @@
 	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 @@
 		}
 
 	/* 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 @@
 					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 @@
 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 @@
 
 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 929045f..e49fb18 100644
--- a/crypto/x509/x509_vfy.h
+++ b/crypto/x509/x509_vfy.h
@@ -192,7 +192,7 @@
 
 	/* 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 @@
 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 @@
 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 1d4347c..ac8690b 100644
--- a/crypto/x509v3/Makefile.ssl
+++ b/crypto/x509v3/Makefile.ssl
@@ -96,9 +96,10 @@
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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