Changes between 0.9.6 and 0.9.7 [xx XXX 2001]
- Both OpenSSL0.9.6a (bugfix release, 5 Apr 2001) and OpenSSL 0.9.7
+ Both OpenSSL 0.9.6a (bugfix release, 5 Apr 2001) and OpenSSL 0.9.7
are based on OpenSSL 0.9.6.
Change log entries are tagged as follows:
- -) applies to 0.9.6a only
- *) applies to 0.9.6a and 0.9.7
+ -) applies to 0.9.6a (/0.9.6b) only
+ *) applies to 0.9.6a (/0.9.6b) and 0.9.7
+) applies to 0.9.7 only
+ *) Move 'if (!initialized) RAND_poll()' into regions protected by
+ CRYPTO_LOCK_RAND. This is not strictly necessary, but avoids
+ having multiple threads call RAND_poll() concurrently.
+ [Bodo Moeller]
+
+ *) In crypto/rand/md_rand.c, replace 'add_do_not_lock' flag by a
+ combination of a flag and a thread ID variable.
+ Otherwise while one thread is in ssleay_rand_bytes (which sets the
+ flag), *other* threads can enter ssleay_add_bytes without obeying
+ the CRYPTO_LOCK_RAND lock (and may even illegaly release the lock
+ that they do not hold after the first thread unsets add_do_not_lock).
+ [Bodo Moeller]
+
+) Implement binary inversion algorithm for BN_mod_inverse in addition
to the algorithm using long divison. The binary algorithm can be
used only if the modulus is odd. On 32-bit systems, it is faster
for moduli up to 2048 bits.
[Bodo Moeller]
- +) Change bctest again: '-x' expressions are not available in all
+ *) Change bctest again: '-x' expressions are not available in all
versions of 'test'.
[Bodo Moeller]