cvs: php4 /ext/mcrypt mcrypt.c
| From: | Derick Rethans | Date: | Wed, 26 Dec 2001 10:01:50 +0000 |
| Subject: | cvs: php4 /ext/mcrypt mcrypt.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-8823@lists.php.net to get a copy of this message | ||
derick Wed Dec 26 05:01:50 2001 EDT
Modified files:
/php4/ext/mcrypt mcrypt.c
Log:
- Fix for bug 14690
Index: php4/ext/mcrypt/mcrypt.c
diff -u php4/ext/mcrypt/mcrypt.c:1.73 php4/ext/mcrypt/mcrypt.c:1.74
--- php4/ext/mcrypt/mcrypt.c:1.73 Thu Dec 20 11:50:49 2001
+++ php4/ext/mcrypt/mcrypt.c Wed Dec 26 05:01:50 2001
@@ -16,7 +16,7 @@
| Derick Rethans <d.rethans@jdimedia.nl> |
+----------------------------------------------------------------------+
*/
-/* $Id: mcrypt.c,v 1.73 2001/12/20 16:50:49 cmv Exp $ */
+/* $Id: mcrypt.c,v 1.74 2001/12/26 10:01:50 derick Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -207,26 +207,14 @@
ZEND_FETCH_RESOURCE (td, MCRYPT, mcryptind, -1, "MCrypt", le_mcrypt);
#define MCRYPT_GET_MODE_DIR_ARGS(DIRECTORY) \
- switch (argc) { \
- case 2: \
- lib_dir_s = Z_STRVAL_PP(lib_dir); \
- if (zend_get_parameters_ex(2, &arg1, &lib_dir) == FAILURE) \
- { \
- WRONG_PARAM_COUNT; \
- } \
- convert_to_string_ex (lib_dir); \
- break; \
- case 1: \
- lib_dir_s = MCG(DIRECTORY); \
- if (zend_get_parameters_ex(1, &arg1) == FAILURE) \
- { \
- WRONG_PARAM_COUNT; \
- } \
- break; \
- default: \
- WRONG_PARAM_COUNT; \
- } \
- convert_to_string_ex(arg1);
+ char *dir = NULL; \
+ int dir_len; \
+ char *module; \
+ int module_len; \
+ if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, \
+ "s|s", &module, &module_len, &dir, &dir_len) == FAILURE) { \
+ return; \
+ }
#endif
@@ -845,15 +833,9 @@
Does a self test of the module "module" */
PHP_FUNCTION(mcrypt_module_self_test)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir);
- if (mcrypt_module_self_test (Z_STRVAL_PP(arg1), lib_dir_s) == 0) {
+ if (mcrypt_module_self_test (module, dir) == 0) {
RETURN_TRUE;
}
else {
@@ -867,18 +849,11 @@
Returns TRUE if the mode is for use with block algorithms */
PHP_FUNCTION(mcrypt_module_is_block_algorithm_mode)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(modes_dir)
- if (mcrypt_module_is_block_algorithm_mode (Z_STRVAL_PP(arg1), lib_dir_s) == 0) {
+ if (mcrypt_module_is_block_algorithm_mode (module, dir) == 1) {
RETURN_TRUE;
- }
- else {
+ } else {
RETURN_FALSE;
}
}
@@ -889,18 +864,11 @@
Returns TRUE if the algorithm is a block algorithm */
PHP_FUNCTION(mcrypt_module_is_block_algorithm)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir)
- if (mcrypt_module_is_block_algorithm (Z_STRVAL_PP(arg1), lib_dir_s) == 0) {
+ if (mcrypt_module_is_block_algorithm (module, dir) == 1) {
RETURN_TRUE;
- }
- else {
+ } else {
RETURN_FALSE;
}
}
@@ -911,18 +879,11 @@
Returns TRUE if the mode outputs blocks of bytes */
PHP_FUNCTION(mcrypt_module_is_block_mode)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(modes_dir)
- if (mcrypt_module_is_block_mode (Z_STRVAL_PP(arg1), lib_dir_s) == 0) {
+ if (mcrypt_module_is_block_mode (module, dir) == 1) {
RETURN_TRUE;
- }
- else {
+ } else {
RETURN_FALSE;
}
}
@@ -933,15 +894,9 @@
Returns the block size of the algorithm */
PHP_FUNCTION(mcrypt_module_get_algo_block_size)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir)
- RETURN_LONG(mcrypt_module_get_algo_block_size (Z_STRVAL_PP(arg1), lib_dir_s))
+ RETURN_LONG(mcrypt_module_get_algo_block_size (module, dir));
}
/* }}} */
@@ -950,15 +905,9 @@
Returns the maximum supported key size of the algorithm */
PHP_FUNCTION(mcrypt_module_get_algo_key_size)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
- int argc;
-
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir);
- RETURN_LONG(mcrypt_module_get_algo_key_size (Z_STRVAL_PP(arg1), lib_dir_s))
+ RETURN_LONG(mcrypt_module_get_algo_key_size (module, dir));
}
/* }}} */
@@ -967,16 +916,12 @@
This function decrypts the crypttext */
PHP_FUNCTION(mcrypt_module_get_supported_key_sizes)
{
- zval **arg1, **lib_dir;
- char *lib_dir_s;
int argc, i, count;
int *key_sizes;
- argc = ZEND_NUM_ARGS();
-
MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir)
- key_sizes = mcrypt_module_get_algo_supported_key_sizes (Z_STRVAL_PP(arg1), lib_dir_s, &count);
+ key_sizes = mcrypt_module_get_algo_supported_key_sizes (module, dir, &count);
if (array_init(return_value) == FAILURE) {
php_error(E_ERROR, "Unable to initialize array");