]> granicus.if.org Git - php/commitdiff
MFH: moved RINIT(crypt) stuff to crypt() itself.
authorfoobar <sniper@php.net>
Mon, 11 Aug 2003 00:53:26 +0000 (00:53 +0000)
committerfoobar <sniper@php.net>
Mon, 11 Aug 2003 00:53:26 +0000 (00:53 +0000)
ext/standard/basic_functions.c
ext/standard/crypt.c

index ac81fc84ce32cb1ab8fe223d8b506a6a260a7aad..60579ab988762fd2c7f72e66881e5bfa5d656f6e 100644 (file)
@@ -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);
index f4220699d14c3fbd2efc7a686914933cff95bc75..b69bfa243ba0ad5a8b5e1943cc2f24501fac5f4b 100644 (file)
@@ -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 */