]> granicus.if.org Git - python/commitdiff
Reverting Moshe's EGD patch *and* Martin's patch to make it work with
authorGuido van Rossum <guido@python.org>
Mon, 16 Apr 2001 00:21:33 +0000 (00:21 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 16 Apr 2001 00:21:33 +0000 (00:21 +0000)
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.

Modules/socketmodule.c

index e5dc7cb675b54401c74f3d84391048974870ce92..ce572ff4f4e82c1e9b15ff4f326a0a700252d987 100644 (file)
@@ -194,14 +194,6 @@ Socket methods:
 #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__)
@@ -2552,32 +2544,6 @@ init_socket(void)
        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;