[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] clean up the traces from tracking the 0.1.1.9-alpha stack-s...



Update of /home2/or/cvsroot/tor/src/common
In directory moria:/home/arma/work/onion/cvs/tor/src/common

Modified Files:
	crypto.c crypto.h 
Log Message:
clean up the traces from tracking the 0.1.1.9-alpha stack-smashing bug.


Index: crypto.c
===================================================================
RCS file: /home2/or/cvsroot/tor/src/common/crypto.c,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -p -d -r1.188 -r1.189
--- crypto.c	12 Mar 2006 23:31:16 -0000	1.188
+++ crypto.c	26 Mar 2006 06:47:51 -0000	1.189
@@ -215,9 +215,7 @@ crypto_global_init(int useAccel)
 void
 crypto_thread_cleanup(void)
 {
-#ifndef ENABLE_0119_PARANOIA_B1
   ERR_remove_state(0);
-#endif
 }
 
 /** Uninitialize the crypto library. Return 0 on success, -1 on failure.
@@ -226,17 +224,13 @@ int
 crypto_global_cleanup(void)
 {
   EVP_cleanup();
-#ifndef ENABLE_0119_PARANOIA_C
   ERR_remove_state(0);
-#endif
   ERR_free_strings();
 #ifndef NO_ENGINES
   ENGINE_cleanup();
-#ifndef ENABLE_0119_PARANOIA_C
   CONF_modules_unload(1);
   CRYPTO_cleanup_all_ex_data();
 #endif
-#endif
 #ifdef TOR_IS_MULTITHREADED
   if (_n_openssl_mutexes) {
     int n = _n_openssl_mutexes;
@@ -1368,9 +1362,7 @@ crypto_dh_new(void)
   if (!(res->dh->g = BN_dup(dh_param_g)))
     goto err;
 
-#ifndef ENABLE_0119_PARANOIA_A
   res->dh->length = DH_PRIVATE_KEY_BITS;
-#endif
 
   return res;
  err:
@@ -1598,11 +1590,10 @@ crypto_dh_free(crypto_dh_env_t *dh)
 
 /* Use RAND_poll if openssl is 0.9.6 release or later.  (The "f" means
    "release".)  */
-#ifndef ENABLE_0119_PARANOIA_B2
-#define USE_RAND_POLL (OPENSSL_VERSION_NUMBER >= 0x0090600fl)
-#else
+//#define USE_RAND_POLL (OPENSSL_VERSION_NUMBER >= 0x0090600fl)
 #define USE_RAND_POLL 0
-#endif
+/* XXX Somehow setting USE_RAND_POLL on causes stack smashes. We're
+ * not sure where. This was the big bug with Tor 0.1.1.9-alpha. */
 
 /** Seed OpenSSL's random number generator with bytes from the
  * operating system.  Return 0 on success, -1 on failure.

Index: crypto.h
===================================================================
RCS file: /home2/or/cvsroot/tor/src/common/crypto.h,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -p -d -r1.78 -r1.79
--- crypto.h	9 Feb 2006 05:46:48 -0000	1.78
+++ crypto.h	26 Mar 2006 06:47:51 -0000	1.79
@@ -16,11 +16,6 @@
 
 #include <stdio.h>
 
-#undef ENABLE_0119_PARANOIA_A
-#undef ENABLE_0119_PARANOIA_B1
-#define ENABLE_0119_PARANOIA_B2
-#undef ENABLE_0119_PARANOIA_C
-
 /** Length of the output of our message digest. */
 #define DIGEST_LEN 20
 /** Length of our symmetric cipher's keys. */