Fix DES_LONG breakage
authorViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 17:12:17 +0000 (12:12 -0500)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 13 Jan 2016 17:37:48 +0000 (12:37 -0500)
For some strange reason opensslconf.h was only defining DES_LONG
when included via des.h, but that's exceedingly fragile (as a
result of include guards the include via des.h might not actually
process the content again).

Ripped out the nesting constraint, now always define OSSL_DES_LONG
if not already defined.  Note, this could just be DES_LONG, but
trying to avoid exposing DES_LONG in places where it has never been
seen before, so it is up to des.h to actually define DES_LONG as
OSSL_DES_LONG.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Configure
crypto/des/rpc_des.h
crypto/opensslconf.h.in
include/openssl/des.h
include/openssl/e_os2.h
makevms.com

index ee60a39bd8ecf91567f5b97471ec762c748d9058..4867475b652fef101348ee93c96713a47de05997 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -2089,8 +2089,8 @@ while (<IN>)
                { printf OUT "#%s EIGHT_BIT\n",($b8)?"define":"undef"; }
        elsif   (/^#((define)|(undef))\s+BN_LLONG\s*$/)
                { printf OUT "#%s BN_LLONG\n",($bn_ll)?"define":"undef"; }
                { printf OUT "#%s EIGHT_BIT\n",($b8)?"define":"undef"; }
        elsif   (/^#((define)|(undef))\s+BN_LLONG\s*$/)
                { printf OUT "#%s BN_LLONG\n",($bn_ll)?"define":"undef"; }
-       elsif   (/^\#define\s+DES_LONG\s+.*/)
-               { printf OUT "#define DES_LONG unsigned %s\n",
+       elsif   (/^\#define\s+OSSL_DES_LONG\s+.*/)
+               { printf OUT "#define OSSL_DES_LONG unsigned %s\n",
                        ($des_int)?'int':'long'; }
        elsif   (/^\#(define|undef)\s+DES_PTR/)
                { printf OUT "#%s DES_PTR\n",($des_ptr)?'define':'undef'; }
                        ($des_int)?'int':'long'; }
        elsif   (/^\#(define|undef)\s+DES_PTR/)
                { printf OUT "#%s DES_PTR\n",($des_ptr)?'define':'undef'; }
index 4db9062d973e34fa24aaf2cb776e50006bf06dca..986ac55348e7b94c9a10bb9d0524b26a6dc3414e 100644 (file)
 #define DES_MAXLEN      65536   /* maximum # of bytes to encrypt */
 #define DES_QUICKLEN    16      /* maximum # of bytes to encrypt quickly */
 
 #define DES_MAXLEN      65536   /* maximum # of bytes to encrypt */
 #define DES_QUICKLEN    16      /* maximum # of bytes to encrypt quickly */
 
-#ifdef HEADER_DES_H
-# undef ENCRYPT
-# undef DECRYPT
-#endif
-
 enum desdir { ENCRYPT, DECRYPT };
 enum desmode { CBC, ECB };
 
 enum desdir { ENCRYPT, DECRYPT };
 enum desmode { CBC, ECB };
 
index 20a420fa7b7c283f5347f74b9d3be8e8b08e87c5..27c725fc6eda0d24c449ac3f7896579cff6559fe 100644 (file)
 #endif
 #endif
 
 #endif
 #endif
 
-#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
+#ifndef OSSL_DES_LONG
 /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
  * %20 speed up (longs are 8 bytes, int's are 4). */
 /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
  * %20 speed up (longs are 8 bytes, int's are 4). */
-#ifndef DES_LONG
-#define DES_LONG unsigned long
+#ifndef OSSL_DES_LONG
+#define OSSL_DES_LONG unsigned long
 #endif
 #endif
 
 #endif
 #endif
 
index 6bb037d9b421ca3a8806d80ba3cd6f11d559a879..9bb2e777a2653a025e0478abed148e3dd03a0b28 100644 (file)
@@ -66,6 +66,8 @@
 #  error DES is disabled.
 # endif
 
 #  error DES is disabled.
 # endif
 
+# define DES_LONG OSSL_DES_LONG
+
 # ifdef OPENSSL_BUILD_SHLIBCRYPTO
 #  undef OPENSSL_EXTERN
 #  define OPENSSL_EXTERN OPENSSL_EXPORT
 # ifdef OPENSSL_BUILD_SHLIBCRYPTO
 #  undef OPENSSL_EXTERN
 #  define OPENSSL_EXTERN OPENSSL_EXPORT
index fb022b13bd9aa1fd6654e01acf04789839ec365c..ceecbfacccb2498ce9e252266c476356bcd522fa 100644 (file)
@@ -285,7 +285,7 @@ extern "C" {
 # endif
 
 /* Standard integer types */
 # endif
 
 /* Standard integer types */
-# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L || \
+# if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
      defined(__osf__) || defined(__sgi) || defined(__hpux) || \
      defined(OPENSSL_SYS_VMS)
 #  include <inttypes.h>
      defined(__osf__) || defined(__sgi) || defined(__hpux) || \
      defined(OPENSSL_SYS_VMS)
 #  include <inttypes.h>
index b26804b25ed8896fe12bca3da6e087d18f1e50d7..ed0ac0486039d6c27495e96e82d5779bc5406ef9 100755 (executable)
@@ -585,8 +585,8 @@ $   WRITE H_FILE "#define RC4_CHUNK unsigned long long"
 $   WRITE H_FILE "#endif"
 $!
 $   WRITE H_FILE "#if defined(HEADER_DES_LOCL_H)"
 $   WRITE H_FILE "#endif"
 $!
 $   WRITE H_FILE "#if defined(HEADER_DES_LOCL_H)"
-$   WRITE H_FILE "#undef DES_LONG"
-$   WRITE H_FILE "#define DES_LONG unsigned int"
+$   WRITE H_FILE "#undef OSSL_DES_LONG"
+$   WRITE H_FILE "#define OSSL_DES_LONG unsigned int"
 $   WRITE H_FILE "#undef DES_PTR"
 $   WRITE H_FILE "#define DES_PTR"
 $   WRITE H_FILE "#undef DES_RISC1"
 $   WRITE H_FILE "#undef DES_PTR"
 $   WRITE H_FILE "#define DES_PTR"
 $   WRITE H_FILE "#undef DES_RISC1"
@@ -622,8 +622,8 @@ $   WRITE H_FILE "#define RC4_CHUNK unsigned long"
 $   WRITE H_FILE "#endif"
 $!
 $   WRITE H_FILE "#if defined(HEADER_DES_LOCL_H)"
 $   WRITE H_FILE "#endif"
 $!
 $   WRITE H_FILE "#if defined(HEADER_DES_LOCL_H)"
-$   WRITE H_FILE "#undef DES_LONG"
-$   WRITE H_FILE "#define DES_LONG unsigned long"
+$   WRITE H_FILE "#undef OSSL_DES_LONG"
+$   WRITE H_FILE "#define OSSL_DES_LONG unsigned long"
 $   WRITE H_FILE "#undef DES_PTR"
 $   WRITE H_FILE "#define DES_PTR"
 $   WRITE H_FILE "#undef DES_RISC1"
 $   WRITE H_FILE "#undef DES_PTR"
 $   WRITE H_FILE "#define DES_PTR"
 $   WRITE H_FILE "#undef DES_RISC1"