Fix DES_LONG breakage

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>
This commit is contained in:
Viktor Dukhovni 2016-01-13 12:12:17 -05:00
parent dbc8541b86
commit bdb1d0c24b
6 changed files with 12 additions and 15 deletions

View File

@ -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"; }
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'; }

View File

@ -94,11 +94,6 @@
#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 };

View File

@ -89,11 +89,11 @@
#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). */
#ifndef DES_LONG
#define DES_LONG unsigned long
#ifndef OSSL_DES_LONG
#define OSSL_DES_LONG unsigned long
#endif
#endif

View File

@ -66,6 +66,8 @@
# error DES is disabled.
# endif
# define DES_LONG OSSL_DES_LONG
# ifdef OPENSSL_BUILD_SHLIBCRYPTO
# undef OPENSSL_EXTERN
# define OPENSSL_EXTERN OPENSSL_EXPORT

View File

@ -285,7 +285,7 @@ extern "C" {
# 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>

View File

@ -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 "#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"
@ -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 "#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"