summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto
diff options
context:
space:
mode:
authordjm <>2006-06-27 05:05:40 +0000
committerdjm <>2006-06-27 05:05:40 +0000
commit0d2f07cb82812dd6f9e33c493104f4c24e5b13a3 (patch)
tree8ac20eef483a8fe34ea158c8866d1cd13a3b1ef6 /src/lib/libcrypto
parentf066a5bf80f84b7400da2dd317782717c26db0e5 (diff)
parent4f828b924f54507141fb95ebe49dfcd261945e85 (diff)
downloadopenbsd-0d2f07cb82812dd6f9e33c493104f4c24e5b13a3.tar.gz
openbsd-0d2f07cb82812dd6f9e33c493104f4c24e5b13a3.tar.bz2
openbsd-0d2f07cb82812dd6f9e33c493104f4c24e5b13a3.zip
This commit was generated by cvs2git to track changes on a CVS vendor
branch.
Diffstat (limited to 'src/lib/libcrypto')
-rw-r--r--src/lib/libcrypto/asn1/Makefile2
-rw-r--r--src/lib/libcrypto/bf/Makefile10
-rw-r--r--src/lib/libcrypto/bio/Makefile2
-rw-r--r--src/lib/libcrypto/bn/Makefile8
-rw-r--r--src/lib/libcrypto/buffer/Makefile2
-rw-r--r--src/lib/libcrypto/cast/Makefile9
-rw-r--r--src/lib/libcrypto/comp/Makefile2
-rw-r--r--src/lib/libcrypto/conf/Makefile2
-rw-r--r--src/lib/libcrypto/des/Makefile2
-rw-r--r--src/lib/libcrypto/dh/Makefile2
-rw-r--r--src/lib/libcrypto/dsa/Makefile2
-rw-r--r--src/lib/libcrypto/dso/Makefile2
-rw-r--r--src/lib/libcrypto/err/Makefile2
-rw-r--r--src/lib/libcrypto/evp/Makefile2
-rw-r--r--src/lib/libcrypto/hmac/Makefile2
-rw-r--r--src/lib/libcrypto/idea/Makefile10
-rw-r--r--src/lib/libcrypto/lhash/Makefile2
-rw-r--r--src/lib/libcrypto/md2/Makefile2
-rw-r--r--src/lib/libcrypto/md4/Makefile2
-rw-r--r--src/lib/libcrypto/md5/Makefile2
-rw-r--r--src/lib/libcrypto/objects/Makefile2
-rw-r--r--src/lib/libcrypto/pem/Makefile2
-rw-r--r--src/lib/libcrypto/pkcs12/Makefile2
-rw-r--r--src/lib/libcrypto/pkcs7/Makefile2
-rw-r--r--src/lib/libcrypto/rand/Makefile2
-rw-r--r--src/lib/libcrypto/rc2/Makefile4
-rw-r--r--src/lib/libcrypto/rc4/Makefile13
-rw-r--r--src/lib/libcrypto/rc4/asm/rc4-ia64.S65
-rw-r--r--src/lib/libcrypto/rc5/Makefile4
-rw-r--r--src/lib/libcrypto/ripemd/Makefile2
-rw-r--r--src/lib/libcrypto/rsa/Makefile36
-rw-r--r--src/lib/libcrypto/sha/Makefile2
-rw-r--r--src/lib/libcrypto/stack/Makefile2
-rw-r--r--src/lib/libcrypto/txt_db/Makefile2
-rw-r--r--src/lib/libcrypto/util/checkhash.pl222
-rw-r--r--src/lib/libcrypto/util/fipslink.pl78
-rw-r--r--src/lib/libcrypto/util/pl/VC-32-GMAKE.pl222
-rw-r--r--src/lib/libcrypto/x509/Makefile2
-rw-r--r--src/lib/libcrypto/x509v3/Makefile2
39 files changed, 649 insertions, 86 deletions
diff --git a/src/lib/libcrypto/asn1/Makefile b/src/lib/libcrypto/asn1/Makefile
index b11298d621..d1c2d8f490 100644
--- a/src/lib/libcrypto/asn1/Makefile
+++ b/src/lib/libcrypto/asn1/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/asn1/Makefile 2# OpenSSL/crypto/asn1/Makefile
3# 3#
4 4
5DIR= asn1 5DIR= asn1
diff --git a/src/lib/libcrypto/bf/Makefile b/src/lib/libcrypto/bf/Makefile
index 0e2121efdc..42e2c050f8 100644
--- a/src/lib/libcrypto/bf/Makefile
+++ b/src/lib/libcrypto/bf/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/blowfish/Makefile 2# OpenSSL/crypto/blowfish/Makefile
3# 3#
4 4
5DIR= bf 5DIR= bf
@@ -110,7 +110,7 @@ bf_enc.o: ../../include/openssl/opensslconf.h bf_enc.c bf_locl.h
110bf_ofb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h 110bf_ofb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
111bf_ofb64.o: ../../include/openssl/opensslconf.h bf_locl.h bf_ofb64.c 111bf_ofb64.o: ../../include/openssl/opensslconf.h bf_locl.h bf_ofb64.c
112bf_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/crypto.h 112bf_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/crypto.h
113bf_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h 113bf_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/fips.h
114bf_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h 114bf_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
115bf_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 115bf_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
116bf_skey.o: bf_locl.h bf_pi.h bf_skey.c 116bf_skey.o: ../../include/openssl/symhacks.h bf_locl.h bf_pi.h bf_skey.c
diff --git a/src/lib/libcrypto/bio/Makefile b/src/lib/libcrypto/bio/Makefile
index 19d9350760..a565154499 100644
--- a/src/lib/libcrypto/bio/Makefile
+++ b/src/lib/libcrypto/bio/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/bio/Makefile 2# OpenSSL/crypto/bio/Makefile
3# 3#
4 4
5DIR= bio 5DIR= bio
diff --git a/src/lib/libcrypto/bn/Makefile b/src/lib/libcrypto/bn/Makefile
index f693d35d87..9969d242cc 100644
--- a/src/lib/libcrypto/bn/Makefile
+++ b/src/lib/libcrypto/bn/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/bn/Makefile 2# OpenSSL/crypto/bn/Makefile
3# 3#
4 4
5DIR= bn 5DIR= bn
@@ -31,12 +31,12 @@ LIB=$(TOP)/libcrypto.a
31LIBSRC= bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c \ 31LIBSRC= bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c \
32 bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \ 32 bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \
33 bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c \ 33 bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c \
34 bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c 34 bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_x931p.c
35 35
36LIBOBJ= bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o \ 36LIBOBJ= bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o \
37 bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \ 37 bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \
38 bn_kron.o bn_sqrt.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o $(BN_ASM) \ 38 bn_kron.o bn_sqrt.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o $(BN_ASM) \
39 bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o 39 bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o bn_x931p.o
40 40
41SRC= $(LIBSRC) 41SRC= $(LIBSRC)
42 42
@@ -329,3 +329,5 @@ bn_word.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
329bn_word.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h 329bn_word.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
330bn_word.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 330bn_word.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
331bn_word.o: ../cryptlib.h bn_lcl.h bn_word.c 331bn_word.o: ../cryptlib.h bn_lcl.h bn_word.c
332bn_x931p.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
333bn_x931p.o: ../../include/openssl/opensslconf.h bn_x931p.c
diff --git a/src/lib/libcrypto/buffer/Makefile b/src/lib/libcrypto/buffer/Makefile
index 3911baf513..4b53c595a3 100644
--- a/src/lib/libcrypto/buffer/Makefile
+++ b/src/lib/libcrypto/buffer/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/buffer/Makefile 2# OpenSSL/crypto/buffer/Makefile
3# 3#
4 4
5DIR= buffer 5DIR= buffer
diff --git a/src/lib/libcrypto/cast/Makefile b/src/lib/libcrypto/cast/Makefile
index 8b0d04bb7c..b388f6271c 100644
--- a/src/lib/libcrypto/cast/Makefile
+++ b/src/lib/libcrypto/cast/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/cast/Makefile 2# OpenSSL/crypto/cast/Makefile
3# 3#
4 4
5DIR= cast 5DIR= cast
@@ -115,6 +115,7 @@ c_ofb64.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
115c_ofb64.o: c_ofb64.c cast_lcl.h 115c_ofb64.o: c_ofb64.c cast_lcl.h
116c_skey.o: ../../e_os.h ../../include/openssl/cast.h 116c_skey.o: ../../e_os.h ../../include/openssl/cast.h
117c_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 117c_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
118c_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 118c_skey.o: ../../include/openssl/fips.h ../../include/openssl/opensslconf.h
119c_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 119c_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
120c_skey.o: ../../include/openssl/symhacks.h c_skey.c cast_lcl.h cast_s.h 120c_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
121c_skey.o: c_skey.c cast_lcl.h cast_s.h
diff --git a/src/lib/libcrypto/comp/Makefile b/src/lib/libcrypto/comp/Makefile
index 68109a8013..df1babec5c 100644
--- a/src/lib/libcrypto/comp/Makefile
+++ b/src/lib/libcrypto/comp/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/comp/Makefile 2# OpenSSL/crypto/comp/Makefile
3# 3#
4 4
5DIR= comp 5DIR= comp
diff --git a/src/lib/libcrypto/conf/Makefile b/src/lib/libcrypto/conf/Makefile
index 6d2f8ffd9a..403d12b28c 100644
--- a/src/lib/libcrypto/conf/Makefile
+++ b/src/lib/libcrypto/conf/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/conf/Makefile 2# OpenSSL/crypto/conf/Makefile
3# 3#
4 4
5DIR= conf 5DIR= conf
diff --git a/src/lib/libcrypto/des/Makefile b/src/lib/libcrypto/des/Makefile
index 655f2ea1a8..800af0b123 100644
--- a/src/lib/libcrypto/des/Makefile
+++ b/src/lib/libcrypto/des/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/des/Makefile 2# OpenSSL/crypto/des/Makefile
3# 3#
4 4
5DIR= des 5DIR= des
diff --git a/src/lib/libcrypto/dh/Makefile b/src/lib/libcrypto/dh/Makefile
index c091a8130a..352678b94a 100644
--- a/src/lib/libcrypto/dh/Makefile
+++ b/src/lib/libcrypto/dh/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/dh/Makefile 2# OpenSSL/crypto/dh/Makefile
3# 3#
4 4
5DIR= dh 5DIR= dh
diff --git a/src/lib/libcrypto/dsa/Makefile b/src/lib/libcrypto/dsa/Makefile
index 3a55058973..4f10278039 100644
--- a/src/lib/libcrypto/dsa/Makefile
+++ b/src/lib/libcrypto/dsa/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/dsa/Makefile 2# OpenSSL/crypto/dsa/Makefile
3# 3#
4 4
5DIR= dsa 5DIR= dsa
diff --git a/src/lib/libcrypto/dso/Makefile b/src/lib/libcrypto/dso/Makefile
index 168951bc3e..c16278c3ff 100644
--- a/src/lib/libcrypto/dso/Makefile
+++ b/src/lib/libcrypto/dso/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/dso/Makefile 2# OpenSSL/crypto/dso/Makefile
3# 3#
4 4
5DIR= dso 5DIR= dso
diff --git a/src/lib/libcrypto/err/Makefile b/src/lib/libcrypto/err/Makefile
index 149f3e0eb9..4adec55302 100644
--- a/src/lib/libcrypto/err/Makefile
+++ b/src/lib/libcrypto/err/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/err/Makefile 2# OpenSSL/crypto/err/Makefile
3# 3#
4 4
5DIR= err 5DIR= err
diff --git a/src/lib/libcrypto/evp/Makefile b/src/lib/libcrypto/evp/Makefile
index 5027a3855a..d1c2a272bb 100644
--- a/src/lib/libcrypto/evp/Makefile
+++ b/src/lib/libcrypto/evp/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/evp/Makefile 2# OpenSSL/crypto/evp/Makefile
3# 3#
4 4
5DIR= evp 5DIR= evp
diff --git a/src/lib/libcrypto/hmac/Makefile b/src/lib/libcrypto/hmac/Makefile
index f634dab79d..3d53d8240f 100644
--- a/src/lib/libcrypto/hmac/Makefile
+++ b/src/lib/libcrypto/hmac/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/md/Makefile 2# OpenSSL/crypto/md/Makefile
3# 3#
4 4
5DIR= hmac 5DIR= hmac
diff --git a/src/lib/libcrypto/idea/Makefile b/src/lib/libcrypto/idea/Makefile
index f652783027..6b8e530d9d 100644
--- a/src/lib/libcrypto/idea/Makefile
+++ b/src/lib/libcrypto/idea/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/idea/Makefile 2# OpenSSL/crypto/idea/Makefile
3# 3#
4 4
5DIR= idea 5DIR= idea
@@ -86,7 +86,7 @@ i_ecb.o: ../../include/openssl/opensslv.h i_ecb.c idea_lcl.h
86i_ofb64.o: ../../include/openssl/idea.h ../../include/openssl/opensslconf.h 86i_ofb64.o: ../../include/openssl/idea.h ../../include/openssl/opensslconf.h
87i_ofb64.o: i_ofb64.c idea_lcl.h 87i_ofb64.o: i_ofb64.c idea_lcl.h
88i_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 88i_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
89i_skey.o: ../../include/openssl/idea.h ../../include/openssl/opensslconf.h 89i_skey.o: ../../include/openssl/fips.h ../../include/openssl/idea.h
90i_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h 90i_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
91i_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h 91i_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
92i_skey.o: i_skey.c idea_lcl.h 92i_skey.o: ../../include/openssl/symhacks.h i_skey.c idea_lcl.h
diff --git a/src/lib/libcrypto/lhash/Makefile b/src/lib/libcrypto/lhash/Makefile
index d325a1644d..cdb0e77fad 100644
--- a/src/lib/libcrypto/lhash/Makefile
+++ b/src/lib/libcrypto/lhash/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/lhash/Makefile 2# OpenSSL/crypto/lhash/Makefile
3# 3#
4 4
5DIR= lhash 5DIR= lhash
diff --git a/src/lib/libcrypto/md2/Makefile b/src/lib/libcrypto/md2/Makefile
index 90628511da..9d0351bb2f 100644
--- a/src/lib/libcrypto/md2/Makefile
+++ b/src/lib/libcrypto/md2/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/md/Makefile 2# OpenSSL/crypto/md/Makefile
3# 3#
4 4
5DIR= md2 5DIR= md2
diff --git a/src/lib/libcrypto/md4/Makefile b/src/lib/libcrypto/md4/Makefile
index 0b7c8d7ad8..eeb457f20f 100644
--- a/src/lib/libcrypto/md4/Makefile
+++ b/src/lib/libcrypto/md4/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/md4/Makefile 2# OpenSSL/crypto/md4/Makefile
3# 3#
4 4
5DIR= md4 5DIR= md4
diff --git a/src/lib/libcrypto/md5/Makefile b/src/lib/libcrypto/md5/Makefile
index 832446fff2..1ed018526f 100644
--- a/src/lib/libcrypto/md5/Makefile
+++ b/src/lib/libcrypto/md5/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/md5/Makefile 2# OpenSSL/crypto/md5/Makefile
3# 3#
4 4
5DIR= md5 5DIR= md5
diff --git a/src/lib/libcrypto/objects/Makefile b/src/lib/libcrypto/objects/Makefile
index e449147129..23b2a69e6d 100644
--- a/src/lib/libcrypto/objects/Makefile
+++ b/src/lib/libcrypto/objects/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/objects/Makefile 2# OpenSSL/crypto/objects/Makefile
3# 3#
4 4
5DIR= objects 5DIR= objects
diff --git a/src/lib/libcrypto/pem/Makefile b/src/lib/libcrypto/pem/Makefile
index f3dfea2ac8..fbc2b5d056 100644
--- a/src/lib/libcrypto/pem/Makefile
+++ b/src/lib/libcrypto/pem/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/pem/Makefile 2# OpenSSL/crypto/pem/Makefile
3# 3#
4 4
5DIR= pem 5DIR= pem
diff --git a/src/lib/libcrypto/pkcs12/Makefile b/src/lib/libcrypto/pkcs12/Makefile
index 854b641f7c..bef4f27912 100644
--- a/src/lib/libcrypto/pkcs12/Makefile
+++ b/src/lib/libcrypto/pkcs12/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/pkcs12/Makefile 2# OpenSSL/crypto/pkcs12/Makefile
3# 3#
4 4
5DIR= pkcs12 5DIR= pkcs12
diff --git a/src/lib/libcrypto/pkcs7/Makefile b/src/lib/libcrypto/pkcs7/Makefile
index f15c65f690..a213ae2227 100644
--- a/src/lib/libcrypto/pkcs7/Makefile
+++ b/src/lib/libcrypto/pkcs7/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/pkcs7/Makefile 2# OpenSSL/crypto/pkcs7/Makefile
3# 3#
4 4
5DIR= pkcs7 5DIR= pkcs7
diff --git a/src/lib/libcrypto/rand/Makefile b/src/lib/libcrypto/rand/Makefile
index 665eaa18e5..b1d1a75f98 100644
--- a/src/lib/libcrypto/rand/Makefile
+++ b/src/lib/libcrypto/rand/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/rand/Makefile 2# OpenSSL/crypto/rand/Makefile
3# 3#
4 4
5DIR= rand 5DIR= rand
diff --git a/src/lib/libcrypto/rc2/Makefile b/src/lib/libcrypto/rc2/Makefile
index 18edaca6c6..34080ab741 100644
--- a/src/lib/libcrypto/rc2/Makefile
+++ b/src/lib/libcrypto/rc2/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/rc2/Makefile 2# OpenSSL/crypto/rc2/Makefile
3# 3#
4 4
5DIR= rc2 5DIR= rc2
@@ -82,7 +82,7 @@ rc2_cbc.o: rc2_cbc.c rc2_locl.h
82rc2_ecb.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h 82rc2_ecb.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
83rc2_ecb.o: ../../include/openssl/rc2.h rc2_ecb.c rc2_locl.h 83rc2_ecb.o: ../../include/openssl/rc2.h rc2_ecb.c rc2_locl.h
84rc2_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 84rc2_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
85rc2_skey.o: ../../include/openssl/opensslconf.h 85rc2_skey.o: ../../include/openssl/fips.h ../../include/openssl/opensslconf.h
86rc2_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc2.h 86rc2_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc2.h
87rc2_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 87rc2_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
88rc2_skey.o: ../../include/openssl/symhacks.h rc2_locl.h rc2_skey.c 88rc2_skey.o: ../../include/openssl/symhacks.h rc2_locl.h rc2_skey.c
diff --git a/src/lib/libcrypto/rc4/Makefile b/src/lib/libcrypto/rc4/Makefile
index 64e06924f4..20d078ec87 100644
--- a/src/lib/libcrypto/rc4/Makefile
+++ b/src/lib/libcrypto/rc4/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/rc4/Makefile 2# OpenSSL/crypto/rc4/Makefile
3# 3#
4 4
5DIR= rc4 5DIR= rc4
@@ -66,10 +66,14 @@ asm/rx86bsdi.o: asm/rx86unix.cpp
66asm/rx86unix.cpp: asm/rc4-586.pl ../perlasm/x86asm.pl 66asm/rx86unix.cpp: asm/rc4-586.pl ../perlasm/x86asm.pl
67 (cd asm; $(PERL) rc4-586.pl cpp >rx86unix.cpp) 67 (cd asm; $(PERL) rc4-586.pl cpp >rx86unix.cpp)
68 68
69asm/rc4-amd64.s: asm/rc4-amd64.pl; $(PERL) asm/rc4-amd64.pl $@ 69asm/rc4-x86_64.s: asm/rc4-x86_64.pl; $(PERL) asm/rc4-x86_64.pl $@
70 70
71asm/rc4-ia64.s: asm/rc4-ia64.S 71asm/rc4-ia64.s: asm/rc4-ia64.S
72 $(CC) $(CFLAGS) -E asm/rc4-ia64.S > $@ 72 @case `awk '/^#define RC4_INT/{print$$NF}' $(TOP)/include/openssl/opensslconf.h` in \
73 int) set -x; $(CC) $(CFLAGS) -DSZ=4 -E asm/rc4-ia64.S > $@ ;; \
74 char) set -x; $(CC) $(CFLAGS) -DSZ=1 -E asm/rc4-ia64.S > $@ ;; \
75 *) exit 1 ;; \
76 esac
73 77
74files: 78files:
75 $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO 79 $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
@@ -116,7 +120,8 @@ rc4_enc.o: ../../include/openssl/symhacks.h ../cryptlib.h rc4_enc.c rc4_locl.h
116rc4_skey.o: ../../e_os.h ../../include/openssl/bio.h 120rc4_skey.o: ../../e_os.h ../../include/openssl/bio.h
117rc4_skey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h 121rc4_skey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
118rc4_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h 122rc4_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
119rc4_skey.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h 123rc4_skey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
124rc4_skey.o: ../../include/openssl/opensslconf.h
120rc4_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc4.h 125rc4_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc4.h
121rc4_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 126rc4_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
122rc4_skey.o: ../../include/openssl/symhacks.h ../cryptlib.h rc4_locl.h 127rc4_skey.o: ../../include/openssl/symhacks.h ../cryptlib.h rc4_locl.h
diff --git a/src/lib/libcrypto/rc4/asm/rc4-ia64.S b/src/lib/libcrypto/rc4/asm/rc4-ia64.S
index b517d2e88f..a322d0c718 100644
--- a/src/lib/libcrypto/rc4/asm/rc4-ia64.S
+++ b/src/lib/libcrypto/rc4/asm/rc4-ia64.S
@@ -7,7 +7,7 @@
7// disclaimed. 7// disclaimed.
8// ==================================================================== 8// ====================================================================
9 9
10.ident "rc4-ia64.S, Version 1.1" 10.ident "rc4-ia64.S, Version 2.0"
11.ident "IA-64 ISA artwork by Andy Polyakov <appro@fy.chalmers.se>" 11.ident "IA-64 ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
12 12
13// What's wrong with compiler generated code? Because of the nature of 13// What's wrong with compiler generated code? Because of the nature of
@@ -27,17 +27,10 @@
27// Legitimate "collisions" do occur within every 256^2 bytes window. 27// Legitimate "collisions" do occur within every 256^2 bytes window.
28// Fortunately there're enough free instruction slots to keep prior 28// Fortunately there're enough free instruction slots to keep prior
29// reference to key[x+1], detect "collision" and compensate for it. 29// reference to key[x+1], detect "collision" and compensate for it.
30// All this without sacrificing a single clock cycle:-) 30// All this without sacrificing a single clock cycle:-) Throughput is
31// Furthermore. In order to compress loop body to the minimum, I chose 31// ~210MBps on 900MHz CPU, which is is >3x faster than gcc generated
32// to deploy deposit instruction, which substitutes for the whole 32// code and +30% - if compared to HP-UX C. Unrolling loop below should
33// key->data+((x&255)<<log2(sizeof(key->data[0]))). This unfortunately 33// give >30% on top of that...
34// requires key->data to be aligned at sizeof(key->data) boundary.
35// This is why you'll find "RC4_INT pad[512-256-2];" addenum to RC4_KEY
36// and "d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));" in
37// rc4_skey.c [and rc4_enc.c, where it's retained for debugging
38// purposes]. Throughput is ~210MBps on 900MHz CPU, which is is >3x
39// faster than gcc generated code and +30% - if compared to HP-UX C.
40// Unrolling loop below should give >30% on top of that...
41 34
42.text 35.text
43.explicit 36.explicit
@@ -48,7 +41,9 @@
48# define ADDP add 41# define ADDP add
49#endif 42#endif
50 43
44#ifndef SZ
51#define SZ 4 // this is set to sizeof(RC4_INT) 45#define SZ 4 // this is set to sizeof(RC4_INT)
46#endif
52// SZ==4 seems to be optimal. At least SZ==8 is not any faster, not for 47// SZ==4 seems to be optimal. At least SZ==8 is not any faster, not for
53// assembler implementation, while SZ==1 code is ~30% slower. 48// assembler implementation, while SZ==1 code is ~30% slower.
54#if SZ==1 // RC4_INT is unsigned char 49#if SZ==1 // RC4_INT is unsigned char
@@ -101,45 +96,53 @@ RC4:
101 ADDP out=0,in3 96 ADDP out=0,in3
102 brp.loop.imp .Ltop,.Lexit-16 };; 97 brp.loop.imp .Ltop,.Lexit-16 };;
103{ .mmi; LDKEY yy=[key] // load key->y 98{ .mmi; LDKEY yy=[key] // load key->y
104 add ksch=(255+1)*SZ,key // as ksch will be used with 99 add ksch=SZ,key
105 // deposit instruction only,
106 // I don't have to &~255...
107 mov ar.lc=in1 } 100 mov ar.lc=in1 }
108{ .mmi; mov key_y[1]=r0 // guarantee inequality 101{ .mmi; mov key_y[1]=r0 // guarantee inequality
109 // in first iteration 102 // in first iteration
110 add xx=1,xx 103 add xx=1,xx
111 mov pr.rot=1<<16 };; 104 mov pr.rot=1<<16 };;
112{ .mii; nop.m 0 105{ .mii; nop.m 0
113 dep key_x[1]=xx,ksch,OFF,8 106 dep key_x[1]=xx,r0,OFF,8
114 mov ar.ec=3 };; // note that epilogue counter 107 mov ar.ec=3 };; // note that epilogue counter
115 // is off by 1. I compensate 108 // is off by 1. I compensate
116 // for this at exit... 109 // for this at exit...
117.Ltop: 110.Ltop:
118// The loop is scheduled for 3*(n+2) spin-rate on Itanium 2, which 111// The loop is scheduled for 4*(n+2) spin-rate on Itanium 2, which
119// theoretically gives asymptotic performance of clock frequency 112// theoretically gives asymptotic performance of clock frequency
120// divided by 3 bytes per seconds, or 500MBps on 1.5GHz CPU. Measured 113// divided by 4 bytes per seconds, or 400MBps on 1.6GHz CPU. This is
121// performance however is distinctly lower than 1/4:-( The culplrit 114// for sizeof(RC4_INT)==4. For smaller RC4_INT STKEY inadvertently
122// seems to be *(out++)=dat, which inadvertently splits the bundle, 115// splits the last bundle and you end up with 5*n spin-rate:-(
123// even though there is M-port available... Unrolling is due... 116// Originally the loop was scheduled for 3*n and relied on key
124// Unrolled loop should collect output with variable shift instruction 117// schedule to be aligned at 256*sizeof(RC4_INT) boundary. But
125// in order to avoid starvation for integer shifter... It should be 118// *(out++)=dat, which maps to st1, had same effect [inadvertent
126// possible to get pretty close to theoretical peak... 119// bundle split] and holded the loop back. Rescheduling for 4*n
127{ .mmi; (p16) LDKEY tx[0]=[key_x[1]] // tx=key[xx] 120// made it possible to eliminate dependence on specific alignment
128 (p17) LDKEY ty[0]=[key_y[1]] // ty=key[yy] 121// and allow OpenSSH keep "abusing" our API. Reaching for 3*n would
129 (p18) dep rnd[1]=rnd[1],ksch,OFF,8} // &key[(tx+ty)&255] 122// require unrolling, sticking to variable shift instruction for
123// collecting output [to avoid starvation for integer shifter] and
124// copying of key schedule to controlled place in stack [so that
125// deposit instruction can serve as substitute for whole
126// key->data+((x&255)<<log2(sizeof(key->data[0])))]...
130{ .mmi; (p19) st1 [out]=dat[3],1 // *(out++)=dat 127{ .mmi; (p19) st1 [out]=dat[3],1 // *(out++)=dat
131 (p16) add xx=1,xx // x++ 128 (p16) add xx=1,xx // x++
132 (p16) cmp.ne.unc p20,p21=key_x[1],key_y[1] };; 129 (p18) dep rnd[1]=rnd[1],r0,OFF,8 } // ((tx+ty)&255)<<OFF
130{ .mmi; (p16) add key_x[1]=ksch,key_x[1] // &key[xx&255]
131 (p17) add key_y[1]=ksch,key_y[1] };; // &key[yy&255]
132{ .mmi; (p16) LDKEY tx[0]=[key_x[1]] // tx=key[xx]
133 (p17) LDKEY ty[0]=[key_y[1]] // ty=key[yy]
134 (p16) dep key_x[0]=xx,r0,OFF,8 } // (xx&255)<<OFF
135{ .mmi; (p18) add rnd[1]=ksch,rnd[1] // &key[(tx+ty)&255]
136 (p16) cmp.ne.unc p20,p21=key_x[1],key_y[1] };;
133{ .mmi; (p18) LDKEY rnd[1]=[rnd[1]] // rnd=key[(tx+ty)&255] 137{ .mmi; (p18) LDKEY rnd[1]=[rnd[1]] // rnd=key[(tx+ty)&255]
134 (p16) ld1 dat[0]=[inp],1 // dat=*(inp++) 138 (p16) ld1 dat[0]=[inp],1 } // dat=*(inp++)
135 (p16) dep key_x[0]=xx,ksch,OFF,8 } // &key[xx&255]
136.pred.rel "mutex",p20,p21 139.pred.rel "mutex",p20,p21
137{ .mmi; (p21) add yy=yy,tx[1] // (p16) 140{ .mmi; (p21) add yy=yy,tx[1] // (p16)
138 (p20) add yy=yy,tx[0] // (p16) y+=tx 141 (p20) add yy=yy,tx[0] // (p16) y+=tx
139 (p21) mov tx[0]=tx[1] };; // (p16) 142 (p21) mov tx[0]=tx[1] };; // (p16)
140{ .mmi; (p17) STKEY [key_y[1]]=tx[1] // key[yy]=tx 143{ .mmi; (p17) STKEY [key_y[1]]=tx[1] // key[yy]=tx
141 (p17) STKEY [key_x[2]]=ty[0] // key[xx]=ty 144 (p17) STKEY [key_x[2]]=ty[0] // key[xx]=ty
142 (p16) dep key_y[0]=yy,ksch,OFF,8 } // &key[yy&255] 145 (p16) dep key_y[0]=yy,r0,OFF,8 } // &key[yy&255]
143{ .mmb; (p17) add rnd[0]=tx[1],ty[0] // tx+=ty 146{ .mmb; (p17) add rnd[0]=tx[1],ty[0] // tx+=ty
144 (p18) xor dat[2]=dat[2],rnd[1] // dat^=rnd 147 (p18) xor dat[2]=dat[2],rnd[1] // dat^=rnd
145 br.ctop.sptk .Ltop };; 148 br.ctop.sptk .Ltop };;
diff --git a/src/lib/libcrypto/rc5/Makefile b/src/lib/libcrypto/rc5/Makefile
index 3a8d309b29..16e6a60017 100644
--- a/src/lib/libcrypto/rc5/Makefile
+++ b/src/lib/libcrypto/rc5/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/rc5/Makefile 2# OpenSSL/crypto/rc5/Makefile
3# 3#
4 4
5DIR= rc5 5DIR= rc5
@@ -102,7 +102,7 @@ rc5_ecb.o: ../../include/openssl/opensslv.h ../../include/openssl/rc5.h
102rc5_ecb.o: rc5_ecb.c rc5_locl.h 102rc5_ecb.o: rc5_ecb.c rc5_locl.h
103rc5_enc.o: ../../include/openssl/rc5.h rc5_enc.c rc5_locl.h 103rc5_enc.o: ../../include/openssl/rc5.h rc5_enc.c rc5_locl.h
104rc5_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h 104rc5_skey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
105rc5_skey.o: ../../include/openssl/opensslconf.h 105rc5_skey.o: ../../include/openssl/fips.h ../../include/openssl/opensslconf.h
106rc5_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc5.h 106rc5_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/rc5.h
107rc5_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 107rc5_skey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
108rc5_skey.o: ../../include/openssl/symhacks.h rc5_locl.h rc5_skey.c 108rc5_skey.o: ../../include/openssl/symhacks.h rc5_locl.h rc5_skey.c
diff --git a/src/lib/libcrypto/ripemd/Makefile b/src/lib/libcrypto/ripemd/Makefile
index dc086e3434..20c8b4d8db 100644
--- a/src/lib/libcrypto/ripemd/Makefile
+++ b/src/lib/libcrypto/ripemd/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/ripemd/Makefile 2# OpenSSL/crypto/ripemd/Makefile
3# 3#
4 4
5DIR= ripemd 5DIR= ripemd
diff --git a/src/lib/libcrypto/rsa/Makefile b/src/lib/libcrypto/rsa/Makefile
index 5748b0d3d0..8851825250 100644
--- a/src/lib/libcrypto/rsa/Makefile
+++ b/src/lib/libcrypto/rsa/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/rsa/Makefile 2# OpenSSL/crypto/rsa/Makefile
3# 3#
4 4
5DIR= rsa 5DIR= rsa
@@ -24,10 +24,10 @@ APPS=
24LIB=$(TOP)/libcrypto.a 24LIB=$(TOP)/libcrypto.a
25LIBSRC= rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c \ 25LIBSRC= rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c \
26 rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c \ 26 rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c \
27 rsa_asn1.c 27 rsa_pss.c rsa_x931.c rsa_asn1.c
28LIBOBJ= rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o \ 28LIBOBJ= rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o \
29 rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o rsa_chk.o rsa_null.o \ 29 rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o rsa_chk.o rsa_null.o \
30 rsa_asn1.o 30 rsa_pss.o rsa_x931.o rsa_asn1.o
31 31
32SRC= $(LIBSRC) 32SRC= $(LIBSRC)
33 33
@@ -184,6 +184,26 @@ rsa_pk1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
184rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h 184rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
185rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 185rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
186rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c 186rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c
187rsa_pss.o: ../../e_os.h ../../include/openssl/aes.h
188rsa_pss.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
189rsa_pss.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
190rsa_pss.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
191rsa_pss.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
192rsa_pss.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h
193rsa_pss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
194rsa_pss.o: ../../include/openssl/err.h ../../include/openssl/evp.h
195rsa_pss.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
196rsa_pss.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
197rsa_pss.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
198rsa_pss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
199rsa_pss.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
200rsa_pss.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
201rsa_pss.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
202rsa_pss.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
203rsa_pss.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
204rsa_pss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
205rsa_pss.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
206rsa_pss.o: ../../include/openssl/ui_compat.h ../cryptlib.h rsa_pss.c
187rsa_saos.o: ../../e_os.h ../../include/openssl/aes.h 207rsa_saos.o: ../../e_os.h ../../include/openssl/aes.h
188rsa_saos.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h 208rsa_saos.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
189rsa_saos.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h 209rsa_saos.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
@@ -237,3 +257,13 @@ rsa_ssl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
237rsa_ssl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h 257rsa_ssl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
238rsa_ssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h 258rsa_ssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
239rsa_ssl.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_ssl.c 259rsa_ssl.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_ssl.c
260rsa_x931.o: ../../e_os.h ../../include/openssl/asn1.h
261rsa_x931.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
262rsa_x931.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
263rsa_x931.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
264rsa_x931.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
265rsa_x931.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
266rsa_x931.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
267rsa_x931.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
268rsa_x931.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
269rsa_x931.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_x931.c
diff --git a/src/lib/libcrypto/sha/Makefile b/src/lib/libcrypto/sha/Makefile
index 0426786aa0..46103bbc83 100644
--- a/src/lib/libcrypto/sha/Makefile
+++ b/src/lib/libcrypto/sha/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/sha/Makefile 2# OpenSSL/crypto/sha/Makefile
3# 3#
4 4
5DIR= sha 5DIR= sha
diff --git a/src/lib/libcrypto/stack/Makefile b/src/lib/libcrypto/stack/Makefile
index 4d5199a000..711b16832a 100644
--- a/src/lib/libcrypto/stack/Makefile
+++ b/src/lib/libcrypto/stack/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/stack/Makefile 2# OpenSSL/crypto/stack/Makefile
3# 3#
4 4
5DIR= stack 5DIR= stack
diff --git a/src/lib/libcrypto/txt_db/Makefile b/src/lib/libcrypto/txt_db/Makefile
index f91a08f006..3cb550a795 100644
--- a/src/lib/libcrypto/txt_db/Makefile
+++ b/src/lib/libcrypto/txt_db/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/txt_db/Makefile 2# OpenSSL/crypto/txt_db/Makefile
3# 3#
4 4
5DIR= txt_db 5DIR= txt_db
diff --git a/src/lib/libcrypto/util/checkhash.pl b/src/lib/libcrypto/util/checkhash.pl
new file mode 100644
index 0000000000..c61fa72178
--- /dev/null
+++ b/src/lib/libcrypto/util/checkhash.pl
@@ -0,0 +1,222 @@
1#!/usr/bin/env perl -w
2
3my $package = caller;
4
5if (!(defined $package))
6 {
7 my $retval = check_hashes(@ARGV);
8 exit $retval;
9 }
10
111;
12
13sub check_hashes
14 {
15
16 my @args = @_;
17
18 my $change_dir = "";
19 my $check_program = "sha/fips_standalone_sha1";
20
21 my $verbose = 0;
22 my $badfiles = 0;
23 my $rebuild = 0;
24 my $force_rewrite = 0;
25 my $hash_file = "fipshashes.c";
26 my $recurse = 0;
27
28 my @fingerprint_files;
29
30 while (@args)
31 {
32 my $arg = $args[0];
33 if ($arg eq "-chdir")
34 {
35 shift @args;
36 $change_dir = shift @args;
37 }
38 elsif ($arg eq "-rebuild")
39 {
40 shift @args;
41 $rebuild = 1;
42 }
43 elsif ($arg eq "-verbose")
44 {
45 shift @args;
46 $verbose = 1;
47 }
48 elsif ($arg eq "-force-rewrite")
49 {
50 shift @args;
51 $force_rewrite = 1;
52 }
53 elsif ($arg eq "-hash_file")
54 {
55 shift @args;
56 $hash_file = shift @args;
57 }
58 elsif ($arg eq "-recurse")
59 {
60 shift @args;
61 $recurse = 1;
62 }
63 elsif ($arg eq "-program_path")
64 {
65 shift @args;
66 $check_program = shift @args;
67 }
68 else
69 {
70 print STDERR "Unknown Option $arg";
71 return 1;
72 }
73
74 }
75
76 chdir $change_dir if $change_dir ne "";
77
78 if ($recurse)
79 {
80 @fingerprint_files = ("fingerprint.sha1",
81 <*/fingerprint.sha1>);
82 }
83 else
84 {
85 push @fingerprint_files, $hash_file;
86 }
87
88 foreach $fp (@fingerprint_files)
89 {
90 if (!open(IN, "$fp"))
91 {
92 print STDERR "Can't open file $fp";
93 return 1;
94 }
95 print STDERR "Opening Fingerprint file $fp\n" if $verbose;
96 my $dir = $fp;
97 $dir =~ s/[^\/]*$//;
98 while (<IN>)
99 {
100 chomp;
101 if (!(($file, $hash) = /^\"HMAC-SHA1\((.*)\)\s*=\s*(\w*)\",$/))
102 {
103 /^\"/ || next;
104 print STDERR "FATAL: Invalid syntax in file $fp\n";
105 print STDERR "Line:\n$_\n";
106 fatal_error();
107 return 1;
108 }
109 if (!$rebuild && length($hash) != 40)
110 {
111 print STDERR "FATAL: Invalid hash length in $fp for file $file\n";
112 fatal_error();
113 return 1;
114 }
115 push @hashed_files, "$dir$file";
116 if (exists $hashes{"$dir$file"})
117 {
118 print STDERR "FATAL: Duplicate Hash file $dir$file\n";
119 fatal_error();
120 return 1;
121 }
122 if (! -r "$dir$file")
123 {
124 print STDERR "FATAL: Can't access $dir$file\n";
125 fatal_error();
126 return 1;
127 }
128 $hashes{"$dir$file"} = $hash;
129 }
130 close IN;
131 }
132
133 @checked_hashes = `$check_program @hashed_files`;
134
135 if ($? != 0)
136 {
137 print STDERR "Error running hash program $check_program\n";
138 fatal_error();
139 return 1;
140 }
141
142 if (@checked_hashes != @hashed_files)
143 {
144 print STDERR "FATAL: hash count incorrect\n";
145 fatal_error();
146 return 1;
147 }
148
149 foreach (@checked_hashes)
150 {
151 chomp;
152 if (!(($file, $hash) = /^HMAC-SHA1\((.*)\)\s*=\s*(\w*)$/))
153 {
154 print STDERR "FATAL: Invalid syntax in file $fp\n";
155 print STDERR "Line:\n$_\n";
156 fatal_error();
157 return 1;
158 }
159 if (length($hash) != 40)
160 {
161 print STDERR "FATAL: Invalid hash length for file $file\n";
162 fatal_error();
163 return 1;
164 }
165 if ($hash ne $hashes{$file})
166 {
167 if ($rebuild)
168 {
169 print STDERR "Updating hash on file $file\n";
170 $hashes{$file} = $hash;
171 }
172 else
173 {
174 print STDERR "Hash check failed for file $file\n";
175 }
176 $badfiles++;
177 }
178 elsif ($verbose)
179 { print "Hash Check OK for $file\n";}
180 }
181
182
183 if ($badfiles && !$rebuild)
184 {
185 print STDERR "FATAL: hash mismatch on $badfiles files\n";
186 fatal_error();
187 return 1;
188 }
189
190 if ($badfiles || $force_rewrite)
191 {
192 print "Updating Hash file $hash_file\n";
193 if (!open(OUT, ">$hash_file"))
194 {
195 print STDERR "Error rewriting $hash_file";
196 return 1;
197 }
198 print OUT "const char * const FIPS_source_hashes[] = {\n";
199 foreach (@hashed_files)
200 {
201 print OUT "\"HMAC-SHA1($_)= $hashes{$_}\",\n";
202 }
203 print OUT "};\n";
204 close OUT;
205 }
206
207 if (!$badfiles)
208 {
209 print "FIPS hash check successful\n";
210 }
211
212 return 0;
213
214 }
215
216
217sub fatal_error
218 {
219 print STDERR "*** Your source code does not match the FIPS validated source ***\n";
220 }
221
222
diff --git a/src/lib/libcrypto/util/fipslink.pl b/src/lib/libcrypto/util/fipslink.pl
new file mode 100644
index 0000000000..a893833c5c
--- /dev/null
+++ b/src/lib/libcrypto/util/fipslink.pl
@@ -0,0 +1,78 @@
1#!/usr/bin/perl
2
3sub check_env
4 {
5 my @ret;
6 foreach (@_)
7 {
8 die "Environment variable $_ not defined!\n" unless exists $ENV{$_};
9 push @ret, $ENV{$_};
10 }
11 return @ret;
12 }
13
14
15my ($fips_cc,$fips_cc_args, $fips_link,$fips_target, $fips_libdir, $sha1_exe)
16 = check_env("FIPS_CC", "FIPS_CC_ARGS", "FIPS_LINK", "FIPS_TARGET",
17 "FIPSLIB_D", "FIPS_SHA1_EXE");
18
19
20
21if (exists $ENV{"PREMAIN_DSO_EXE"})
22 {
23 $fips_premain_dso = $ENV{"PREMAIN_DSO_EXE"};
24 }
25 else
26 {
27 $fips_premain_dso = "";
28 }
29
30check_hash($sha1_exe, "fips_premain.c");
31check_hash($sha1_exe, "fipscanister.o");
32
33
34print "Integrity check OK\n";
35
36print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n";
37system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c";
38die "First stage Compile failure" if $? != 0;
39
40print "$fips_link @ARGV\n";
41system "$fips_link @ARGV";
42die "First stage Link failure" if $? != 0;
43
44
45print "$fips_premain_dso $fips_target\n";
46$fips_hash=`$fips_premain_dso $fips_target`;
47chomp $fips_hash;
48die "Get hash failure" if $? != 0;
49
50
51print "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c\n";
52system "$fips_cc -DHMAC_SHA1_SIG=\\\"$fips_hash\\\" $fips_cc_args $fips_libdir/fips_premain.c";
53die "Second stage Compile failure" if $? != 0;
54
55
56print "$fips_link @ARGV\n";
57system "$fips_link @ARGV";
58die "Second stage Link failure" if $? != 0;
59
60sub check_hash
61 {
62 my ($sha1_exe, $filename) = @_;
63 my ($hashfile, $hashval);
64
65 open(IN, "${fips_libdir}/${filename}.sha1") || die "Cannot open file hash file ${fips_libdir}/${filename}.sha1";
66 $hashfile = <IN>;
67 close IN;
68 $hashval = `$sha1_exe ${fips_libdir}/$filename`;
69 chomp $hashfile;
70 chomp $hashval;
71 $hashfile =~ s/^.*=\s+//;
72 $hashval =~ s/^.*=\s+//;
73 die "Invalid hash syntax in file" if (length($hashfile) != 40);
74 die "Invalid hash received for file" if (length($hashval) != 40);
75 die "***HASH VALUE MISMATCH FOR FILE $filename ***" if ($hashval ne $hashfile);
76 }
77
78
diff --git a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl
new file mode 100644
index 0000000000..b5bbcac6c2
--- /dev/null
+++ b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl
@@ -0,0 +1,222 @@
1#!/usr/local/bin/perl
2# VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries
3#
4
5
6if ($fips && !$shlib)
7 {
8 $crypto="libeayfips32";
9 $crypto_compat = "libeaycompat32.lib";
10 }
11else
12 {
13 $crypto="libeay32";
14 }
15$ssl= "ssleay32";
16
17$o='/';
18#$cp='copy nul+'; # Timestamps get stuffed otherwise
19#$rm='del';
20
21$cp='cp';
22$rm='rm';
23
24$zlib_lib="zlib1.lib";
25
26# C compiler stuff
27$cc='cl';
28$cflags=' -MD -W3 -WX -Ox -O2 -Ob2 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
29$cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8
30$cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8
31$lflags="-nologo -subsystem:console -machine:I386 -opt:ref";
32$mlflags='';
33
34$out_def="gmout32";
35$tmp_def="gmtmp32";
36$inc_def="gminc32";
37
38if ($debug)
39 {
40 $cflags=" -MDd -W3 -WX -Zi -Yd -Od -nologo -DOPENSSL_SYSNAME_WIN32 -D_DEBUG -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DDEBUG -DDSO_WIN32";
41 $lflags.=" -debug";
42 $mlflags.=' -debug';
43 }
44$cflags .= " -DOPENSSL_SYSNAME_WINNT" if $NT == 1;
45
46$obj='.obj';
47$ofile="-Fo";
48
49# EXE linking stuff
50$link="link";
51$efile="-out:";
52$exep='.exe';
53if ($no_sock)
54 { $ex_libs=""; }
55else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; }
56
57# static library stuff
58$mklib='lib';
59$ranlib='';
60$plib="";
61$libp=".lib";
62$shlibp=($shlib)?".dll":".lib";
63$lfile='-out:';
64
65$shlib_ex_obj="";
66$app_ex_obj="setargv.obj";
67if ($nasm) {
68 $asm='nasmw -f win32';
69 $afile='-o ';
70} else {
71 $asm='ml -Cp -coff -c -Cx';
72 $asm.=" -Zi" if $debug;
73 $afile='-Fo';
74}
75
76$bn_asm_obj='';
77$bn_asm_src='';
78$des_enc_obj='';
79$des_enc_src='';
80$bf_enc_obj='';
81$bf_enc_src='';
82
83if (!$no_asm && !$fips)
84 {
85 $bn_asm_obj='crypto/bn/asm/bn_win32.obj';
86 $bn_asm_src='crypto/bn/asm/bn_win32.asm';
87 $des_enc_obj='crypto/des/asm/d_win32.obj crypto/des/asm/y_win32.obj';
88 $des_enc_src='crypto/des/asm/d_win32.asm crypto/des/asm/y_win32.asm';
89 $bf_enc_obj='crypto/bf/asm/b_win32.obj';
90 $bf_enc_src='crypto/bf/asm/b_win32.asm';
91 $cast_enc_obj='crypto/cast/asm/c_win32.obj';
92 $cast_enc_src='crypto/cast/asm/c_win32.asm';
93 $rc4_enc_obj='crypto/rc4/asm/r4_win32.obj';
94 $rc4_enc_src='crypto/rc4/asm/r4_win32.asm';
95 $rc5_enc_obj='crypto/rc5/asm/r5_win32.obj';
96 $rc5_enc_src='crypto/rc5/asm/r5_win32.asm';
97 $md5_asm_obj='crypto/md5/asm/m5_win32.obj';
98 $md5_asm_src='crypto/md5/asm/m5_win32.asm';
99 $sha1_asm_obj='crypto/sha/asm/s1_win32.obj';
100 $sha1_asm_src='crypto/sha/asm/s1_win32.asm';
101 $rmd160_asm_obj='crypto/ripemd/asm/rm_win32.obj';
102 $rmd160_asm_src='crypto/ripemd/asm/rm_win32.asm';
103 $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
104 }
105
106if ($shlib)
107 {
108 $mlflags.=" $lflags -dll";
109# $cflags =~ s| -MD| -MT|;
110 $lib_cflag=" -D_WINDLL";
111 $out_def="gmout32dll";
112 $tmp_def="gmtmp32dll";
113 }
114
115$cflags.=" -Fd$out_def";
116
117sub do_lib_rule
118 {
119 local($objs,$target,$name,$shlib,$ign,$base_addr, $fips_get_sig, $fips_premain_src)=@_;
120 local($ret,$Name);
121
122 $taget =~ s/\//$o/g if $o ne '/';
123 ($Name=$name) =~ tr/a-z/A-Z/;
124 my $base_arg;
125 if ($base_addr ne "")
126 {
127 $base_arg= " -base:$base_addr";
128 }
129 else
130 {
131 $base_arg = "";
132 }
133
134
135# $target="\$(LIB_D)$o$target";
136 if (!$shlib)
137 {
138# $ret.="\t\$(RM) \$(O_$Name)\n";
139 $ret.="$target: $objs\n";
140 $ex =' advapi32.lib';
141 $ret.="\t\$(MKLIB) $lfile$target $objs $ex\n\n";
142 }
143 else
144 {
145 local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
146 $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib';
147 $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;
148 if (defined $fips_get_sig)
149 {
150 $ret.="$target: \$(O_FIPSCANISTER) $objs $fips_get_sig\n";
151 $ret.="\tFIPS_LINK=\$(LINK) ";
152 $ret.="FIPS_CC=\$(CC) ";
153 $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" ";
154 $ret.="FIPS_PREMAIN_DSO=$fips_get_sig ";
155 $ret.="FIPS_TARGET=$target ";
156 $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) ";
157 $ret.="\$(FIPSLINK) \$(MLFLAGS) $base_arg $efile$target ";
158 $ret.="-def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs ";
159 $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n\n";
160 }
161 else
162 {
163 $ret.="$target: $objs\n";
164 $ret.="\t\$(LINK) \$(MLFLAGS) $base_arg $efile$target /def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs $ex\n\n";
165 }
166 }
167 $ret.="\n";
168 return($ret);
169 }
170
171sub do_link_rule
172 {
173 local($target,$files,$dep_libs,$libs,$standalone)=@_;
174 local($ret,$_);
175 $file =~ s/\//$o/g if $o ne '/';
176 $n=&bname($targer);
177 if ($standalone)
178 {
179 $ret.="$target: $files $dep_libs\n";
180 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target ";
181 $ret.="$files $libs\n\n";
182 }
183 elsif ($fips && !$shlib)
184 {
185 $ret.="$target: \$(O_FIPSCANISTER) $files $dep_libs\n";
186 $ret.="\tFIPS_LINK=\$(LINK) ";
187 $ret.="FIPS_CC=\$(CC) ";
188 $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" ";
189 $ret.="FIPS_PREMAIN_DSO= ";
190 $ret.="FIPS_TARGET=$target ";
191 $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) ";
192 $ret.=" \$(FIPSLINK) \$(LFLAGS) $efile$target ";
193 $ret.="\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n\n";
194 }
195 else
196 {
197 $ret.="$target: $files $dep_libs\n";
198 $ret.="\t\$(LINK) \$(LFLAGS) $efile$target ";
199 $ret.="\$(APP_EX_OBJ) $files $libs\n\n";
200 }
201 $ret.="\n";
202 return($ret);
203 }
204
205sub do_rlink_rule
206 {
207 local($target,$files,$check_hash, $deps)=@_;
208 local($ret,$_);
209
210 $file =~ s/\//$o/g if $o ne '/';
211 $n=&bname($targer);
212 $ret.="$target: $check_hash $files $deps\n";
213 $ret.="\t\$(PERL) util${o}checkhash.pl -chdir fips-1.0 -program_path ..$o$check_hash\n";
214 $ret.="\t\$(MKCANISTER) $target $files\n";
215 $ret.="\t$check_hash $target > $target.sha1\n";
216 $ret.="\t\$(CP) fips-1.0${o}fips_premain.c \$(FIPSLIB_D)\n";
217 $ret.="\t$check_hash \$(FIPSLIB_D)${o}fips_premain.c > \$(FIPSLIB_D)${o}fips_premain.c.sha1\n\n";
218 return($ret);
219 }
220
221
2221;
diff --git a/src/lib/libcrypto/x509/Makefile b/src/lib/libcrypto/x509/Makefile
index 5fb774f1c7..ee3f8a4a23 100644
--- a/src/lib/libcrypto/x509/Makefile
+++ b/src/lib/libcrypto/x509/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/x509/Makefile 2# OpenSSL/crypto/x509/Makefile
3# 3#
4 4
5DIR= x509 5DIR= x509
diff --git a/src/lib/libcrypto/x509v3/Makefile b/src/lib/libcrypto/x509v3/Makefile
index ed2f91cbb3..49423f39f7 100644
--- a/src/lib/libcrypto/x509v3/Makefile
+++ b/src/lib/libcrypto/x509v3/Makefile
@@ -1,5 +1,5 @@
1# 1#
2# SSLeay/crypto/x509v3/Makefile 2# OpenSSL/crypto/x509v3/Makefile
3# 3#
4 4
5DIR= x509v3 5DIR= x509v3