Ulf Möller [Thu, 1 Jun 2000 19:34:25 +0000 (19:34 +0000)]
Don't include <stdlib.h>. In the NO_FP_API case, don't include <stdio.h>.
Richard Levitte [Thu, 1 Jun 2000 17:40:34 +0000 (17:40 +0000)]
Small documentation bug, probably a cut'n'paste, corrected.
Ulf Möller [Thu, 1 Jun 2000 14:24:59 +0000 (14:24 +0000)]
Bug fix for 64 bit HP-UX.
Submitted by: Karsten Spang <ks@bellesystems.com>
Richard Levitte [Thu, 1 Jun 2000 11:23:20 +0000 (11:23 +0000)]
Small fix to enable reading from stdin as well.
Contributed by Yoichiro Okabe <okabe@wizsoft.co.jp>
Geoff Thorpe [Thu, 1 Jun 2000 06:07:19 +0000 (06:07 +0000)]
"make update" + stripping the type-specific stack functions out of
libeay.num and ssleay.num.
Geoff Thorpe [Thu, 1 Jun 2000 05:13:52 +0000 (05:13 +0000)]
This change will cause builds (by default) to not use different STACK
structures and functions for each stack type. The previous behaviour
can be enabled by configuring with the "-DDEBUG_SAFESTACK" option.
This will also cause "make update" (mkdef.pl in particular) to
update the libeay.num and ssleay.num symbol tables with the number of
extra functions DEBUG_SAFESTACK creates.
The way this change works is to accompany each DECLARE_STACK_OF()
macro with a set of "#define"d versions of the sk_##type##_***
functions that ensures all the existing "type-safe" stack calls are
precompiled into the underlying stack calls. The presence or abscence
of the DEBUG_SAFESTACK symbol controls whether this block of
"#define"s or the DECLARE_STACK_OF() macro is taking effect. The
block of "#define"s is in turn generated and maintained by a perl
script (util/mkstack.pl) that encompasses the block with delimiting
C comments. This works in a similar way to the auto-generated error
codes and, like the other such maintenance utilities, is invoked
by the "make update" target.
A long (but mundane) commit will follow this with the results of
"make update" - this will include all the "#define" blocks for
each DECLARE_STACK_OF() statement, along with stripped down
libeay.num and ssleay.num files.
Geoff Thorpe [Thu, 1 Jun 2000 02:36:58 +0000 (02:36 +0000)]
The previous commit to crypto/stack/*.[ch] pulled the type-safety strings
yet tighter, and also put some heat on the rest of the library by
insisting (correctly) that compare callbacks used in stacks are prototyped
with "const" parameters. This has led to a depth-first explosion of
compiler warnings in the code where 1 constification has led to 3 or 4
more. Fortunately these have all been resolved to completion and the code
seems cleaner as a result - in particular many of the _cmp() functions
should have been prototyped with "const"s, and now are. There was one
little problem however;
X509_cmp() should by rights compare "const X509 *" pointers, and it is now
declared as such. However, it's internal workings can involve
recalculating hash values and extensions if they have not already been
setup. Someone with a more intricate understanding of the flow control of
X509 might be able to tighten this up, but for now - this seemed the
obvious place to stop the "depth-first" constification of the code by
using an evil cast (they have migrated all the way here from safestack.h).
Fortunately, this is the only place in the code where this was required
to complete these type-safety changes, and it's reasonably clear and
commented, and seemed the least unacceptable of the options. Trying to
take the constification further ends up exploding out considerably, and
indeed leads directly into generalised ASN functions which are not likely
to cooperate well with this.
Geoff Thorpe [Thu, 1 Jun 2000 02:15:40 +0000 (02:15 +0000)]
This is the first of two commits (didn't want to dump them all into the
same one). However, the first will temporarily break things until the
second comes through. :-)
The safestack.h handling was mapping compare callbacks that externally
are of the type (int (*)(type **,type **)) into the underlying callback
type used by stack.[ch], which is (int (*)(void *,void *)). After some
degree of digging, it appears that the callback type in the underlying
stack code should use double pointers too - when the compare operations
are invoked (from sk_find and sk_sort), they are being used by bsearch
and qsort to compare two pointers to pointers. This change corrects the
prototyping (by only casting to the (void*,void*) form at the moment
it is needed by bsearch and qsort) and makes the mapping in safestack.h
more transparent. It also changes from "void*" to "char*" to stay in
keeping with stack.[ch]'s assumed base type of "char".
Also - the "const" situation was that safestack.h was throwing away
"const"s, and to compound the problem - a close examination of stack.c
showed that (const char **) is not really achieving what it is supposed
to when the callback is being invoked, what is needed is
(const char * const *). So the underlying stack.[ch] and the mapping
macros in safestack.h have all been altered to correct this.
What will follow are the vast quantities of "const" corrections required
in stack-dependant code that was being let "slip" through when
safestack.h was discarding "const"s. These now all come up as compiler
warnings.
Ulf Möller [Thu, 1 Jun 2000 00:27:59 +0000 (00:27 +0000)]
is needed.
Bodo Möller [Wed, 31 May 2000 23:20:10 +0000 (23:20 +0000)]
typo
Bodo Möller [Wed, 31 May 2000 23:07:48 +0000 (23:07 +0000)]
dh and gendh have been obsoleted by dhparam.
Ulf Möller [Wed, 31 May 2000 22:25:44 +0000 (22:25 +0000)]
#include <stdio.h> not needed.
Ulf Möller [Wed, 31 May 2000 22:13:59 +0000 (22:13 +0000)]
#include <stdlib.h> is not needed.
Richard Levitte [Wed, 31 May 2000 21:35:38 +0000 (21:35 +0000)]
Result of "make update"
Richard Levitte [Wed, 31 May 2000 20:11:11 +0000 (20:11 +0000)]
This seems to become a FAQ...
Geoff Thorpe [Wed, 31 May 2000 17:41:34 +0000 (17:41 +0000)]
sk_***_new_null() seems to be there to avoid exactly this sort of thing
which is a cast between NULL and a function pointer.
Geoff Thorpe [Wed, 31 May 2000 17:35:11 +0000 (17:35 +0000)]
sk_value was also suffering from de-const-ification.
Also, add in a couple of missing declarations in pkcs7 code.
Richard Levitte [Wed, 31 May 2000 17:06:10 +0000 (17:06 +0000)]
config can now detect ARM Linux automagically.
Contributed by Jeremy Norris <jeremy.norris@rebel.com>
Bodo Möller [Wed, 31 May 2000 16:44:22 +0000 (16:44 +0000)]
strtoul is not used anywhere.
Bodo Möller [Wed, 31 May 2000 16:42:47 +0000 (16:42 +0000)]
When compiling with /opt/SUNWspro/SC4.2/bin/cc on Solaris, __svr4__ is
not defined, but __SVR4 is.
Geoff Thorpe [Wed, 31 May 2000 15:28:01 +0000 (15:28 +0000)]
All the little functions created by the IMPLEMENT_STACK_OF() macro will
cast their type-specific STACK into a real STACK and call the underlying
sk_*** function. The problem is that if the STACK_OF(..) parameter being
passed in has a "const *" qualifier, it is discarded by the cast.
I'm currently implementing a fix for this but in the mean-time, this is
one case I noticed (a few type-specific sk_**_num() functions pass in
const type-specific stacks). If there are other errors in the code where
consts are being discarded, we will similarly not notice them. yuck.
Bodo Möller [Wed, 31 May 2000 12:48:35 +0000 (12:48 +0000)]
Move Windows seeding functions into a separate file.
They have nothing to do with the particular PRNG (md_rand.c).
Bodo Möller [Wed, 31 May 2000 09:51:55 +0000 (09:51 +0000)]
Add "FIXME" comment.
Bodo Möller [Tue, 30 May 2000 21:44:36 +0000 (21:44 +0000)]
Improve PRNG robustness.
Dr. Stephen Henson [Tue, 30 May 2000 18:26:22 +0000 (18:26 +0000)]
More EVP cipher revision.
Change EVP_SealInit() and EVP_OpenInit() to
handle cipher parameters.
Make it possible to set RC2 and RC5 params.
Make RC2 ASN1 code use the effective key bits
and not the key length.
TODO: document how new API works.
Geoff Thorpe [Tue, 30 May 2000 12:59:43 +0000 (12:59 +0000)]
"make update"
Also, corrects the linux-elf-arm config string, it was previously setting
$des_obj = dlfcn :-)
Richard Levitte [Tue, 30 May 2000 08:01:24 +0000 (08:01 +0000)]
You must have an empty line between =item's
Dr. Stephen Henson [Tue, 30 May 2000 02:21:15 +0000 (02:21 +0000)]
Fourth phase EVP revision.
Declare ciphers in terms of macros. This reduces
the amount of code and places each block cipher EVP
definition in a single file instead of being spread
over 4 files.
Dr. Stephen Henson [Tue, 30 May 2000 02:10:57 +0000 (02:10 +0000)]
Fourth phase EVP revision.
Declare ciphers in terms of macros. This reduces
the amount of code and places each block cipher EVP
definition in a single file instead of being spread
over 4 files.
Richard Levitte [Mon, 29 May 2000 16:18:37 +0000 (16:18 +0000)]
Configuration for linux on ARM (contributed by Jeremy Norris
<jeremy.norris@rebel.com>)
Geoff Thorpe [Mon, 29 May 2000 15:52:21 +0000 (15:52 +0000)]
Minor corrections to documentation.
* speed processes any/all options passed to it, not just one.
* DH and DSA have no "_get_method()" functions, only RSA does.
* typos.
Geoff Thorpe [Mon, 29 May 2000 04:20:52 +0000 (04:20 +0000)]
another warning.
Geoff Thorpe [Mon, 29 May 2000 03:50:37 +0000 (03:50 +0000)]
It seems that mktime does what is required here. Certainly timegm() can
not be used because it is not available on all systems (most notably,
win32).
Geoff Thorpe [Mon, 29 May 2000 03:17:45 +0000 (03:17 +0000)]
This declaration seems to have been added into the header file accidently.
There's no trace of it being implemented and it doesn't seem to have been
intended given that it is prototyped with a BIO yet there was a BIO-
specific version added in at the same time.
Geoff Thorpe [Mon, 29 May 2000 02:42:57 +0000 (02:42 +0000)]
oops.
Dr. Stephen Henson [Sun, 28 May 2000 12:44:46 +0000 (12:44 +0000)]
Third phase of EVP cipher overhaul.
Remove duplicated code in EVP.
Bodo Möller [Sat, 27 May 2000 22:25:01 +0000 (22:25 +0000)]
Bugfix: clear error queue after ignoring ssl_verify_cert_chain result.
Dr. Stephen Henson [Sat, 27 May 2000 12:38:43 +0000 (12:38 +0000)]
Second phase of EVP cipher overhaul.
Change functions like EVP_EncryptUpdate() so they now return a
value. These normally have software only implementations
which cannot fail so this was acceptable. However ciphers
can be implemented in hardware and these could return errors.
Dr. Stephen Henson [Fri, 26 May 2000 23:51:35 +0000 (23:51 +0000)]
Beginnings of EVP cipher overhaul. This should eventually
enhance and tidy up the EVP interface.
This patch adds initial support for variable length ciphers
and changes S/MIME code to use this.
Some other library functions need modifying to support use
of modified cipher parameters.
Also need to change all the cipher functions that should
return error codes, but currenly don't.
And of course it needs extensive testing...
Geoff Thorpe [Thu, 25 May 2000 13:20:11 +0000 (13:20 +0000)]
cvs update
Bodo Möller [Thu, 25 May 2000 11:24:42 +0000 (11:24 +0000)]
typo
Bodo Möller [Thu, 25 May 2000 09:50:40 +0000 (09:50 +0000)]
Implement SSL_OP_TLS_ROLLBACK_BUG for servers.
Call dh_tmp_cb with correct 'is_export' flag.
Avoid tabs in CHANGES.
Richard Levitte [Wed, 24 May 2000 22:00:59 +0000 (22:00 +0000)]
Add the target system linux-m68k
Dr. Stephen Henson [Wed, 24 May 2000 13:09:59 +0000 (13:09 +0000)]
Add DSA library string. Workaround for IIS .key file invalid
ASN1 encoding.
Ralf S. Engelschall [Tue, 23 May 2000 18:33:44 +0000 (18:33 +0000)]
Fix Blowfish URL.
Submitted by: Arnaud De Timmerman <Arnaud.De.Timmerman@branchur.fr>
Ben Laurie [Sun, 21 May 2000 15:21:55 +0000 (15:21 +0000)]
Yet more typesafety.
Bodo Möller [Sun, 21 May 2000 14:21:24 +0000 (14:21 +0000)]
Avoid sprintf
Bodo Möller [Sun, 21 May 2000 14:17:01 +0000 (14:17 +0000)]
Avoid sprintf.
Bodo Möller [Sun, 21 May 2000 14:14:30 +0000 (14:14 +0000)]
Avoid sprintf, and harmonize indentation.
Bodo Möller [Sun, 21 May 2000 14:10:05 +0000 (14:10 +0000)]
Avoid sprintf.
Richard Levitte [Fri, 19 May 2000 13:44:28 +0000 (13:44 +0000)]
'make update'
Richard Levitte [Fri, 19 May 2000 13:36:29 +0000 (13:36 +0000)]
Remove extra comma (creates a unnessecary null element, right?).
Bodo Möller [Fri, 19 May 2000 12:02:49 +0000 (12:02 +0000)]
Add required cast.
Bodo Möller [Fri, 19 May 2000 12:02:09 +0000 (12:02 +0000)]
Fix "FIXME" indentation :-)
Bodo Möller [Fri, 19 May 2000 11:59:55 +0000 (11:59 +0000)]
Add "FIXME" comment, and adjust the indentation.
Richard Levitte [Fri, 19 May 2000 08:53:06 +0000 (08:53 +0000)]
Add a couple of macros that make OpenSSL compilable on SunOS 4.1.4.
Contributed by SAKAI Kiyotaka <ksakai@kso.netwk.ntt-at.co.jp>
Bodo Möller [Fri, 19 May 2000 07:54:42 +0000 (07:54 +0000)]
typo
Richard Levitte [Thu, 18 May 2000 21:25:48 +0000 (21:25 +0000)]
Add a note about the new document.
Richard Levitte [Thu, 18 May 2000 21:22:50 +0000 (21:22 +0000)]
Add a new file where all the standards and other documents that we try
to adhere to are listed. It should be regarded as a complement to
whatever is out on the web, including the docs in http://www.openssl.org/
Dr. Stephen Henson [Thu, 18 May 2000 00:33:00 +0000 (00:33 +0000)]
Fix c_rehash script, add -fingerprint option to crl.
Ben Laurie [Wed, 17 May 2000 10:08:05 +0000 (10:08 +0000)]
Typesafety Thought Police last part.
Ben Laurie [Wed, 17 May 2000 09:13:36 +0000 (09:13 +0000)]
Typesafety Thought Police part 5.
Ben Laurie [Tue, 16 May 2000 23:01:19 +0000 (23:01 +0000)]
Typesafe Thought Police part 4.
Ben Laurie [Tue, 16 May 2000 21:22:45 +0000 (21:22 +0000)]
Typesafety Thought Police part 3.
Ben Laurie [Tue, 16 May 2000 19:53:50 +0000 (19:53 +0000)]
Typesafety Thought Police Part 2.
Ben Laurie [Tue, 16 May 2000 14:38:29 +0000 (14:38 +0000)]
Typesafety thought police.
Ulf Möller [Mon, 15 May 2000 22:54:43 +0000 (22:54 +0000)]
Get rid of more non-ANSI declarations.
Ulf Möller [Mon, 15 May 2000 21:02:44 +0000 (21:02 +0000)]
prototype.
Ulf Möller [Mon, 15 May 2000 19:24:23 +0000 (19:24 +0000)]
Make sure that NO-RSA applications etc can include evp.h
Ulf Möller [Mon, 15 May 2000 19:20:10 +0000 (19:20 +0000)]
Missing cases when no_rsa is defined
Submitted by: Zeroknowledge
Ulf Möller [Mon, 15 May 2000 18:59:55 +0000 (18:59 +0000)]
MacOS changes.
Ben Laurie [Sun, 14 May 2000 12:39:53 +0000 (12:39 +0000)]
Allow UTCTIME objects to be retrieved. Check for imminent cert expiry.
Bodo Möller [Thu, 11 May 2000 23:10:27 +0000 (23:10 +0000)]
When open()ing 'file' in RAND_write_file, don't use O_EXCL.
This is superfluous now that we don't have to avoid creating
multiple versions of the file on VMS (because older versions
are now deleted).
Richard Levitte [Mon, 8 May 2000 16:58:29 +0000 (16:58 +0000)]
Being sick and tired of the hogging Efence does on my laptop, I
decided to provide an alternative...
Dr. Stephen Henson [Thu, 4 May 2000 23:03:49 +0000 (23:03 +0000)]
Fix for SSL server purpose checking
Dr. Stephen Henson [Thu, 4 May 2000 00:08:35 +0000 (00:08 +0000)]
Make PKCS#12 code handle missing passwords.
Add a couple of FAQs.
Bodo Möller [Tue, 2 May 2000 20:29:03 +0000 (20:29 +0000)]
Note apps/x509.c bugfixes.
Bodo Möller [Tue, 2 May 2000 20:18:48 +0000 (20:18 +0000)]
Fix a memory leak, and don't generate inappropriate error message
when PEM_read_bio_X509_REQ fails.
Richard Levitte [Tue, 2 May 2000 13:38:11 +0000 (13:38 +0000)]
Initialise.
Richard Levitte [Tue, 2 May 2000 13:36:50 +0000 (13:36 +0000)]
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).
Richard Levitte [Tue, 2 May 2000 12:35:04 +0000 (12:35 +0000)]
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.
Richard Levitte [Tue, 2 May 2000 12:16:01 +0000 (12:16 +0000)]
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.
Bodo Möller [Mon, 1 May 2000 19:49:41 +0000 (19:49 +0000)]
Add missing #include.
Bodo Möller [Sat, 29 Apr 2000 23:58:05 +0000 (23:58 +0000)]
Avoid leaking memory in thread_hash (and enable memory leak detection
for it).
Ulf Möller [Thu, 27 Apr 2000 15:07:15 +0000 (15:07 +0000)]
linux-elf bugfix
Submitted by:
Reviewed by:
PR:
Ulf Möller [Thu, 27 Apr 2000 15:06:26 +0000 (15:06 +0000)]
Submitted by:
Reviewed by:
PR:
Bodo Möller [Thu, 27 Apr 2000 09:11:28 +0000 (09:11 +0000)]
Stylistic changes: Don't use a macro for the malloc'ed length since it
is not constant.
Bodo Möller [Thu, 27 Apr 2000 06:47:23 +0000 (06:47 +0000)]
Warn about truncation also in the case when a single password is read using
the password prompt.
Richard Levitte [Wed, 26 Apr 2000 12:15:19 +0000 (12:15 +0000)]
Use CONFerr, not RSAerr, in the conf library...
Richard Levitte [Wed, 26 Apr 2000 12:13:19 +0000 (12:13 +0000)]
Clarifications and removal of double declaration...
Geoff Thorpe [Tue, 25 Apr 2000 08:37:12 +0000 (08:37 +0000)]
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).
Geoff Thorpe [Thu, 20 Apr 2000 07:58:11 +0000 (07:58 +0000)]
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.
Geoff Thorpe [Thu, 20 Apr 2000 06:44:18 +0000 (06:44 +0000)]
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.
Geoff Thorpe [Wed, 19 Apr 2000 23:02:12 +0000 (23:02 +0000)]
Thanks to "make update" ...
Geoff Thorpe [Wed, 19 Apr 2000 21:45:17 +0000 (21:45 +0000)]
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.
Bodo Möller [Sat, 15 Apr 2000 00:04:30 +0000 (00:04 +0000)]
Correction.
Bodo Möller [Fri, 14 Apr 2000 23:37:44 +0000 (23:37 +0000)]
Ignore lib and Makefile.save.
Bodo Möller [Fri, 14 Apr 2000 23:36:15 +0000 (23:36 +0000)]
New function ERR_error_string_n.
Bodo Möller [Wed, 12 Apr 2000 23:04:13 +0000 (23:04 +0000)]
Minor corrections.
Richard Levitte [Wed, 12 Apr 2000 16:48:20 +0000 (16:48 +0000)]
OpenVMS, not OpenVSM...