Andy Polyakov [Thu, 20 Nov 2003 19:10:36 +0000 (19:10 +0000)]
hpux64-parisc2-gcc target added. Once it is verified, ./config should
be modified to choose it instead of hpux64-parisc-gcc, which should
then be removed. hpux64-parisc-cc is removed already now as redundant
[in case you wonder, 64-bit HP-UX ABI *implies* PA-RISC2.0].
Andy Polyakov [Thu, 20 Nov 2003 18:33:20 +0000 (18:33 +0000)]
./config failed to correctly detect if gcc uses 64-bit ABI on HP-UX.
PR: 772
Lutz Jänicke [Tue, 18 Nov 2003 18:27:12 +0000 (18:27 +0000)]
Make sure to initialize AES counters to obtain proper results.
Submitted by: Kirill Kochetkov <kochet@ixbt.com>
PR: #748
Ulf Möller [Sun, 16 Nov 2003 19:33:31 +0000 (19:33 +0000)]
re-enable the test, keeping the original method for RAND_pseudo_bytes
which is used by BN_DEBUG_RAND
Submitted by: Nils Larsch
Lutz Jänicke [Sun, 16 Nov 2003 16:30:39 +0000 (16:30 +0000)]
Catch error condition to prevent NULL pointer dereference.
Submitted by: Goetz Babin-Ebell <babin-ebell@trustcenter.de>
PR: #766
Lutz Jänicke [Sun, 16 Nov 2003 14:38:34 +0000 (14:38 +0000)]
Provide ASFLAGS in the subdirectories handling assembler code.
Submitted by: Tim Rice <tim@multitalents.net>
PR: #735, #765
Ulf Möller [Sun, 16 Nov 2003 12:24:45 +0000 (12:24 +0000)]
The x9.62 tests replace the PRNG with specific numbers,
so don't run them if BN_DEBUG_RAND is defined.
Also, fix another small bug.
Submitted by: Nils Larsch
Ulf Möller [Sat, 15 Nov 2003 08:37:50 +0000 (08:37 +0000)]
BN_set_bit() etc should use "unsigned int".
Keep it as is to avoid an API change, but check for negativ values.
Submitted by: Nils Larsch
Richard Levitte [Fri, 14 Nov 2003 14:06:40 +0000 (14:06 +0000)]
Less restrictive debugging build.
Geoff Thorpe [Thu, 13 Nov 2003 15:03:14 +0000 (15:03 +0000)]
This rewrites two "for" loops in BN_rshift() - equality with zero is
generally a more efficient comparison than comparing two integers, and the
first of these two loops was off-by-one (copying one too many values). This
change also removes a superfluous assignment that would set an unused word
to zero (and potentially allow an overrun in some cases).
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
Geoff Thorpe [Mon, 10 Nov 2003 18:09:18 +0000 (18:09 +0000)]
General improvements to the ec_asn1.c code. This squashes at least one bug
(where it was impossible to create an EC certificate with a compressed
public key), and has some style improvements based on some comments from
Steve Henson about use of the ASN1 macros.
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
Geoff Thorpe [Mon, 10 Nov 2003 18:05:22 +0000 (18:05 +0000)]
Avoid possible memory leaks in error-handling.
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
Dr. Stephen Henson [Mon, 10 Nov 2003 01:37:23 +0000 (01:37 +0000)]
Print out GeneralizedTime and UTCTime in ASN1_STRING_print_ex().
Ulf Möller [Fri, 7 Nov 2003 01:33:00 +0000 (01:33 +0000)]
Geoff suggested a more succinct description for "top".
Ulf Möller [Fri, 7 Nov 2003 00:07:28 +0000 (00:07 +0000)]
oops... the description of ->top was inaccurate (the example is correct though)
Geoff Thorpe [Thu, 6 Nov 2003 23:24:44 +0000 (23:24 +0000)]
This extends the debugging macros to use "pollution" during
bn_correct_top(), previously only bn_check_top() did this.
Geoff Thorpe [Thu, 6 Nov 2003 23:13:04 +0000 (23:13 +0000)]
Add debug-screening of input parameters to some functions I'd missed
before.
Geoff Thorpe [Thu, 6 Nov 2003 23:11:07 +0000 (23:11 +0000)]
Put more debug screening in BN_div() and correct a comment.
Geoff Thorpe [Wed, 5 Nov 2003 19:30:29 +0000 (19:30 +0000)]
This is a revert of my previous commit to "improve" the declaration of
constant BIGNUMs. It turns out that this trips up different but equally
useful compiler warnings to -Wcast-qual, and so wasn't worth the ugliness
it created. (Thanks to Ulf for the forehead-slap.)
Ulf Möller [Wed, 5 Nov 2003 17:28:59 +0000 (17:28 +0000)]
typo in comment
Ulf Möller [Wed, 5 Nov 2003 17:28:25 +0000 (17:28 +0000)]
cleanup as discussed with Geoff
Ulf Möller [Wed, 5 Nov 2003 17:27:13 +0000 (17:27 +0000)]
Cygwin debugging
Geoff Thorpe [Tue, 4 Nov 2003 22:54:49 +0000 (22:54 +0000)]
Put the first stage of my bignum debugging adventures into CVS. This code
is itself experimental, and in addition may cause execution to break on
existing openssl "bugs" that previously were harmless or at least
invisible.
Geoff Thorpe [Tue, 4 Nov 2003 00:51:32 +0000 (00:51 +0000)]
Avoid some shadowed variable names.
Submitted by: Nils Larsch
Geoff Thorpe [Tue, 4 Nov 2003 00:29:09 +0000 (00:29 +0000)]
This is the least unacceptable way I've found for declaring the bignum data
and structures as constant without having to cast away const at any point.
There is still plenty of other code that makes gcc's "-Wcast-qual" unhappy,
but crypto/bn/ is now ok. Purists are welcome to suggest alternatives.
Richard Levitte [Fri, 31 Oct 2003 10:48:48 +0000 (10:48 +0000)]
Engines are usually binary, and should therefore be in INSTALLTOP
rather than OPENSSLDIR.
Richard Levitte [Fri, 31 Oct 2003 06:58:24 +0000 (06:58 +0000)]
Let exit codes propagate from within for loops.
Geoff Thorpe [Fri, 31 Oct 2003 01:35:16 +0000 (01:35 +0000)]
bn_div() does some pretty nasty things with temporary variables,
constructing BIGNUM structures with pointers offset into other bignums
(among other things). This corrects some of it that is too plainly insane,
and tries to ensure that bignums are normalised when passed to other
functions.
Geoff Thorpe [Thu, 30 Oct 2003 01:07:56 +0000 (01:07 +0000)]
When a BN_CTX is used for temporary workspace, the variables are sometimes
left in an inconsistent state when they are released for later reuse. This
change resets the BIGNUMs when they are released back to the context.
Geoff Thorpe [Thu, 30 Oct 2003 01:03:31 +0000 (01:03 +0000)]
This fixes a couple of cases where an inconsistent BIGNUM could be passed as
input to a function.
Geoff Thorpe [Wed, 29 Oct 2003 23:25:52 +0000 (23:25 +0000)]
make update
Geoff Thorpe [Wed, 29 Oct 2003 23:25:34 +0000 (23:25 +0000)]
Tighten up my compiler settings.
Geoff Thorpe [Wed, 29 Oct 2003 22:55:19 +0000 (22:55 +0000)]
Remove a line that was causing redundant declarations.
Obtained from: Stephen Henson <steve@openssl.org>
Geoff Thorpe [Wed, 29 Oct 2003 22:30:45 +0000 (22:30 +0000)]
Copy-n-paste bug (don't mix variable declarations and code). This sets the
callback structure just before it is needed.
Geoff Thorpe [Wed, 29 Oct 2003 22:25:04 +0000 (22:25 +0000)]
Oops, this file already had the "empty source file" workaround but it
requires -DPEDANTIC and was hidden at the bottom of the file. This moves it
to the top and removes the redundant declaration.
Geoff Thorpe [Wed, 29 Oct 2003 20:55:03 +0000 (20:55 +0000)]
Make md32_common.h friendlier to compiler warnings.
Obtained from: Andy Polyakov <appro@openssl.org>
Geoff Thorpe [Wed, 29 Oct 2003 20:47:49 +0000 (20:47 +0000)]
Some provisional bignum debugging has begun to detect inconsistent BIGNUM
structures being passed in to or out of API functions, and this corrects a
couple of cases found so far.
Also, lop off a couple of bytes of white-space.
Geoff Thorpe [Wed, 29 Oct 2003 20:24:15 +0000 (20:24 +0000)]
A general spring-cleaning (in autumn) to fix up signed/unsigned warnings.
I have tried to convert 'len' type variable declarations to unsigned as a
means to address these warnings when appropriate, but when in doubt I have
used casts in the comparisons instead. The better solution (that would get
us all lynched by API users) would be to go through and convert all the
function prototypes and structure definitions to use unsigned variables
except when signed is necessary. The proliferation of (signed) "int" for
strictly non-negative uses is unfortunate.
Geoff Thorpe [Wed, 29 Oct 2003 18:04:37 +0000 (18:04 +0000)]
BN_CTX is opaque and the static initialiser BN_CTX_init() is not used
except internally to the allocator BN_CTX_new(), as such this deprecates
the use of BN_CTX_init() in the API. Moreover, the structure definition of
BN_CTX is taken out of bn_lcl.h and moved into bn_ctx.c itself.
NDEBUG should probably only be "forced" in the top-level configuration, but
until it is I will avoid removing it from bn_ctx.c which might surprise
people with massive slow-downs in their keygens. So I've left it in
bn_ctx.c but tidied up the preprocessor logic a touch and made it more
tolerant of debugging efforts.
Richard Levitte [Wed, 29 Oct 2003 06:21:22 +0000 (06:21 +0000)]
Removing those memcpy()s also took away the possibility for in and out to
be the same. Therefore, the removed memcpy()s need to be restored.
Geoff Thorpe [Wed, 29 Oct 2003 05:35:31 +0000 (05:35 +0000)]
remove accidentally committed debugging cruft.
Geoff Thorpe [Wed, 29 Oct 2003 05:00:57 +0000 (05:00 +0000)]
Remove an unnecessary cast that causes certain compilers (eg. mine) some
confusion. Also silence a couple of signed/unsigned warnings.
Geoff Thorpe [Wed, 29 Oct 2003 04:58:23 +0000 (04:58 +0000)]
Remove redundant declaration.
Geoff Thorpe [Wed, 29 Oct 2003 04:57:05 +0000 (04:57 +0000)]
Relax some over-zealous constification that gave some lhash-based code no
choice but to have to cast away "const" qualifiers from their prototypes.
This does not remove constification restrictions from hash/compare
callbacks, but allows destructor commands to be run over a tables' elements
without bad casts.
Geoff Thorpe [Wed, 29 Oct 2003 04:42:29 +0000 (04:42 +0000)]
Comments out some unimplemented functions instead of redeclaring them.
Geoff Thorpe [Wed, 29 Oct 2003 04:41:19 +0000 (04:41 +0000)]
Avoid "empty source file" warnings.
Geoff Thorpe [Wed, 29 Oct 2003 04:40:13 +0000 (04:40 +0000)]
For whatever reason (compiler or header bugs), at least one commonly-used
linux system (namely mine) chokes on our definitions and uses of the "HZ"
symbol in crypto/tmdiff.[ch] and apps/speed.c as a "bad function cast"
(when in fact there is no function casting involved at all). In both cases,
it is easily worked around by not defining a cast into the macro and
jiggling the expressions slightly.
In addition - this highlights some cruft in openssl that needs sorting out.
The tmdiff.h header is exported as part of the openssl API despite the fact
that it is ugly as the driven sludge and not used anywhere in the library,
applications, or utilities. More weird still, almost identical code exists
in apps/speed.c though it looks to be slightly tweaked - so either tmdiff
should be updated and used by speed.c, or it should be dumped because it's
obviously not useful enough.
Rather than removing it for now, I've changed the API for tmdiff to at
least make sense. This involves taking the object type (MS_TM) from the
implementation and using it in the header rather than using "char *" in the
API and casting mercilessly in the code (ugh). If someone doesn't like
"MS_TM" and the "ms_time_***" naming, by all means change it. This should
be a harmless improvement, because the existing API is clearly not very
useful (eg. we reimplement it rather than using it in our own utils).
However, someone still needs to take a hack at consolidating speed.c and
tmdiff.[ch] somehow.
Geoff Thorpe [Wed, 29 Oct 2003 04:14:08 +0000 (04:14 +0000)]
Update any code that was using deprecated functions so that everything builds
and links with OPENSSL_NO_DEPRECATED defined.
Geoff Thorpe [Wed, 29 Oct 2003 04:06:50 +0000 (04:06 +0000)]
When OPENSSL_NO_DEPRECATED is defined, deprecated functions are (or should
be) precompiled out in the API headers. This change is to ensure that if
it is defined when compiling openssl, the deprecated functions aren't
implemented either.
Geoff Thorpe [Wed, 29 Oct 2003 04:00:14 +0000 (04:00 +0000)]
The "cryptodev" engine preprocessor logic used undefined symbols in
comparisons. It's better not to allow this, because it gives false
positives when using compiler warnings that detect mistyped symbols.
Geoff Thorpe [Tue, 28 Oct 2003 22:57:18 +0000 (22:57 +0000)]
Add my own debug config target.
Geoff Thorpe [Tue, 28 Oct 2003 22:10:47 +0000 (22:10 +0000)]
make update
Geoff Thorpe [Tue, 28 Oct 2003 17:26:46 +0000 (17:26 +0000)]
Ignore derived file.
Geoff Thorpe [Tue, 28 Oct 2003 17:24:29 +0000 (17:24 +0000)]
crypto/evp/evptests.txt is copied to tests/ rather than symlinked because
of windows (see checkin 1.75 of crypto/evp/Makefile.ssl), so quiet cvs
noise for the copied version.
Geoff Thorpe [Fri, 24 Oct 2003 16:17:11 +0000 (16:17 +0000)]
Remove duplicate prototypes have already been (correctly) added to rsa.h,
as this is already included by x509.h anyway.
Richard Levitte [Wed, 15 Oct 2003 09:00:14 +0000 (09:00 +0000)]
Correct serious bug in AES-CBC decryption when the message length isn't
a multiple of AES_BLOCK_SIZE.
Optimize decryption of all complete blocks in AES-CBC by removing an
unnecessary memcpy().
The error was notified by James Fernandes <jf210032@exchange.DAYTONOH.NCR.com>.
The unnecessary memcpy() was found as an effect of investigating that error.
Richard Levitte [Mon, 13 Oct 2003 11:34:40 +0000 (11:34 +0000)]
The object file is o_str.o, not o_str.c.
Thanks to Peter Sylvester <Peter.Sylvester@EdelWeb.fr> for the notification.
Dr. Stephen Henson [Sat, 11 Oct 2003 22:11:45 +0000 (22:11 +0000)]
Add support for digested data PKCS#7 type.
Dr. Stephen Henson [Sat, 11 Oct 2003 16:46:40 +0000 (16:46 +0000)]
Simplify cipher and digest lookup in PKCS#7 code.
Dr. Stephen Henson [Fri, 10 Oct 2003 23:40:47 +0000 (23:40 +0000)]
New function to initialize a PKCS7 structure of type other.
Dr. Stephen Henson [Fri, 10 Oct 2003 23:31:53 +0000 (23:31 +0000)]
Initialize digested data type in PKCS7_set_type().
Dr. Stephen Henson [Fri, 10 Oct 2003 23:25:43 +0000 (23:25 +0000)]
Retrieve correct content to sign when the
type is "other".
Dr. Stephen Henson [Fri, 10 Oct 2003 23:07:24 +0000 (23:07 +0000)]
Avoid warnings: add missing prototype, don't shadow.
Richard Levitte [Tue, 7 Oct 2003 12:09:39 +0000 (12:09 +0000)]
In realloc, don't destroy the old memory area if a new one couldn't be
allocated.
Notified by Daniel Lucq <daniel@lucq.org>
Richard Levitte [Mon, 6 Oct 2003 12:22:42 +0000 (12:22 +0000)]
make update
Richard Levitte [Mon, 6 Oct 2003 12:19:38 +0000 (12:19 +0000)]
s_client should inform the user of any compression/expansion methods used.
Richard Levitte [Mon, 6 Oct 2003 12:18:39 +0000 (12:18 +0000)]
Add functionality to get information on compression methods (not quite complete).
Richard Levitte [Mon, 6 Oct 2003 11:00:15 +0000 (11:00 +0000)]
Make sure int SSL_COMP_add_compression_method() checks if a certain
compression identity is already present among the registered
compression methods, and if so, reject the addition request.
Declare SSL_COMP_get_compression_method() so it can be used properly.
Change ssltest.c so it checks what compression methods are available
and enumerates them. As a side-effect, built-in compression methods
will be automagically loaded that way. Additionally, change the
identities for ZLIB and RLE to be conformant to
draft-ietf-tls-compression-05.txt.
Finally, make update.
Next on my list: have the built-in compression methods added
"automatically" instead of requiring that the author call
SSL_COMP_add_compression_method() or
SSL_COMP_get_compression_methods().
Richard Levitte [Mon, 6 Oct 2003 09:09:44 +0000 (09:09 +0000)]
Setting the ex_data index is unsafe in a threaded environment, so
let's wrap it with a lock.
Richard Levitte [Sat, 4 Oct 2003 09:09:19 +0000 (09:09 +0000)]
Remove unused code, don't use zlib functions that are really macros
and provide missing prototypes.
Richard Levitte [Thu, 2 Oct 2003 10:41:48 +0000 (10:41 +0000)]
Check for errors from SSL_COMP_add_compression_method().
Notified by Andrew Marlow <AMARLOW1@bloomberg.net>
Richard Levitte [Thu, 2 Oct 2003 10:38:44 +0000 (10:38 +0000)]
Correct a mixup of return values
Richard Levitte [Wed, 1 Oct 2003 20:43:03 +0000 (20:43 +0000)]
Include e_os.h to get a proper definition of memmove on the platforms
that do not have it.
Richard Levitte [Wed, 1 Oct 2003 15:06:36 +0000 (15:06 +0000)]
Corrected misplacement of one of the greps...
Richard Levitte [Wed, 1 Oct 2003 15:04:13 +0000 (15:04 +0000)]
Remove leading and trailing spaces and tabs
Richard Levitte [Wed, 1 Oct 2003 15:03:15 +0000 (15:03 +0000)]
Avoid 'file names' with spaces
Richard Levitte [Wed, 1 Oct 2003 15:02:45 +0000 (15:02 +0000)]
Use correct case for manual page references
Richard Levitte [Tue, 30 Sep 2003 17:31:48 +0000 (17:31 +0000)]
Correct incorrect mode bits change.
Richard Levitte [Tue, 30 Sep 2003 17:22:19 +0000 (17:22 +0000)]
Correct buggy PODs (missing commas and a prepended space).
Dr. Stephen Henson [Tue, 30 Sep 2003 16:47:33 +0000 (16:47 +0000)]
ASN1 parse fix and release file changes.
Richard Levitte [Sun, 28 Sep 2003 14:06:57 +0000 (14:06 +0000)]
Further VxWorks changes from Bob Bradley <bob@chaoticsoftware.com>, this
time involving VxWorks on MIPS
Richard Levitte [Sun, 28 Sep 2003 09:34:50 +0000 (09:34 +0000)]
Synchronise util/libeay.num with the 0.9.7-stable one.
make update
Richard Levitte [Sun, 28 Sep 2003 07:11:33 +0000 (07:11 +0000)]
Uhmm, It seem to have forgotten one file when I committed the MSDOS
change yesterday.
PR: 669
Richard Levitte [Sat, 27 Sep 2003 22:48:33 +0000 (22:48 +0000)]
Change the indentation from 12 to indent+4.
PR: 657
Richard Levitte [Sat, 27 Sep 2003 22:14:39 +0000 (22:14 +0000)]
Make MD5 assembler code able to handle messages larger than 2GB on 32-bit
systems and above.
PR: 664
Richard Levitte [Sat, 27 Sep 2003 21:56:08 +0000 (21:56 +0000)]
Selected changes for MSDOS, contributed by Gisle Vanem <giva@bgnett.no>.
PR: 669
Richard Levitte [Sat, 27 Sep 2003 20:29:05 +0000 (20:29 +0000)]
Add reference counting around the thread state hash table.
Unfortunately, this means that the dynamic ENGINE version just went up, and
isn't backward compatible.
PR: 678
Richard Levitte [Sat, 27 Sep 2003 19:32:06 +0000 (19:32 +0000)]
Have ssl3_ssl3_send_client_verify() change the state to SSL3_ST_SW_CERT_VRFY_B.
PR: 679
Richard Levitte [Sat, 27 Sep 2003 19:27:06 +0000 (19:27 +0000)]
Have ssl3_send_certificate_request() change the state to SSL3_ST_SW_CERT_REQ_B.
PR: 680
Richard Levitte [Sat, 27 Sep 2003 17:55:13 +0000 (17:55 +0000)]
Include the instance in the Kerberos ticket information.
In s_server, print the received Kerberos information.
PR: 693
Richard Levitte [Sat, 27 Sep 2003 10:39:16 +0000 (10:39 +0000)]
Correct small documentation error.
PR: 698
Richard Levitte [Sat, 27 Sep 2003 07:35:07 +0000 (07:35 +0000)]
Free the Kerberos context upon freeing the SSL.
Contributed by Andrew Mann <amann@tccgi.com>
Richard Levitte [Sat, 27 Sep 2003 07:34:49 +0000 (07:34 +0000)]
Add necessary changes to be able to build on VxWorks for PPC860.
Contributed by Bob Bradley <bob@chaoticsoftware.com>
Ralf S. Engelschall [Thu, 25 Sep 2003 13:57:58 +0000 (13:57 +0000)]
Fix prime generation loop in crypto/bn/bn_prime.pl by making
sure the loop does correctly stop and breaking ("division by zero")
modulus operations are not performed. The (pre-generated) prime
table crypto/bn/bn_prime.h was already correct, but it could not be
re-generated on some platforms because of the "division by zero"
situation in the script.
Dr. Stephen Henson [Sun, 21 Sep 2003 02:20:02 +0000 (02:20 +0000)]
Add -passin support to rsautl
Dr. Stephen Henson [Sun, 21 Sep 2003 02:18:15 +0000 (02:18 +0000)]
In order to get the expected self signed error when
calling X509_verify_cert() in x509.c the cert should
not be added to the trusted store.
Dr. Stephen Henson [Tue, 9 Sep 2003 23:44:39 +0000 (23:44 +0000)]
Typos.
Richard Levitte [Tue, 9 Sep 2003 14:48:36 +0000 (14:48 +0000)]
Generalise the definition of strcasecmp() and strncasecmp() for
platforms that don't (necessarely) have it. In the case of VMS, this
means moving a couple of functions from apps/ to crypto/ and make them
general (although only used privately).
Geoff Thorpe [Mon, 8 Sep 2003 15:47:55 +0000 (15:47 +0000)]
These should be write-locks, not read-locks.
Bodo Möller [Thu, 4 Sep 2003 12:52:56 +0000 (12:52 +0000)]
certain changes have to be listed twice in this file because OpenSSL
0.9.6h forked into 0.9.6i and 0.9.7 ...