#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);
#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);
}
-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)
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 */