Richard Levitte [Mon, 12 Jul 2004 11:24:55 +0000 (11:24 +0000)]
Because it's one of our libraries calling new functions in the other,
we need to have them among the symbols that should appear in the
transfer table, at least on VMS (and it wouldn't surprise me if
Windows would whine as well).
Richard Levitte [Sat, 10 Jul 2004 13:16:02 +0000 (13:16 +0000)]
Copy a few files from LPlib (a new project of mine), add a wrapper.
Now we have directory reading capabilities for VMS as well, and all
of it in a fairly general manner.
Richard Levitte [Thu, 8 Jul 2004 08:32:48 +0000 (08:32 +0000)]
o_str.c: Windows doesn't have <strings.h>, and since we use _strnicmp() and
_stricmp() on that platform, use the appropriate header file for it,
<string.h>.
o_str.h: we only want to get size_t, which is defined in <stddef.h>.
Philippe Bougeret <philippe.bougeret@freesbee.fr> notified us about Windows
not having a <strings.h>
Richard Levitte [Thu, 1 Jul 2004 12:33:39 +0000 (12:33 +0000)]
Explain a little better what BN_num_bits() and BN_num_bits_word() do.
Add a note as to how these functions do not always return the key size, and
how one can deal with that.
Andy Polyakov [Thu, 1 Jul 2004 11:10:38 +0000 (11:10 +0000)]
New scalable bn_mul_add_words loop, which provides up to >20% overall
performance improvement. Make module more gcc friendly and clarify
copyright issues for division routine.
Geoff Thorpe [Sun, 20 Jun 2004 04:16:12 +0000 (04:16 +0000)]
Tidy up, including;
- Remove unused and unuseful debug cruft.
- Remove unnecessary 'top' fudging from BN_copy().
- Fix a potential memory leak and simplify the expansion logic in
BN_bin2bn().
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
Geoff Thorpe [Sat, 19 Jun 2004 03:58:42 +0000 (03:58 +0000)]
Incomplete initial sweep over the engine code. Mainly reducing some
comment-noise to managable levels and inverting the sense of the "uptodate"
boolean (which was counter-intuitive the way I'd left it).
Geoff Thorpe [Thu, 17 Jun 2004 23:40:14 +0000 (23:40 +0000)]
Attempt to bring the 'engine' documentation up to date w.r.t missing
prototypes, etc. Also, some fairly significant edits were made to the text
(who wrote this crap anyway? oh wait ...), removing stuff which is
overkill, rewriting stuff that was opaque, correcting things that were just
downright false, etc.
Geoff Thorpe [Thu, 17 Jun 2004 20:13:50 +0000 (20:13 +0000)]
As Nils put it;
Yet another question: some time ago you changed BN_set_word.
Why didn't you change BN_get_word as well?
Quite. I'm also removing the older commented-out implementations to improve
readability. This complex stuff seems to date from a time when the types
didn't match up well.
Geoff Thorpe [Thu, 17 Jun 2004 20:03:56 +0000 (20:03 +0000)]
BN_div_word() was breaking when called from BN_bn2dec() (actually, this is
the only function that uses it) because it would trip up an assertion in
bn_div_words() when first invoked. This also adds BN_div_word() testing to
bntest.
Submitted by: Nils Larsch
Reviewed by: Geoff Thorpe
Richard Levitte [Tue, 15 Jun 2004 12:52:26 +0000 (12:52 +0000)]
Making some values explicitely unsigned was derived from ongoing work
that isn't yet committed. It wasn't meant to be committed already, so
I'm removing it for now.
Andy Polyakov [Fri, 11 Jun 2004 17:50:57 +0000 (17:50 +0000)]
SHA fails to compile on x86_64 if compiled with custom flags, without
recommended -DMD32_REG_T=int in particular.
PR: 893
Submitted by: Michal Ludvig <michal-list@logix.cz>
Geoff Thorpe [Tue, 1 Jun 2004 03:18:58 +0000 (03:18 +0000)]
This fixes the installation target for dynamic engines, which was trying to
install to a different location than it had created. (BTW, VMS will need a
matching fix in eng_list.c.) Note, these aren't ssl-specific, so I'm
putting "engines/" into the libs directory rather than at the "--prefix"
level or inside "ssl/".
Andy Polyakov [Mon, 31 May 2004 17:10:49 +0000 (17:10 +0000)]
32-bit PA-RISC requires -Bsymbolic when linking libcrypto.sl. Without
this flag RAND_poll ends up in end-less loop calling RAND_add. But
don't ask me why...
Andy Polyakov [Mon, 31 May 2004 12:26:18 +0000 (12:26 +0000)]
Final SHA-256/-512 touches. Extra md_len field in SHA[256|512]_CTX
reserves for truncated hash function output mode and makes SHA224
thread-safe. Next stop is integration with EVP and we're done...
Andy Polyakov [Mon, 31 May 2004 12:06:27 +0000 (12:06 +0000)]
Kill unused macro and reimplement it for that single context it can
actually be used, namely x86* platforms [because they don't bomb on
unaligned access]. This resulted in 30-40% [depending on message
length] improvement for SHA-256 compiled with gcc and running on P4.
In the lack of assembler implementation I give the compiler all the
help it can possibly get:-)
Richard Levitte [Sun, 30 May 2004 16:58:33 +0000 (16:58 +0000)]
SHA224_Update() and SHA224_Final() aren't implemented, and since
SHA224() uses SHA256_Update() and SHA256_Final() instead, let's just
create aliases in form of macros.
Andy Polyakov [Fri, 28 May 2004 22:18:48 +0000 (22:18 +0000)]
Unified hpux-shared rule. Verified with both 32- and 64-bit builds and
both vendor and GNU compilers. ./engine shared build are still busted.
I mean always were...
Andy Polyakov [Tue, 25 May 2004 20:31:03 +0000 (20:31 +0000)]
Framework for glueing BIO layer and Win32 compiler run-time. Goal is to
make it possible to produce for a unified binary build, which can be
used with a variety of Win32 compilers.
Andy Polyakov [Thu, 20 May 2004 21:18:09 +0000 (21:18 +0000)]
Final API adaptation. Final, "all openssl" performance numbers [not mixture
of different implementations]. Real-life performance improvement is rated
at 2-3x, not 6x as preliminary announced.
Geoff Thorpe [Mon, 17 May 2004 19:26:06 +0000 (19:26 +0000)]
After the latest round of header-hacking, regenerate the dependencies in
the Makefiles. NB: this commit is probably going to generate a huge posting
and it is highly uninteresting to read.
Geoff Thorpe [Mon, 17 May 2004 19:14:22 +0000 (19:14 +0000)]
Deprecate the recursive includes of bn.h from various API headers (asn1.h,
dh.h, dsa.h, ec.h, ecdh.h, ecdsa.h, rsa.h), as the opaque bignum types are
already declared in ossl_typ.h. Add explicit includes for bn.h in those C
files that need access to structure internals or API functions+macros.
Geoff Thorpe [Mon, 17 May 2004 18:58:47 +0000 (18:58 +0000)]
I can't verify this directly, but recent changes will probably require that
the cryptodev implementation include bn.h directly (when building with
OPENSSL_NO_DEPRECATED that is).
Geoff Thorpe [Mon, 17 May 2004 18:53:47 +0000 (18:53 +0000)]
Deprecate quite a few recursive includes from the ssl.h API header and
remove some unnecessary includes from the internal header ssl_locl.h. This
then requires adding includes for bn.h in four C files.
Geoff Thorpe [Sat, 15 May 2004 18:32:08 +0000 (18:32 +0000)]
Make some more API types opaquely available from ossl_typ.h, meaning the
corresponding headers are only required for API functions or structure
details. This now includes the bignum types and BUF_MEM. Subsequent commits
will remove various dependencies on bn.h and buffer.h and update the
makefile dependencies.