cvs: php4(PHP_4_0_7) /ext/mcrypt mcrypt.c php_mcrypt.h
| From: | Sterling Hughes | 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)