Geoff Thorpe [Tue, 28 Nov 2000 23:27:23 +0000 (23:27 +0000)]
Minor tweaks and improvements to the tunala demo.
- Add "-cipher" and "-out_state" command line arguments to control SSL
cipher-suites and handshake debug output respectively.
- Implemented error handling for SSL handshakes that break down. This uses
a cheat - storing a non-NULL pointer as "app_data" in the SSL structure
when the SSL should be killed.
Geoff Thorpe [Tue, 28 Nov 2000 19:09:58 +0000 (19:09 +0000)]
A typo and a couple of logic errors fixed. I think there may still be one
or two kinks lurking around, but it now appears to deal with the basic
test cases ok.
Bodo Möller [Tue, 28 Nov 2000 11:49:12 +0000 (11:49 +0000)]
Use BN_pseudo_rand instead of BN_rand
Bodo Möller [Tue, 28 Nov 2000 11:47:51 +0000 (11:47 +0000)]
Timings.
Bodo Möller [Tue, 28 Nov 2000 11:13:06 +0000 (11:13 +0000)]
Note that SSL_peek has been disabled.
Richard Levitte [Tue, 28 Nov 2000 10:20:02 +0000 (10:20 +0000)]
Addapt to added files in the BIGNUM section
Bodo Möller [Tue, 28 Nov 2000 07:53:35 +0000 (07:53 +0000)]
Correct a bug in BN_kronecker.
Sketch the test for BN_kronecker.
Bodo Möller [Tue, 28 Nov 2000 06:58:22 +0000 (06:58 +0000)]
Comments on SSL_peek deficiencies
Bodo Möller [Tue, 28 Nov 2000 06:48:36 +0000 (06:48 +0000)]
Disable SSL_peek until it is fixed.
Bodo Möller [Tue, 28 Nov 2000 06:41:05 +0000 (06:41 +0000)]
Add test_kron function, which will contain a test for BN_kronecker.
Bodo Möller [Tue, 28 Nov 2000 06:37:43 +0000 (06:37 +0000)]
Add bn_kron.c (BN_kronecker), which I forgot in the previous commit.
Also add the next file in advance so that I can't forget this one :-)
Bodo Möller [Mon, 27 Nov 2000 21:22:45 +0000 (21:22 +0000)]
Undo previous commit, which was an accident.
Bodo Möller [Mon, 27 Nov 2000 21:17:20 +0000 (21:17 +0000)]
Fix BN_is_... macros.
Fix BN_gcd.
Analyze BN_mod_inverse.
Add BN_kronecker.
"make update".
Bodo Möller [Sun, 26 Nov 2000 19:20:56 +0000 (19:20 +0000)]
Change submitted files so that they compile (in particular,
use BN_CTX_start/get/end instead of accessing ctx->tos).
Change indentation to "EAY" style.
Bodo Möller [Sun, 26 Nov 2000 19:13:52 +0000 (19:13 +0000)]
Change submitted files so that they compile (in particular,
use BN_CTX_start/get/end instead of accessing ctx->tos).
Change indentation to "EAY" style.
Geoff Thorpe [Sun, 26 Nov 2000 18:39:27 +0000 (18:39 +0000)]
It was a small change, but it *could* conceivably affect people - so I'm
making a note in the CHANGES file.
Geoff Thorpe [Sun, 26 Nov 2000 18:34:45 +0000 (18:34 +0000)]
Ensure that the "ex_data" member of an RSA structure is initialised before
the RSA_METHOD's "init()" handler is called, and is cleaned up after the
RSA_METHOD's "finish()" handler is called. Custom RSA_METHODs may wish to
initialise contexts and other specifics in the RSA structure upon creation
and that was previously not possible - "ex_data" is where that stuff
should go and it was being initialised too late for it to be used.
Bodo Möller [Sun, 26 Nov 2000 18:31:32 +0000 (18:31 +0000)]
More BN_mod_... functions.
Bodo Möller [Sun, 26 Nov 2000 16:46:57 +0000 (16:46 +0000)]
Add bn_mod.c (should have happend in the previous commit ...).
BN_swap manual page.
Bodo Möller [Sun, 26 Nov 2000 16:42:38 +0000 (16:42 +0000)]
modular arithmetics
"make update"
Bodo Möller [Sun, 26 Nov 2000 12:55:19 +0000 (12:55 +0000)]
Remove CR at line ends.
Bodo Möller [Sun, 26 Nov 2000 12:12:35 +0000 (12:12 +0000)]
Elliptic curves over GF(p), new BIGNUM functions, Montgomery re-implementation.
These new files will not be included literally in OpenSSL, but I intend
to integrate most of their contents. Most file names will change,
and when the integration is done, the superfluous files will be deleted.
Submitted by: Lenka Fibikova <fibikova@exp-math.uni-essen.de>
Richard Levitte [Wed, 22 Nov 2000 18:20:31 +0000 (18:20 +0000)]
Correct a number of syntax errors.
Richard Levitte [Wed, 22 Nov 2000 18:17:16 +0000 (18:17 +0000)]
Addapt the VMS scripts to the changes in the Makefiles.
Ulf Möller [Wed, 22 Nov 2000 16:52:29 +0000 (16:52 +0000)]
Remove RSAREF (not used).
You can still get the code using tag "rsaref".
Richard Levitte [Wed, 22 Nov 2000 04:54:06 +0000 (04:54 +0000)]
Addapt the VMS scripts to the changes in the Makefiles.
Richard Levitte [Tue, 21 Nov 2000 23:32:38 +0000 (23:32 +0000)]
Reimplement bn_div_words, bn_add_words and bn_sub_words for VAX.
I'm a little bit nervous about bn_div_words, as I don't know what it's
supposed to return on overflow. For now, I trust the rest of the
system to give it numbers that will not cause any overflow...
Richard Levitte [Tue, 21 Nov 2000 23:29:55 +0000 (23:29 +0000)]
Avoid getting warnings about unary - being used on unsigned integer.
Ben Laurie [Tue, 21 Nov 2000 21:37:48 +0000 (21:37 +0000)]
Oops! Read a full buffer instead of some spurious number from elswhere.
Richard Levitte [Mon, 20 Nov 2000 21:30:43 +0000 (21:30 +0000)]
'echo on' works better all over than 'echo=on'. We had the same
problem in some other file, but I can't recall which.
Ben Laurie [Mon, 20 Nov 2000 04:14:19 +0000 (04:14 +0000)]
Better handling of EVP names, add EVP to speed.
Richard Levitte [Sun, 19 Nov 2000 14:14:52 +0000 (14:14 +0000)]
Make sure bs is assigned NULL when it's free'd, or there will be an
(incorrect) attempt to free it once more...
Richard Levitte [Sun, 19 Nov 2000 14:11:03 +0000 (14:11 +0000)]
I wonder if I do too much...
Richard Levitte [Sun, 19 Nov 2000 14:10:07 +0000 (14:10 +0000)]
Add news items early. Please fill in with what I have forgotten.
Richard Levitte [Sat, 18 Nov 2000 22:58:26 +0000 (22:58 +0000)]
Remove two bn_wexpand() from BN_mul(), which is a step toward getting
BN_mul() correctly constified, avoids two realloc()'s that aren't
really necessary and saves memory to boot. This required a small
change in bn_mul_part_recursive() and the addition of variants of
bn_cmp_words(), bn_add_words() and bn_sub_words() that can take arrays
with differing sizes.
The test results show a performance that very closely matches the
original code from before my constification. This may seem like a
very small win from a performance point of view, but if one remembers
that the variants of bn_cmp_words(), bn_add_words() and bn_sub_words()
are not at all optimized for the moment (and there's no corresponding
assembler code), and that their use may be just as non-optimal, I'm
pretty confident there are possibilities...
This code needs reviewing!
Richard Levitte [Sat, 18 Nov 2000 20:52:14 +0000 (20:52 +0000)]
Remove a declaration for a function that does not exist.
Richard Levitte [Sat, 18 Nov 2000 20:49:02 +0000 (20:49 +0000)]
Make the definition of bn_add_words() match the definition.
Richard Levitte [Sat, 18 Nov 2000 20:44:25 +0000 (20:44 +0000)]
I might want to debug the assembler modules...
Bodo Möller [Fri, 17 Nov 2000 14:42:49 +0000 (14:42 +0000)]
Increase permissible ClientKeyExchange message length.
Bodo Möller [Fri, 17 Nov 2000 13:08:57 +0000 (13:08 +0000)]
include 'err' label only when it is actually used
Richard Levitte [Fri, 17 Nov 2000 12:01:55 +0000 (12:01 +0000)]
Make sure BN_DIV2W is not defining when defining it, and remove the
declarations of bn_add_part_words() and bn_sub_part_words() since they
do not exist.
Bodo Möller [Fri, 17 Nov 2000 11:49:29 +0000 (11:49 +0000)]
tag SSL_peek bugs
Bodo Möller [Fri, 17 Nov 2000 10:25:46 +0000 (10:25 +0000)]
Documentation on using the SSL library with non-blocking I/O.
Bodo Möller [Fri, 17 Nov 2000 09:03:02 +0000 (09:03 +0000)]
Improve usability of 'openssl passwd' by including
password verification where it makes sense.
Bodo Möller [Fri, 17 Nov 2000 08:36:10 +0000 (08:36 +0000)]
Constify bn_dump1 implementation so that it matches the prototype
in bn.h
Richard Levitte [Thu, 16 Nov 2000 22:43:32 +0000 (22:43 +0000)]
More constification of the BN library.
Richard Levitte [Thu, 16 Nov 2000 22:42:39 +0000 (22:42 +0000)]
Make sure to print the BN counting (BN_COUNT) to stderr instead of
stdout. bc gets so confused by bean counts.
Richard Levitte [Thu, 16 Nov 2000 22:41:26 +0000 (22:41 +0000)]
Oops, when I clean, I should do it thoroughly.
Richard Levitte [Thu, 16 Nov 2000 21:35:41 +0000 (21:35 +0000)]
I've checked again and again. There really is no need to expand a to
4 times it's size when bn_sqr_recursive() won't look farther than the
original length. Thereby, constification is no longer a problem.
Richard Levitte [Thu, 16 Nov 2000 18:59:02 +0000 (18:59 +0000)]
/proc/cpuinfo can have several lines containing the word "type". We want the one that is "type", plain and simple. Caught by Raoul Borenius <borenius@shuttle.de>
Geoff Thorpe [Thu, 16 Nov 2000 00:17:11 +0000 (00:17 +0000)]
I have no idea how this comment got there, but it's certainly not
applicable to ENGINE_ctrl()
Geoff Thorpe [Thu, 16 Nov 2000 00:15:50 +0000 (00:15 +0000)]
Many applications that use OpenSSL with ENGINE support might face a
situation where they've initialised the ENGINE, loaded keys (which are then
linked to that ENGINE), and performed other checks (such as verifying
certificate chains etc). At that point, if the application goes
multi-threaded or multi-process it creates problems for any ENGINE
implementations that are either not thread/process safe or that perform
optimally when they do not have to perform locking and other contention
management tasks at "run-time".
This defines a new ENGINE_ctrl() command that can be supported by engines
at their discretion. If ENGINE_ctrl(..., ENGINE_CTRL_HUP,...) returns an
error then the caller should check if the *_R_COMMAND_NOT_IMPLEMENTED error
reason was set - it may just be that the engine doesn't support or need the
HUP command, or it could be that the attempted reinitialisation failed. A
crude alternative is to ignore the return value from ENGINE_ctrl() (and
clear any errors with ERR_clear_error()) and perform a test operation
immediately after the "HUP". Very crude indeed.
ENGINEs can support this command to close and reopen connections, files,
handles, or whatever as an alternative to run-time locking when such things
would otherwise be needed. In such a case, it's advisable for the engine
implementations to support locking by default but disable it after the
arrival of a HUP command, or any other indication by the application that
locking is not required. NB: This command exists to allow an ENGINE to
reinitialise without the ENGINE's functional reference count having to sink
down to zero and back up - which is what is normally required for the
finish() and init() handlers to get invoked. It would also be a bad idea
for engine_lib to catch this command itself and interpret it by calling the
engine's init() and finish() handlers directly, because reinitialisation
may need special handling on a case-by-case basis that is distinct from a
finish/init pair - eg. calling a finish() handler may invalidate the state
stored inside individual keys that have already loaded for this engine.
Lutz Jänicke [Wed, 15 Nov 2000 18:42:41 +0000 (18:42 +0000)]
Fill in missing information about the string returned from
SSL_CIPHER_description(), as there is no other API function to find
out details about the cipher used besides the number of bits or protocol used.
Ulf Möller [Tue, 14 Nov 2000 19:18:31 +0000 (19:18 +0000)]
ignore
Richard Levitte [Tue, 14 Nov 2000 15:33:06 +0000 (15:33 +0000)]
Modify () to (void), since that's what is actually defined in the
engine structure, and some ANSI C compilers will complain otherwise.
Richard Levitte [Tue, 14 Nov 2000 13:50:42 +0000 (13:50 +0000)]
Two OCSP functions that aren't yet implemented.
Richard Levitte [Tue, 14 Nov 2000 13:39:38 +0000 (13:39 +0000)]
make update
Richard Levitte [Tue, 14 Nov 2000 13:24:06 +0000 (13:24 +0000)]
Get the Rijndael function declarations.
Richard Levitte [Tue, 14 Nov 2000 13:20:10 +0000 (13:20 +0000)]
Detect and mark functions that no longer exist.
Lutz Jänicke [Tue, 14 Nov 2000 11:05:10 +0000 (11:05 +0000)]
Some platforms (namely HP-UX) require the 'x' bit set for shared libraries.
For performance reasons, it is also recommended to make the (mmap'ed)
shared library 'read-only'.
-> New permissions for installed shared libraries = 555
This doesn't hurt anybody, provided the installation is performed with
'cp -f' :-)
Richard Levitte [Tue, 14 Nov 2000 10:52:16 +0000 (10:52 +0000)]
Typo, was "time" instead of "tim".
Caught by Jeffrey Altman <jaltman@columbia.edu>
Richard Levitte [Tue, 14 Nov 2000 10:51:00 +0000 (10:51 +0000)]
Add Rijndael as things to look through.
Lutz Jänicke [Mon, 13 Nov 2000 14:40:07 +0000 (14:40 +0000)]
HP-UX shared libraries do not build any longer, as EX_LIBS contains
"-Wl,+s" instead of +s:
* Hardcoded necessary references to -ldld/-ldl into the build rules and
removed EX_LIBS.
HP-UX records the pathnames of dependent libraries when the shared libs
are built, so that ./libcrypto.sl... is recorded in libssl.sl..., with
"./" not being resolvable when running an application linked against -lssl:
* Build libssl without explicit reference to libcrypto, applications will
be linked with "-lssl -lcrypto" anyway.
Document these informations in Makefile.org.
Ulf Möller [Sun, 12 Nov 2000 22:32:18 +0000 (22:32 +0000)]
in some new file names the first 8 characters were not unique
Richard Levitte [Sun, 12 Nov 2000 20:24:30 +0000 (20:24 +0000)]
For a long time, I've wanted to be able to easily run one or a few
individual tests. I finally got myself to implement it...
Bodo Möller [Sun, 12 Nov 2000 19:17:22 +0000 (19:17 +0000)]
Additional explanations for SSL_ERROR_WANT_READ/WRITE.
Richard Levitte [Sun, 12 Nov 2000 18:25:30 +0000 (18:25 +0000)]
Enhance granularity on what I want to debug for the moment by changing
LEVITTE_DEBUG to LEVITTE_DEBUG_MEM.
Richard Levitte [Sun, 12 Nov 2000 16:20:40 +0000 (16:20 +0000)]
Update my own debugging configuration entry
Ben Laurie [Sun, 12 Nov 2000 02:13:38 +0000 (02:13 +0000)]
Make Rijndael work! Those long flights have some good points.
Ben Laurie [Sun, 12 Nov 2000 02:11:13 +0000 (02:11 +0000)]
Make this stuff compile.
Bodo Möller [Fri, 10 Nov 2000 07:50:18 +0000 (07:50 +0000)]
Point to SSL_set_bio(3) early because that manpage provides
information that is essential for using BIO pairs.
Bodo Möller [Fri, 10 Nov 2000 07:46:11 +0000 (07:46 +0000)]
add missing word
Bodo Möller [Thu, 9 Nov 2000 16:39:01 +0000 (16:39 +0000)]
tmp2 is not used in BN_mod_mul_montgomery.
Richard Levitte [Wed, 8 Nov 2000 18:10:35 +0000 (18:10 +0000)]
Really stupid glitch (a comment not properly ended) fixed.
Richard Levitte [Wed, 8 Nov 2000 17:51:37 +0000 (17:51 +0000)]
Remove references to RSAref. The glue library is but a memory to fade
away now...
Bodo Möller [Wed, 8 Nov 2000 10:05:34 +0000 (10:05 +0000)]
BN_CTX-related fixes.
Richard Levitte [Tue, 7 Nov 2000 23:43:21 +0000 (23:43 +0000)]
Constification of LHASH. Contributed by "Paul D. Smith" <psmith@gnu.org>
I didn't apply all his patches yet, since I have some hesitance about
unconstifying. To be pondered.
Richard Levitte [Tue, 7 Nov 2000 14:31:53 +0000 (14:31 +0000)]
Document that the Nuron hardware has been added and remove the
requirement for an engine utility since we now have that.
Richard Levitte [Tue, 7 Nov 2000 14:30:37 +0000 (14:30 +0000)]
Constify DH-related code.
Richard Levitte [Tue, 7 Nov 2000 13:54:39 +0000 (13:54 +0000)]
Constify DSA-related code.
Richard Levitte [Tue, 7 Nov 2000 13:53:21 +0000 (13:53 +0000)]
Make sure ERR_get_error() is declared.
Richard Levitte [Tue, 7 Nov 2000 13:49:46 +0000 (13:49 +0000)]
A few more constifications of some RSA routines that I forgot
yesterday.
Richard Levitte [Tue, 7 Nov 2000 13:23:16 +0000 (13:23 +0000)]
Lutz tells me HP cc uses the same syntax for flags that should be
passed down to ld as GNU cc.
Richard Levitte [Tue, 7 Nov 2000 13:21:09 +0000 (13:21 +0000)]
When ENGINE_by_id() couldn't find the given engine id, it generates an
error. When checking like engine_add() is, those errors are actually
good, so remove them.
Richard Levitte [Tue, 7 Nov 2000 11:25:26 +0000 (11:25 +0000)]
shl_load() also needs to load along a path given through an
environment variable, SHLIB_PATH. This change makes that possible.
Bodo Möller [Tue, 7 Nov 2000 09:39:51 +0000 (09:39 +0000)]
Handle BN_copy failure after successful BN_new.
Bodo Möller [Tue, 7 Nov 2000 09:35:19 +0000 (09:35 +0000)]
handle the case when BN_new returns NULL
Richard Levitte [Mon, 6 Nov 2000 23:29:52 +0000 (23:29 +0000)]
Document recent constifications.
Richard Levitte [Mon, 6 Nov 2000 23:24:59 +0000 (23:24 +0000)]
Constification of CRYPTO_get_ex_data() needed for the sake of
RSA_get_ext_data().
Richard Levitte [Mon, 6 Nov 2000 23:16:04 +0000 (23:16 +0000)]
The consequence of constification is that to pass the address to a
pointer to a const double pointe parameter, the pointer must point to
const data as well.
Richard Levitte [Mon, 6 Nov 2000 23:15:03 +0000 (23:15 +0000)]
Constify the RSAref glue code.
Richard Levitte [Mon, 6 Nov 2000 23:04:15 +0000 (23:04 +0000)]
Constify the RSA parts of the ASN.1 library. Note some ugly casts
that are needed in the ASN.1 macros. Hopefully, we can get rid of
those in an elegant way in the future.
Richard Levitte [Mon, 6 Nov 2000 22:49:05 +0000 (22:49 +0000)]
Constify the RSA library.
Richard Levitte [Mon, 6 Nov 2000 22:34:17 +0000 (22:34 +0000)]
Constify the RSA library.
Richard Levitte [Mon, 6 Nov 2000 22:15:50 +0000 (22:15 +0000)]
As a consequence of the BIGNUM constification, the ENGINE code needs a
few small constifying changes, and why not throw in a couple of extras
while I'm at it?
Richard Levitte [Mon, 6 Nov 2000 22:03:00 +0000 (22:03 +0000)]
Make all engines available in the openssl application.
Ulf Möller [Mon, 6 Nov 2000 21:28:38 +0000 (21:28 +0000)]
looks like a cut&paste error
Richard Levitte [Mon, 6 Nov 2000 21:15:54 +0000 (21:15 +0000)]
Constify the BIGNUM routines a bit more. The only trouble were the
two functions that did expansion on in parameters (BN_mul() and
BN_sqr()). The problem was solved by making bn_dup_expand() which is
a mix of bn_expand2() and BN_dup().
Richard Levitte [Mon, 6 Nov 2000 21:12:21 +0000 (21:12 +0000)]
mode used too early in EVP_PKEY_save_parameters.
Spotted by Ken Lalonde <ken@torus.ca>
Richard Levitte [Mon, 6 Nov 2000 06:52:47 +0000 (06:52 +0000)]
Make sure that shared libraries get the internal name engine with the
full version number and not just 0. This should mark the shared
libraries as not backward compatible. Of course, this should be
changed again when we can guarantee backward binary compatibility.