Richard Levitte [Thu, 12 Aug 2004 08:58:55 +0000 (08:58 +0000)]
On systems that use case-insensitive symbol names (i.e. they're all
converted to upper case or something like that), the application-
level bio_dump_cb() has a name clash with the new library function
BIO_dump_cb(). The easiest fix is to rename the function at the
application level.
Richard Levitte [Wed, 11 Aug 2004 21:13:57 +0000 (21:13 +0000)]
Basically, I wanted to be able to make a dump to a FILE*, and not have
to bother creating a BIO around it. So here's a few more functions to
make it possible to make the dump using a printing callback, and to
print to a FILE* (based on the callback variant), done in the same
style as the functions in crypto/err/err_prn.c.
Andy Polyakov [Wed, 4 Aug 2004 12:58:26 +0000 (12:58 +0000)]
Padlock engine update to fix a typo in MSC assembler and to address
potential corruption problem if user manages to inter-leave aligined
and misaligned requests [as well as some MSC-specific tweaks].
Andy Polyakov [Mon, 2 Aug 2004 21:48:11 +0000 (21:48 +0000)]
VIA C3 processor extends IA-32 instruction set with instuctions
performing AES encryption in hardware, as well as one accessing
hardware RNG. As you surely imagine this engine access this
extended instruction set. Well, only AES for the moment, support
for RNG is to be added later on...
PR: 889
Submitted by: Michal Ludvig <michal@logix.cz>
Andy Polyakov [Sun, 1 Aug 2004 17:33:58 +0000 (17:33 +0000)]
Clean-up GAS targets: get rid of "cpp" stuff and replace it with "purified"
COFF and a.out targets [similar to ELF targets]. You might notice some
rudementary support for shared mingw builds under cygwin. It works (it
produces cryptoeay32.dll and ssleay32.dll with everything exported by
name), but it's primarily for testing/debugging purposes, at least for
now...
Andy Polyakov [Sun, 1 Aug 2004 14:27:43 +0000 (14:27 +0000)]
DLLEntryPoint is a collective name, not what linker looks for. However,
if we explicitly intruct the linker to set entry point, then we become
obliged to initialize run-time library. Instead we can pick name run-time
will call and such name is DllMain. Note that this applies to both
"native" Win32 environment and Cygwin:-)
Andy Polyakov [Mon, 26 Jul 2004 22:01:50 +0000 (22:01 +0000)]
This is so to say "damage control" for jumbo "cpuid" patch, see
http://cvs.openssl.org/chngview?cn=12493. Now all platform should
be operational, while SSE2 code pathes get engaged on ELF platforms
only.
Andy Polyakov [Mon, 26 Jul 2004 20:18:55 +0000 (20:18 +0000)]
Add framework for yet another assembler module dubbed "cpuid." Idea
is to have a placeholder to small routines, which can be written only
in assembler. In IA-32 case this includes processor capability
identification and access to Time-Stamp Counter. As discussed earlier
OPENSSL_ia32cap is introduced to control recently added SSE2 code
pathes (see docs/crypto/OPENSSL_ia32cap.pod). For the moment the
code is operational on ELF platforms only. I haven't checked it yet,
but I have all reasons to believe that Windows build should fail to
link too. I'll be looking into it shortly...
Andy Polyakov [Fri, 23 Jul 2004 19:18:20 +0000 (19:18 +0000)]
Win64 placeholder targets. This is merely naming suggestion. As we know
Win64 comes in two flavors, IA-64/Itanium and AMD64/Opteron. The
suggestion is to refer to former as WIN64I and latter - WIN64A
Andy Polyakov [Sun, 18 Jul 2004 16:19:34 +0000 (16:19 +0000)]
Add anchors for AES, SHA-256/-512 assembler modules and SSE2 code pathes.
I also used this opportunity to clean up some out-of-date targets and
re-group targets by OS.
Andy Polyakov [Sat, 17 Jul 2004 12:55:55 +0000 (12:55 +0000)]
IA-64 is intolerant to misaligned access. It was a problem on Win64 as
we were mislead by _MSC_VER macro, which is defined by *all* Windows
Microsoft compilers.
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).