]> granicus.if.org Git - curl/commitdiff
Reduced the length of data read from the random entropy file.
authorDan Fandrich <dan@coneharvesters.com>
Fri, 4 Mar 2005 22:36:56 +0000 (22:36 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Fri, 4 Mar 2005 22:36:56 +0000 (22:36 +0000)
lib/ssluse.c

index ed4ecf2051a966c268afe8f3c4b2a1cb44bac0c7..817c0c7e461d88006970c88d1235601a7103c6de 100644 (file)
 #define HAVE_ERR_ERROR_STRING_N 1
 #endif
 
+/*
+ * Number of bytes to read from the random number seed file. This must be
+ * a finite value (because some entropy "files" like /dev/urandom have
+ * an infinite length), but must be large enough to provide enough
+ * entopy to properly seed OpenSSL's PRNG.
+ */
+#define RAND_LOAD_LENGTH 1024
 
 #ifndef HAVE_USERDATA_IN_PWD_CALLBACK
 static char global_passwd[64];
@@ -169,7 +176,7 @@ int random_the_seed(struct SessionHandle *data)
     /* let the option override the define */
     nread += RAND_load_file((data->set.ssl.random_file?
                              data->set.ssl.random_file:RANDOM_FILE),
-                            16384); /* bounded size in case it's /dev/urandom */
+                            RAND_LOAD_LENGTH);
     if(seed_enough(nread))
       return nread;
   }
@@ -231,7 +238,7 @@ int random_the_seed(struct SessionHandle *data)
   RAND_file_name(buf, BUFSIZE);
   if(buf[0]) {
     /* we got a file name to try */
-    nread += RAND_load_file(buf, 16384);
+    nread += RAND_load_file(buf, RAND_LOAD_LENGTH);
     if(seed_enough(nread))
       return nread;
   }