Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
+ *) Changed the LHASH code to use prototypes for callbacks, and created
+ macros to declare and implement thin (optionally static) functions
+ that provide type-safety and avoid function pointer casting for the
+ type-specific callbacks.
+ [Geoff Thorpe]
+
+ *) Use better test patterns in bntest.
+ [Ulf Möller]
+
+ *) Added Kerberos Cipher Suites to be used with TLS, as written in RFC
+ 2712.
+ [Veers Staats <staatsvr@asc.hpc.mil>,
+ Jeffrey Altman <jaltman@columbia.edu>, via Richard Levitte]
+
+ *) rand_win.c fix for Borland C.
+ [Ulf Möller]
+
+ *) BN_rshift bugfix for n == 0.
+ [Bodo Moeller]
+
+ *) Reformat the FAQ so the different questions and answers can be divided
+ in sections depending on the subject.
+ [Richard Levitte]
+
+ *) Have the zlib compression code load ZLIB.DLL dynamically under
+ Windows.
+ [Richard Levitte]
+
+ *) New function BN_mod_sqrt for computing square roots modulo a prime
+ (Tonelli-Shanks algorithm).
+ [Lenka Fibikova <fibikova@exp-math.uni-essen.de>, Bodo Moeller]
+
+ *) Store verify_result within SSL_SESSION also for client side to
+ avoid potential security hole. (Re-used sessions on the client side
+ always resulted in verify_result==X509_V_OK, not using the original
+ result of the server certificate verification.)
+ [Lutz Jaenicke]
+
*) Make BN_mod_inverse faster by explicitly handling small quotients
- in the Euclid loop instead of always using BN_div.
- (Speed gain about 20% for small moduli [256 or 512 bits], about
- 30% for larger ones [1024 or 2048 bits].)
+ in the Euclid loop. (Speed gain about 20% for small moduli [256 or
+ 512 bits], about 30% for larger ones [1024 or 2048 bits].)
[Bodo Moeller]
*) Disable ssl2_peek and ssl3_peek (i.e., both implementations
BN_is_one(), and BN_is_word().
[Bodo Moeller]
- *) Initialise "ex_data" member of an RSA structure prior to calling the
- method-specific "init()" handler, and clean up ex_data after calling
- the method-specific "finish()" handler. Previously, this was happening
- the other way round.
+ *) Initialise "ex_data" member of RSA/DSA/DH structures prior to calling
+ the method-specific "init()" handler. Also clean up ex_data after
+ calling the method-specific "finish()" handler. Previously, this was
+ happening the other way round.
[Geoff Thorpe]
*) New function BN_swap.
[Bodo Moeller]
*) Move BN_mod_... functions into new file crypto/bn/bn_mod.c
- (except for exponentation, which stays in crypto/bn/bn_exp.c,
+ (except for exponentiation, which stays in crypto/bn/bn_exp.c,
and BN_mod_mul_reciprocal, which stays in crypto/bn/bn_recp.c)
and add new functions:
*) Remove a few calls to bn_wexpand() in BN_sqr() (the one in there
was actually never needed) and in BN_mul(). The removal in BN_mul()
required a small change in bn_mul_part_recursive() and the addition
- of the static functions bn_cmp_part_words(), bn_sub_part_words()
- and bn_add_part_words() which do the same thing as bn_cmp_words(),
+ of the functions bn_cmp_part_words(), bn_sub_part_words() and
+ bn_add_part_words(), which do the same thing as bn_cmp_words(),
bn_sub_words() and bn_add_words() except they take arrays with
differing sizes.
[Richard Levitte]