diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2016-07-10 19:53:59 +0200 |
---|---|---|
committer | Julien Pauli <jpauli@php.net> | 2016-07-11 13:17:44 +0200 |
commit | 3dd380c41e7ff54ec8176d9f87f6d4760fada9fa (patch) | |
tree | 611b8d14269eaf65a48c13f6de6d44c51c88731e /ext/mcrypt/mcrypt.c | |
parent | 9288ce5390ced6232f80ce0e57f7ce6ce1f7e05a (diff) | |
download | php-git-3dd380c41e7ff54ec8176d9f87f6d4760fada9fa.tar.gz |
Implement RFC: Deprecate (then Remove) Mcrypt
<https://wiki.php.net/rfc/mcrypt-viking-funeral> has already been accepted,
so we implement it.
Diffstat (limited to 'ext/mcrypt/mcrypt.c')
-rw-r--r-- | ext/mcrypt/mcrypt.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ext/mcrypt/mcrypt.c b/ext/mcrypt/mcrypt.c index 86e70d51fb..bc2de1f82d 100644 --- a/ext/mcrypt/mcrypt.c +++ b/ext/mcrypt/mcrypt.c @@ -334,6 +334,9 @@ typedef enum { RETURN_FALSE; \ } \ +#define PHP_MCRYPT_DEPRECATED_WARNING php_error_docref(NULL, E_DEPRECATED, \ + "The mcrypt extension is deprecated and will be removed in the future: use openssl instead"); + PHP_INI_BEGIN() STD_PHP_INI_ENTRY("mcrypt.algorithms_dir", NULL, PHP_INI_ALL, OnUpdateString, algorithms_dir, zend_mcrypt_globals, mcrypt_globals) STD_PHP_INI_ENTRY("mcrypt.modes_dir", NULL, PHP_INI_ALL, OnUpdateString, modes_dir, zend_mcrypt_globals, mcrypt_globals) @@ -505,6 +508,8 @@ PHP_FUNCTION(mcrypt_module_open) MCRYPT td; php_mcrypt *pm; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters (ZEND_NUM_ARGS(), "ssss", &cipher, &cipher_len, &cipher_dir, &cipher_dir_len, &mode, &mode_len, &mode_dir, &mode_dir_len)) { @@ -542,6 +547,8 @@ PHP_FUNCTION(mcrypt_generic_init) php_mcrypt *pm; int result = 0; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rss", &mcryptind, &key, &key_len, &iv, &iv_len) == FAILURE) { return; } @@ -619,6 +626,8 @@ PHP_FUNCTION(mcrypt_generic) zend_string* data_str; int block_size, data_size; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &mcryptind, &data, &data_len) == FAILURE) { return; } @@ -669,6 +678,8 @@ PHP_FUNCTION(mdecrypt_generic) char* data_s; int block_size, data_size; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &mcryptind, &data, &data_len) == FAILURE) { return; } @@ -716,6 +727,7 @@ PHP_FUNCTION(mcrypt_enc_get_supported_key_sizes) int *key_sizes; MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING array_init(return_value); key_sizes = mcrypt_enc_get_supported_key_sizes(pm->td, &count); @@ -733,6 +745,7 @@ PHP_FUNCTION(mcrypt_enc_get_supported_key_sizes) PHP_FUNCTION(mcrypt_enc_self_test) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_enc_self_test(pm->td)); } /* }}} */ @@ -742,6 +755,7 @@ PHP_FUNCTION(mcrypt_enc_self_test) PHP_FUNCTION(mcrypt_module_close) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING zend_list_close(Z_RES_P(mcryptind)); RETURN_TRUE; } @@ -752,6 +766,7 @@ PHP_FUNCTION(mcrypt_module_close) PHP_FUNCTION(mcrypt_generic_deinit) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_generic_deinit(pm->td) < 0) { php_error_docref(NULL, E_WARNING, "Could not terminate encryption specifier"); @@ -767,6 +782,7 @@ PHP_FUNCTION(mcrypt_generic_deinit) PHP_FUNCTION(mcrypt_enc_is_block_algorithm_mode) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_enc_is_block_algorithm_mode(pm->td) == 1) { RETURN_TRUE @@ -781,6 +797,7 @@ PHP_FUNCTION(mcrypt_enc_is_block_algorithm_mode) PHP_FUNCTION(mcrypt_enc_is_block_algorithm) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_enc_is_block_algorithm(pm->td) == 1) { RETURN_TRUE @@ -795,6 +812,7 @@ PHP_FUNCTION(mcrypt_enc_is_block_algorithm) PHP_FUNCTION(mcrypt_enc_is_block_mode) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_enc_is_block_mode(pm->td) == 1) { RETURN_TRUE @@ -809,6 +827,7 @@ PHP_FUNCTION(mcrypt_enc_is_block_mode) PHP_FUNCTION(mcrypt_enc_get_block_size) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_enc_get_block_size(pm->td)); } /* }}} */ @@ -818,6 +837,7 @@ PHP_FUNCTION(mcrypt_enc_get_block_size) PHP_FUNCTION(mcrypt_enc_get_key_size) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_enc_get_key_size(pm->td)); } /* }}} */ @@ -827,6 +847,7 @@ PHP_FUNCTION(mcrypt_enc_get_key_size) PHP_FUNCTION(mcrypt_enc_get_iv_size) { MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_enc_get_iv_size(pm->td)); } /* }}} */ @@ -837,6 +858,7 @@ PHP_FUNCTION(mcrypt_enc_get_algorithms_name) { char *name; MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING name = mcrypt_enc_get_algorithms_name(pm->td); RETVAL_STRING(name); @@ -850,6 +872,7 @@ PHP_FUNCTION(mcrypt_enc_get_modes_name) { char *name; MCRYPT_GET_TD_ARG + PHP_MCRYPT_DEPRECATED_WARNING name = mcrypt_enc_get_modes_name(pm->td); RETVAL_STRING(name); @@ -862,6 +885,7 @@ PHP_FUNCTION(mcrypt_enc_get_modes_name) PHP_FUNCTION(mcrypt_module_self_test) { MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir); + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_module_self_test(module, dir) == 0) { RETURN_TRUE; @@ -876,6 +900,7 @@ PHP_FUNCTION(mcrypt_module_self_test) PHP_FUNCTION(mcrypt_module_is_block_algorithm_mode) { MCRYPT_GET_MODE_DIR_ARGS(modes_dir) + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_module_is_block_algorithm_mode(module, dir) == 1) { RETURN_TRUE; @@ -890,6 +915,7 @@ PHP_FUNCTION(mcrypt_module_is_block_algorithm_mode) PHP_FUNCTION(mcrypt_module_is_block_algorithm) { MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir) + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_module_is_block_algorithm(module, dir) == 1) { RETURN_TRUE; @@ -904,6 +930,7 @@ PHP_FUNCTION(mcrypt_module_is_block_algorithm) PHP_FUNCTION(mcrypt_module_is_block_mode) { MCRYPT_GET_MODE_DIR_ARGS(modes_dir) + PHP_MCRYPT_DEPRECATED_WARNING if (mcrypt_module_is_block_mode(module, dir) == 1) { RETURN_TRUE; @@ -918,6 +945,7 @@ PHP_FUNCTION(mcrypt_module_is_block_mode) PHP_FUNCTION(mcrypt_module_get_algo_block_size) { MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir) + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_module_get_algo_block_size(module, dir)); } @@ -928,6 +956,7 @@ PHP_FUNCTION(mcrypt_module_get_algo_block_size) PHP_FUNCTION(mcrypt_module_get_algo_key_size) { MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir); + PHP_MCRYPT_DEPRECATED_WARNING RETURN_LONG(mcrypt_module_get_algo_key_size(module, dir)); } @@ -941,6 +970,7 @@ PHP_FUNCTION(mcrypt_module_get_supported_key_sizes) int *key_sizes; MCRYPT_GET_MODE_DIR_ARGS(algorithms_dir) + PHP_MCRYPT_DEPRECATED_WARNING array_init(return_value); key_sizes = mcrypt_module_get_algo_supported_key_sizes(module, dir, &count); @@ -961,6 +991,8 @@ PHP_FUNCTION(mcrypt_list_algorithms) size_t lib_dir_len; int i, count; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &lib_dir, &lib_dir_len) == FAILURE) { return; @@ -988,6 +1020,8 @@ PHP_FUNCTION(mcrypt_list_modes) size_t lib_dir_len; int i, count; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &lib_dir, &lib_dir_len) == FAILURE) { return; @@ -1017,6 +1051,8 @@ PHP_FUNCTION(mcrypt_get_key_size) char *module_dir_string; MCRYPT td; + PHP_MCRYPT_DEPRECATED_WARNING + MCRYPT_GET_INI if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", @@ -1046,6 +1082,8 @@ PHP_FUNCTION(mcrypt_get_block_size) char *module_dir_string; MCRYPT td; + PHP_MCRYPT_DEPRECATED_WARNING + MCRYPT_GET_INI if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", @@ -1075,6 +1113,8 @@ PHP_FUNCTION(mcrypt_get_iv_size) char *module_dir_string; MCRYPT td; + PHP_MCRYPT_DEPRECATED_WARNING + MCRYPT_GET_INI if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", @@ -1104,6 +1144,8 @@ PHP_FUNCTION(mcrypt_get_cipher_name) size_t cipher_len; MCRYPT td; + PHP_MCRYPT_DEPRECATED_WARNING + MCRYPT_GET_INI if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", @@ -1319,6 +1361,8 @@ PHP_FUNCTION(mcrypt_encrypt) char *cipher, *key, *data, *mode, *iv = NULL; size_t cipher_len, key_len, data_len, mode_len, iv_len = 0; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ssss|s", &cipher, &cipher_len, &key, &key_len, &data, &data_len, &mode, &mode_len, &iv, &iv_len) == FAILURE) { return; @@ -1335,6 +1379,8 @@ PHP_FUNCTION(mcrypt_decrypt) char *cipher, *key, *data, *mode, *iv = NULL; size_t cipher_len, key_len, data_len, mode_len, iv_len = 0; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ssss|s", &cipher, &cipher_len, &key, &key_len, &data, &data_len, &mode, &mode_len, &iv, &iv_len) == FAILURE) { return; @@ -1353,6 +1399,8 @@ PHP_FUNCTION(mcrypt_create_iv) zend_long size; int n = 0; + PHP_MCRYPT_DEPRECATED_WARNING + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|l", &size, &source) == FAILURE) { return; } |