Loading lib/sslgen.c +29 −31 Original line number Diff line number Diff line Loading @@ -187,26 +187,32 @@ unsigned int Curl_rand(struct SessionHandle *data) { unsigned int r; static unsigned int randseed; static bool seeded; static bool seeded = FALSE; #ifdef have_curlssl_random if(!data) { #ifndef have_curlssl_random (void)data; #else if(data) { Curl_ssl_random(data, (unsigned char *)&r, sizeof(r)); return r; } #endif if(!seeded) { #ifdef RANDOM_FILE if(!seeded) { /* if there's a random file to read a seed from, use it */ int fd = open(RANDOM_FILE, O_RDONLY); seeded = TRUE; if(fd > -1) { /* read random data into the randseed variable */ read(fd, &randseed, sizeof(randseed)); ssize_t nread = read(fd, &randseed, sizeof(randseed)); if(nread == sizeof(randseed)) seeded = TRUE; close(fd); } else #endif /* RANDOM_FILE */ { } #endif if(!seeded) { struct timeval now = curlx_tvnow(); randseed += (unsigned int)now.tv_usec + (unsigned int)now.tv_sec; randseed = randseed * 1103515245 + 12345; Loading @@ -214,18 +220,10 @@ unsigned int Curl_rand(struct SessionHandle *data) randseed = randseed * 1103515245 + 12345; seeded = TRUE; } } /* Return an unsigned 32-bit pseudo-random number. */ r = randseed = randseed * 1103515245 + 12345; return (r << 16) | ((r >> 16) & 0xFFFF); #ifdef have_curlssl_random } else { Curl_ssl_random(data, (unsigned char *)&r, sizeof(r)); return r; } #endif } #ifdef USE_SSL Loading Loading
lib/sslgen.c +29 −31 Original line number Diff line number Diff line Loading @@ -187,26 +187,32 @@ unsigned int Curl_rand(struct SessionHandle *data) { unsigned int r; static unsigned int randseed; static bool seeded; static bool seeded = FALSE; #ifdef have_curlssl_random if(!data) { #ifndef have_curlssl_random (void)data; #else if(data) { Curl_ssl_random(data, (unsigned char *)&r, sizeof(r)); return r; } #endif if(!seeded) { #ifdef RANDOM_FILE if(!seeded) { /* if there's a random file to read a seed from, use it */ int fd = open(RANDOM_FILE, O_RDONLY); seeded = TRUE; if(fd > -1) { /* read random data into the randseed variable */ read(fd, &randseed, sizeof(randseed)); ssize_t nread = read(fd, &randseed, sizeof(randseed)); if(nread == sizeof(randseed)) seeded = TRUE; close(fd); } else #endif /* RANDOM_FILE */ { } #endif if(!seeded) { struct timeval now = curlx_tvnow(); randseed += (unsigned int)now.tv_usec + (unsigned int)now.tv_sec; randseed = randseed * 1103515245 + 12345; Loading @@ -214,18 +220,10 @@ unsigned int Curl_rand(struct SessionHandle *data) randseed = randseed * 1103515245 + 12345; seeded = TRUE; } } /* Return an unsigned 32-bit pseudo-random number. */ r = randseed = randseed * 1103515245 + 12345; return (r << 16) | ((r >> 16) & 0xFFFF); #ifdef have_curlssl_random } else { Curl_ssl_random(data, (unsigned char *)&r, sizeof(r)); return r; } #endif } #ifdef USE_SSL Loading