Merge in the latest chanegs from 0.9.6-stable.
authorRichard Levitte <levitte@openssl.org>
Thu, 18 Jul 2002 14:19:26 +0000 (14:19 +0000)
committerRichard Levitte <levitte@openssl.org>
Thu, 18 Jul 2002 14:19:26 +0000 (14:19 +0000)
34 files changed:
CHANGES
Configure
FAQ
INSTALL
INSTALL.W32
NEWS
PROBLEMS
README
apps/pkcs7.c
apps/smime.c
crypto/ebcdic.c
crypto/pem/pem2.h
crypto/perlasm/x86nasm.pl
crypto/pkcs12/pkcs12.h
doc/apps/crl2pkcs7.pod
doc/crypto/DH_get_ex_new_index.pod
doc/crypto/EVP_DigestInit.pod
doc/crypto/EVP_SignInit.pod
doc/crypto/EVP_VerifyInit.pod
doc/crypto/err.pod
doc/crypto/rsa.pod
doc/ssl/SSL_CTX_sess_set_cache_size.pod
doc/ssl/SSL_CTX_sess_set_get_cb.pod
doc/ssl/SSL_CTX_set_options.pod
ms/do_masm.bat
ms/do_nasm.bat
ssl/s2_lib.c
ssl/s3_enc.c
ssl/s3_lib.c
ssl/ssl_locl.h
ssl/t1_enc.c
util/mk1mf.pl
util/pl/BC-32.pl
util/pl/VC-32.pl

diff --git a/CHANGES b/CHANGES
index 655517a4b2b6df17740d72902877087cb80a2937..349e3fd890319a0cc9a47c6d890758ede2dd6da1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,11 @@
 
  Changes between 0.9.6d and 0.9.6e  [XX xxx XXXX]
 
+  *) Fix cipher selection routines: ciphers without encryption had no flags
+     for the cipher strength set and where therefore not handled correctly
+     by the selection routines (PR #130).
+     [Lutz Jaenicke]
+
   *) Fix EVP_dsa_sha macro.
      [Nils Larsch]
 
index 3d5c95ddacd3d26d075a31dded105942443baa34..71709d630d3b88ce3560554ed1c4c4f552a87d4c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -154,7 +154,7 @@ my %table=(
 "solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris64-sparcv9-gcc31","gcc:-mcpu=ultrasparc -m64 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris64-sparcv9-gcc31","gcc:-mcpu=ultrasparc -m64 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 # gcc pre-2.8 doesn't understand -mcpu=ultrasparc, so fall down to -mv8
 # but keep the assembler modules.
 "solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:solaris-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/FAQ b/FAQ
index 3b69d8bcc9354b2c405517769acecda1e67de389..0aea6919d4165092bd0d3d6500302791dbdc86c9 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -38,6 +38,7 @@ OpenSSL  -  Frequently Asked Questions
 * Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
 * Why does the OpenSSL compilation fail with "ar: command not found"?
 * Why does the OpenSSL compilation fail on Win32 with VC++?
+* What is special about OpenSSL on Redhat?
 
 [PROG] Questions about programming with OpenSSL
 
@@ -215,8 +216,11 @@ For Solaris 2.6, Tim Nibbe <tnibbe@sprint.net> and others have suggested
 installing the SUNski package from Sun patch 105710-01 (Sparc) which
 adds a /dev/random device and make sure it gets used, usually through
 $RANDFILE.  There are probably similar patches for the other Solaris
-versions.  However, be warned that /dev/random is usually a blocking
-device, which may have some effects on OpenSSL.
+versions.  An official statement from Sun with respect to /dev/random
+support can be found at
+  http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsrdb/27606&zone_32=SUNWski
+However, be warned that /dev/random is usually a blocking device, which
+may have some effects on OpenSSL.
 
 
 * Why do I get an "unable to write 'random state'" error message?
@@ -451,6 +455,41 @@ under 'Program Files').  This needs to be done prior to running NMAKE,
 and the changes are only valid for the current DOS session.
 
 
+* What is special about OpenSSL on Redhat?
+
+Red Hat Linux 7.0 and following versions already have a limited version of
+openssl already installed. This may well apply to other Linux distributions
+also. This version does not have support for the IDEA, RC5 and MDC-2
+algorithms as these are patented within the United States. For information
+these patent numbers and expiry dates are:
+
+MDC-2: 4,908,861 13/03/2007
+IDEA:  5,214,703 25/05/2010
+RC5:   5,724,428 03/03/2015
+
+However, Europeans and other non-Americans may wish to install all the
+features.
+
+To do this you MUST ensure that you do not overwrite the openssl that is in
+/usr/bin on your Red Hat machine. Several packages depend on this file,
+including sendmail and ssh. /usr/local/bin is a good alternative choice. The
+libraries that come with Red Hat 7.0 onwards have different names and so are
+not affected. (eg For Red Hat 7.2 they are /lib/libssl.so.0.9.6b and
+/lib/libcrypto.so.0.9.6b with symlinks /lib/libssl.so.2 and
+/lib/libcrypto.so.2 respectively).
+
+Please note that we have been advised by Red Hat attempting to recompile the
+openssl rpm with all the cryptography enabled will not work. All other
+packages depend on the original Red Hat supplied openssl package. It is also
+worth noting that due to the way Red Hat supplies its packages, updates to
+openssl on each distribution never change the package version, only the
+build number. For example, on Red Hat 7.1, the latest openssl package has
+version number 0.9.6 and build number 9 even though it contains all the
+relevant updates in packages up to and including 0.9.6b.
+
+A possible way around this is to persuade Red Hat to produce a non-US
+version of Red Hat Linux.
+
 [PROG] ========================================================================
 
 * Is OpenSSL thread-safe?
diff --git a/INSTALL b/INSTALL
index 619c474c1b46cc3c50e1df9d1865e318a8dfb259..1e6ebb8b7cfa128e14822583f0ae2031fd755da3 100644 (file)
--- a/INSTALL
+++ b/INSTALL
      the failure that aren't problems in OpenSSL itself (like missing
      standard headers).  If it is a problem with OpenSSL itself, please
      report the problem to <openssl-bugs@openssl.org> (note that your
-     message will be forwarded to a public mailing list).  Include the
-     output of "make report" in your message.
+     message will be recorded in the request tracker publicly readable
+     via http://www.openssl.org/rt2.html and will be forwarded to a public
+     mailing list). Include the output of "make report" in your message.
+     Please check out the request tracker. Maybe the bug was already
+     reported or has already been fixed.
 
      [If you encounter assembler error messages, try the "no-asm"
      configuration option as an immediate fix.]
      try removing any compiler optimization flags from the CFLAGS line
      in Makefile.ssl and run "make clean; make". Please send a bug
      report to <openssl-bugs@openssl.org>, including the output of
-     "make report".
+     "make report" in order to be added to the request tracker at
+     http://www.openssl.org/rt2.html.
 
   4. If everything tests ok, install OpenSSL with
 
index 966c1460f4490e85bb9bf7d9c11d8fd5e5ff4766..30b92510e9147213920301a33e2c656ef18e4732 100644 (file)
  You can also build a static version of the library using the Makefile
  ms\nt.mak
 
+ Borland C++ builder 5
+ ---------------------
+
+ * Configure for building with Borland Builder:
+   > perl Configure BC-32
+
+ * Create the appropriate makefile
+   > ms\do_nasm
+
+ * Build
+   > make -f ms\bcb.mak
+
  Borland C++ builder 3 and 4
  ---------------------------
 
diff --git a/NEWS b/NEWS
index 908d063cfce5d8a1f28514d9efce4c54920bce2b..0af2ded253c0e985bb76deb95396318300576099 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -56,7 +56,7 @@
       o Bug fixes for Win32, HP/UX and Irix.
       o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
         memory checking routines.
-      o Bug fixes for RSA operations in threaded enviroments.
+      o Bug fixes for RSA operations in threaded environments.
       o Bug fixes in misc. openssl applications.
       o Remove a few potential memory leaks.
       o Add tighter checks of BIGNUM routines.
index 70e591a1d1fa470e5417654d9d7d8d6868725868..f072449feca8c77565299c1c1522a018e9eedb62 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -1,11 +1,5 @@
 * System libcrypto.dylib and libssl.dylib are used by system ld on MacOS X.
-
-
-    NOTE: The problem described here only applies when OpenSSL isn't built
-    with shared library support (i.e. without the "shared" configuration
-    option).  If you build with shared library support, you will have no
-    problems as long as you set up DYLD_LIBRARY_PATH properly at all times.
-
+[NOTE: This is currently undergoing tests, and may be removed soon]
 
 This is really a misfeature in ld, which seems to look for .dylib libraries
 along the whole library path before it bothers looking for .a libraries.  This
diff --git a/README b/README
index fb48e0dcbf036131b386f354140593bbf55543dd..beb29ce892a28e7f3edf4878973d7917adfe18fe 100644 (file)
--- a/README
+++ b/README
     - Problem Description (steps that will reproduce the problem, if known)
     - Stack Traceback (if the application dumps core)
 
- Report the bug to the OpenSSL project at:
+ Report the bug to the OpenSSL project via the Request Tracker
+ (http://www.openssl.org/rt2.html) by mail to:
 
     openssl-bugs@openssl.org
 
- Note that mail to openssl-bugs@openssl.org is forwarded to a public
+ Note that mail to openssl-bugs@openssl.org is recorded in the publicly
+ readable request tracker database and is forwarded to a public
  mailing list. Confidential mail may be sent to openssl-security@openssl.org
  (PGP key available from the key servers).
 
index b348da220383961650c6179e6b35696bd9ef3088..68590c07847f84aae2c70df316ad89be25d3a65f 100644 (file)
@@ -90,7 +90,7 @@ int MAIN(int argc, char **argv)
        int informat,outformat;
        char *infile,*outfile,*prog;
        int print_certs=0,text=0,noout=0;
-       int ret=0;
+       int ret=1;
        char *engine=NULL;
 
        apps_startup();
index 1e84253f8865c34bdb341881967ce1390b1b9aaf..cb19c1ea7be30bb9f54cb066faf1ec9a5233ea69 100644 (file)
@@ -500,9 +500,9 @@ int MAIN(int argc, char **argv)
        } else if(operation == SMIME_PK7OUT) {
                PEM_write_bio_PKCS7(out, p7);
        } else {
-               if(to) BIO_printf(out, "To: %s\n", to);
-               if(from) BIO_printf(out, "From: %s\n", from);
-               if(subject) BIO_printf(out, "Subject: %s\n", subject);
+               if(to) BIO_printf(out, "To: %s\r\n", to);
+               if(from) BIO_printf(out, "From: %s\r\n", from);
+               if(subject) BIO_printf(out, "Subject: %s\r\n", subject);
                if(outformat == FORMAT_SMIME) 
                        SMIME_write_PKCS7(out, p7, in, flags);
                else if(outformat == FORMAT_PEM) 
index 91a7a8bcb4300625059d7d133411723f51b427ae..a83536ba5ead416665bf7e873cbf5b99f155c8a8 100644 (file)
@@ -211,7 +211,7 @@ ascii2ebcdic(void *dest, const void *srce, size_t count)
 }
 
 #else /*CHARSET_EBCDIC*/
-#if defined(PEDANTIC) || defined(VMS) || defined(__VMS)
+#if defined(PEDANTIC) || defined(VMS) || defined(__VMS) || defined(_DARWIN)
 static void *dummy=&dummy;
 #endif
 #endif
index 4e484bcd82a5b695699878cbeedeea6421a27914..f31790d69cb038572233410489f0de10ac38242b 100644 (file)
@@ -61,7 +61,9 @@
 extern "C" {
 #endif
 
+#ifndef HEADER_PEM_H
 void ERR_load_PEM_strings(void);
+#endif
 
 #ifdef __cplusplus
 }
index b4da364bbfd56a05f132da1dbc9110837c849c9f..519d8a5867287aa962648ba1990f37631d5a8d9d 100644 (file)
@@ -209,7 +209,7 @@ sub using486
 
 sub main'file
        {
-       push(@out, "segment .text\n");
+       push(@out, "segment .text use32\n");
        }
 
 sub main'function_begin
index fefa1a6a1f572c584663e9ede6fa73370617df39..08bf15ae372cd8ffb9c09396ea428b7796560a37 100644 (file)
@@ -141,8 +141,8 @@ union {
 #define PKCS12_ERROR   0
 #define PKCS12_OK      1
 
-#define M_PKCS12_bag_type(bag) OBJ_obj2nid(bag->type)
-#define M_PKCS12_cert_bag_type(bag) OBJ_obj2nid(bag->value.bag->type)
+#define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type)
+#define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type)
 #define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type
 
 #define M_PKCS12_x5092certbag(x509) \
index da199b044a89ac866715bd7a6ce82b75160e2fe2..3797bc0df4ef3351cc447dc6ec6b9809fde990e4 100644 (file)
@@ -6,12 +6,13 @@ crl2pkcs7 - Create a PKCS#7 structure from a CRL and certificates.
 
 =head1 SYNOPSIS
 
-B<openssl> B<pkcs7>
+B<openssl> B<crl2pkcs7>
 [B<-inform PEM|DER>]
 [B<-outform PEM|DER>]
 [B<-in filename>]
 [B<-out filename>]
-[B<-print_certs>]
+[B<-certfile filename>]
+[B<-nocrl>]
 
 =head1 DESCRIPTION
 
index 82e2548bcdfd99eaae0c7575eaa214a976845d62..fa5eab26502abc49235ad46cf028b6701eb8d39a 100644 (file)
@@ -26,7 +26,7 @@ as described in L<RSA_get_ex_new_index(3)>.
 
 =head1 SEE ALSO
 
-L<RSA_get_ex_new_index()|RSA_get_ex_new_index()>, L<dh(3)|dh(3)>
+L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, L<dh(3)|dh(3)>
 
 =head1 HISTORY
 
index b8a231c642d560c6a7ada86f3b7754eb3b83bfeb..b99ecd25d939b837d969151fd7401ad62ffe9abb 100644 (file)
@@ -192,7 +192,7 @@ in code that must be recompiled if the size of B<EVP_MD_CTX> increases.
 
 L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
 L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
-L<sha(3)|sha(3)>, L<digest(1)|digest(1)>
+L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
 
 =head1 HISTORY
 
index 7f9265d0a60d852e55923acaeb3d200e7e2b9b91..51d05ffe9da1018f964f278b0a23c90d677ab4a0 100644 (file)
@@ -75,7 +75,7 @@ L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
 L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
 L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
 L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
-L<sha(3)|sha(3)>, L<digest(1)|digest(1)>
+L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
 
 =head1 HISTORY
 
index 736a0f4a822b5ba4ad720a227f28781f5d704b59..5d0d1fb151d9810ea69d6ecdcd7620214a933c48 100644 (file)
@@ -62,7 +62,7 @@ L<EVP_SignInit(3)|EVP_SignInit(3)>,
 L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
 L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
 L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
-L<sha(3)|sha(3)>, L<digest(1)|digest(1)>
+L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
 
 =head1 HISTORY
 
index 264e30103d67b345e673ebc893ccaab3af62a8b7..6f729554d2a9cc54fa8cb35513c518995945f14d 100644 (file)
@@ -172,7 +172,7 @@ ERR_get_string_table(void) respectively.
 =head1 SEE ALSO
 
 L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
-L<CRYPTO_set_locking_callback(3)|<CRYPTO_set_locking_callback(3)>,
+L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
 L<ERR_get_error(3)|ERR_get_error(3)>,
 L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
 L<ERR_clear_error(3)|ERR_clear_error(3)>,
index ef0d4df2054a58b6a5e2081ca4739616e76f069c..b7ee57f2dd03bc55471f6d25f19a61ab3d04f08c 100644 (file)
@@ -111,7 +111,7 @@ L<RSA_blinding_on(3)|RSA_blinding_on(3)>,
 L<RSA_set_method(3)|RSA_set_method(3)>, L<RSA_print(3)|RSA_print(3)>,
 L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
 L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>,
-L<RSA_sign_ASN_OCTET_STRING(3)|RSA_sign_ASN_OCTET_STRING(3)>,
+L<RSA_sign_ASN1_OCTET_STRING(3)|RSA_sign_ASN1_OCTET_STRING(3)>,
 L<RSA_padding_add_PKCS1_type_1(3)|RSA_padding_add_PKCS1_type_1(3)> 
 
 =cut
index d59a7db636a8b0fee35f4b97269ac8f1e275909b..c8b99f4eef09346fc087f860c96fd86cf30e1920 100644 (file)
@@ -27,7 +27,7 @@ case is the size 0, which is used for unlimited size.
 
 When the maximum number of sessions is reached, no more new sessions are
 added to the cache. New space may be added by calling
-L<SSL_CTX_flush_sessions(3)|<SSL_CTX_flush_sessions(3)> to remove
+L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)> to remove
 expired sessions.
 
 If the size of the session cache is reduced and more sessions are already
@@ -46,6 +46,6 @@ SSL_CTX_sess_get_cache_size() returns the currently valid size.
 L<ssl(3)|ssl(3)>,
 L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_CTX_sess_number(3)|SSL_CTX_sess_number(3)>,
-L<SSL_CTX_flush_sessions(3)|<SSL_CTX_flush_sessions(3)>
+L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>
 
 =cut
index 6e0ef00632abfbd34685e4deaaf2378f1b677250..7c0b2baf6c5ec81d5d516e3e1f996a1b70dd4279 100644 (file)
@@ -79,7 +79,7 @@ L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>.
 
 L<ssl(3)|ssl(3)>, L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>,
 L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>,
-L<SSL_CTX_flush_sessions(3)|<SSL_CTX_flush_sessions(3)>,
+L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>,
 L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>
 
 =cut
index 320fc930744c3d507d7c3c71e8c296681e348b2f..5c07e53f66f7feab3ddd850947998cd45cf6678b 100644 (file)
@@ -35,7 +35,7 @@ operation (|). Options can only be added but can never be reset.
 SSL_CTX_set_options() and SSL_set_options() affect the (external)
 protocol behaviour of the SSL library. The (internal) behaviour of
 the API can be changed by using the similar
-L<SSL_CTX_set_modes(3)|SSL_CTX_set_modes(3)> and SSL_set_modes() functions.
+L<SSL_CTX_set_mode(3)|SSL_CTX_set_mode(3)> and SSL_set_mode() functions.
 
 During a handshake, the option settings of the SSL object are used. When
 a new SSL object is created from a context using SSL_new(), the current
index 5b64fecdb00667a9968b0c2b76076e9176d06d58..f4c958c5617e82b6f307aaa6733d49e34f22879a 100755 (executable)
@@ -3,54 +3,54 @@ echo Generating x86 for MASM assember
 \r
 echo Bignum\r
 cd crypto\bn\asm\r
-perl x86.pl win32 > bn-win32.asm\r
+perl x86.pl win32 > bn_win32.asm\r
 cd ..\..\..\r
 \r
 echo DES\r
 cd crypto\des\asm\r
-perl des-586.pl win32 > d-win32.asm\r
+perl des-586.pl win32 > d_win32.asm\r
 cd ..\..\..\r
 \r
 echo "crypt(3)"\r
 \r
 cd crypto\des\asm\r
-perl crypt586.pl win32 > y-win32.asm\r
+perl crypt586.pl win32 > y_win32.asm\r
 cd ..\..\..\r
 \r
 echo Blowfish\r
 \r
 cd crypto\bf\asm\r
-perl bf-586.pl win32 > b-win32.asm\r
+perl bf-586.pl win32 > b_win32.asm\r
 cd ..\..\..\r
 \r
 echo CAST5\r
 cd crypto\cast\asm\r
-perl cast-586.pl win32 > c-win32.asm\r
+perl cast-586.pl win32 > c_win32.asm\r
 cd ..\..\..\r
 \r
 echo RC4\r
 cd crypto\rc4\asm\r
-perl rc4-586.pl win32 > r4-win32.asm\r
+perl rc4-586.pl win32 > r4_win32.asm\r
 cd ..\..\..\r
 \r
 echo MD5\r
 cd crypto\md5\asm\r
-perl md5-586.pl win32 > m5-win32.asm\r
+perl md5-586.pl win32 > m5_win32.asm\r
 cd ..\..\..\r
 \r
 echo SHA1\r
 cd crypto\sha\asm\r
-perl sha1-586.pl win32 > s1-win32.asm\r
+perl sha1-586.pl win32 > s1_win32.asm\r
 cd ..\..\..\r
 \r
 echo RIPEMD160\r
 cd crypto\ripemd\asm\r
-perl rmd-586.pl win32 > rm-win32.asm\r
+perl rmd-586.pl win32 > rm_win32.asm\r
 cd ..\..\..\r
 \r
 echo RC5\32\r
 cd crypto\rc5\asm\r
-perl rc5-586.pl win32 > r5-win32.asm\r
+perl rc5-586.pl win32 > r5_win32.asm\r
 cd ..\..\..\r
 \r
 echo on\r
index 8859c154572a2a2a546ade8e2e91506ba0463bea..557f8a66d7ed5406bd4f3e48bed2e5cbd3d69892 100755 (executable)
@@ -4,54 +4,54 @@ echo Generating x86 for NASM assember
 \r
 echo Bignum\r
 cd crypto\bn\asm\r
-perl x86.pl win32n > bn-win32.asm\r
+perl x86.pl win32n > bn_win32.asm\r
 cd ..\..\..\r
 \r
 echo DES\r
 cd crypto\des\asm\r
-perl des-586.pl win32n > d-win32.asm\r
+perl des-586.pl win32n > d_win32.asm\r
 cd ..\..\..\r
 \r
 echo "crypt(3)"\r
 \r
 cd crypto\des\asm\r
-perl crypt586.pl win32n > y-win32.asm\r
+perl crypt586.pl win32n > y_win32.asm\r
 cd ..\..\..\r
 \r
 echo Blowfish\r
 \r
 cd crypto\bf\asm\r
-perl bf-586.pl win32n > b-win32.asm\r
+perl bf-586.pl win32n > b_win32.asm\r
 cd ..\..\..\r
 \r
 echo CAST5\r
 cd crypto\cast\asm\r
-perl cast-586.pl win32n > c-win32.asm\r
+perl cast-586.pl win32n > c_win32.asm\r
 cd ..\..\..\r
 \r
 echo RC4\r
 cd crypto\rc4\asm\r
-perl rc4-586.pl win32n > r4-win32.asm\r
+perl rc4-586.pl win32n > r4_win32.asm\r
 cd ..\..\..\r
 \r
 echo MD5\r
 cd crypto\md5\asm\r
-perl md5-586.pl win32n > m5-win32.asm\r
+perl md5-586.pl win32n > m5_win32.asm\r
 cd ..\..\..\r
 \r
 echo SHA1\r
 cd crypto\sha\asm\r
-perl sha1-586.pl win32n > s1-win32.asm\r
+perl sha1-586.pl win32n > s1_win32.asm\r
 cd ..\..\..\r
 \r
 echo RIPEMD160\r
 cd crypto\ripemd\asm\r
-perl rmd-586.pl win32n > rm-win32.asm\r
+perl rmd-586.pl win32n > rm_win32.asm\r
 cd ..\..\..\r
 \r
 echo RC5\32\r
 cd crypto\rc5\asm\r
-perl rc5-586.pl win32n > r5-win32.asm\r
+perl rc5-586.pl win32n > r5_win32.asm\r
 cd ..\..\..\r
 \r
 echo on\r
@@ -62,6 +62,7 @@ rem perl util\mk1mf.pl VC-W31-32 >ms\w31.mak
 perl util\mk1mf.pl dll VC-W31-32 >ms\w31dll.mak\r
 perl util\mk1mf.pl nasm VC-WIN32 >ms\nt.mak\r
 perl util\mk1mf.pl dll nasm VC-WIN32 >ms\ntdll.mak\r
+perl util\mk1mf.pl nasm BC-NT >ms\bcb.mak\r
 \r
 perl util\mkdef.pl 16 libeay > ms\libeay16.def\r
 perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
index a590dbfa5ca6809919d0de60aaac301a3a3bfdb5..8bcd7f490389b5af57d591dc3676748f682f8e42 100644 (file)
@@ -76,7 +76,8 @@ OPENSSL_GLOBAL SSL_CIPHER ssl2_ciphers[]={
        SSL2_TXT_NULL_WITH_MD5,
        SSL2_CK_NULL_WITH_MD5,
        SSL_kRSA|SSL_aRSA|SSL_eNULL|SSL_MD5|SSL_SSLV2,
-       SSL_EXPORT|SSL_EXP40,
+       SSL_EXPORT|SSL_EXP40|SSL_STRONG_NONE,
+       0,
        0,
        0,
        SSL_ALL_CIPHERS,
@@ -196,6 +197,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl2_ciphers[]={
        SSL2_TXT_NULL,
        SSL2_CK_NULL,
        0,
+       SSL_STRONG_NONE,
        0,
        0,
        0,
index 1944814ca70812b93645bd9a6c9582c67205f239..79fa4f97c24f5779640f016ed946f6d7e667dc98 100644 (file)
@@ -368,10 +368,16 @@ int ssl3_setup_key_block(SSL *s)
                 */
                s->s3->need_empty_fragments = 1;
 
+               if (s->session->cipher != NULL)
+                       {
+                       if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_eNULL)
+                               s->s3->need_empty_fragments = 0;
+                       
 #ifndef NO_RC4
-               if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4))
-                       s->s3->need_empty_fragments = 0;
+                       if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4)
+                               s->s3->need_empty_fragments = 0;
 #endif
+                       }
                }
                
        return(1);
index 57a3fa4f8156ccebf4fbde6ecf3fe92089e5e866..9951ebb4191ea62cb1d469597abdcba015cc9c86 100644 (file)
@@ -129,7 +129,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        SSL3_TXT_RSA_NULL_MD5,
        SSL3_CK_RSA_NULL_MD5,
        SSL_kRSA|SSL_aRSA|SSL_eNULL |SSL_MD5|SSL_SSLV3,
-       SSL_NOT_EXP,
+       SSL_NOT_EXP|SSL_STRONG_NONE,
        0,
        0,
        0,
@@ -142,7 +142,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        SSL3_TXT_RSA_NULL_SHA,
        SSL3_CK_RSA_NULL_SHA,
        SSL_kRSA|SSL_aRSA|SSL_eNULL |SSL_SHA1|SSL_SSLV3,
-       SSL_NOT_EXP,
+       SSL_NOT_EXP|SSL_STRONG_NONE,
        0,
        0,
        0,
@@ -490,7 +490,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        SSL3_TXT_FZA_DMS_NULL_SHA,
        SSL3_CK_FZA_DMS_NULL_SHA,
        SSL_kFZA|SSL_aFZA |SSL_eNULL |SSL_SHA1|SSL_SSLV3,
-       SSL_NOT_EXP,
+       SSL_NOT_EXP|SSL_STRONG_NONE,
        0,
        0,
        0,
@@ -504,7 +504,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        SSL3_TXT_FZA_DMS_FZA_SHA,
        SSL3_CK_FZA_DMS_FZA_SHA,
        SSL_kFZA|SSL_aFZA |SSL_eFZA |SSL_SHA1|SSL_SSLV3,
-       SSL_NOT_EXP,
+       SSL_NOT_EXP|SSL_STRONG_NONE,
        0,
        0,
        0,
index 516d3cc5ae20f177f46f34b49b7933ee851069ea..9297cd2dc34a519768389e6f6a94981351948e19 100644 (file)
 #define SSL_NOT_EXP            0x00000001L
 #define SSL_EXPORT             0x00000002L
 
-#define SSL_STRONG_MASK                0x0000007cL
-#define SSL_EXP40              0x00000004L
+#define SSL_STRONG_MASK                0x000000fcL
+#define SSL_STRONG_NONE                0x00000004L
+#define SSL_EXP40              0x00000008L
 #define SSL_MICRO              (SSL_EXP40)
-#define SSL_EXP56              0x00000008L
+#define SSL_EXP56              0x00000010L
 #define SSL_MINI               (SSL_EXP56)
-#define SSL_LOW                        0x00000010L
-#define SSL_MEDIUM             0x00000020L
-#define SSL_HIGH               0x00000040L
+#define SSL_LOW                        0x00000020L
+#define SSL_MEDIUM             0x00000040L
+#define SSL_HIGH               0x00000080L
 
-/* we have used 0000007f - 25 bits left to go */
+/* we have used 000000ff - 24 bits left to go */
 
 /*
  * Macros to check the export status and cipher strength for export ciphers.
index 000bfa72481dc748b17dce1eee9767b50ff6af20..f3ecc5f5869e6e937a2a5675402c5ff315bbeac8 100644 (file)
@@ -440,10 +440,16 @@ printf("\nkey block\n");
                 */
                s->s3->need_empty_fragments = 1;
 
+               if (s->session->cipher != NULL)
+                       {
+                       if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_eNULL)
+                               s->s3->need_empty_fragments = 0;
+                       
 #ifndef NO_RC4
-               if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4))
-                       s->s3->need_empty_fragments = 0;
+                       if ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4)
+                               s->s3->need_empty_fragments = 0;
 #endif
+                       }
                }
                
        return(1);
index 46755fa28705c6a1cba1939bb302401e9cce4246..4cc7881d8d73d49ead7078641cce185d61ff05f1 100755 (executable)
@@ -98,7 +98,7 @@ $out_def="out";
 $inc_def="outinc";
 $tmp_def="tmp";
 
-$mkdir="mkdir";
+$mkdir="-mkdir";
 
 ($ssl,$crypto)=("ssl","crypto");
 $RSAglue="RSAglue";
index 20cb3a9c506bc7f375d30c7c12aeb166cedc46fc..c268c495507c76538b472aa67abd07bf9012b956 100644 (file)
@@ -65,24 +65,24 @@ $bf_enc_src='';
 
 if (!$no_asm)
        {
-       $bn_mulw_obj='crypto\bn\asm\bn-win32.obj';
-       $bn_mulw_src='crypto\bn\asm\bn-win32.asm';
-       $des_enc_obj='crypto\des\asm\d-win32.obj crypto\des\asm\y-win32.obj';
-       $des_enc_src='crypto\des\asm\d-win32.asm crypto\des\asm\y-win32.asm';
-       $bf_enc_obj='crypto\bf\asm\b-win32.obj';
-       $bf_enc_src='crypto\bf\asm\b-win32.asm';
-       $cast_enc_obj='crypto\cast\asm\c-win32.obj';
-       $cast_enc_src='crypto\cast\asm\c-win32.asm';
-       $rc4_enc_obj='crypto\rc4\asm\r4-win32.obj';
-       $rc4_enc_src='crypto\rc4\asm\r4-win32.asm';
-       $rc5_enc_obj='crypto\rc5\asm\r5-win32.obj';
-       $rc5_enc_src='crypto\rc5\asm\r5-win32.asm';
-       $md5_asm_obj='crypto\md5\asm\m5-win32.obj';
-       $md5_asm_src='crypto\md5\asm\m5-win32.asm';
-       $sha1_asm_obj='crypto\sha\asm\s1-win32.obj';
-       $sha1_asm_src='crypto\sha\asm\s1-win32.asm';
-       $rmd160_asm_obj='crypto\ripemd\asm\rm-win32.obj';
-       $rmd160_asm_src='crypto\ripemd\asm\rm-win32.asm';
+       $bn_mulw_obj='crypto\bn\asm\bn_win32.obj';
+       $bn_mulw_src='crypto\bn\asm\bn_win32.asm';
+       $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj';
+       $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm';
+       $bf_enc_obj='crypto\bf\asm\b_win32.obj';
+       $bf_enc_src='crypto\bf\asm\b_win32.asm';
+       $cast_enc_obj='crypto\cast\asm\c_win32.obj';
+       $cast_enc_src='crypto\cast\asm\c_win32.asm';
+       $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj';
+       $rc4_enc_src='crypto\rc4\asm\r4_win32.asm';
+       $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj';
+       $rc5_enc_src='crypto\rc5\asm\r5_win32.asm';
+       $md5_asm_obj='crypto\md5\asm\m5_win32.obj';
+       $md5_asm_src='crypto\md5\asm\m5_win32.asm';
+       $sha1_asm_obj='crypto\sha\asm\s1_win32.obj';
+       $sha1_asm_src='crypto\sha\asm\s1_win32.asm';
+       $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';
+       $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
        $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
        }
 
index 7c6674b971d8b9ca68aae8ac29b85f0b2841f2dc..8dea9215414f785f722c91ed75269a7b3359b285 100644 (file)
@@ -67,24 +67,24 @@ $bf_enc_src='';
 
 if (!$no_asm)
        {
-       $bn_asm_obj='crypto\bn\asm\bn-win32.obj';
-       $bn_asm_src='crypto\bn\asm\bn-win32.asm';
-       $des_enc_obj='crypto\des\asm\d-win32.obj crypto\des\asm\y-win32.obj';
-       $des_enc_src='crypto\des\asm\d-win32.asm crypto\des\asm\y-win32.asm';
-       $bf_enc_obj='crypto\bf\asm\b-win32.obj';
-       $bf_enc_src='crypto\bf\asm\b-win32.asm';
-       $cast_enc_obj='crypto\cast\asm\c-win32.obj';
-       $cast_enc_src='crypto\cast\asm\c-win32.asm';
-       $rc4_enc_obj='crypto\rc4\asm\r4-win32.obj';
-       $rc4_enc_src='crypto\rc4\asm\r4-win32.asm';
-       $rc5_enc_obj='crypto\rc5\asm\r5-win32.obj';
-       $rc5_enc_src='crypto\rc5\asm\r5-win32.asm';
-       $md5_asm_obj='crypto\md5\asm\m5-win32.obj';
-       $md5_asm_src='crypto\md5\asm\m5-win32.asm';
-       $sha1_asm_obj='crypto\sha\asm\s1-win32.obj';
-       $sha1_asm_src='crypto\sha\asm\s1-win32.asm';
-       $rmd160_asm_obj='crypto\ripemd\asm\rm-win32.obj';
-       $rmd160_asm_src='crypto\ripemd\asm\rm-win32.asm';
+       $bn_asm_obj='crypto\bn\asm\bn_win32.obj';
+       $bn_asm_src='crypto\bn\asm\bn_win32.asm';
+       $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj';
+       $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm';
+       $bf_enc_obj='crypto\bf\asm\b_win32.obj';
+       $bf_enc_src='crypto\bf\asm\b_win32.asm';
+       $cast_enc_obj='crypto\cast\asm\c_win32.obj';
+       $cast_enc_src='crypto\cast\asm\c_win32.asm';
+       $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj';
+       $rc4_enc_src='crypto\rc4\asm\r4_win32.asm';
+       $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj';
+       $rc5_enc_src='crypto\rc5\asm\r5_win32.asm';
+       $md5_asm_obj='crypto\md5\asm\m5_win32.obj';
+       $md5_asm_src='crypto\md5\asm\m5_win32.asm';
+       $sha1_asm_obj='crypto\sha\asm\s1_win32.obj';
+       $sha1_asm_src='crypto\sha\asm\s1_win32.asm';
+       $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';
+       $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
        $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
        }