summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/util')
-rw-r--r--src/lib/libcrypto/util/cygwin.sh14
-rw-r--r--src/lib/libcrypto/util/domd10
-rw-r--r--src/lib/libcrypto/util/libeay.num86
-rw-r--r--src/lib/libcrypto/util/mk1mf.pl20
-rw-r--r--src/lib/libcrypto/util/mkdef.pl17
-rw-r--r--src/lib/libcrypto/util/mkerr.pl7
-rw-r--r--src/lib/libcrypto/util/mkfiles.pl10
-rw-r--r--src/lib/libcrypto/util/mklink.pl1
-rw-r--r--src/lib/libcrypto/util/mkstack.pl1
-rw-r--r--src/lib/libcrypto/util/pl/BC-16.pl15
-rw-r--r--src/lib/libcrypto/util/pl/BC-32.pl13
-rw-r--r--src/lib/libcrypto/util/pl/Mingw32.pl11
-rw-r--r--src/lib/libcrypto/util/pl/OS2-EMX.pl11
-rw-r--r--src/lib/libcrypto/util/pl/VC-16.pl13
-rw-r--r--src/lib/libcrypto/util/pl/VC-32.pl11
-rw-r--r--src/lib/libcrypto/util/pl/linux.pl9
-rw-r--r--src/lib/libcrypto/util/pl/ultrix.pl11
-rw-r--r--src/lib/libcrypto/util/pl/unix.pl9
-rw-r--r--src/lib/libcrypto/util/selftest.pl4
19 files changed, 204 insertions, 69 deletions
diff --git a/src/lib/libcrypto/util/cygwin.sh b/src/lib/libcrypto/util/cygwin.sh
index 930f766b4f..7f791d47f4 100644
--- a/src/lib/libcrypto/util/cygwin.sh
+++ b/src/lib/libcrypto/util/cygwin.sh
@@ -21,11 +21,11 @@ function cleanup()
21 21
22function get_openssl_version() 22function get_openssl_version()
23{ 23{
24 eval `grep '^VERSION=' Makefile.ssl` 24 eval `grep '^VERSION=' Makefile`
25 if [ -z "${VERSION}" ] 25 if [ -z "${VERSION}" ]
26 then 26 then
27 echo "Error: Couldn't retrieve OpenSSL version from Makefile.ssl." 27 echo "Error: Couldn't retrieve OpenSSL version from Makefile."
28 echo " Check value of variable VERSION in Makefile.ssl." 28 echo " Check value of variable VERSION in Makefile."
29 exit 1 29 exit 1
30 fi 30 fi
31} 31}
@@ -39,7 +39,7 @@ function base_install()
39 39
40function doc_install() 40function doc_install()
41{ 41{
42 DOC_DIR=${INSTALL_PREFIX}/usr/doc/openssl 42 DOC_DIR=${INSTALL_PREFIX}/usr/share/doc/openssl
43 43
44 mkdir -p ${DOC_DIR} 44 mkdir -p ${DOC_DIR}
45 cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR} 45 cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR}
@@ -49,7 +49,7 @@ function doc_install()
49 49
50function create_cygwin_readme() 50function create_cygwin_readme()
51{ 51{
52 README_DIR=${INSTALL_PREFIX}/usr/doc/Cygwin 52 README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin
53 README_FILE=${README_DIR}/openssl-${VERSION}.README 53 README_FILE=${README_DIR}/openssl-${VERSION}.README
54 54
55 mkdir -p ${README_DIR} 55 mkdir -p ${README_DIR}
@@ -112,8 +112,8 @@ cd ${INSTALL_PREFIX}
112strip usr/bin/*.exe usr/bin/*.dll 112strip usr/bin/*.exe usr/bin/*.dll
113 113
114# Runtime package 114# Runtime package
115find etc usr/bin usr/doc usr/ssl/certs usr/ssl/man/man[157] usr/ssl/misc \ 115find etc usr/bin usr/share/doc usr/ssl/certs usr/ssl/man/man[157] \
116 usr/ssl/openssl.cnf usr/ssl/private -empty -o \! -type d | 116 usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private -empty -o \! -type d |
117tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 - 117tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 -
118# Development package 118# Development package
119find usr/include usr/lib usr/ssl/man/man3 -empty -o \! -type d | 119find usr/include usr/lib usr/ssl/man/man3 -empty -o \! -type d |
diff --git a/src/lib/libcrypto/util/domd b/src/lib/libcrypto/util/domd
index 49310bbdd1..5610521f0b 100644
--- a/src/lib/libcrypto/util/domd
+++ b/src/lib/libcrypto/util/domd
@@ -11,7 +11,7 @@ if [ "$1" = "-MD" ]; then
11fi 11fi
12if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi 12if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
13 13
14cp Makefile.ssl Makefile.save 14cp Makefile Makefile.save
15# fake the presence of Kerberos 15# fake the presence of Kerberos
16touch $TOP/krb5.h 16touch $TOP/krb5.h
17if [ "$MAKEDEPEND" = "gcc" ]; then 17if [ "$MAKEDEPEND" = "gcc" ]; then
@@ -20,15 +20,15 @@ if [ "$MAKEDEPEND" = "gcc" ]; then
20 if [ "$1" != "--" ]; then args="$args $1"; fi 20 if [ "$1" != "--" ]; then args="$args $1"; fi
21 shift 21 shift
22 done 22 done
23 sed -e '/^# DO NOT DELETE.*/,$d' < Makefile.ssl > Makefile.tmp 23 sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
24 echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp 24 echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
25 gcc -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp 25 gcc -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp
26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new 26 ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
27 rm -f Makefile.tmp 27 rm -f Makefile.tmp
28else 28else
29 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND -f Makefile.ssl $@ 29 ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND -f Makefile $@
30 ${PERL} $TOP/util/clean-depend.pl < Makefile.ssl > Makefile.new 30 ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
31fi 31fi
32mv Makefile.new Makefile.ssl 32mv Makefile.new Makefile
33# unfake the presence of Kerberos 33# unfake the presence of Kerberos
34rm $TOP/krb5.h 34rm $TOP/krb5.h
diff --git a/src/lib/libcrypto/util/libeay.num b/src/lib/libcrypto/util/libeay.num
index 203c7713e7..56fb7446e0 100644
--- a/src/lib/libcrypto/util/libeay.num
+++ b/src/lib/libcrypto/util/libeay.num
@@ -284,20 +284,20 @@ EVP_add_alias 291 NOEXIST::FUNCTION:
284EVP_add_cipher 292 EXIST::FUNCTION: 284EVP_add_cipher 292 EXIST::FUNCTION:
285EVP_add_digest 293 EXIST::FUNCTION: 285EVP_add_digest 293 EXIST::FUNCTION:
286EVP_bf_cbc 294 EXIST::FUNCTION:BF 286EVP_bf_cbc 294 EXIST::FUNCTION:BF
287EVP_bf_cfb 295 EXIST::FUNCTION:BF 287EVP_bf_cfb64 295 EXIST::FUNCTION:BF
288EVP_bf_ecb 296 EXIST::FUNCTION:BF 288EVP_bf_ecb 296 EXIST::FUNCTION:BF
289EVP_bf_ofb 297 EXIST::FUNCTION:BF 289EVP_bf_ofb 297 EXIST::FUNCTION:BF
290EVP_cleanup 298 EXIST::FUNCTION: 290EVP_cleanup 298 EXIST::FUNCTION:
291EVP_des_cbc 299 EXIST::FUNCTION:DES 291EVP_des_cbc 299 EXIST::FUNCTION:DES
292EVP_des_cfb 300 EXIST::FUNCTION:DES 292EVP_des_cfb64 300 EXIST::FUNCTION:DES
293EVP_des_ecb 301 EXIST::FUNCTION:DES 293EVP_des_ecb 301 EXIST::FUNCTION:DES
294EVP_des_ede 302 EXIST::FUNCTION:DES 294EVP_des_ede 302 EXIST::FUNCTION:DES
295EVP_des_ede3 303 EXIST::FUNCTION:DES 295EVP_des_ede3 303 EXIST::FUNCTION:DES
296EVP_des_ede3_cbc 304 EXIST::FUNCTION:DES 296EVP_des_ede3_cbc 304 EXIST::FUNCTION:DES
297EVP_des_ede3_cfb 305 EXIST::FUNCTION:DES 297EVP_des_ede3_cfb64 305 EXIST::FUNCTION:DES
298EVP_des_ede3_ofb 306 EXIST::FUNCTION:DES 298EVP_des_ede3_ofb 306 EXIST::FUNCTION:DES
299EVP_des_ede_cbc 307 EXIST::FUNCTION:DES 299EVP_des_ede_cbc 307 EXIST::FUNCTION:DES
300EVP_des_ede_cfb 308 EXIST::FUNCTION:DES 300EVP_des_ede_cfb64 308 EXIST::FUNCTION:DES
301EVP_des_ede_ofb 309 EXIST::FUNCTION:DES 301EVP_des_ede_ofb 309 EXIST::FUNCTION:DES
302EVP_des_ofb 310 EXIST::FUNCTION:DES 302EVP_des_ofb 310 EXIST::FUNCTION:DES
303EVP_desx_cbc 311 EXIST::FUNCTION:DES 303EVP_desx_cbc 311 EXIST::FUNCTION:DES
@@ -308,14 +308,14 @@ EVP_get_cipherbyname 315 EXIST::FUNCTION:
308EVP_get_digestbyname 316 EXIST::FUNCTION: 308EVP_get_digestbyname 316 EXIST::FUNCTION:
309EVP_get_pw_prompt 317 EXIST::FUNCTION: 309EVP_get_pw_prompt 317 EXIST::FUNCTION:
310EVP_idea_cbc 318 EXIST::FUNCTION:IDEA 310EVP_idea_cbc 318 EXIST::FUNCTION:IDEA
311EVP_idea_cfb 319 EXIST::FUNCTION:IDEA 311EVP_idea_cfb64 319 EXIST::FUNCTION:IDEA
312EVP_idea_ecb 320 EXIST::FUNCTION:IDEA 312EVP_idea_ecb 320 EXIST::FUNCTION:IDEA
313EVP_idea_ofb 321 EXIST::FUNCTION:IDEA 313EVP_idea_ofb 321 EXIST::FUNCTION:IDEA
314EVP_md2 322 EXIST::FUNCTION:MD2 314EVP_md2 322 EXIST::FUNCTION:MD2
315EVP_md5 323 EXIST::FUNCTION:MD5 315EVP_md5 323 EXIST::FUNCTION:MD5
316EVP_md_null 324 EXIST::FUNCTION: 316EVP_md_null 324 EXIST::FUNCTION:
317EVP_rc2_cbc 325 EXIST::FUNCTION:RC2 317EVP_rc2_cbc 325 EXIST::FUNCTION:RC2
318EVP_rc2_cfb 326 EXIST::FUNCTION:RC2 318EVP_rc2_cfb64 326 EXIST::FUNCTION:RC2
319EVP_rc2_ecb 327 EXIST::FUNCTION:RC2 319EVP_rc2_ecb 327 EXIST::FUNCTION:RC2
320EVP_rc2_ofb 328 EXIST::FUNCTION:RC2 320EVP_rc2_ofb 328 EXIST::FUNCTION:RC2
321EVP_rc4 329 EXIST::FUNCTION:RC4 321EVP_rc4 329 EXIST::FUNCTION:RC4
@@ -962,7 +962,7 @@ i2t_ASN1_OBJECT 979 EXIST::FUNCTION:
962BN_BLINDING_new 980 EXIST::FUNCTION: 962BN_BLINDING_new 980 EXIST::FUNCTION:
963BN_BLINDING_free 981 EXIST::FUNCTION: 963BN_BLINDING_free 981 EXIST::FUNCTION:
964EVP_cast5_cbc 983 EXIST::FUNCTION:CAST 964EVP_cast5_cbc 983 EXIST::FUNCTION:CAST
965EVP_cast5_cfb 984 EXIST::FUNCTION:CAST 965EVP_cast5_cfb64 984 EXIST::FUNCTION:CAST
966EVP_cast5_ecb 985 EXIST::FUNCTION:CAST 966EVP_cast5_ecb 985 EXIST::FUNCTION:CAST
967EVP_cast5_ofb 986 EXIST::FUNCTION:CAST 967EVP_cast5_ofb 986 EXIST::FUNCTION:CAST
968BF_decrypt 987 EXIST::FUNCTION:BF 968BF_decrypt 987 EXIST::FUNCTION:BF
@@ -1057,7 +1057,7 @@ EVP_CIPHER_param_to_asn1 1084 EXIST::FUNCTION:
1057EVP_CIPHER_get_asn1_iv 1085 EXIST::FUNCTION: 1057EVP_CIPHER_get_asn1_iv 1085 EXIST::FUNCTION:
1058EVP_CIPHER_set_asn1_iv 1086 EXIST::FUNCTION: 1058EVP_CIPHER_set_asn1_iv 1086 EXIST::FUNCTION:
1059EVP_rc5_32_12_16_cbc 1087 EXIST::FUNCTION:RC5 1059EVP_rc5_32_12_16_cbc 1087 EXIST::FUNCTION:RC5
1060EVP_rc5_32_12_16_cfb 1088 EXIST::FUNCTION:RC5 1060EVP_rc5_32_12_16_cfb64 1088 EXIST::FUNCTION:RC5
1061EVP_rc5_32_12_16_ecb 1089 EXIST::FUNCTION:RC5 1061EVP_rc5_32_12_16_ecb 1089 EXIST::FUNCTION:RC5
1062EVP_rc5_32_12_16_ofb 1090 EXIST::FUNCTION:RC5 1062EVP_rc5_32_12_16_ofb 1090 EXIST::FUNCTION:RC5
1063asn1_add_error 1091 EXIST::FUNCTION: 1063asn1_add_error 1091 EXIST::FUNCTION:
@@ -2776,10 +2776,10 @@ ENGINE_load_4758cca 3218 EXIST::FUNCTION:ENGINE
2776_ossl_096_des_random_seed 3219 EXIST::FUNCTION:DES 2776_ossl_096_des_random_seed 3219 EXIST::FUNCTION:DES
2777EVP_aes_256_ofb 3220 EXIST::FUNCTION:AES 2777EVP_aes_256_ofb 3220 EXIST::FUNCTION:AES
2778EVP_aes_192_ofb 3221 EXIST::FUNCTION:AES 2778EVP_aes_192_ofb 3221 EXIST::FUNCTION:AES
2779EVP_aes_128_cfb 3222 EXIST::FUNCTION:AES 2779EVP_aes_128_cfb128 3222 EXIST::FUNCTION:AES
2780EVP_aes_256_cfb 3223 EXIST::FUNCTION:AES 2780EVP_aes_256_cfb128 3223 EXIST::FUNCTION:AES
2781EVP_aes_128_ofb 3224 EXIST::FUNCTION:AES 2781EVP_aes_128_ofb 3224 EXIST::FUNCTION:AES
2782EVP_aes_192_cfb 3225 EXIST::FUNCTION:AES 2782EVP_aes_192_cfb128 3225 EXIST::FUNCTION:AES
2783CONF_modules_free 3226 EXIST::FUNCTION: 2783CONF_modules_free 3226 EXIST::FUNCTION:
2784NCONF_default 3227 EXIST::FUNCTION: 2784NCONF_default 3227 EXIST::FUNCTION:
2785OPENSSL_no_config 3228 EXIST::FUNCTION: 2785OPENSSL_no_config 3228 EXIST::FUNCTION:
@@ -2803,3 +2803,67 @@ OpenSSLDie 3244 EXIST::FUNCTION:
2803OPENSSL_cleanse 3245 EXIST::FUNCTION: 2803OPENSSL_cleanse 3245 EXIST::FUNCTION:
2804ENGINE_setup_bsd_cryptodev 3246 EXIST:__FreeBSD__:FUNCTION:ENGINE 2804ENGINE_setup_bsd_cryptodev 3246 EXIST:__FreeBSD__:FUNCTION:ENGINE
2805ERR_release_err_state_table 3247 EXIST::FUNCTION:LHASH 2805ERR_release_err_state_table 3247 EXIST::FUNCTION:LHASH
2806EVP_aes_128_cfb8 3248 EXIST::FUNCTION:AES
2807FIPS_corrupt_rsa 3249 EXIST:OPENSSL_FIPS:FUNCTION:
2808FIPS_selftest_des 3250 EXIST:OPENSSL_FIPS:FUNCTION:
2809EVP_aes_128_cfb1 3251 EXIST::FUNCTION:AES
2810EVP_aes_192_cfb8 3252 EXIST::FUNCTION:AES
2811FIPS_mode_set 3253 EXIST:OPENSSL_FIPS:FUNCTION:
2812FIPS_selftest_dsa 3254 EXIST:OPENSSL_FIPS:FUNCTION:
2813EVP_aes_256_cfb8 3255 EXIST::FUNCTION:AES
2814FIPS_allow_md5 3256 EXIST:OPENSSL_FIPS:FUNCTION:
2815DES_ede3_cfb_encrypt 3257 EXIST::FUNCTION:DES
2816EVP_des_ede3_cfb8 3258 EXIST::FUNCTION:DES
2817FIPS_rand_seeded 3259 EXIST:OPENSSL_FIPS:FUNCTION:
2818AES_cfbr_encrypt_block 3260 EXIST::FUNCTION:AES
2819AES_cfb8_encrypt 3261 EXIST::FUNCTION:AES
2820FIPS_rand_seed 3262 EXIST:OPENSSL_FIPS:FUNCTION:
2821FIPS_corrupt_des 3263 EXIST:OPENSSL_FIPS:FUNCTION:
2822EVP_aes_192_cfb1 3264 EXIST::FUNCTION:AES
2823FIPS_selftest_aes 3265 EXIST:OPENSSL_FIPS:FUNCTION:
2824FIPS_set_prng_key 3266 EXIST:OPENSSL_FIPS:FUNCTION:
2825EVP_des_cfb8 3267 EXIST::FUNCTION:DES
2826FIPS_corrupt_dsa 3268 EXIST:OPENSSL_FIPS:FUNCTION:
2827FIPS_test_mode 3269 EXIST:OPENSSL_FIPS:FUNCTION:
2828FIPS_rand_method 3270 EXIST:OPENSSL_FIPS:FUNCTION:
2829EVP_aes_256_cfb1 3271 EXIST::FUNCTION:AES
2830ERR_load_FIPS_strings 3272 EXIST:OPENSSL_FIPS:FUNCTION:
2831FIPS_corrupt_aes 3273 EXIST:OPENSSL_FIPS:FUNCTION:
2832FIPS_selftest_sha1 3274 EXIST:OPENSSL_FIPS:FUNCTION:
2833FIPS_selftest_rsa 3275 EXIST:OPENSSL_FIPS:FUNCTION:
2834FIPS_corrupt_sha1 3276 EXIST:OPENSSL_FIPS:FUNCTION:
2835EVP_des_cfb1 3277 EXIST::FUNCTION:DES
2836FIPS_dsa_check 3278 EXIST:OPENSSL_FIPS:FUNCTION:
2837AES_cfb1_encrypt 3279 EXIST::FUNCTION:AES
2838EVP_des_ede3_cfb1 3280 EXIST::FUNCTION:DES
2839FIPS_rand_check 3281 EXIST:OPENSSL_FIPS:FUNCTION:
2840FIPS_md5_allowed 3282 EXIST:OPENSSL_FIPS:FUNCTION:
2841FIPS_mode 3283 EXIST:OPENSSL_FIPS:FUNCTION:
2842FIPS_selftest_failed 3284 EXIST:OPENSSL_FIPS:FUNCTION:
2843sk_is_sorted 3285 EXIST::FUNCTION:
2844X509_check_ca 3286 EXIST::FUNCTION:
2845private_idea_set_encrypt_key 3287 EXIST:OPENSSL_FIPS:FUNCTION:IDEA
2846HMAC_CTX_set_flags 3288 EXIST::FUNCTION:HMAC
2847private_SHA_Init 3289 EXIST:OPENSSL_FIPS:FUNCTION:SHA,SHA0
2848private_CAST_set_key 3290 EXIST:OPENSSL_FIPS:FUNCTION:CAST
2849private_RIPEMD160_Init 3291 EXIST:OPENSSL_FIPS:FUNCTION:RIPEMD
2850private_RC5_32_set_key 3292 EXIST:OPENSSL_FIPS:FUNCTION:RC5
2851private_MD5_Init 3293 EXIST:OPENSSL_FIPS:FUNCTION:MD5
2852private_RC4_set_key 3294 EXIST:OPENSSL_FIPS:FUNCTION:RC4
2853private_MDC2_Init 3295 EXIST:OPENSSL_FIPS:FUNCTION:MDC2
2854private_RC2_set_key 3296 EXIST:OPENSSL_FIPS:FUNCTION:RC2
2855private_MD4_Init 3297 EXIST:OPENSSL_FIPS:FUNCTION:MD4
2856private_BF_set_key 3298 EXIST:OPENSSL_FIPS:FUNCTION:BF
2857private_MD2_Init 3299 EXIST:OPENSSL_FIPS:FUNCTION:MD2
2858d2i_PROXY_CERT_INFO_EXTENSION 3300 EXIST::FUNCTION:
2859PROXY_POLICY_it 3301 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2860PROXY_POLICY_it 3301 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2861i2d_PROXY_POLICY 3302 EXIST::FUNCTION:
2862i2d_PROXY_CERT_INFO_EXTENSION 3303 EXIST::FUNCTION:
2863d2i_PROXY_POLICY 3304 EXIST::FUNCTION:
2864PROXY_CERT_INFO_EXTENSION_new 3305 EXIST::FUNCTION:
2865PROXY_CERT_INFO_EXTENSION_free 3306 EXIST::FUNCTION:
2866PROXY_CERT_INFO_EXTENSION_it 3307 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
2867PROXY_CERT_INFO_EXTENSION_it 3307 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
2868PROXY_POLICY_free 3308 EXIST::FUNCTION:
2869PROXY_POLICY_new 3309 EXIST::FUNCTION:
diff --git a/src/lib/libcrypto/util/mk1mf.pl b/src/lib/libcrypto/util/mk1mf.pl
index b4bc0457e5..957264c6b5 100644
--- a/src/lib/libcrypto/util/mk1mf.pl
+++ b/src/lib/libcrypto/util/mk1mf.pl
@@ -10,7 +10,7 @@ $OPTIONS="";
10$ssl_version=""; 10$ssl_version="";
11$banner="\t\@echo Building OpenSSL"; 11$banner="\t\@echo Building OpenSSL";
12 12
13open(IN,"<Makefile.ssl") || die "unable to open Makefile.ssl!\n"; 13open(IN,"<Makefile") || die "unable to open Makefile!\n";
14while(<IN>) { 14while(<IN>) {
15 $ssl_version=$1 if (/^VERSION=(.*)$/); 15 $ssl_version=$1 if (/^VERSION=(.*)$/);
16 $OPTIONS=$1 if (/^OPTIONS=(.*)$/); 16 $OPTIONS=$1 if (/^OPTIONS=(.*)$/);
@@ -18,7 +18,7 @@ while(<IN>) {
18} 18}
19close(IN); 19close(IN);
20 20
21die "Makefile.ssl is not the toplevel Makefile!\n" if $ssl_version eq ""; 21die "Makefile is not the toplevel Makefile!\n" if $ssl_version eq "";
22 22
23$infile="MINFO"; 23$infile="MINFO";
24 24
@@ -222,7 +222,7 @@ $cflags.=" -DOPENSSL_NO_SHA" if $no_sha;
222$cflags.=" -DOPENSSL_NO_SHA1" if $no_sha1; 222$cflags.=" -DOPENSSL_NO_SHA1" if $no_sha1;
223$cflags.=" -DOPENSSL_NO_RIPEMD" if $no_ripemd; 223$cflags.=" -DOPENSSL_NO_RIPEMD" if $no_ripemd;
224$cflags.=" -DOPENSSL_NO_MDC2" if $no_mdc2; 224$cflags.=" -DOPENSSL_NO_MDC2" if $no_mdc2;
225$cflags.=" -DOPENSSL_NO_BF" if $no_bf; 225$cflags.=" -DOPENSSL_NO_BF" if $no_bf;
226$cflags.=" -DOPENSSL_NO_CAST" if $no_cast; 226$cflags.=" -DOPENSSL_NO_CAST" if $no_cast;
227$cflags.=" -DOPENSSL_NO_DES" if $no_des; 227$cflags.=" -DOPENSSL_NO_DES" if $no_des;
228$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa; 228$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa;
@@ -236,6 +236,7 @@ $cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5;
236$cflags.=" -DOPENSSL_NO_EC" if $no_ec; 236$cflags.=" -DOPENSSL_NO_EC" if $no_ec;
237$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine; 237$cflags.=" -DOPENSSL_NO_ENGINE" if $no_engine;
238$cflags.=" -DOPENSSL_NO_HW" if $no_hw; 238$cflags.=" -DOPENSSL_NO_HW" if $no_hw;
239$cflags.=" -DOPENSSL_FIPS" if $fips;
239#$cflags.=" -DRSAref" if $rsaref ne ""; 240#$cflags.=" -DRSAref" if $rsaref ne "";
240 241
241## if ($unix) 242## if ($unix)
@@ -631,15 +632,21 @@ foreach (split(/\s+/,$test))
631$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)"); 632$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
632$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)"); 633$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
633 634
634$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)"); 635if ($fips)
635 636 {
637 $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)","\$(BIN_D)$o.sha1","\$(BIN_D)$o\$(E_EXE)$exep");
638 }
639else
640 {
641 $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
642 }
636print $defs; 643print $defs;
637 644
638if ($platform eq "linux-elf") { 645if ($platform eq "linux-elf") {
639 print <<"EOF"; 646 print <<"EOF";
640# Generate perlasm output files 647# Generate perlasm output files
641%.cpp: 648%.cpp:
642 (cd \$(\@D)/..; PERL=perl make -f Makefile.ssl asm/\$(\@F)) 649 (cd \$(\@D)/..; PERL=perl make -f Makefile asm/\$(\@F))
643EOF 650EOF
644} 651}
645print "###################################################################\n"; 652print "###################################################################\n";
@@ -921,6 +928,7 @@ sub read_options
921 $no_aes=1; } 928 $no_aes=1; }
922 929
923 elsif (/^rsaref$/) { } 930 elsif (/^rsaref$/) { }
931 elsif (/^fips$/) { $fips=1; }
924 elsif (/^gcc$/) { $gcc=1; } 932 elsif (/^gcc$/) { $gcc=1; }
925 elsif (/^debug$/) { $debug=1; } 933 elsif (/^debug$/) { $debug=1; }
926 elsif (/^profile$/) { $profile=1; } 934 elsif (/^profile$/) { $profile=1; }
diff --git a/src/lib/libcrypto/util/mkdef.pl b/src/lib/libcrypto/util/mkdef.pl
index 01a1bfda19..9918c3d549 100644
--- a/src/lib/libcrypto/util/mkdef.pl
+++ b/src/lib/libcrypto/util/mkdef.pl
@@ -79,7 +79,7 @@ my $OS2=0;
79my $safe_stack_def = 0; 79my $safe_stack_def = 0;
80 80
81my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT", 81my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT",
82 "EXPORT_VAR_AS_FUNCTION" ); 82 "EXPORT_VAR_AS_FUNCTION", "OPENSSL_FIPS" );
83my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" ); 83my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" );
84my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", 84my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
85 "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", 85 "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1",
@@ -94,7 +94,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
94 "FP_API", "STDIO", "SOCK", "KRB5", "ENGINE", "HW" ); 94 "FP_API", "STDIO", "SOCK", "KRB5", "ENGINE", "HW" );
95 95
96my $options=""; 96my $options="";
97open(IN,"<Makefile.ssl") || die "unable to open Makefile.ssl!\n"; 97open(IN,"<Makefile") || die "unable to open Makefile!\n";
98while(<IN>) { 98while(<IN>) {
99 $options=$1 if (/^OPTIONS=(.*)$/); 99 $options=$1 if (/^OPTIONS=(.*)$/);
100} 100}
@@ -109,6 +109,7 @@ my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
109my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; 109my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
110my $no_ec; my $no_engine; my $no_hw; 110my $no_ec; my $no_engine; my $no_hw;
111my $no_fp_api; 111my $no_fp_api;
112my $fips;
112 113
113foreach (@ARGV, split(/ /, $options)) 114foreach (@ARGV, split(/ /, $options))
114 { 115 {
@@ -129,6 +130,7 @@ foreach (@ARGV, split(/ /, $options))
129 } 130 }
130 $VMS=1 if $_ eq "VMS"; 131 $VMS=1 if $_ eq "VMS";
131 $OS2=1 if $_ eq "OS2"; 132 $OS2=1 if $_ eq "OS2";
133 $fips=1 if $_ eq "fips";
132 134
133 $do_ssl=1 if $_ eq "ssleay"; 135 $do_ssl=1 if $_ eq "ssleay";
134 if ($_ eq "ssl") { 136 if ($_ eq "ssl") {
@@ -265,6 +267,7 @@ $crypto.=" crypto/ocsp/ocsp.h";
265$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h"; 267$crypto.=" crypto/ui/ui.h crypto/ui/ui_compat.h";
266$crypto.=" crypto/krb5/krb5_asn.h"; 268$crypto.=" crypto/krb5/krb5_asn.h";
267$crypto.=" crypto/tmdiff.h"; 269$crypto.=" crypto/tmdiff.h";
270$crypto.=" fips/fips.h fips/rand/fips_rand.h";
268 271
269my $symhacks="crypto/symhacks.h"; 272my $symhacks="crypto/symhacks.h";
270 273
@@ -469,7 +472,7 @@ sub do_defs
469 push(@tag,$1); 472 push(@tag,$1);
470 $tag{$1}=-1; 473 $tag{$1}=-1;
471 } 474 }
472 } elsif (/^\#\s*ifdef\s+(.*)/) { 475 } elsif (/^\#\s*ifdef\s+(\S*)/) {
473 push(@tag,"-"); 476 push(@tag,"-");
474 push(@tag,$1); 477 push(@tag,$1);
475 $tag{$1}=1; 478 $tag{$1}=1;
@@ -794,7 +797,7 @@ sub do_defs
794 } 797 }
795 close(IN); 798 close(IN);
796 799
797 my $algs; 800 my $algs = '';
798 my $plays; 801 my $plays;
799 802
800 print STDERR "DEBUG: postprocessing ----------\n" if $debug; 803 print STDERR "DEBUG: postprocessing ----------\n" if $debug;
@@ -864,6 +867,7 @@ sub do_defs
864 867
865 $platform{$s} = 868 $platform{$s} =
866 &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p); 869 &reduce_platforms((defined($platform{$s})?$platform{$s}.',':"").$p);
870 $algorithm{$s} = '' if !defined $algorithm{$s};
867 $algorithm{$s} .= ','.$a; 871 $algorithm{$s} .= ','.$a;
868 872
869 if (defined($variant{$s})) { 873 if (defined($variant{$s})) {
@@ -1028,6 +1032,9 @@ sub is_valid
1028 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) { 1032 if ($keyword eq "EXPORT_VAR_AS_FUNCTION" && ($VMSVAX || $W32 || $W16)) {
1029 return 1; 1033 return 1;
1030 } 1034 }
1035 if ($keyword eq "OPENSSL_FIPS" && $fips) {
1036 return 1;
1037 }
1031 return 0; 1038 return 0;
1032 } else { 1039 } else {
1033 # algorithms 1040 # algorithms
@@ -1119,7 +1126,7 @@ sub print_test_file
1119sub get_version { 1126sub get_version {
1120 local *MF; 1127 local *MF;
1121 my $v = '?'; 1128 my $v = '?';
1122 open MF, 'Makefile.ssl' or return $v; 1129 open MF, 'Makefile' or return $v;
1123 while (<MF>) { 1130 while (<MF>) {
1124 $v = $1, last if /^VERSION=(.*?)\s*$/; 1131 $v = $1, last if /^VERSION=(.*?)\s*$/;
1125 } 1132 }
diff --git a/src/lib/libcrypto/util/mkerr.pl b/src/lib/libcrypto/util/mkerr.pl
index 1b2915c767..60e534807e 100644
--- a/src/lib/libcrypto/util/mkerr.pl
+++ b/src/lib/libcrypto/util/mkerr.pl
@@ -41,7 +41,8 @@ while (@ARGV) {
41} 41}
42 42
43if($recurse) { 43if($recurse) {
44 @source = (<crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>); 44 @source = (<crypto/*.c>, <crypto/*/*.c>, <ssl/*.c>, <fips/*.c>,
45 <fips/*/*.c>);
45} else { 46} else {
46 @source = @ARGV; 47 @source = @ARGV;
47} 48}
@@ -262,7 +263,7 @@ foreach $lib (keys %csrc)
262 } else { 263 } else {
263 push @out, 264 push @out,
264"/* ====================================================================\n", 265"/* ====================================================================\n",
265" * Copyright (c) 2001-2003 The OpenSSL Project. All rights reserved.\n", 266" * Copyright (c) 2001-2005 The OpenSSL Project. All rights reserved.\n",
266" *\n", 267" *\n",
267" * Redistribution and use in source and binary forms, with or without\n", 268" * Redistribution and use in source and binary forms, with or without\n",
268" * modification, are permitted provided that the following conditions\n", 269" * modification, are permitted provided that the following conditions\n",
@@ -404,7 +405,7 @@ EOF
404 print OUT <<"EOF"; 405 print OUT <<"EOF";
405/* $cfile */ 406/* $cfile */
406/* ==================================================================== 407/* ====================================================================
407 * Copyright (c) 1999-2003 The OpenSSL Project. All rights reserved. 408 * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved.
408 * 409 *
409 * Redistribution and use in source and binary forms, with or without 410 * Redistribution and use in source and binary forms, with or without
410 * modification, are permitted provided that the following conditions 411 * modification, are permitted provided that the following conditions
diff --git a/src/lib/libcrypto/util/mkfiles.pl b/src/lib/libcrypto/util/mkfiles.pl
index 29e1404c69..928a274303 100644
--- a/src/lib/libcrypto/util/mkfiles.pl
+++ b/src/lib/libcrypto/util/mkfiles.pl
@@ -51,6 +51,14 @@ my @dirs = (
51"crypto/ocsp", 51"crypto/ocsp",
52"crypto/ui", 52"crypto/ui",
53"crypto/krb5", 53"crypto/krb5",
54"fips",
55"fips/aes",
56"fips/des",
57"fips/dsa",
58"fips/dh",
59"fips/rand",
60"fips/rsa",
61"fips/sha1",
54"ssl", 62"ssl",
55"apps", 63"apps",
56"test", 64"test",
@@ -58,7 +66,7 @@ my @dirs = (
58); 66);
59 67
60foreach (@dirs) { 68foreach (@dirs) {
61 &files_dir ($_, "Makefile.ssl"); 69 &files_dir ($_, "Makefile");
62} 70}
63 71
64exit(0); 72exit(0);
diff --git a/src/lib/libcrypto/util/mklink.pl b/src/lib/libcrypto/util/mklink.pl
index 9386da7aa4..c8653cecc3 100644
--- a/src/lib/libcrypto/util/mklink.pl
+++ b/src/lib/libcrypto/util/mklink.pl
@@ -52,6 +52,7 @@ $symlink_exists=eval {symlink("",""); 1};
52foreach $file (@files) { 52foreach $file (@files) {
53 my $err = ""; 53 my $err = "";
54 if ($symlink_exists) { 54 if ($symlink_exists) {
55 unlink "$from/$file";
55 symlink("$to/$file", "$from/$file") or $err = " [$!]"; 56 symlink("$to/$file", "$from/$file") or $err = " [$!]";
56 } else { 57 } else {
57 unlink "$from/$file"; 58 unlink "$from/$file";
diff --git a/src/lib/libcrypto/util/mkstack.pl b/src/lib/libcrypto/util/mkstack.pl
index 085c50f790..0ca9eb6a76 100644
--- a/src/lib/libcrypto/util/mkstack.pl
+++ b/src/lib/libcrypto/util/mkstack.pl
@@ -84,6 +84,7 @@ while(<IN>) {
84#define sk_${type_thing}_shift(st) SKM_sk_shift($type_thing, (st)) 84#define sk_${type_thing}_shift(st) SKM_sk_shift($type_thing, (st))
85#define sk_${type_thing}_pop(st) SKM_sk_pop($type_thing, (st)) 85#define sk_${type_thing}_pop(st) SKM_sk_pop($type_thing, (st))
86#define sk_${type_thing}_sort(st) SKM_sk_sort($type_thing, (st)) 86#define sk_${type_thing}_sort(st) SKM_sk_sort($type_thing, (st))
87#define sk_${type_thing}_is_sorted(st) SKM_sk_is_sorted($type_thing, (st))
87EOF 88EOF
88 } 89 }
89 foreach $type_thing (sort @asn1setlst) { 90 foreach $type_thing (sort @asn1setlst) {
diff --git a/src/lib/libcrypto/util/pl/BC-16.pl b/src/lib/libcrypto/util/pl/BC-16.pl
index 2033f524ca..8030653daa 100644
--- a/src/lib/libcrypto/util/pl/BC-16.pl
+++ b/src/lib/libcrypto/util/pl/BC-16.pl
@@ -64,7 +64,7 @@ $lfile='';
64 64
65$asm='bcc -c -B -Tml'; 65$asm='bcc -c -B -Tml';
66$afile='/o'; 66$afile='/o';
67if ($no_asm) 67if ($no_asm || $fips)
68 { 68 {
69 $bn_asm_obj=''; 69 $bn_asm_obj='';
70 $bn_asm_src=''; 70 $bn_asm_src='';
@@ -119,11 +119,11 @@ sub do_lib_rule
119 119
120sub do_link_rule 120sub do_link_rule
121 { 121 {
122 local($target,$files,$dep_libs,$libs)=@_; 122 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
123 local($ret,$f,$_,@f); 123 local($ret,$f,$_,@f);
124 124
125 $file =~ s/\//$o/g if $o ne '/'; 125 $file =~ s/\//$o/g if $o ne '/';
126 $n=&bname($targer); 126 $n=&bname($target);
127 $ret.="$target: $files $dep_libs\n"; 127 $ret.="$target: $files $dep_libs\n";
128 $ret.=" \$(LINK) @&&|"; 128 $ret.=" \$(LINK) @&&|";
129 129
@@ -139,7 +139,12 @@ sub do_link_rule
139 } 139 }
140 else 140 else
141 { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; } 141 { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
142 $ret.=" $target\n\n $libs\n\n|\n\n"; 142 $ret.=" $target\n\n $libs\n\n|\n";
143 if (defined $sha1file)
144 {
145 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
146 }
147 $ret.="\n";
143 return($ret); 148 return($ret);
144 } 149 }
145 150
diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl
index e83b336190..897ae9d824 100644
--- a/src/lib/libcrypto/util/pl/BC-32.pl
+++ b/src/lib/libcrypto/util/pl/BC-32.pl
@@ -62,7 +62,7 @@ $des_enc_src='';
62$bf_enc_obj=''; 62$bf_enc_obj='';
63$bf_enc_src=''; 63$bf_enc_src='';
64 64
65if (!$no_asm) 65if (!$no_asm && !$fips)
66 { 66 {
67 $bn_mulw_obj='crypto\bn\asm\bn_win32.obj'; 67 $bn_mulw_obj='crypto\bn\asm\bn_win32.obj';
68 $bn_mulw_src='crypto\bn\asm\bn_win32.asm'; 68 $bn_mulw_src='crypto\bn\asm\bn_win32.asm';
@@ -122,13 +122,18 @@ sub do_lib_rule
122 122
123sub do_link_rule 123sub do_link_rule
124 { 124 {
125 local($target,$files,$dep_libs,$libs)=@_; 125 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
126 local($ret,$_); 126 local($ret,$_);
127 127
128 $file =~ s/\//$o/g if $o ne '/'; 128 $file =~ s/\//$o/g if $o ne '/';
129 $n=&bname($targer); 129 $n=&bname($targer);
130 $ret.="$target: $files $dep_libs\n"; 130 $ret.="$target: $files $dep_libs\n";
131 $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n\n"; 131 $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n";
132 if (defined $sha1file)
133 {
134 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
135 }
136 $ret.="\n";
132 return($ret); 137 return($ret);
133 } 138 }
134 139
diff --git a/src/lib/libcrypto/util/pl/Mingw32.pl b/src/lib/libcrypto/util/pl/Mingw32.pl
index 4bee638c4a..b9bb24d21d 100644
--- a/src/lib/libcrypto/util/pl/Mingw32.pl
+++ b/src/lib/libcrypto/util/pl/Mingw32.pl
@@ -21,7 +21,7 @@ if ($debug)
21else 21else
22 { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; } 22 { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; }
23 23
24if ($gaswin and !$no_asm) 24if ($gaswin and !$no_asm and !$fips)
25 { 25 {
26 $bn_asm_obj='$(OBJ_D)\bn-win32.o'; 26 $bn_asm_obj='$(OBJ_D)\bn-win32.o';
27 $bn_asm_src='crypto/bn/asm/bn-win32.s'; 27 $bn_asm_src='crypto/bn/asm/bn-win32.s';
@@ -92,13 +92,18 @@ sub do_lib_rule
92 92
93sub do_link_rule 93sub do_link_rule
94 { 94 {
95 local($target,$files,$dep_libs,$libs)=@_; 95 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
96 local($ret,$_); 96 local($ret,$_);
97 97
98 $file =~ s/\//$o/g if $o ne '/'; 98 $file =~ s/\//$o/g if $o ne '/';
99 $n=&bname($target); 99 $n=&bname($target);
100 $ret.="$target: $files $dep_libs\n"; 100 $ret.="$target: $files $dep_libs\n";
101 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 101 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
102 if (defined $sha1file)
103 {
104 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
105 }
106 $ret.="\n";
102 return($ret); 107 return($ret);
103 } 108 }
1041; 1091;
diff --git a/src/lib/libcrypto/util/pl/OS2-EMX.pl b/src/lib/libcrypto/util/pl/OS2-EMX.pl
index ddb3524210..75d72ebbcb 100644
--- a/src/lib/libcrypto/util/pl/OS2-EMX.pl
+++ b/src/lib/libcrypto/util/pl/OS2-EMX.pl
@@ -48,7 +48,7 @@ $des_enc_src="";
48$bf_enc_obj=""; 48$bf_enc_obj="";
49$bf_enc_src=""; 49$bf_enc_src="";
50 50
51if (!$no_asm) 51if (!$no_asm && !$fips)
52 { 52 {
53 $bn_asm_obj="crypto/bn/asm/bn-os2$obj crypto/bn/asm/co-os2$obj"; 53 $bn_asm_obj="crypto/bn/asm/bn-os2$obj crypto/bn/asm/co-os2$obj";
54 $bn_asm_src="crypto/bn/asm/bn-os2.asm crypto/bn/asm/co-os2.asm"; 54 $bn_asm_src="crypto/bn/asm/bn-os2.asm crypto/bn/asm/co-os2.asm";
@@ -106,13 +106,18 @@ sub do_lib_rule
106 106
107sub do_link_rule 107sub do_link_rule
108 { 108 {
109 local($target,$files,$dep_libs,$libs)=@_; 109 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
110 local($ret,$_); 110 local($ret,$_);
111 111
112 $file =~ s/\//$o/g if $o ne '/'; 112 $file =~ s/\//$o/g if $o ne '/';
113 $n=&bname($target); 113 $n=&bname($target);
114 $ret.="$target: $files $dep_libs\n"; 114 $ret.="$target: $files $dep_libs\n";
115 $ret.="\t\$(LINK) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n\n"; 115 $ret.="\t\$(LINK) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n";
116 if (defined $sha1file)
117 {
118 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
119 }
120 $ret.="\n";
116 return($ret); 121 return($ret);
117 } 122 }
118 123
diff --git a/src/lib/libcrypto/util/pl/VC-16.pl b/src/lib/libcrypto/util/pl/VC-16.pl
index 7cda5e67a9..564ba3fd08 100644
--- a/src/lib/libcrypto/util/pl/VC-16.pl
+++ b/src/lib/libcrypto/util/pl/VC-16.pl
@@ -61,7 +61,7 @@ if ($shlib)
61else 61else
62 { $mlflags=''; } 62 { $mlflags=''; }
63 63
64$app_ex_obj="setargv.obj"; 64$app_ex_obj="";
65 65
66$obj='.obj'; 66$obj='.obj';
67$ofile="/Fo"; 67$ofile="/Fo";
@@ -90,7 +90,7 @@ $des_enc_src='';
90$bf_enc_obj=''; 90$bf_enc_obj='';
91$bf_enc_src=''; 91$bf_enc_src='';
92 92
93if (!$no_asm) 93if (!$no_asm && !$fips)
94 { 94 {
95 if ($asmbits == 32) 95 if ($asmbits == 32)
96 { 96 {
@@ -147,7 +147,7 @@ sub do_lib_rule
147 147
148sub do_link_rule 148sub do_link_rule
149 { 149 {
150 local($target,$files,$dep_libs,$libs)=@_; 150 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
151 local($ret,$f,$_,@f); 151 local($ret,$f,$_,@f);
152 152
153 $file =~ s/\//$o/g if $o ne '/'; 153 $file =~ s/\//$o/g if $o ne '/';
@@ -165,7 +165,12 @@ sub do_link_rule
165 } 165 }
166 else 166 else
167 { $ret.=" \$(APP_EX_OBJ) $files"; } 167 { $ret.=" \$(APP_EX_OBJ) $files"; }
168 $ret.="\n $target\n\n $libs\n\n<<\n\n"; 168 $ret.="\n $target\n\n $libs\n\n<<\n";
169 if (defined $sha1file)
170 {
171 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
172 }
173 $ret.="\n";
169 return($ret); 174 return($ret);
170 } 175 }
171 176
diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl
index 285990c589..cf689b9feb 100644
--- a/src/lib/libcrypto/util/pl/VC-32.pl
+++ b/src/lib/libcrypto/util/pl/VC-32.pl
@@ -64,7 +64,7 @@ $des_enc_src='';
64$bf_enc_obj=''; 64$bf_enc_obj='';
65$bf_enc_src=''; 65$bf_enc_src='';
66 66
67if (!$no_asm) 67if (!$no_asm && !$fips)
68 { 68 {
69 $bn_asm_obj='crypto\bn\asm\bn_win32.obj'; 69 $bn_asm_obj='crypto\bn\asm\bn_win32.obj';
70 $bn_asm_src='crypto\bn\asm\bn_win32.asm'; 70 $bn_asm_src='crypto\bn\asm\bn_win32.asm';
@@ -126,14 +126,19 @@ sub do_lib_rule
126 126
127sub do_link_rule 127sub do_link_rule
128 { 128 {
129 local($target,$files,$dep_libs,$libs)=@_; 129 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
130 local($ret,$_); 130 local($ret,$_);
131 131
132 $file =~ s/\//$o/g if $o ne '/'; 132 $file =~ s/\//$o/g if $o ne '/';
133 $n=&bname($targer); 133 $n=&bname($targer);
134 $ret.="$target: $files $dep_libs\n"; 134 $ret.="$target: $files $dep_libs\n";
135 $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n"; 135 $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n";
136 $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n\n"; 136 $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
137 if (defined $sha1file)
138 {
139 $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
140 }
141 $ret.="\n";
137 return($ret); 142 return($ret);
138 } 143 }
139 144
diff --git a/src/lib/libcrypto/util/pl/linux.pl b/src/lib/libcrypto/util/pl/linux.pl
index 8924ed5480..df05c40526 100644
--- a/src/lib/libcrypto/util/pl/linux.pl
+++ b/src/lib/libcrypto/util/pl/linux.pl
@@ -72,13 +72,18 @@ sub do_shlib_rule
72 72
73sub do_link_rule 73sub do_link_rule
74 { 74 {
75 local($target,$files,$dep_libs,$libs)=@_; 75 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
76 local($ret,$_); 76 local($ret,$_);
77 77
78 $file =~ s/\//$o/g if $o ne '/'; 78 $file =~ s/\//$o/g if $o ne '/';
79 $n=&bname($target); 79 $n=&bname($target);
80 $ret.="$target: $files $dep_libs\n"; 80 $ret.="$target: $files $dep_libs\n";
81 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 81 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
82 if (defined $sha1file)
83 {
84 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
85 }
86 $ret.="\n";
82 return($ret); 87 return($ret);
83 } 88 }
84 89
diff --git a/src/lib/libcrypto/util/pl/ultrix.pl b/src/lib/libcrypto/util/pl/ultrix.pl
index ea370c71f9..447b854708 100644
--- a/src/lib/libcrypto/util/pl/ultrix.pl
+++ b/src/lib/libcrypto/util/pl/ultrix.pl
@@ -17,7 +17,7 @@ else
17 17
18$cflags.=" -std1 -DL_ENDIAN"; 18$cflags.=" -std1 -DL_ENDIAN";
19 19
20if (!$no_asm) 20if (!$no_asm && !$fips)
21 { 21 {
22 $bn_asm_obj='$(OBJ_D)/mips1.o'; 22 $bn_asm_obj='$(OBJ_D)/mips1.o';
23 $bn_asm_src='crypto/bn/asm/mips1.s'; 23 $bn_asm_src='crypto/bn/asm/mips1.s';
@@ -25,13 +25,18 @@ if (!$no_asm)
25 25
26sub do_link_rule 26sub do_link_rule
27 { 27 {
28 local($target,$files,$dep_libs,$libs)=@_; 28 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
29 local($ret,$_); 29 local($ret,$_);
30 30
31 $file =~ s/\//$o/g if $o ne '/'; 31 $file =~ s/\//$o/g if $o ne '/';
32 $n=&bname($target); 32 $n=&bname($target);
33 $ret.="$target: $files $dep_libs\n"; 33 $ret.="$target: $files $dep_libs\n";
34 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 34 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
35 if (defined $sha1file)
36 {
37 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
38 }
39 $ret.="\n";
35 return($ret); 40 return($ret);
36 } 41 }
37 42
diff --git a/src/lib/libcrypto/util/pl/unix.pl b/src/lib/libcrypto/util/pl/unix.pl
index 146611ad99..bbd1798a2e 100644
--- a/src/lib/libcrypto/util/pl/unix.pl
+++ b/src/lib/libcrypto/util/pl/unix.pl
@@ -70,13 +70,18 @@ sub do_lib_rule
70 70
71sub do_link_rule 71sub do_link_rule
72 { 72 {
73 local($target,$files,$dep_libs,$libs)=@_; 73 local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
74 local($ret,$_); 74 local($ret,$_);
75 75
76 $file =~ s/\//$o/g if $o ne '/'; 76 $file =~ s/\//$o/g if $o ne '/';
77 $n=&bname($target); 77 $n=&bname($target);
78 $ret.="$target: $files $dep_libs\n"; 78 $ret.="$target: $files $dep_libs\n";
79 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; 79 $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
80 if (defined $sha1file)
81 {
82 $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
83 }
84 $ret.="\n";
80 return($ret); 85 return($ret);
81 } 86 }
82 87
diff --git a/src/lib/libcrypto/util/selftest.pl b/src/lib/libcrypto/util/selftest.pl
index 276b81183d..e9d5aa8938 100644
--- a/src/lib/libcrypto/util/selftest.pl
+++ b/src/lib/libcrypto/util/selftest.pl
@@ -34,9 +34,9 @@ foreach $_ (split("\n",$c)) {
34 $platform0=$1 if (/Configuring for (.*)$/); 34 $platform0=$1 if (/Configuring for (.*)$/);
35} 35}
36 36
37system "sh config" if (! -f "Makefile.ssl"); 37system "sh config" if (! -f "Makefile");
38 38
39if (open(IN,"<Makefile.ssl")) { 39if (open(IN,"<Makefile")) {
40 while (<IN>) { 40 while (<IN>) {
41 $version=$1 if (/^VERSION=(.*)$/); 41 $version=$1 if (/^VERSION=(.*)$/);
42 $platform=$1 if (/^PLATFORM=(.*)$/); 42 $platform=$1 if (/^PLATFORM=(.*)$/);