From ebec2bb85993cdcfb5f4247f4d52f2d282f50b63 Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 11 Aug 2003 00:49:19 +0000 Subject: [PATCH] Moved the RINIT(crypt) stuff into 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 24c2fe5b89..b8c77bfc74 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -1192,10 +1192,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 45559e5484..0844e34679 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