22 years ago*** empty log message ***
Ulf Möller [Sun, 10 Dec 2000 04:22:45 +0000 (04:22 +0000)]
*** empty log message ***

22 years agoMake TYPE_RSA the default type instead of just setting it when -new is
Richard Levitte [Sat, 9 Dec 2000 11:11:35 +0000 (11:11 +0000)]
Make TYPE_RSA the default type instead of just setting it when -new is
given.  That also allows the arguments to come in any order (-new
last, for example).

22 years agoUse continuation lines in test/bctest as far as it is possible
Bodo Möller [Sat, 9 Dec 2000 10:07:47 +0000 (10:07 +0000)]
Use continuation lines in test/bctest as far as it is possible
to dermine what the expression should look like.
Apparently CVS does not like lines longer than about 2^10 characters.

22 years agoDon't throw away bctest's error messages.
Bodo Möller [Sat, 9 Dec 2000 10:05:03 +0000 (10:05 +0000)]
Don't throw away bctest's error messages.

22 years agoTest for SCO bc bug
Ulf Möller [Sat, 9 Dec 2000 02:45:59 +0000 (02:45 +0000)]
Test for SCO bc bug

22 years agoNext step in tidying up the LHASH code.
Geoff Thorpe [Fri, 8 Dec 2000 20:02:01 +0000 (20:02 +0000)]
Next step in tidying up the LHASH code.

DECLARE/IMPLEMENT macros now exist to create type (and prototype) safe
wrapper functions that avoid the use of function pointer casting yet retain
type-safety for type-specific callbacks. However, most of the usage within
OpenSSL itself doesn't really require the extra function because the hash
and compare callbacks are internal functions declared only for use by the
hash table. So this change catches all those cases and reimplements the
functions using the base-level LHASH prototypes and does per-variable
casting inside those functions to convert to the appropriate item type.

The exception so far is in ssl_lib.c where the hash and compare callbacks
are not static - they're exposed in ssl.h so their prototypes should not be
changed. In this last case, the IMPLEMENT_LHASH_*** macros have been left

22 years agobn_part_sub_word prototype.
Ulf Möller [Fri, 8 Dec 2000 19:10:33 +0000 (19:10 +0000)]
bn_part_sub_word prototype.

22 years agoMerge from the ASN1 branch of new ASN1 code
Dr. Stephen Henson [Fri, 8 Dec 2000 19:09:35 +0000 (19:09 +0000)]
Merge from the ASN1 branch of new ASN1 code
to main trunk.

Lets see if the makes it to openssl-cvs :-)

22 years agoAdd manual pages for certficate/key loading and friends.
Lutz Jänicke [Fri, 8 Dec 2000 14:29:13 +0000 (14:29 +0000)]
Add manual pages for certficate/key loading and friends.

22 years agoPlaceholder for SCO bc bug detection
Bodo Möller [Fri, 8 Dec 2000 08:30:38 +0000 (08:30 +0000)]
Placeholder for SCO bc bug detection

22 years agoFix some things that look like bugs.
Bodo Möller [Thu, 7 Dec 2000 22:06:09 +0000 (22:06 +0000)]
Fix some things that look like bugs.

One problem that looked like a problem in bn_recp.c at first turned
out to be a BN_mul bug.  An example is given in bn_recp.c; finding
the bug responsible for this is left as an exercise.

22 years agoTEST_MUL and TEST_SQR added.
Bodo Möller [Thu, 7 Dec 2000 11:11:10 +0000 (11:11 +0000)]
TEST_MUL and TEST_SQR added.

22 years agoSign-related fixes (and tests).
Bodo Möller [Thu, 7 Dec 2000 08:48:58 +0000 (08:48 +0000)]
Sign-related fixes (and tests).

BN_mod_exp_mont does not work properly yet if modulus m
is negative (we want computations to be carried out
modulo |m|).

22 years agoMove 'q->neg = 0' to those places where it is needed
Bodo Möller [Thu, 7 Dec 2000 07:55:26 +0000 (07:55 +0000)]
Move 'q->neg = 0' to those places where it is needed
(just in cases someone uses a negative modulus)

22 years agoBN_mod_sqrt documentation/comment
Bodo Möller [Wed, 6 Dec 2000 21:33:58 +0000 (21:33 +0000)]
BN_mod_sqrt documentation/comment

22 years agoDon't check for bc at all. We can now run a meaningful test even if
Ulf Möller [Wed, 6 Dec 2000 16:39:09 +0000 (16:39 +0000)]
Don't check for bc at all. We can now run a meaningful test even if
it is missing.

22 years agoremove a comment that shouldn't have been there any more
Ulf Möller [Wed, 6 Dec 2000 16:30:23 +0000 (16:30 +0000)]
remove a comment that shouldn't have been there any more

22 years agoFaster BN_mod_sqrt algorithm for p == 5 (8).
Bodo Möller [Wed, 6 Dec 2000 12:25:33 +0000 (12:25 +0000)]
Faster BN_mod_sqrt algorithm for p == 5 (8).

22 years agoPrinting "verify ..." should not be counted as a test for the
Bodo Möller [Wed, 6 Dec 2000 12:24:27 +0000 (12:24 +0000)]
Printing "verify ..." should not be counted as a test for the
"xxx tests passed" message.

22 years agoDuring the self test, we only want to know what bctest says on
Richard Levitte [Wed, 6 Dec 2000 10:58:13 +0000 (10:58 +0000)]
During the self test, we only want to know what bctest says on

22 years agoHave the self test use bctest to check that bc is sane.
Richard Levitte [Wed, 6 Dec 2000 10:54:31 +0000 (10:54 +0000)]
Have the self test use bctest to check that bc is sane.

22 years agoUse bc's "print" feature whenever it is available,
Bodo Möller [Wed, 6 Dec 2000 10:32:55 +0000 (10:32 +0000)]
Use bc's "print" feature whenever it is available,
not just on certain platforms.

22 years agoAdd a comment.
Bodo Möller [Wed, 6 Dec 2000 09:53:29 +0000 (09:53 +0000)]
Add a comment.

22 years agoWorkaround for broken (or missing) bc.
Bodo Möller [Wed, 6 Dec 2000 09:48:57 +0000 (09:48 +0000)]
Workaround for broken (or missing) bc.

22 years agoremove useless instruction
Ulf Möller [Wed, 6 Dec 2000 04:48:50 +0000 (04:48 +0000)]
remove useless instruction

22 years agoIntel assembler version for bn_sub_part_words(). I haven't got
Ulf Möller [Wed, 6 Dec 2000 04:16:38 +0000 (04:16 +0000)]
Intel assembler version for bn_sub_part_words().  I haven't got
reliable timings yet, please try it out!

22 years agoanother fix for the debug print
Ulf Möller [Wed, 6 Dec 2000 04:14:37 +0000 (04:14 +0000)]
another fix for the debug print

22 years agotest_mod_mul is useful, let's run it more often.
Ulf Möller [Wed, 6 Dec 2000 04:14:30 +0000 (04:14 +0000)]
test_mod_mul is useful, let's run it more often.

22 years agomove constants for debug functions to end of file
Ulf Möller [Wed, 6 Dec 2000 00:19:09 +0000 (00:19 +0000)]
move constants for debug functions to end of file

22 years agoUpdate the internal docs.
Richard Levitte [Tue, 5 Dec 2000 19:18:51 +0000 (19:18 +0000)]
Update the internal docs.

22 years agoTypo and additional information about cert-chain building.
Lutz Jänicke [Tue, 5 Dec 2000 16:47:22 +0000 (16:47 +0000)]
Typo and additional information about cert-chain building.

22 years agoAdd EXAMPLES for SSL_CIPHER_description() output.
Lutz Jänicke [Tue, 5 Dec 2000 16:45:26 +0000 (16:45 +0000)]
Add EXAMPLES for SSL_CIPHER_description() output.

22 years agoDiscuss
Bodo Möller [Tue, 5 Dec 2000 10:30:21 +0000 (10:30 +0000)]

22 years agoOn Windows, Rainbow uses _stdcall convention under Windows.
Richard Levitte [Tue, 5 Dec 2000 08:16:25 +0000 (08:16 +0000)]
On Windows, Rainbow uses _stdcall convention under Windows.
Spotted by plin <>

22 years agopush the flags too
Ulf Möller [Tue, 5 Dec 2000 06:38:45 +0000 (06:38 +0000)]
push the flags too

22 years agolooks like it works now
Ulf Möller [Tue, 5 Dec 2000 05:39:43 +0000 (05:39 +0000)]
looks like it works now

22 years agosave registers in the debug output code (return value is overwritten too)
Ulf Möller [Tue, 5 Dec 2000 05:10:05 +0000 (05:10 +0000)]
save registers in the debug output code (return value is overwritten too)

22 years agomore of the same: add printf() for perlasm.
Ulf Möller [Tue, 5 Dec 2000 04:39:39 +0000 (04:39 +0000)]
more of the same: add printf() for perlasm.

22 years agominor modification to the previous change
Ulf Möller [Tue, 5 Dec 2000 03:57:58 +0000 (03:57 +0000)]
minor modification to the previous change

22 years agoPERLASM - the wierdest programming language since Intercal.
Ulf Möller [Tue, 5 Dec 2000 03:51:46 +0000 (03:51 +0000)]
PERLASM - the wierdest programming language since Intercal.

add debug output facilities.

22 years agoUse assert as in the rest of the BN library.
Ulf Möller [Tue, 5 Dec 2000 02:00:40 +0000 (02:00 +0000)]
Use assert as in the rest of the BN library.

22 years agoImprove formatting.
Bodo Möller [Mon, 4 Dec 2000 19:04:55 +0000 (19:04 +0000)]
Improve formatting.

22 years agoIt's completely unnecessary to add a compression algorithm that is
Richard Levitte [Mon, 4 Dec 2000 17:17:03 +0000 (17:17 +0000)]
It's completely unnecessary to add a compression algorithm that is
really undefined.
Spotted by Jeffrey Altman <>

22 years agoRemove the last bn_wexpand()s that made us break constness. Of
Richard Levitte [Mon, 4 Dec 2000 17:11:59 +0000 (17:11 +0000)]
Remove the last bn_wexpand()s that made us break constness.  Of
course, that means we need to handle the cases where the two arrays to
bn_mul_recursive() and bn_mul_part_recursive() differ in size.

I haven't yet changed the comments that describe bn_mul_recursive()
and bn_mul_part_recursive().  I want this to be tested by more people
before I consider this change final.  Please test away!

22 years agoChange error message to "bignum too long"
Bodo Möller [Mon, 4 Dec 2000 09:24:54 +0000 (09:24 +0000)]
Change error message to "bignum too long"

22 years agoSync up with a minor change in lhash.h
Geoff Thorpe [Mon, 4 Dec 2000 04:54:59 +0000 (04:54 +0000)]
Sync up with a minor change in lhash.h

22 years agoANSI C doesn't allow trailing semi-colons after a function's closing brace
Geoff Thorpe [Mon, 4 Dec 2000 04:52:38 +0000 (04:52 +0000)]
ANSI C doesn't allow trailing semi-colons after a function's closing brace
so these macros probably shouldn't be used like that at all. So, this
change removes the misleading comment and also adds an implicit trailing
semi-colon to the DECLARE macros so they too don't require one.

22 years agoUpdate the documentation to the current state of the LHASH changes. There
Geoff Thorpe [Mon, 4 Dec 2000 04:35:04 +0000 (04:35 +0000)]
Update the documentation to the current state of the LHASH changes. There
will probably be more when the lh_doall[_arg] callbacks are similarly
tidied up, but this 'pod' should now be current.

22 years agoMake a note of the LHASH changes.
Geoff Thorpe [Mon, 4 Dec 2000 03:35:35 +0000 (03:35 +0000)]
Make a note of the LHASH changes.

22 years agoMake the remaining LHASH macro changes. This should leave no remaining
Geoff Thorpe [Mon, 4 Dec 2000 03:02:44 +0000 (03:02 +0000)]
Make the remaining LHASH macro changes. This should leave no remaining
cases of function pointer casting in lh_new() calls - and leave only the
lh_doall and lh_doall_arg cases to be finished.

22 years agoFix warnings.
Ben Laurie [Sun, 3 Dec 2000 10:04:22 +0000 (10:04 +0000)]
Fix warnings.

22 years agoinclude <limits.h>
Bodo Möller [Sun, 3 Dec 2000 09:55:08 +0000 (09:55 +0000)]
include <limits.h>

22 years agoDon't allow BIGNUMs to become so large that computations with dmax
Bodo Möller [Sun, 3 Dec 2000 09:39:04 +0000 (09:39 +0000)]
Don't allow BIGNUMs to become so large that computations with dmax
might overflow.

22 years agoUse the new LHASH macros to declare type-safe wrapper functions that can
Geoff Thorpe [Sat, 2 Dec 2000 23:16:54 +0000 (23:16 +0000)]
Use the new LHASH macros to declare type-safe wrapper functions that can
be used as the hash/compare callbacks without function pointer casting.

For now, this is just happening in the apps/ directory whilst a few people
check the approach. The rest of the library will be moved across to the
same idea if there's no problems with this.

22 years agoNext step in tidying up the LHASH code. This commit defines DECLARE and
Geoff Thorpe [Sat, 2 Dec 2000 23:08:59 +0000 (23:08 +0000)]
Next step in tidying up the LHASH code. This commit defines DECLARE and
IMPLEMENT macros for defining wrapper functions for "hash" and "cmp" callbacks
that are specific to the underlying item type in a hash-table. This prevents
function pointer casting altogether, and also provides some type-safety
because the macro does per-variable casting from the (void *) type used in
LHASH itself to the type declared in the macro - and if that doesn't match the
prototype expected by the "hash" or "cmp" function then a compiler error will

NB: IMPLEMENT macros are not required unless predeclared forms are required
(either in a header file, or further up in a C file than the implementation
needs to be). The DECLARE macros must occur after the type-specific hash/cmp
callbacks are declared. Also, the IMPLEMENT and DECLARE macros are such that
they can be prefixed with "static" if desired and a trailing semi-colon should
be appended (making it look more like a regular declaration and easier on
auto-formatting text-editors too).

Now that these macros are defined, I will next be commiting changes to a
number of places in the library where the casting was doing bad things. After
that, the final step will be to make the analogous changes for the lh_doall
and lh_doall_arg functions (more specifically, their callback parameters).

22 years agoAdd a comment to explain the purpose of bn_cmp_part_words().
Richard Levitte [Sat, 2 Dec 2000 21:16:13 +0000 (21:16 +0000)]
Add a comment to explain the purpose of bn_cmp_part_words().

22 years agolast commit was wrong. Now it works. :)
Ulf Möller [Sat, 2 Dec 2000 20:51:47 +0000 (20:51 +0000)]
last commit was wrong. Now it works. :)

22 years agoargl
Ulf Möller [Sat, 2 Dec 2000 19:34:42 +0000 (19:34 +0000)]

22 years agoremember the problem with ftime()
Ulf Möller [Sat, 2 Dec 2000 18:50:31 +0000 (18:50 +0000)]
remember the problem with ftime()

22 years agoforgot to remove the loop variable
Ulf Möller [Sat, 2 Dec 2000 16:20:04 +0000 (16:20 +0000)]
forgot to remove the loop variable

22 years agoLoops like this one:
Ulf Möller [Sat, 2 Dec 2000 16:13:27 +0000 (16:13 +0000)]
Loops like this one:

                if (bp == NULL)
                        for (j=0; j<10000; j++)

seem to be pretty useless, and bp never is NULL anyway.

22 years agoMove the rijndael "test" to the bf and cast tests.
Ulf Möller [Sat, 2 Dec 2000 08:11:55 +0000 (08:11 +0000)]
Move the rijndael "test" to the bf and cast tests.

22 years agoNote the bntest change.
Ulf Möller [Sat, 2 Dec 2000 07:50:30 +0000 (07:50 +0000)]
Note the bntest change.

The *_part_words functions are not static.

22 years agoNew function BN_bntest_rand() to detect more BN library bugs.
Ulf Möller [Sat, 2 Dec 2000 07:32:57 +0000 (07:32 +0000)]
New function BN_bntest_rand() to detect more BN library bugs.

The bn_cmp_part_words bug was only caught in the BN_mod_mul() test,
not in the BN_mul() test, so apparently the choice of parameters in
some cases is bad.

22 years agoFix bn_cmp_part_words() and move it to bn_lib.c.
Ulf Möller [Sat, 2 Dec 2000 07:28:43 +0000 (07:28 +0000)]
Fix bn_cmp_part_words() and move it to bn_lib.c.

22 years agoremove unused static function
Ulf Möller [Sat, 2 Dec 2000 07:20:47 +0000 (07:20 +0000)]
remove unused static function

22 years agoFirst step in tidying up the LHASH code. The callback prototypes (and
Geoff Thorpe [Fri, 1 Dec 2000 20:31:52 +0000 (20:31 +0000)]
First step in tidying up the LHASH code. The callback prototypes (and
casts) used in the lhash code are about as horrible and evil as they can
be. For starters, the callback prototypes contain empty parameter lists.

This first change defines clearer prototypes - including "typedef"'d
function pointer types to use as "hash" and "compare" callbacks, as well as
the callbacks passed to the lh_doall and lh_doall_arg iteration functions.
Now at least more explicit (and clear) casting is required in all of the
dependant code - and that should be included in this commit.

The next step will be to hunt down and obliterate some of the function
pointer casting being used when it's not necessary - a particularly evil
variant exists in the implementation of lh_doall.

22 years agoWrite a first HOWTO on how to create certificates. This is currently
Richard Levitte [Fri, 1 Dec 2000 17:44:33 +0000 (17:44 +0000)]
Write a first HOWTO on how to create certificates.  This is currently
a draft.

22 years agoCorrect a mail address...
Richard Levitte [Fri, 1 Dec 2000 16:49:53 +0000 (16:49 +0000)]
Correct a mail address...

22 years agoDocument the addition of Kerberos stuff.
Richard Levitte [Fri, 1 Dec 2000 14:40:45 +0000 (14:40 +0000)]
Document the addition of Kerberos stuff.

22 years agoTypo corrected.
Richard Levitte [Fri, 1 Dec 2000 14:33:19 +0000 (14:33 +0000)]
Typo corrected.

22 years agofunctionality for BN_mod_sqrt timings
Bodo Möller [Fri, 1 Dec 2000 09:41:21 +0000 (09:41 +0000)]
functionality for BN_mod_sqrt timings

22 years ago"make depend"
Bodo Möller [Fri, 1 Dec 2000 08:48:42 +0000 (08:48 +0000)]
"make depend"

22 years agoupdate
Bodo Möller [Fri, 1 Dec 2000 08:46:47 +0000 (08:46 +0000)]

22 years agoGPL FAQ.
Ulf Möller [Fri, 1 Dec 2000 02:47:50 +0000 (02:47 +0000)]

I hope this adequately summarizes the results of all those disussions.

22 years agoBorland C fix.
Ulf Möller [Fri, 1 Dec 2000 01:53:08 +0000 (01:53 +0000)]
Borland C fix.

22 years agotypo
Ulf Möller [Fri, 1 Dec 2000 01:51:04 +0000 (01:51 +0000)]

22 years agoRecognise Darwin as well. For now, have it do exactly the same thing as for Rhapsody
Richard Levitte [Fri, 1 Dec 2000 01:11:54 +0000 (01:11 +0000)]
Recognise Darwin as well.  For now, have it do exactly the same thing as for Rhapsody

22 years agoCOMP_zlib should always be declared, even if it is not functional.
Bodo Möller [Thu, 30 Nov 2000 23:41:58 +0000 (23:41 +0000)]
COMP_zlib should always be declared, even if it is not functional.

Don't dump core in ssltest.

22 years agoFix the recently introduced test that checks if the result is 0
Bodo Möller [Thu, 30 Nov 2000 22:58:27 +0000 (22:58 +0000)]
Fix the recently introduced test that checks if the result is 0

22 years agoFirst tentative impementation of Kerberos 5 cryptos and keys for SSL/TLS. Implemente...
Richard Levitte [Thu, 30 Nov 2000 22:53:34 +0000 (22:53 +0000)]
First tentative impementation of Kerberos 5 cryptos and keys for SSL/TLS.  Implemented by Vern Staats <>, further hacked and distributed by Jeffrey Altman <>

22 years agoFix BN_rshift, which caused lots of trouble.
Bodo Möller [Thu, 30 Nov 2000 22:34:57 +0000 (22:34 +0000)]
Fix BN_rshift, which caused lots of trouble.

22 years agoRemove randomness from the test. These constants give me a segment
Bodo Möller [Thu, 30 Nov 2000 21:03:13 +0000 (21:03 +0000)]
Remove randomness from the test. These constants give me a segment
violation in test_kron on a 32 bit system.

22 years agoBN_mod_exp(r,a,p,m,ctx) should not be called with r == p.
Bodo Möller [Thu, 30 Nov 2000 20:03:24 +0000 (20:03 +0000)]
BN_mod_exp(r,a,p,m,ctx) should not be called with r == p.
But even if this is avoided, there are still segmentation violations
(during one of the BN_free()s at the end of test_kron
in some cases, in other cases during BN_kronecker, or
later in BN_sqrt; choosing a different exponentiation
algorithm in bntest.c appears to influence when the SIGSEGV
takes place).

22 years agoIt's "#elif", not "#elsif".
Bodo Möller [Thu, 30 Nov 2000 19:35:51 +0000 (19:35 +0000)]
It's "#elif", not "#elsif".

22 years agoA few bug fixes for Windows.
Richard Levitte [Thu, 30 Nov 2000 17:41:01 +0000 (17:41 +0000)]
A few bug fixes for Windows.

22 years agoChanges to Lenka's Montgomery implementation.
Bodo Möller [Thu, 30 Nov 2000 17:35:17 +0000 (17:35 +0000)]
Changes to Lenka's Montgomery implementation.

Submitted by: Lenka Fibikova

22 years agoNew format for the FAQ. We now have different sections for different
Richard Levitte [Thu, 30 Nov 2000 13:04:14 +0000 (13:04 +0000)]
New format for the FAQ.  We now have different sections for different
types of questions.  Hopefully, that'll make them easier to spot, and
specially, easier to refer to.

22 years agoCorrections to the comments in BN_mod_inverse.
Bodo Möller [Thu, 30 Nov 2000 12:53:53 +0000 (12:53 +0000)]
Corrections to the comments in BN_mod_inverse.

22 years agoThe compression method may be undefined for some reason that has
Richard Levitte [Thu, 30 Nov 2000 12:53:15 +0000 (12:53 +0000)]
The compression method may be undefined for some reason that has
generated errors.  Therefore, print whatever error there may be...

22 years agoSimplify and provide the possibility to clean a compression method.
Richard Levitte [Thu, 30 Nov 2000 12:22:35 +0000 (12:22 +0000)]
Simplify and provide the possibility to clean a compression method.

22 years agocomp_methods in a SSL_CTX points at an internal database. Do *not*
Richard Levitte [Thu, 30 Nov 2000 12:21:33 +0000 (12:21 +0000)]
comp_methods in a SSL_CTX points at an internal database.  Do *not*
free that, since it's shared by all SSL_CTX's, present and future.

22 years agoTurn off memory checking when loading new compression algorithms.
Richard Levitte [Thu, 30 Nov 2000 12:19:54 +0000 (12:19 +0000)]
Turn off memory checking when loading new compression algorithms.

22 years agoCOMP_METHOD has a new argument since some time back...
Richard Levitte [Thu, 30 Nov 2000 12:18:10 +0000 (12:18 +0000)]
COMP_METHOD has a new argument since some time back...

22 years agoMake it possible to test SSL compression
Richard Levitte [Thu, 30 Nov 2000 11:57:31 +0000 (11:57 +0000)]
Make it possible to test SSL compression

22 years agoChange c_zlib further to allow loading a shared zlib on all operating
Richard Levitte [Thu, 30 Nov 2000 11:56:00 +0000 (11:56 +0000)]
Change c_zlib further to allow loading a shared zlib on all operating
systems where such an operation is supported.

22 years agoBN_mod_exp problems ...
Bodo Möller [Thu, 30 Nov 2000 11:47:04 +0000 (11:47 +0000)]
BN_mod_exp problems ...

22 years agoChanges to c_zlib.c to make ZLIB.DLL dynamically loadable under
Richard Levitte [Thu, 30 Nov 2000 10:25:45 +0000 (10:25 +0000)]
Changes to c_zlib.c to make ZLIB.DLL dynamically loadable under
Windows.  Really, this should probably be done on Unix as well, but
that will be a later story...

22 years agoMove reduction step from BN_mod_exp to BN_mod_exp_mont_word.
Bodo Möller [Thu, 30 Nov 2000 09:45:26 +0000 (09:45 +0000)]
Move reduction step from BN_mod_exp to BN_mod_exp_mont_word.
Fix BN_mod_exp_simple for a==0 (mod m).
Skip useless round in BN_mod_sqrt (1 is always a square, no need
to test BN_kronecker for it).

22 years ago* Fix a slight bug in the state-machine. This caused the client end of a
Geoff Thorpe [Thu, 30 Nov 2000 01:34:26 +0000 (01:34 +0000)]
* Fix a slight bug in the state-machine. This caused the client end of a
  tunnel to not pro-actively close down when failing an SSL handshake.

* Change the cert-chain callback - originally this was the same one used in
  s_client and s_server but the output's as ugly as sin, so I've prettied
  tunala's copy output up a bit (and made the output level configurable).

* Remove the superfluous "errors" from the SSL state callback - these are just
  non-blocking side-effects.