Commit graph

1028 commits

Author SHA1 Message Date
Richard Levitte
aa9fb57b99 Initialise. 2000-05-02 13:38:11 +00:00
Richard Levitte
6596268675 In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the
OpenSSL header files have #include's and extern "C"'s in an incorrect
order.  Thusly fixed.

Also, make the memory debugging routines defined and declared with
prototypes, and use void* instead of char* for memory blobs.

And last of all, redo the ugly callback construct for elegance and
better definition (with prototypes).
2000-05-02 13:36:50 +00:00
Richard Levitte
b50e1bd3c3 In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the
OpenSSL header files have #include's and extern "C"'s in an incorrect
order.  Thusly fixed.
2000-05-02 12:35:04 +00:00
Richard Levitte
82271cee5b In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the
OpenSSL header files have #include's and extern "C"'s in an incorrect
order.  Thusly fixed.
2000-05-02 12:16:01 +00:00
Bodo Möller
22a415478f Add missing #include. 2000-05-01 19:49:41 +00:00
Bodo Möller
dcba2534fa Avoid leaking memory in thread_hash (and enable memory leak detection
for it).
2000-04-29 23:58:05 +00:00
Richard Levitte
09451b6857 Use CONFerr, not RSAerr, in the conf library... 2000-04-26 12:15:19 +00:00
Richard Levitte
21346b7a04 Clarifications and removal of double declaration... 2000-04-26 12:13:19 +00:00
Geoff Thorpe
ebbaebf784 This case in the "dso_unload" handlers should not be reported as an error -
if a DSO_load(NULL,...) operation fails, it will have to call DSO_free() on
the DSO structure it created and that will filter through to this "unload"
call.

If the stack size is "< 1", then the library never actually loaded. To keep
things clean higher up, I'll treat this as a vacuous case without an error.
It makes the error stack easier to follow real world cases, and the error
this ignores was only useful for catching bugs in internal code, not
mismatched calls from applications (which should be handled in the generic
DSO layer).
2000-04-25 08:37:12 +00:00
Geoff Thorpe
da414db464 The handling of DSA_METHOD and DH_METHOD wasn't quite as problematic as
with RSA_METHOD (the **_get_default_methods do set the default value if
it's not set). However, the code had some duplication and was a bit
conter-intuitive.
2000-04-20 07:58:11 +00:00
Geoff Thorpe
deb4d50e51 Previously, the default RSA_METHOD was NULL until the first RSA structure was
initialised, at which point an appropriate default was chosen. This meant a
call to RSA_get_default_method might have returned FALSE.

This change fixes that; now any called to RSA_new(), RSA_new_method(NULL), or
RSA_get_default_method() will ensure that a default is chosen if it wasn't
already.
2000-04-20 06:44:18 +00:00
Geoff Thorpe
b9e6391582 This change facilitates name translation for shared libraries. The
technique used is far from perfect and alternatives are welcome.
Basically if the translation flag is set, the string is not too
long, and there appears to be no path information in the string,
then it is converted to whatever the standard should be for the
DSO_METHOD in question, eg;
    blah --> libblah.so   on *nix, and
    blah --> blah.dll     on win32.

This change also introduces the DSO_ctrl() function that is used
by the name translation stuff.
2000-04-19 21:45:17 +00:00
Bodo Möller
bc36f18117 Ignore lib and Makefile.save. 2000-04-14 23:37:44 +00:00
Bodo Möller
e5c84d5152 New function ERR_error_string_n. 2000-04-14 23:36:15 +00:00
Richard Levitte
7a807ad8a7 "make update" 2000-04-09 12:52:40 +00:00
Richard Levitte
d86b6915be I've always wanted to make the CONF library more adaptable. Here's
the result.

I have retained the old behavior of the CONF_* functions, and have
added a more "object oriented" interface through NCONF_* functions
(New CONF, you see :-)), working the same way as, for example, the
BIO interface.  Really, the CONF_* are rewritten so they use the
NCONF_* functions internally.

In addition to that, I've split the old conf.c code into two files,
conf_def.c and conf_api.c.  conf_def.c contains the default config
object that reads a configuration file the standard OpenSSL way, as
well as configuration file with Win32 registry file syntax (I'm not
sure I got that one right).  conf_api.c provides an API to build other
configuration file readers around (can you see a configuraion file in
XML?  I can :-)).

Finally, I've changed the name conf_lcl.h to conf_def.h, since it's
made specifically for that "class" and none others.
2000-04-09 12:04:35 +00:00
Geoff Thorpe
51175595b3 Constification, and a silly mistake in the comments. 2000-04-06 14:54:54 +00:00
Geoff Thorpe
bc2aadad84 This helps make the DSO stuff more portable;
* "no-dso" option available in Configure so that all DSO methods will
  return NULL, overriding any support the platform might otherwise
  have built.
* dlfcn_no_h config string now available rather than just dlfcn. This
  is for platforms that have dlfcn.h functions but do not have (or
  need) the dlfcn.h header file.
2000-04-06 07:09:45 +00:00
Geoff Thorpe
9ec0126ed2 This commit ties the new DSO code (crypto/dso/) into the build for a
variety of platforms. A few are missing, and they will be added in
eventually, but as this is new stuff, it was better to not break lots of
platforms in one go that we can't easily test. The changes to "Configure"
should illustrate how to add support to other systems if you feel like
having a go.

NB: I'll add something shortly to allow you to add "dlfcn.h" support on
those platforms that don't have (or need) a dlfcn.h header file. (The
symbol for Configure will probably by "dlfcn_no_h").

Thanks to Richard Levitte, who is responsible for the dso_dl.c support,
understanding the trickier aspects of the build process, and giving great
feedback on everything else.

[Don't use this stuff if you're easily offended by changes to the
interface or behaviour - it's still work in progress.]

PR:
2000-04-04 22:32:19 +00:00
Geoff Thorpe
8f4fac7f96 This is a set of startup code for the DSO support, it's not yet linked into
the build process (an upcoming commit no doubt), and is very much *new*
code - what that means is that it compiles ok - usually. It certainly
doesn't mean it runs well or even properly yet. Please don't muck round
with this unless you're looking to help out and hunt bugs. :-)

Currently this code doesn't have any support for controlling the "load"
behaviour (eg. paths, filename translations, etc). That'll be handled
using DSO_ctrl() and various flags, once we work out a sensible set of
flags.
2000-04-04 21:57:11 +00:00
Richard Levitte
7c6c052e68 Tagging has now been done, update to the next possible version (I keep
a low profile, so we don't get discontinuity in the numbering...)
2000-04-01 11:21:14 +00:00
Richard Levitte
561c71a76b Building version 0.9.5a 2000-04-01 11:03:41 +00:00
Richard Levitte
c2359eb18c _lrotl and _lrotr are defined in MSVC but nowhere else that we know
off.
2000-04-01 10:39:33 +00:00
Bodo Möller
b841e0acd8 'entropy >= ENTROPY_NEEDED' should be evaluated while the
variables are locked.
2000-03-30 06:11:54 +00:00
Richard Levitte
7ae634de49 Since ssleay_rand_initialize() unlocks then locks CRYPTO_LOCK_RAND,
it's a good thing if ssleay_rand_status() would do the corresponding
lock and unlock as everyone else...
2000-03-29 17:25:52 +00:00
Richard Levitte
6e9aee5724 Removed, especially since it conflicts with des.pod on
case-insensitive file systems.
2000-03-27 12:34:58 +00:00
Dr. Stephen Henson
b475baffb2 Fix for HMAC. 2000-03-27 00:53:27 +00:00
Richard Levitte
9cead2f2a5 Beautifying code. 2000-03-25 21:17:51 +00:00
Richard Levitte
90cc4e29b3 Tagging has been done, update to next probable version... 2000-03-23 21:14:11 +00:00
Richard Levitte
0806278561 Time for version 0.9.5a beta2
I know it's earlier than announced.  The high amount of problems in
beta1 warants this, however.
2000-03-23 21:07:41 +00:00
Richard Levitte
0fa197d8bc Clean up context, even if an error occured. 2000-03-23 18:14:21 +00:00
Dr. Stephen Henson
555b22cfca Update docs and remove old PKCS#7 README file. 2000-03-23 02:35:47 +00:00
Dr. Stephen Henson
e77066ea0a Fix a memory leak in PKCS12_parse.
Don't copy private key to X509 etc public key structures.
Fix for warning.
2000-03-22 13:50:23 +00:00
Ulf Möller
623bb80b77 In some of the Makefiles CPP was not defined. 2000-03-20 18:16:52 +00:00
Ulf Möller
71b4d8971b Problems with the Windows build. 2000-03-20 13:40:16 +00:00
Richard Levitte
c81ccaddad Tagging done, we move to the next possible. 2000-03-20 07:47:37 +00:00
Richard Levitte
be1755f1cf make update 2000-03-20 07:35:38 +00:00
Richard Levitte
3cf4f5d05e Change the version text, it's time to release the first beta of 0.9.5a. 2000-03-20 07:22:47 +00:00
Ulf Möller
a6aa71ff5f Bug fix: RAND_write_file() failed to write to files created by open()
on Win32.
2000-03-19 22:57:07 +00:00
Richard Levitte
87b89b799f Make sure an error condition is returned if, for some reason, the file
couldn't be opened.
2000-03-19 19:10:03 +00:00
Ulf Möller
f3f3cc0cca oops. don't use "entropy" directly. 2000-03-19 17:20:26 +00:00
Ulf Möller
c97b11f4b3 New function RAND_event() collects entropy from Windows events. 2000-03-19 17:14:25 +00:00
Ulf Möller
2501b335fa FLAT_INC is not needed; we use -I.. all the time 2000-03-19 12:15:24 +00:00
Ulf Möller
48b83a2504 Integrate podd.h sk.h into set_key.c 2000-03-19 12:13:44 +00:00
Richard Levitte
e55818b9d3 Change the notation and coding of the version to be able to contain
both a patch level and a beta status.  IMHO, it also makes more sense
to have beta status be part of the development status than to have it
be an alternate name for patch levels under special conditions.
2000-03-19 09:35:19 +00:00
Richard Levitte
ea82355258 Keep in sync with Unix code, and prepare for a misfeature fix. 2000-03-19 09:23:25 +00:00
Ulf Möller
1f39d082c6 make update 2000-03-19 02:18:45 +00:00
Ulf Möller
edb93ae643 cleanup. 2000-03-19 02:10:17 +00:00
Ulf Möller
395df2fe30 libdes manpage.
This may still contain a few errors from the old documentation,
but most of it should make sense.
2000-03-19 02:09:37 +00:00
Ulf Möller
7af4816f0e des_quad_cksum() byte order bug fix.
See http://www.pdc.kth.se/kth-krb/

Their solution for CRAY is somewhat awkward.
I'll assume that a "short" is 32 bits on CRAY to avoid the
#ifdef _CRAY
    typedef struct {
        unsigned int a:32;
        unsigned int b:32;
    } XXX;
#else
    typedef DES_LONG XXX;
#endif
2000-03-19 02:06:37 +00:00