cvs: php4 /ext/standard crypt.c

From: Date: Fri, 03 Nov 2000 00:45:24 +0000
Subject: cvs: php4 /ext/standard crypt.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2441@lists.php.net to get a copy of this message
andi Thu Nov 2 16:45:24 2000 EDT Modified files: /php4/ext/standard crypt.c Log: - Make the random generator work again. This patch seems to work. Index: php4/ext/standard/crypt.c diff -u php4/ext/standard/crypt.c:1.30 php4/ext/standard/crypt.c:1.31 --- php4/ext/standard/crypt.c:1.30 Wed Jul 26 09:42:04 2000 +++ php4/ext/standard/crypt.c Thu Nov 2 16:45:24 2000 @@ -17,7 +17,7 @@ | Rasmus Lerdorf <rasmus@lerdorf.on.ca> | +----------------------------------------------------------------------+ */ -/* $Id: crypt.c,v 1.30 2000/07/26 16:42:04 sas Exp $ */ +/* $Id: crypt.c,v 1.31 2000/11/03 00:45:24 andi Exp $ */ #include <stdlib.h> #include "php.h" @@ -103,7 +103,16 @@ REGISTER_LONG_CONSTANT("CRYPT_STD_DES", PHP_STD_DES_CRYPT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CRYPT_EXT_DES", PHP_EXT_DES_CRYPT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CRYPT_MD5", PHP_MD5_CRYPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | CONST_PERSISTENT); + +#if HAVE_SRAND48 + srand48((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); +#elif HAVE_SRANDOM + srandom((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); +#else + srand((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); +#endif + return SUCCESS; } @@ -139,7 +148,7 @@ RETURN_FALSE; } convert_to_string_ex(arg2); - memcpy(salt, (*arg2)->value.str.val, MIN(PHP_MAX_SALT_LEN,(*arg2)->value.str.len)); + memcpy(salt, Z_STRVAL_PP(arg2), MIN(PHP_MAX_SALT_LEN, Z_STRLEN_PP(arg2))); break; default: WRONG_PARAM_COUNT; @@ -149,14 +158,6 @@ /* The automatic salt generation only covers standard DES and md5-crypt */ if(!*salt) { -#if HAVE_SRAND48 - srand48((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); -#elif HAVE_SRANDOM - srandom((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); -#else - srand((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0)); -#endif - #if PHP_STD_DES_CRYPT php_to64(&salt[0], PHP_CRYPT_RAND, 2); salt[2] = '\0'; @@ -168,7 +169,7 @@ #endif } - return_value->value.str.val = (char *) crypt((*arg1)->value.str.val, salt); + return_value->value.str.val = (char *) crypt(Z_STRVAL_PP(arg1), salt); return_value->value.str.len = strlen(return_value->value.str.val); return_value->type = IS_STRING; pval_copy_constructor(return_value);

« previous php.cvs (#2441) next »