cvs: php4(PHP_4_0_7) /ext/mcrypt mcrypt.c php_mcrypt.h

From: Date: Fri, 07 Sep 2001 10:47:44 +0000
Subject: cvs: php4(PHP_4_0_7) /ext/mcrypt mcrypt.c php_mcrypt.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-7283@lists.php.net to get a copy of this message
sterling Fri Sep 7 06:47:44 2001 EDT Modified files: (Branch: PHP_4_0_7) /php4/ext/mcrypt mcrypt.c php_mcrypt.h Log: MFH Index: php4/ext/mcrypt/mcrypt.c diff -u php4/ext/mcrypt/mcrypt.c:1.57.2.1 php4/ext/mcrypt/mcrypt.c:1.57.2.2 --- php4/ext/mcrypt/mcrypt.c:1.57.2.1 Fri Sep 7 03:51:06 2001 +++ php4/ext/mcrypt/mcrypt.c Fri Sep 7 06:47:44 2001 @@ -35,6 +35,8 @@ #include "php_globals.h" #include "ext/standard/info.h" +static int le_mcrypt; + function_entry mcrypt_functions[] = { PHP_FE(mcrypt_ecb, NULL) @@ -196,7 +198,7 @@ if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &mcryptind) == FAILURE) { \ WRONG_PARAM_COUNT \ } \ - ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", MCG(le_h)); + ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", le_mcrypt); #define MCRYPT_GET_MODE_DIR_ARGS(DIRECTORY) \ switch (argc) { \ @@ -244,12 +246,22 @@ PHP_INI_END() #endif +static void php_mcrypt_module_dtor(zend_rsrc_list_entry *rsrc) +{ + MCRYPT td = (MCRYPT) rsrc->ptr; + mcrypt_module_close (td); +} + + static PHP_MINIT_FUNCTION(mcrypt) { #if defined(ZTS) && defined(HAVE_LIBMCRYPT24) ZEND_INIT_MODULE_GLOBALS(mcrypt, NULL, NULL); Z_TYPE(mcrypt_module_entry) = type; #endif + + le_mcrypt = zend_register_list_destructors_ex(php_mcrypt_module_dtor, NULL, "mcrypt", module_number); + /* modes for mcrypt_??? routines */ REGISTER_LONG_CONSTANT("MCRYPT_ENCRYPT", 0, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MCRYPT_DECRYPT", 1, CONST_PERSISTENT); @@ -427,7 +439,7 @@ php_error (E_WARNING, "could not open encryption module"); RETURN_FALSE; } else { - ZEND_REGISTER_RESOURCE (return_value, td, MCG(le_h)); + ZEND_REGISTER_RESOURCE (return_value, td, le_mcrypt); } } /* }}} */ @@ -449,7 +461,7 @@ MCRYPT_CHECK_PARAM_COUNT (3,3) zend_get_parameters_ex(3, &mcryptind, &key, &iv); - ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", MCG(le_h)); + ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", le_mcrypt); convert_to_string_ex (key); convert_to_string_ex (iv); @@ -505,7 +517,7 @@ MCRYPT_CHECK_PARAM_COUNT (2,2) zend_get_parameters_ex(2, &mcryptind, &data); - ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", MCG(le_h)); + ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", le_mcrypt); convert_to_string_ex (data); /* Check blocksize */ @@ -545,7 +557,7 @@ MCRYPT_CHECK_PARAM_COUNT (2,2) zend_get_parameters_ex(2, &mcryptind, &data); - ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", MCG(le_h)); + ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", le_mcrypt); convert_to_string_ex (data); /* Check blocksize */ @@ -620,13 +632,8 @@ MCRYPT_GET_TD_ARG - if (mcrypt_module_close (td) < 0) { - php_error (E_WARNING, "could not close module"); - RETURN_FALSE - } else { - zend_list_delete (Z_LVAL_PP(mcryptind)); - RETURN_TRUE - } + zend_list_delete (Z_LVAL_PP(mcryptind)); + RETURN_TRUE; } Index: php4/ext/mcrypt/php_mcrypt.h diff -u php4/ext/mcrypt/php_mcrypt.h:1.17 php4/ext/mcrypt/php_mcrypt.h:1.17.2.1 --- php4/ext/mcrypt/php_mcrypt.h:1.17 Sat Jul 28 07:35:58 2001 +++ php4/ext/mcrypt/php_mcrypt.h Fri Sep 7 06:47:44 2001 @@ -61,7 +61,6 @@ PHP_FUNCTION(mcrypt_module_close); ZEND_BEGIN_MODULE_GLOBALS(mcrypt) - int le_h; char *modes_dir; char *algorithms_dir; ZEND_END_MODULE_GLOBALS(mcrypt)

« previous php.cvs (#7283) next »