Commits

Guido van Rossum  committed e1c507c

Reverting Moshe's EGD patch *and* Martin's patch to make it work with
OpenSSL versions beore 0.9.5. This just is too experimental to be
worth it, especially since the user would have to do some severe
hacking of the Modules/Setup file to even enable the EGD code, and
without the EGD code it would always spit out a warning on some
systems -- even when socket.ssl() is not used. Fixing that properly
is not my job; the EGD patch is clearly not so important that it
should hold up the 2.1 release.

  • Participants
  • Parent commits d2da681
  • Branches legacy-trunk

Comments (0)

Files changed (1)

File Modules/socketmodule.c

 #include "openssl/pem.h"
 #include "openssl/ssl.h"
 #include "openssl/err.h"
-#include "openssl/rand.h"
-
-#if OPENSSL_VERSION_NUMBER < 0x0090510fL
-/* RAND_status was added in OpenSSL 0.9.5. If it is not available,
-   we assume that seeding the RNG is necessary every time. */
-#define RAND_status()	0
-#endif
-
 #endif /* USE_SSL */
 
 #if defined(MS_WINDOWS) || defined(__BEOS__)
 	if (PyDict_SetItemString(d, "SSLType",
 				 (PyObject *)&SSL_Type) != 0)
 		return;
-	if (RAND_status() == 0) {
-#ifdef USE_EGD
-		char random_device[MAXPATHLEN+1];
-		if (!RAND_file_name (random_device, MAXPATHLEN + 1)) {
-			PyErr_SetObject(SSLErrorObject,
-			        PyString_FromString("RAND_file_name error"));
-			return;
-		}
-		if (RAND_egd (random_device) == -1) {
-			PyErr_SetObject(SSLErrorObject,
-			             PyString_FromString("RAND_egd error"));
-			return;
-		}
-#else /* USE_EGD not defined */
-		char random_string[32];
-		int i;
-
-                PyErr_Warn(PyExc_RuntimeWarning, 
-                           "using insecure method to generate random numbers");
-		srand(time(NULL));
-		for(i=0; i<sizeof(random_string); i++) {
-			random_string[i] = rand();
-		}
-		RAND_seed(random_string, sizeof(random_string));
-#endif /* USE_EGD */
-	}
 #endif /* USE_SSL */
 	PyDict_SetItemString(d, "error", PySocket_Error);
 	PySocketSock_Type.ob_type = &PyType_Type;