Commit graph

2370 commits

Author SHA1 Message Date
Ulf Möller
8415060e1e use faster version 2000-06-21 21:20:46 +00:00
Geoff Thorpe
1a797ac67c * This adds some checking to the 'dlfcn' DSO_METHOD that at least lets
it cope with OpenBSD which doesn't understand "RTLD_NOW".
* Added the dso_scheme config string entry for OpenBSD-x86 to give it
  DSO support.
* 'make update' that has also absorbed some of Steve's mkstack changes
  for the ASN-related macros.
2000-06-21 14:12:25 +00:00
Dr. Stephen Henson
130832150c Fixes for Win32 build.
This is mostly a work around for the old VC++ problem
that it treats func() as func(void).

Various prototypes had been added to 'compare' function
pointers that triggered this. This could be fixed by removing
the prototype, adding function pointer casts to every call or
changing the passed function to use the expected arguments.
I mostly did the latter.

The mkdef.pl script was modified to remove the typesafe
functions which no longer exist.

Oh and some functions called OPENSSL_freeLibrary() were
changed back to FreeLibrary(), wonder how that happened :-)
2000-06-21 02:25:30 +00:00
Dr. Stephen Henson
7ef8206859 Handle ASN1_SET_OF and PKCS12_STACK_OF using function
casts in the same way as STACK_OF.
2000-06-20 18:45:28 +00:00
Geoff Thorpe
438fa2fdc1 'make update' 2000-06-20 14:06:06 +00:00
Bodo Möller
0f4805f515 Avoid unnecessary links and incomplete program file in apps/. 2000-06-19 17:38:22 +00:00
Richard Levitte
562ba1715a 'make update' 2000-06-19 16:51:41 +00:00
Richard Levitte
55b7688ef5 Add the missing callback pointer handling functions.
Also, make sure empty slots of the dynamic lock stack are used.
Actually, I'm not really sure this is the right thing to do, and may
remove it, with an endlessly growing stack as result...
2000-06-19 16:38:27 +00:00
Richard Levitte
3b21161922 The dynamic thread API changed, and so does the documentation. 2000-06-19 15:28:36 +00:00
Bodo Möller
95a9fea711 Add OPENSSL_free at the end of CRYPTO_destroy_dynlockid. 2000-06-19 13:53:15 +00:00
Richard Levitte
e73a6965e3 Redo the support for dynamic locks. First of all, it was terribly
insecure, so a static lock is added to isolate the sensitive parts.
Also, to avoid one thread freeing a lock that is used by another, a
reference counter is added.
2000-06-19 13:38:09 +00:00
Richard Levitte
9bc629208f With the new stack hack macros, there's no need to shorten the names
any more.
2000-06-18 16:07:41 +00:00
Richard Levitte
4b88270ba8 Modifications for VMS. 2000-06-18 16:06:44 +00:00
Richard Levitte
c79223040d Add support for dynamically created and destroyed mutexes. This will
be needed in some ENGINE code, and might serve elsewhere as well.
Note that it's implemented in such a way that the locking itself is
done through the same CRYPTO_lock function as the static locks.

WARNING: This is currently experimental and untested code (it will get
tested soon, though :-)).
2000-06-18 15:59:04 +00:00
Richard Levitte
a8b07aa4e9 First of all, with the current macros, we should never get any
type-specific stack function.  Second, even when we don't build any of
those functions, DECLARE_STACK_OF lines should not find themselves
into $def.
2000-06-18 14:06:40 +00:00
Bodo Möller
3f39e5ae6c Using speaking "variable" names in macros so that e.g. grepping for
sk_whatever_insert and sk_whatever_set immediately reveals the subtle
difference in parameter order.

Change mkstack.pl so that safestack.h is not rewritten when
nothing has changed.
2000-06-17 23:41:44 +00:00
Dr. Stephen Henson
3aceb94b9e Safe stack reorganisation in terms of function casts.
After some messing around this seems to work but needs
a few more tests. Working out the syntax for sk_set_cmp_func()
(cast it to a function that itself returns a function pointer)
was painful :-(

Needs some testing to see what other compilers think of this
syntax.

Also needs similar stuff for ASN1_SET_OF etc etc.
2000-06-16 23:29:26 +00:00
Richard Levitte
fb3e1eeb93 Change to have a single library that works on both Win9x and WinNT.
As far as I understand, it still needs to be compiled on NT...
Contributed by Arne Ansper <arne@ats.cyber.ee>
2000-06-16 15:25:41 +00:00
Bodo Möller
f03aa651c0 typo 2000-06-16 14:35:05 +00:00
Bodo Möller
5d07c20d8e In EVP_BytesToKey, replace explicit "8" by "PKCS5_SALT_LEN". 2000-06-16 14:29:51 +00:00
Bodo Möller
4ee1eb7bd4 There are compilers that complain if a variable has the same name as a
label. (Reported by Alexei Bakharevski.)
2000-06-16 14:24:37 +00:00
Geoff Thorpe
e9a68cfbc3 Currently the DSO_METHOD interface has one entry point to bind all
"symbols" including functions (of all prototypes( and variables. Whilst
casting any function type to another violates ANSI C (I believe), it is
a necessary evil in shared-library APIs. However, it is quite
conceivable that functions in general and data symbols could very well
be represented differently to each other on some systems, as Bodo said;

> Since the function/object distinction is a lot more likely to be
> important on real-life platforms supporting DSO *and* it can be quite
> easily done *and* it will silence compilers that don't like
> assignments from void pointers to function pointer variables, why
> not do it?

I agree. So this change splits the "dso_bind" handler in DSO_METHOD
into "dso_bind_var" and "dso_bind_func". Similarly the exported
function DSO_bind() has been split in two. I've also put together
changes for the various DSO_METHOD implementations, but so far only
DSO_dlfcn() has been tested. BTW: The prototype for dso_bind had been
a bit strange so I've taken the opportunity to change its shape (in
both variations).

Also, the README has been updated - particularly with a note about
using customised native name-translation for shared libraries (and that
you can't do it yet).
2000-06-16 10:45:36 +00:00
Dr. Stephen Henson
d3ed8ceb3d Add support for the modified SGC key format used in IIS. 2000-06-15 23:48:05 +00:00
Richard Levitte
569e7f6ef2 This seems to work better with enums... 2000-06-15 20:57:25 +00:00
Richard Levitte
f20ee31477 Make sure that bs is not getting free'd again.
Reported by Robert Eiglmaier <robert.eiglmaier@ixos.de>
2000-06-15 11:10:15 +00:00
Richard Levitte
1e55286996 Add info on what some other people are currently working on. 2000-06-14 17:27:02 +00:00
Bodo Möller
9ef876f269 Report "error" (usually just "File exists", which is harmless)
when symlink() fails.
2000-06-14 10:09:46 +00:00
Bodo Möller
24bec03beb This probably fixes a BN_rshift bug. 2000-06-13 15:07:39 +00:00
Bodo Möller
c3b1424cc0 Use BN_CTX_end when exiting early from BN_mod_exp_mont_word because
BN_mod_exp_atalla could be used.
2000-06-13 13:50:42 +00:00
Geoff Thorpe
8ba6d1b0cc The atalla functionality doesn't work with the "word" version of
BN_mod_exp. Call the regular atalla mod_exp operation instead.
2000-06-13 13:18:51 +00:00
Geoff Thorpe
1c4f90a05d Enable DSO support on alpha (OSF1), cc and gcc.
Also, "make update" has added some missing functions to libeay.num,
updated the TABLE for the alpha changes, and updated thousands of
dependancies that have changed from recent commits.
2000-06-13 12:59:38 +00:00
Ulf Möller
44317f04b1 protoypes 2000-06-12 19:45:38 +00:00
Ulf Möller
b7b40c3120 typo 2000-06-12 18:50:59 +00:00
Dr. Stephen Henson
e366f2b876 Fix evp_locl.h macros.
Documentation correction.
2000-06-11 15:43:17 +00:00
Dr. Stephen Henson
fd75eb50c0 Make EVP_SealInit() and EVP_OpenInit() check EVP_EncryptInit() and
EVP_DecryptInit() return values.

Update docs.
2000-06-11 12:27:58 +00:00
Dr. Stephen Henson
a91dedca48 Document EVP routines. Change EVP_SealInit() and EVP_OpenInit()
to support multiple calls.

New function to retrieve email address from certificates and
requests.
2000-06-11 12:18:15 +00:00
Bodo Möller
482a9d41b9 In longer tests with g=2, DH exchange does not become quite as fast
as expected -- maybe it's the different processor, maybe my
previous timings were too inaccurate.
2000-06-10 12:05:52 +00:00
Bodo Möller
a71e2621bc BN_mod_exp_mont_word entry:
Don't give performance gain estimates that appear to be more precise
than they really are, especially when they are wrong
(2/(1/1.15 + 1) = ca. 1.0698).
2000-06-10 10:08:31 +00:00
Bodo Möller
b908bd4e15 Comment about bcopy on SunOS 4.x. 2000-06-09 16:43:49 +00:00
Richard Levitte
ef33b97050 Using checks of the existence of HEADER_{foo}_H in other header files
was a really bad idea.  For example, the following:

	#include <x509.h>
	#include <bio.h>
	#include <asn1.h>

would make sure that things like ASN1_UTCTIME_print() wasn't defined
unless you moved the inclusion of bio.h to above the inclusion of
x509.h.  The reason is that x509.h includes asn1.h, and the
declaration of ASN1_UTCTIME_print() depended on the definition of
HEADER_BIO_H.  That's what I call an obscure bug.

Instead, this change makes sure that whatever header files are needed
for the correct process of one header file are included automagically,
and that the definitions of, for example, BIO-related things are
dependent on the absence of the NO_{foo} macros.  This is also
consistent with the way parts of OpenSSL can be excluded at will.
2000-06-09 10:41:35 +00:00
Bodo Möller
814ed26cfa Comment for increased code clarity. 2000-06-09 09:11:30 +00:00
Bodo Möller
6da6a11331 Another attempt to allow compiling on SunOS 4.*. 2000-06-08 22:47:09 +00:00
Bodo Möller
3dd985ee2a Harmonize indentation. 2000-06-08 22:41:03 +00:00
Bodo Möller
f1d92d941e Accept -F4 option in lower case, which is what the usage information
says one should use.
2000-06-08 22:40:09 +00:00
Bodo Möller
dc434bbcb0 Slightly faster DSA verification (BN_mod_exp2_mont),
marginally faster BN_mod_exp for 1024 bit exponents.
2000-06-08 20:26:03 +00:00
Bodo Möller
947b3b8baf Add entry that Richard forgot. 2000-06-08 15:01:14 +00:00
Bodo Möller
f8989a2155 Use the equivalent of a sliding window (without precomputation
because we're only handling words anyway) in BN_mod_exp_mont_word
making it a little faster for very small exponents,
and adjust the performance gain estimate in CHANGES according
to slightly more thorough measurements.
(15% faster than BN_mod_exp_mont for "large" base,
20% faster than BN_mod_exp_mont for small base.)
2000-06-08 09:39:28 +00:00
Bodo Möller
6dad7bd69c Speed up DH with small generator. 2000-06-07 21:29:25 +00:00
Bodo Möller
208f3688e0 No need to abort if c_rehash fails here (e.g. because Perl is not where
it is expected).
2000-06-07 21:28:15 +00:00
Bodo Möller
b598ea93e7 use consistent indentation 2000-06-07 19:43:44 +00:00