Richard Levitte [Thu, 17 Aug 2000 21:26:22 +0000 (21:26 +0000)]
New option 'ctestall' for mkdef.pl, that makes it not only generate
existing functions, but really all functions that exist in libeay.num
and ssleay.num. This is a good check on how much we should actually
clean up the number files.
Richard Levitte [Thu, 17 Aug 2000 10:23:45 +0000 (10:23 +0000)]
Allow reconfiguration. This can be useful if some source update
requires that you configure again, but you don't want to reenter all
those configuration arguments again.
Richard Levitte [Mon, 14 Aug 2000 17:00:36 +0000 (17:00 +0000)]
IBMcxx complains that maxmem is as low as 2048 for certain modules
(like all the digests). Setting maxmem to 16K seems to give the
compiler enough space to do all the optimization it wants.
Richard Levitte [Mon, 14 Aug 2000 14:05:53 +0000 (14:05 +0000)]
MD4 implemented. Assar Westerlund provided the digest code itself and the test utility, I added the bits to get a EVP interface, the command line utility and the speed test
Richard Levitte [Fri, 11 Aug 2000 08:36:25 +0000 (08:36 +0000)]
Abdelilah Essiari <aes@george.lbl.gov> reports that for very small
records, EVP_EncodeUpdate() may misbehave. This happens when there's
a record boundary between the two ending b64 equal signs, which makes
EVP_EncodeUpdate think there has been more than one EOF, and therefore
add an extra NUL at the end of the output buffer. This fix corrects
that problem.
Bodo Möller [Wed, 2 Aug 2000 09:04:44 +0000 (09:04 +0000)]
Include SKIP DH parameters with OpenSSL.
These have been created by a SHA.1 based procedure, see
http://www.skip-vpn.org/spec/numbers.html.
(These values are taken from that document, I have not
implemented the prime generator.)
Richard Levitte [Wed, 2 Aug 2000 03:03:17 +0000 (03:03 +0000)]
A few corrections with the shared library support:
1. make sure libssl.so becomes dependent on libcrypto.so
2. correct a number of silly bugs in the solaris-shared target, and make
sure lib*.so also depends on libc.so.
Richard Levitte [Tue, 1 Aug 2000 17:15:36 +0000 (17:15 +0000)]
Make it so we can dynamically enable memory allocation debugging through the
environment variable OPENSSL_DEBUG_MEMORY (existence is sufficient). At the
same time, it makes sure that CRYPTO_malloc_debug_init() gets expanded some-
where and thereby tested for compilation.
Richard Levitte [Mon, 31 Jul 2000 22:49:27 +0000 (22:49 +0000)]
If a ip address is successfully parsed, the WSA structure under Win32 wasn't
properly initialised. Fixed.
Bug reported by DeJuan Jackson <djackson@inverge.com>
Bodo Möller [Sat, 29 Jul 2000 18:50:41 +0000 (18:50 +0000)]
Fix SSL 2.0 rollback checking: The previous implementation of the
test was never triggered due to an off-by-one error.
In s23_clnt.c, don't use special rollback-attack detection padding
(RSA_SSLV23_PADDING) if SSL 2.0 is the only protocol enabled in the
client; similarly, in s23_srvr.c, don't do the rollback check if
SSL 2.0 is the only protocol enabled in the server.
New ASN1_STRING_print_ex() and X509_NAME_print_ex()
functions. These are intended to be replacements
for the ancient ASN1_STRING_print() and X509_NAME_print()
functions.
The new functions support RFC2253 and various pretty
printing options. It is also possible to display
international characters if the terminal properly handles
UTF8 encoding (Linux seems to tolerate this if the
"unicode_start" script is run).
Still needs to be documented, integrated into other
utilities and extensively tested.
Richard Levitte [Thu, 27 Jul 2000 21:32:23 +0000 (21:32 +0000)]
There's a slight possibility that a is 0 in BN_sub_word(), and might
therefore have unallocated parts. Therefore, a check for the 0 case
is needed, resulting with the same thing as when a is negative.
Richard Levitte [Thu, 27 Jul 2000 21:17:14 +0000 (21:17 +0000)]
In the case where a < 0 and |a| < w, the result (assigned to a) from
BN_add_word becomes wrongly negative...
This was discovered by Darrel Hankerson <dhankers@cacr.math.uwaterloo.ca>
Richard Levitte [Thu, 27 Jul 2000 20:14:39 +0000 (20:14 +0000)]
Looks like Win32 builds do not define THREADS. However, they're still
supporting threads, which means that th assertion is supperbly
dangerous, so make sure it's not compiled under Win32, period.
Richard Levitte [Thu, 27 Jul 2000 17:28:25 +0000 (17:28 +0000)]
Add the possibility to get hexdumps of unprintable data when using
'openssl asn1parse'. As a side effect, the functions ASN1_parse_dump
and BIO_dump_indent are added.
Richard Levitte [Wed, 26 Jul 2000 16:53:58 +0000 (16:53 +0000)]
When data are written out in very small blocks (less than 3 bytes in
size) through the base64 filter, b64_write() messes up it's parameters
in such a way that instead of writing correct base64 output, the first
4 characters of that output is repeated over and over. This fix
corrects that problem.
Richard Levitte [Wed, 26 Jul 2000 08:32:00 +0000 (08:32 +0000)]
There's a deadlock when ssleay_rand_bytes is called the first time, since
it wants to stir the pool using ssleay_rand_add. This fix provides the
possibility to call ssleay_rand_add inside a locked state by simply telling
it not to do any locking through a static variable. This isn't the most
elegant way one could do this, but it does retain thread safety during the
stirring process.
Richard Levitte [Wed, 26 Jul 2000 01:14:16 +0000 (01:14 +0000)]
Darrel Hankerson <dhankers@cacr.math.uwaterloo.ca> correctly discovered
that of the result pointer to bn_mul was the same as one of the two arguments,
That argument might have it's sign destroyed. He provided this fix.
Richard Levitte [Mon, 24 Jul 2000 20:34:29 +0000 (20:34 +0000)]
This isn't entirely necessary if you do everything right from the
start, but can save you some trouble. Just ignore "shared" if it
comes up among the given options, at least for now...
Richard Levitte [Fri, 21 Jul 2000 15:08:53 +0000 (15:08 +0000)]
Redo and enhance the support for building shared libraries. Currently
there's support for building under Linux and True64 (using examples
from the programming manuals), including versioning that is currently
the same as OpenSSL versions but should really be a different series.
With this change, it's up to the users to decide if they want shared
libraries as well as the static ones. This decision now has to be
done at configuration time (well, not really, those who know what they
do can still do it the same way as before).
The OpenSSL programs (openssl and the test programs) are currently
always linked statically, but this may change in the future in a
configurable manner. The necessary makefile variables to enable this
are in place.
Also note that I have done absolutely nothing about the Windows target
to get something similar. On the other hand, DLLs are already the
default there, but without versioning, and I've no idea what the
possibilities for such a thing are there...
Richard Levitte [Wed, 5 Jul 2000 02:45:36 +0000 (02:45 +0000)]
I got sick and tired of having to keep track of NIDs when such a thing
could be done automagically, much like the numbering in libeay.num and
ssleay.num. The solution works as follows:
- New object identifiers are inserted in objects.txt, following the
syntax given in objects.README.
- objects.pl is used to process obj_mac.num and create a new
obj_mac.h.
- obj_dat.pl is used to create a new obj_dat.h, using the data in
obj_mac.h.
This is currently kind of a hack, and the perl code in objects.pl
isn't very elegant, but it works as I intended. The simplest way to
check that it worked correctly is to look in obj_dat.h and check the
array nid_objs and make sure the objects haven't moved around (this is
important!). Additions are OK, as well as consistent name changes.