From cfc97c7d713978d3e902a0b23422bc02d53320a4 Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 11 Aug 2003 00:53:26 +0000 Subject: [PATCH] MFH: moved RINIT(crypt) stuff to crypt() itself. --- ext/standard/basic_functions.c | 4 ---- ext/standard/crypt.c | 16 ++++------------ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index ac81fc84ce..60579ab988 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -1124,10 +1124,6 @@ PHP_RINIT_FUNCTION(basic) #endif BG(user_shutdown_function_names) = NULL; -#if HAVE_CRYPT - PHP_RINIT(crypt) (INIT_FUNC_ARGS_PASSTHRU); -#endif - PHP_RINIT(lcg) (INIT_FUNC_ARGS_PASSTHRU); PHP_RINIT(filestat) (INIT_FUNC_ARGS_PASSTHRU); diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index f4220699d1..b69bfa243b 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -89,8 +89,6 @@ extern char *crypt(char *__key, char *__salt); #define PHP_CRYPT_RAND php_rand(TSRMLS_C) -static int php_crypt_rand_seeded=0; - PHP_MINIT_FUNCTION(crypt) { REGISTER_LONG_CONSTANT("CRYPT_SALT_LENGTH", PHP_MAX_SALT_LEN, CONST_CS | CONST_PERSISTENT); @@ -103,16 +101,6 @@ PHP_MINIT_FUNCTION(crypt) } -PHP_RINIT_FUNCTION(crypt) -{ - if(!php_crypt_rand_seeded) { - php_srand(time(0) * getpid() * (unsigned long) (php_combined_lcg(TSRMLS_C) * 10000.0) TSRMLS_CC); - php_crypt_rand_seeded=1; - } - return SUCCESS; -} - - static unsigned char itoa64[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; static void php_to64(char *s, long v, int n) @@ -131,6 +119,10 @@ PHP_FUNCTION(crypt) char *str, *salt_in = NULL; int str_len, salt_in_len; + if (!BG(rand_is_seeded)) { + php_srand(GENERATE_SEED() TSRMLS_CC); + } + salt[0]=salt[PHP_MAX_SALT_LEN]='\0'; /* This will produce suitable results if people depend on DES-encryption available (passing always 2-character salt). At least for glibc6.1 */ -- 2.40.0