Geoff Thorpe [Tue, 9 Jan 2001 16:59:56 +0000 (16:59 +0000)]
oops, void functions shouldn't try and return a value. Strangely, gcc
didn't even give a warning for this yet HPUX cc considered it an error.
Reported by Lutz(@openssl.org).
Lutz Jänicke [Tue, 9 Jan 2001 16:44:59 +0000 (16:44 +0000)]
Add automatic query of EGD sockets to RAND_poll(). The EGD sockets are
only queried when the /dev/[u]random devices did not return enough
entropy. Only the amount of entropy missing to reach the required minimum
is queried, as EGD may be drained.
Queried locations are: /etc/entropy, /var/run/egd-pool
Geoff Thorpe [Tue, 9 Jan 2001 16:39:04 +0000 (16:39 +0000)]
It was correctly pointed out to me that my CHANGES entry was a little thin
on details. :-)
Lutz Jänicke [Tue, 9 Jan 2001 10:58:36 +0000 (10:58 +0000)]
Don't cheat: when only getting several bytes from each source, n is incremented
correctly, but RAND_add(..,n) counts the increasing n several times.
Only RAND_add(..,n) once entropy collection is finished.
Geoff Thorpe [Tue, 9 Jan 2001 00:24:38 +0000 (00:24 +0000)]
Move all the existing function pointer casts associated with LHASH's two
"doall" functions to using type-safe wrappers. As and where required, this
can be replaced by redeclaring the underlying callbacks to use the
underlying "void"-based prototypes (eg. if performance suffers from an
extra level of function invocation).
Geoff Thorpe [Tue, 9 Jan 2001 00:13:25 +0000 (00:13 +0000)]
Get rid of the function pointer casting in the debugging memory code due
to LHASH usage. NB: The callback type used as been suctioned off into
crypto.h as CRYPTO_MEM_LEAK_CB to improve clarity.
Geoff Thorpe [Tue, 9 Jan 2001 00:02:09 +0000 (00:02 +0000)]
This adds macros to implement (and/or declare) type-safe wrapper functions
around the callbacks required in the LHASH code for the "doall" functions.
Also - fix the evil function pointer casting in the two lh_doall functions
by deferring to a static utility function. Previously lh_doall() was
invoking lh_doall_arg() by casting the callback to the 2-parameter
prototype and passing in a NULL argument. This appears to have been working
thus far but it's not a hot idea. If the extra level of indirection becomes
a performance hit, we can just provide two virtually identical
implementations for each variant later on.
Geoff Thorpe [Mon, 8 Jan 2001 22:03:27 +0000 (22:03 +0000)]
Whilst in the process of fixing outstanding function-pointer casts in the
LHASH code, this evil was uncovered. The cast was obscuring the fact that
the function was prototyped to take 2 parameters when in fact it is being
used as a callback that should take only one. Anyway, the function itself
ignores the second parameter (thankfully). A proper cure is on the way but
for now this corrects the inconsistency.
Richard Levitte [Mon, 8 Jan 2001 21:32:46 +0000 (21:32 +0000)]
Keep up with Unix code. It's beginning to be time to rethink the VMS
build system...
Richard Levitte [Mon, 8 Jan 2001 21:27:53 +0000 (21:27 +0000)]
Because /dev/urandom has a better chance of giving us a good and
quick answer, take that one first.
Dr. Stephen Henson [Mon, 8 Jan 2001 13:39:06 +0000 (13:39 +0000)]
Add prototypes for new OCSP functions.
Fix bug in OCSP_find_status().
Richard Levitte [Mon, 8 Jan 2001 10:59:26 +0000 (10:59 +0000)]
Change RAND_poll for Unix to try a number of devices and only read
them for a short period of time (actually, poll them with select(),
then read() whatever is there), which is about 10ms (hard-coded value)
each.
Separate Windows and Unixly code, and start on a VMS variant that
currently just returns 0.
Dr. Stephen Henson [Mon, 8 Jan 2001 01:21:55 +0000 (01:21 +0000)]
Add set of OCSP client functions. All experimental
and subject to addition, modifcation or deletion.
Add two OCSP nonce utility functions.
Fix typo in status code name.
Richard Levitte [Sun, 7 Jan 2001 18:51:28 +0000 (18:51 +0000)]
Keep up with the Unixly changes.
Dr. Stephen Henson [Fri, 5 Jan 2001 03:31:51 +0000 (03:31 +0000)]
Modify OCSP API to more closely reflect
application needs.
Add OCSP library name to error code.
Dr. Stephen Henson [Thu, 4 Jan 2001 19:53:48 +0000 (19:53 +0000)]
Fix typo in OCSP nonce extension.
Set correct type in ASN1_STRING for
INTEGER and ENUMERATED types.
Make ASN1_INTEGER_get() and ASN1_ENUMERATED_get()
return -1 for invalid type rather than 0 (which is
often valid). -1 may also be valid but this is less
likely.
Load OCSP error strings in ERR_load_crypto_strings().
Dr. Stephen Henson [Thu, 4 Jan 2001 01:46:36 +0000 (01:46 +0000)]
Update OCSP API.
Remove extensions argument from various functions
because it is not needed with the new extension
code.
New function OCSP_cert_to_id() to convert a pair
of certificates into an OCSP_CERTID.
New simple OCSP HTTP function. This is rather primitive
but just about adequate to send OCSP requests and
parse the response.
Fix typo in CRL distribution points extension.
Fix ASN1 code so it adds a final null to constructed
strings.
Dr. Stephen Henson [Sun, 31 Dec 2000 17:31:57 +0000 (17:31 +0000)]
Fix the S/MIME code so it now works again and
uses the new ASN1 code.
Richard Levitte [Sun, 31 Dec 2000 01:55:46 +0000 (01:55 +0000)]
Make the DSO code for VMS work again. First attempt.
Richard Levitte [Sun, 31 Dec 2000 01:54:18 +0000 (01:54 +0000)]
The option line may start with a space, which gives an empty option.
Make sure those are purged...
Richard Levitte [Sun, 31 Dec 2000 01:43:11 +0000 (01:43 +0000)]
Look for no-krb5 and add the definition of NO_KRB5 if it's there.
I've no idea were the KRB5 header files and libraries are placed on
Win32. When there's better knowledge, we might be able to process the
other KRB5-related arguments as well...
Richard Levitte [Sun, 31 Dec 2000 01:41:01 +0000 (01:41 +0000)]
Temporary measure: if no KRB5 is defined, add "no-krb5" to the
options. This is so mk1mf.pl can pick it up from Makefile.
Richard Levitte [Sun, 31 Dec 2000 01:18:50 +0000 (01:18 +0000)]
Since asn1.h gets included recursively from many places, the easiest
is to have asn1.h include e_os.h and e_os2.h. Of course, this makes
the unofficial "non-export" status of e_os.h a bit delicate...
Dr. Stephen Henson [Sun, 31 Dec 2000 01:13:04 +0000 (01:13 +0000)]
Rewrite PKCS#12 code and remove some of the old
horrible macros.
Fix two evil ASN1 bugs. Attempt to use 'ctx' when
NULL if input is indefinite length constructed
in asn1_check_tlen() and invalid pointer to ASN1_TYPE
when reusing existing structure (this took *ages* to
find because the new PKCS#12 code triggered it).
Richard Levitte [Sun, 31 Dec 2000 00:48:58 +0000 (00:48 +0000)]
Remove RSAref-related things.
Richard Levitte [Sun, 31 Dec 2000 00:26:18 +0000 (00:26 +0000)]
Document.
Richard Levitte [Sun, 31 Dec 2000 00:23:17 +0000 (00:23 +0000)]
If OPENSSL_BUILD_SHLIBCRYPTO (for files that end up as libcrypto
objects) or OPENSSL_BUILD_SHLIBSSL (for files that end up as libssl
objects) is defined, redefine OPENSSL_EXTERN to be OPENSSL_EXPORT.
This is actually only important on Win32, and can safely be ignored in
all other cases, at least for now.
Richard Levitte [Sun, 31 Dec 2000 00:15:57 +0000 (00:15 +0000)]
Define OPENSSL_EXPORT and OPENSSL_IMPORT and give OPENSSL_EXTERN the
default value OPENSSL_IMPORT. Explain the use of all those macros.
Richard Levitte [Sun, 31 Dec 2000 00:06:47 +0000 (00:06 +0000)]
Remove anything connected to RSAref, since that's gone by now.
Add the C macros OPENSSL_BUILD_SHLIBCRYPTO and OPENSSL_BUILD_SHLIBSSL
to the build of the object files as appropriate for each library.
Richard Levitte [Sun, 31 Dec 2000 00:00:02 +0000 (00:00 +0000)]
Uhmm, the keyword TRUE does not exist of course...
Dr. Stephen Henson [Sat, 30 Dec 2000 12:26:33 +0000 (12:26 +0000)]
Delete PKCS#12 redundant files.
Dr. Stephen Henson [Sat, 30 Dec 2000 02:40:26 +0000 (02:40 +0000)]
ASN1_ITEM versions of ASN1_d2i_{fp, bio} and replacement of
most of the old wrappers. A few of the old versions remain
because they are non standard and the corresponding ASN1
code has not been reimplemented yet.
Dr. Stephen Henson [Fri, 29 Dec 2000 18:23:55 +0000 (18:23 +0000)]
Replace the old ASN1_dup() with ASN1_item_dup() and
zap some evil function pointers casts along the way...
Richard Levitte [Fri, 29 Dec 2000 01:54:14 +0000 (01:54 +0000)]
Check for deselection of KRB5. In fact, skip it completely on VMS for now...
Richard Levitte [Fri, 29 Dec 2000 01:41:37 +0000 (01:41 +0000)]
Correct a typo.
Richard Levitte [Fri, 29 Dec 2000 00:19:12 +0000 (00:19 +0000)]
"make update" plus a rewrite of both .num files.
Richard Levitte [Fri, 29 Dec 2000 00:05:14 +0000 (00:05 +0000)]
Enhancements to mkdef.pl:
* detect "unknown" algorithms (any C macro starting with NO_ that is
not explicitely mentioned in mkdef.pl as a known algorithm) and
report.
* add a number of algorithms that can be deselected.
* look in ssl/kssl.h as well.
* accept multiple whitespace (not just one SPC) in preprocessor lines.
Dr. Stephen Henson [Thu, 28 Dec 2000 22:41:46 +0000 (22:41 +0000)]
ASN1_ITEM version of ASN1_dup(). Might want
something more efficient later...
Richard Levitte [Thu, 28 Dec 2000 22:26:11 +0000 (22:26 +0000)]
Update VMS build procedures to match the current status.
Dr. Stephen Henson [Thu, 28 Dec 2000 22:24:50 +0000 (22:24 +0000)]
Add NO_ASN1_OLD to remove some old style functions:
currently OpenSSL itself wont compile with this set
because some old style stuff remains.
Change old functions X509_sign(), X509_verify() etc
to use new item based functions.
Replace OCSP function declarations with DECLARE macros.
Dr. Stephen Henson [Thu, 28 Dec 2000 19:18:48 +0000 (19:18 +0000)]
ASN1_ITEM versions of sign, verify, pack and unpack.
The old function pointer versions will eventually go
away.
Dr. Stephen Henson [Thu, 28 Dec 2000 01:05:05 +0000 (01:05 +0000)]
New OCSP extension functions.
Bodo Möller [Wed, 27 Dec 2000 23:42:20 +0000 (23:42 +0000)]
Get rid of unused error code.
Dr. Stephen Henson [Wed, 27 Dec 2000 19:20:14 +0000 (19:20 +0000)]
Avoid compiler warnings in hw_ubsec.c: unused static
functions and signed/unsigned mismatch.
This will of course change if some of the unused functions
suddenly get used...
Dr. Stephen Henson [Wed, 27 Dec 2000 13:42:43 +0000 (13:42 +0000)]
X509V3_add_i2d() needs to be able to allocate a
STACK_OF(X509_EXTENSION) so it should be passed
STACK_OF(X509_EXTENSION) ** in the first argument.
Modify wrappers appropriately.
Bodo Möller [Tue, 26 Dec 2000 12:07:23 +0000 (12:07 +0000)]
Finish SSL_peek/SSL_pending fixes.
Bodo Möller [Mon, 25 Dec 2000 18:40:46 +0000 (18:40 +0000)]
Fix SSL_peek and SSL_pending.
Dr. Stephen Henson [Sun, 24 Dec 2000 18:02:33 +0000 (18:02 +0000)]
New function X509V3_add_i2d() this is used for
encoding, replacing and deleting extensions.
Fix X509V3_get_d2i() so it uses takes note of
new critical behaviour.
Geoff Thorpe [Thu, 21 Dec 2000 02:49:13 +0000 (02:49 +0000)]
Re-order the options in tunala and add command switches like s_server for
disabling different SSL/TLS protocol versions.
Dr. Stephen Henson [Thu, 21 Dec 2000 01:38:55 +0000 (01:38 +0000)]
Various Win32 related fixes. Doesn't compile yet on
Win32 but it is getting there...
Update mkdef.pl to handle ASN1_ANY and fix headers.
Stop various VC++ warnings.
Include some fixes from "Peter 'Luna' Runestig"
<peter@runestig.com>
Remove external declaration for des_set_weak_key_flag:
it doesn't exist.
Geoff Thorpe [Wed, 20 Dec 2000 22:14:23 +0000 (22:14 +0000)]
This adds support to 'tunala' for supplying DH parameters (without which it
will not support EDH cipher suites). The parameters can either be loaded
from a file (via "-dh_file"), generated by the application on start-up
("-dh_special generate"), or be standard DH parameters (as used in
s_server, etc).
Geoff Thorpe [Wed, 20 Dec 2000 19:30:19 +0000 (19:30 +0000)]
Some minor changes to the "tunala" demo.
* Seal off some buffer functions so that only the higher-level IO functions
are exposed.
* Using the above change to buffer, add support to tunala for displaying
traffic totals when a tunnel closes. Useful in debugging and analysis -
you get to see the total encrypted traffic versus the total tunneled
traffic. This shows not only how much expansion your data suffers from
SSL (a lot if you send/receive a few bytes at a time), but also the
overhead of SSL handshaking relative to the payload sent through the
tunnel. This is controlled by the "-out_totals" switch to tunala.
* Fix and tweak some bits in the README.
Eg. sample output of "-out_totals" from a tunnel client when tunneling a brief
"telnet" session.
Tunnel closing, traffic stats follow
SSL (network) traffic to/from server; 7305 bytes in, 3475 bytes out
tunnelled data to/from server; 4295 bytes in, 186 bytes out
Ulf Möller [Wed, 20 Dec 2000 15:42:01 +0000 (15:42 +0000)]
branches have been merged.
Ulf Möller [Wed, 20 Dec 2000 15:23:31 +0000 (15:23 +0000)]
Stop build when an error occurs.
"Peter 'Luna' Runestig" <peter+openssl-dev@runestig.com>
Bodo Möller [Wed, 20 Dec 2000 10:11:06 +0000 (10:11 +0000)]
Don't access non-existing element buf[256], use buf[255] instead.
Submitted by: draslar <draslar@elray.ch>
Bodo Möller [Wed, 20 Dec 2000 10:09:08 +0000 (10:09 +0000)]
Split a CHANGES entry so that one of the halves matches the
corresponding new entry in the OpenSSL_0_9_6-stable branch.
Dr. Stephen Henson [Wed, 20 Dec 2000 00:46:44 +0000 (00:46 +0000)]
Fixes to OCSP print code.
Don't try to print request certificates if signature is not present.
Remove unnecessary test for certificates being NULL.
Fix typos in printed output.
Tidy up output.
Fix for typo in OCSP_SERVICELOC ASN1 template.
Also give a bit more info in CHANGES about the ASN1 revision.
Bodo Möller [Tue, 19 Dec 2000 12:39:45 +0000 (12:39 +0000)]
fix indentation
Bodo Möller [Tue, 19 Dec 2000 12:31:41 +0000 (12:31 +0000)]
Don't hold CRYPTO_LOCK_RSA during time-consuming operations.
Bodo Möller [Mon, 18 Dec 2000 16:39:00 +0000 (16:39 +0000)]
Add a comment (intended change)
Bodo Möller [Mon, 18 Dec 2000 11:35:32 +0000 (11:35 +0000)]
Import s2_pkt.c wbuf fixes from OpenSSL_0_9_6-stable branch.
Bodo Möller [Mon, 18 Dec 2000 09:18:22 +0000 (09:18 +0000)]
Comment correction.
Bodo Möller [Mon, 18 Dec 2000 09:00:48 +0000 (09:00 +0000)]
Obtain lock CRYPTO_LOCK_RSA before creating BN_MONT_CTX
structures and setting rsa->_method_mod_{n,p,q}.
Submitted by: "Reddie, Steven" <Steven.Reddie@ca.com>
Bodo Möller [Mon, 18 Dec 2000 08:18:07 +0000 (08:18 +0000)]
undo previous change: '-prexit' is already available in current versions of s_client
Dr. Stephen Henson [Sun, 17 Dec 2000 14:09:43 +0000 (14:09 +0000)]
Redo OCSP response printing. Remove duplicate or
obsolete code. Delete some redundant files.
Bodo Möller [Sun, 17 Dec 2000 00:32:49 +0000 (00:32 +0000)]
When mentioning features that don't exist in current releases of
OpenSSL (such as the new undocumented '-prexit' option to s_client),
the FAQ should point out that they don't: The FAQ is not just part
of the release, it's current version is also published on the web.
Bodo Möller [Sun, 17 Dec 2000 00:30:03 +0000 (00:30 +0000)]
Simplify preprocessor statements.
Dr. Stephen Henson [Sat, 16 Dec 2000 12:51:58 +0000 (12:51 +0000)]
Add OCSP service locator extension.
Richard Levitte [Sat, 16 Dec 2000 11:19:19 +0000 (11:19 +0000)]
Do not poll DEVRANDOM if weäre building without an file pointer API.
Spotted by "David Schwartz" <davids@webmaster.com>.
Richard Levitte [Sat, 16 Dec 2000 11:14:41 +0000 (11:14 +0000)]
Make sure each FAQ item has an index entry.
Dr. Stephen Henson [Sat, 16 Dec 2000 01:58:58 +0000 (01:58 +0000)]
Add support for the noCheck OCSP extension. This is
just a NULL and appears in a certificate.
Dr. Stephen Henson [Sat, 16 Dec 2000 01:19:24 +0000 (01:19 +0000)]
Make mkdef.pl parse some ASN1 IMPLEMENT macros.
Initial support for variables in DEF files.
Dr. Stephen Henson [Sat, 16 Dec 2000 01:07:16 +0000 (01:07 +0000)]
Add a couple of FAQs.
Ulf Möller [Fri, 15 Dec 2000 20:59:37 +0000 (20:59 +0000)]
"Andrew W. Gray" <agray@iconsinc.com> says /GD is no longer a valid
compiler switch.
Bodo Möller [Fri, 15 Dec 2000 16:59:49 +0000 (16:59 +0000)]
If CONF_get_string returns NULL and we want to tolerate this
(e.g., use a default), we have to call ERR_clear_error().
Bodo Möller [Fri, 15 Dec 2000 16:40:35 +0000 (16:40 +0000)]
Locking issues.
Dr. Stephen Henson [Fri, 15 Dec 2000 13:42:00 +0000 (13:42 +0000)]
Implement some standard OCSP extensions in the v3 code. These
are all raw print only extensions at present.
Bodo Möller [Fri, 15 Dec 2000 10:54:03 +0000 (10:54 +0000)]
The C version of bn_sub_part_words is needed not only
in NO_ASM configurations
Bodo Möller [Fri, 15 Dec 2000 10:42:11 +0000 (10:42 +0000)]
Very few in the "README" is up-to-date
Dr. Stephen Henson [Thu, 14 Dec 2000 23:27:20 +0000 (23:27 +0000)]
Add OCSP nonce extension to supported extensions.
This is a little unusual because it can contain no
structure i.e. the extension OCTET STRING content
octets do not contain a DER encoded structure.
Geoff Thorpe [Thu, 14 Dec 2000 21:49:48 +0000 (21:49 +0000)]
Make a note of the new engine.
Geoff Thorpe [Thu, 14 Dec 2000 21:41:55 +0000 (21:41 +0000)]
This is an engine contributed by Broadcom - it is meant to support the
BCM5805 and BCM5820 units. So far I've merely taken a skim over the code
and changed a few things from their original contributed source
(de-shadowing variables, removing variables from the header, and
re-constifying some functions to remove warnings). If this gives
compilation problems on any system, please let me know. We will hopefully
know for sure whether this actually functions on a system with the relevant
hardware in a day or two. :-)
Dr. Stephen Henson [Thu, 14 Dec 2000 18:42:28 +0000 (18:42 +0000)]
New function X509V3_extensions_print() this removes extension duplication
from the print routines.
Reorganisation of OCSP code: initial print routines in ocsp_prn.c. Doesn't
work fully because OCSP extensions aren't reimplemented yet.
Implement some ASN1 functions needed to compile OCSP code.
Bodo Möller [Thu, 14 Dec 2000 17:47:29 +0000 (17:47 +0000)]
typo
Bodo Möller [Thu, 14 Dec 2000 17:46:36 +0000 (17:46 +0000)]
The BN_mul bug test apparently is no longer needed
Bodo Möller [Thu, 14 Dec 2000 17:36:59 +0000 (17:36 +0000)]
First step towards SSL_peek fix.
Bodo Möller [Thu, 14 Dec 2000 17:29:33 +0000 (17:29 +0000)]
Update.
Dr. Stephen Henson [Thu, 14 Dec 2000 00:53:10 +0000 (00:53 +0000)]
New function X509_signature_print() to remove some duplicate
code from certificate, CRL and request printing routines.
Dr. Stephen Henson [Wed, 13 Dec 2000 23:54:30 +0000 (23:54 +0000)]
Change the PKCS7 structure to use SEQUENCE OF for the
authenticated attributes: this is used to retain the
original encoding and not break signatures.
Support for a SET OF which reorders the STACK when
encoding a structure. This will be used with the
PKCS7 code.
Ulf Möller [Wed, 13 Dec 2000 23:00:33 +0000 (23:00 +0000)]
c&p error spotted by Martin Forssen
Dr. Stephen Henson [Wed, 13 Dec 2000 18:21:51 +0000 (18:21 +0000)]
Replace the old style OCSP ASN1 module.
Richard Levitte [Wed, 13 Dec 2000 17:15:03 +0000 (17:15 +0000)]
Constification of the data of a hash table. This means the callback
functions need to be constified, and therefore meant a number of easy
changes a little everywhere.
Now, if someone could explain to me why OBJ_dup() cheats...
Richard Levitte [Wed, 13 Dec 2000 15:29:29 +0000 (15:29 +0000)]
Problem: bn_mul_normal() misbehaves if the size of b is 0.
Solution: multiply a with 0, putting the result in r, and return.
Richard Levitte [Wed, 13 Dec 2000 14:47:06 +0000 (14:47 +0000)]
In bn_mul_recursive(), make sure the comba routines are only called
when both a and b are of the exact right size. This may change to
something better later.
Richard Levitte [Wed, 13 Dec 2000 14:04:08 +0000 (14:04 +0000)]
When using -pedantic, it's a good thing to define PEDANTIC as well.
Also, define a second debugging configuration without assembler.
Dr. Stephen Henson [Wed, 13 Dec 2000 13:55:03 +0000 (13:55 +0000)]
Stop extension creation code core dumping.
This was caused by no initialising the buffer
to NULL when using the auto allocating version
if i2d.
Dr. Stephen Henson [Wed, 13 Dec 2000 13:47:33 +0000 (13:47 +0000)]
Rewrite the extension code to use an ASN1_ITEM structure
for its ASN1 operations as well as the old style function
pointers (i2d, d2i, new, free). Change standard extensions
to support this.
Fix a warning in BN_mul(), bn_mul.c about uninitialised 'j'.
Lutz Jänicke [Tue, 12 Dec 2000 21:06:29 +0000 (21:06 +0000)]
Add description of SSL_[CTX_]_check_private_key().
Richard Levitte [Tue, 12 Dec 2000 08:08:53 +0000 (08:08 +0000)]
SSL_new() may potentially add a certfificate. Therefore, wen
duplicating the certificate that is in the original SSL, remove the
one that SSL_new() provided, if any.
Spotted by: Mike Zeoli <zeoli@roguewave.com>
Bodo Möller [Mon, 11 Dec 2000 17:28:07 +0000 (17:28 +0000)]
Change/add comments