Andy Polyakov [Tue, 17 May 2005 00:01:48 +0000 (00:01 +0000)]
Move cryptlib.h prior bio.h. Actually it makes sense to include cryptlib.h
first everywhere in crypto and skip stdio.h and string.h [because it
includes them].
Andy Polyakov [Mon, 16 May 2005 16:55:47 +0000 (16:55 +0000)]
Further BUILDENV refinement, further fool-proofing of Makefiles and
[most importantly] put back dependencies accidentaly eliminated in
check-in #13342.
Nils Larsch [Mon, 16 May 2005 10:11:04 +0000 (10:11 +0000)]
ecc api cleanup; summary:
- hide the EC_KEY structure definition in ec_lcl.c + add
some functions to use/access the EC_KEY fields
- change the way how method specific data (ecdsa/ecdh) is
attached to a EC_KEY
- add ECDSA_sign_ex and ECDSA_do_sign_ex functions with
additional parameters for pre-computed values
- rebuild libeay.num from 0.9.7
Bodo Möller [Mon, 16 May 2005 01:43:31 +0000 (01:43 +0000)]
Implement fixed-window exponentiation to mitigate hyper-threading
timing attacks.
BN_FLG_EXP_CONSTTIME requests this algorithm, and this done by default for
RSA/DSA/DH private key computations unless
RSA_FLAG_NO_EXP_CONSTTIME/DSA_FLAG_NO_EXP_CONSTTIME/
DH_FLAG_NO_EXP_CONSTTIME is set.
Submitted by: Matthew D Wood
Reviewed by: Bodo Moeller
Some C compilers produce warnings or compilation errors if an attempt
is made to directly cast a function of one type to what it considers and
incompatible type. In particular gcc 3.4.2.
Add new openssl_fcast macro to place functions into a form where the compiler
will allow them to be cast.
The current version achives this by casting to: void function(void).
Nils Larsch [Tue, 10 May 2005 11:55:28 +0000 (11:55 +0000)]
use 'p' as conversion specifier for printf to avoid truncation of
pointers on 64 bit platforms. Patch supplied by Daniel Gryniewicz
via Mike Frysinger <vapier@gentoo.org>.
Bodo Möller [Mon, 9 May 2005 00:27:37 +0000 (00:27 +0000)]
Update util/ck_errf.pl script, and have it run automatically
during "make errors" and thus during "make update".
Fix lots of bugs that util/ck_errf.pl can detect automatically.
Various others of these are still left to fix; that's why
"make update" will complain loudly when run now.
Richard Levitte [Sat, 7 May 2005 21:21:17 +0000 (21:21 +0000)]
I was incorrect about VMS/Alpha. Defining BN_LLONG with
SIXTY_FOUR_BIT could cause havoc, so don't (it's lucky bn.h undefines
BN_LLONG when SIXTY_FOUR_BIT is defined).
Richard Levitte [Fri, 6 May 2005 13:34:35 +0000 (13:34 +0000)]
Since BN_LLONG will only be defined for Alpha/VMS and not VAX/VMS,
there's no need to undefine it here. Then, let's get a bit paranoid
and not define BN_ULLONG on THIRTY_TWO_BIT machines when BN_LLONG
isn't defined.
Richard Levitte [Fri, 6 May 2005 13:33:16 +0000 (13:33 +0000)]
Actually, C on VMS/Alpha knows very well what a long long is, and
knows how to make use of it. So let's stop pretending the Alpha
doesn't know long long...
Richard Levitte [Sat, 30 Apr 2005 14:41:51 +0000 (14:41 +0000)]
This one deserves a note. In the change to CHANGES, there's the
following:
+ NOTE: This is for the 0.9.7 series ONLY. This hack will never
+ appear in 0.9.8 or later. We EXPECT application authors to have
+ dealt properly with this when 0.9.8 is released (unless we actually
+ make such changes in the libcrypto locking code that changes will
+ have to be made anyway).
1. "unsigned long long" isn't portable changed: to BN_ULLONG.
2. The LL prefix isn't allowed in VC++ but it isn't needed where it is used.
2. Avoid lots of compiler warnings about signed/unsigned mismatches.
3. Include new library directory pqueue in mk1mf build system.
4. Update symbols.