You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-php/pecl-crack/files/0.4-php8.patch

395 lines
9.7 KiB

diff -aurN a/crack.c b/crack.c
--- a/crack.c 2021-04-15 13:57:12.174874906 -0400
+++ b/crack.c 2021-04-15 14:10:21.203314001 -0400
@@ -68,9 +68,7 @@
/* {{{ crack_module_entry
*/
zend_module_entry crack_module_entry = {
-#if ZEND_MODULE_API_NO >= 20010901
STANDARD_MODULE_HEADER,
-#endif
"crack",
crack_functions,
PHP_MINIT(crack),
@@ -78,9 +76,7 @@
PHP_RINIT(crack),
PHP_RSHUTDOWN(crack),
PHP_MINFO(crack),
-#if ZEND_MODULE_API_NO >= 20010901
- "0.3",
-#endif
+ "0.4",
STANDARD_MODULE_PROPERTIES,
};
/* }}} */
@@ -102,57 +98,19 @@
static void php_crack_init_globals(zend_crack_globals *crack_globals)
{
crack_globals->last_message = NULL;
-#if PHP_VERSION_ID >= 70000
crack_globals->default_dict = NULL;
-#else
- crack_globals->default_dict = -1;
-#endif
}
/* }}} */
/* {{{ php_crack_checkpath
*/
-static int php_crack_checkpath(char* path TSRMLS_DC)
+static int php_crack_checkpath(char* path)
{
char *filename;
int filename_len;
int result = SUCCESS;
-#if PHP_VERSION_ID < 50400
- if (PG(safe_mode)) {
- filename_len = strlen(path) + 10;
- filename = (char *) emalloc(filename_len);
- if (NULL == filename) {
- return FAILURE;
- }
-
- memset(filename, '\0', filename_len);
- strcpy(filename, path);
- strcat(filename, ".pwd");
- if (!php_checkuid(filename, "r", CHECKUID_CHECK_FILE_AND_DIR)) {
- efree(filename);
- return FAILURE;
- }
-
- memset(filename, '\0', filename_len);
- strcpy(filename, path);
- strcat(filename, ".pwi");
- if (!php_checkuid(filename, "r", CHECKUID_CHECK_FILE_AND_DIR)) {
- efree(filename);
- return FAILURE;
- }
-
- memset(filename, '\0', filename_len);
- strcpy(filename, path);
- strcat(filename, ".hwm");
- if (!php_checkuid(filename, "r", CHECKUID_CHECK_FILE_AND_DIR)) {
- efree(filename);
- return FAILURE;
- }
- }
-#endif
-
- if (php_check_open_basedir(path TSRMLS_CC)) {
+ if (php_check_open_basedir(path)) {
return FAILURE;
}
@@ -162,7 +120,6 @@
/* {{{ php_crack_set_default_dict
*/
-#if PHP_VERSION_ID >= 70000
static void php_crack_set_default_dict(zend_resource *id)
{
if (CRACKG(default_dict) != NULL) {
@@ -172,60 +129,32 @@
CRACKG(default_dict) = id;
id->gc.refcount++;
}
-#else
-static void php_crack_set_default_dict(int id TSRMLS_DC)
-{
- if (CRACKG(default_dict) != -1) {
- zend_list_delete(CRACKG(default_dict));
- }
-
- CRACKG(default_dict) = id;
- zend_list_addref(id);
-}
-#endif
/* }}} */
/* {{{ php_crack_get_default_dict
*/
-#if PHP_VERSION_ID >= 70000
static zend_resource * php_crack_get_default_dict(INTERNAL_FUNCTION_PARAMETERS)
-#else
-static int php_crack_get_default_dict(INTERNAL_FUNCTION_PARAMETERS)
-#endif
{
-#if PHP_VERSION_ID >= 70000
if ((NULL == CRACKG(default_dict)) && (NULL != CRACKG(default_dictionary))) {
-#else
- if ((-1 == CRACKG(default_dict)) && (NULL != CRACKG(default_dictionary))) {
-#endif
CRACKLIB_PWDICT *pwdict;
printf("trying to open: %s\n", CRACKG(default_dictionary));
pwdict = cracklib_pw_open(CRACKG(default_dictionary), "r");
if (NULL != pwdict) {
-#if PHP_VERSION_ID >= 70000
ZVAL_RES(return_value, zend_register_resource(pwdict, le_crack));
php_crack_set_default_dict(Z_RES_P(return_value));
-#else
- ZEND_REGISTER_RESOURCE(return_value, pwdict, le_crack);
- php_crack_set_default_dict(Z_LVAL_P(return_value) TSRMLS_CC);
-#endif
}
}
-
+
return CRACKG(default_dict);
}
/* }}} */
/* {{{ php_crack_module_dtor
*/
-#if PHP_VERSION_ID >= 70000
static void php_crack_module_dtor(zend_resource *rsrc)
-#else
-static void php_crack_module_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-#endif
{
CRACKLIB_PWDICT *pwdict = (CRACKLIB_PWDICT *) rsrc->ptr;
-
+
if (pwdict != NULL) {
cracklib_pw_close(pwdict);
}
@@ -239,13 +168,10 @@
#ifdef ZTS
ZEND_INIT_MODULE_GLOBALS(crack, php_crack_init_globals, NULL);
#endif
-
+
REGISTER_INI_ENTRIES();
le_crack = zend_register_list_destructors_ex(php_crack_module_dtor, NULL, "crack dictionary", module_number);
-#if PHP_VERSION_ID < 70000
- Z_TYPE(crack_module_entry) = type;
-#endif
-
+
return SUCCESS;
}
@@ -263,12 +189,8 @@
PHP_RINIT_FUNCTION(crack)
{
CRACKG(last_message) = NULL;
-#if PHP_VERSION_ID >= 70000
CRACKG(default_dict) = NULL;
-#else
- CRACKG(default_dict) = -1;
-#endif
-
+
return SUCCESS;
}
/* }}} */
@@ -280,7 +202,7 @@
if (NULL != CRACKG(last_message)) {
efree(CRACKG(last_message));
}
-
+
return SUCCESS;
}
/* }}} */
@@ -292,7 +214,7 @@
php_info_print_table_start();
php_info_print_table_header(2, "crack support", "enabled");
php_info_print_table_end();
-
+
DISPLAY_INI_ENTRIES();
}
/* }}} */
@@ -304,32 +226,23 @@
char *path;
size_t path_len;
CRACKLIB_PWDICT *pwdict;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &path, &path_len) == FAILURE) {
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &path, &path_len) == FAILURE) {
RETURN_FALSE;
}
-
- if (php_crack_checkpath(path TSRMLS_CC) == FAILURE) {
+
+ if (php_crack_checkpath(path) == FAILURE) {
RETURN_FALSE;
}
-
+
pwdict = cracklib_pw_open(path, "r");
if (NULL == pwdict) {
-#if ZEND_MODULE_API_NO >= 20021010
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not open crack dictionary: %s", path);
-#else
- php_error(E_WARNING, "Could not open crack dictionary: %s", path);
-#endif
+ php_error_docref(NULL, E_WARNING, "Could not open crack dictionary: %s", path);
RETURN_FALSE;
}
-#if PHP_VERSION_ID >= 70000
RETURN_RES(zend_register_resource(pwdict, le_crack));
php_crack_set_default_dict(Z_RES_P(return_value));
-#else
- ZEND_REGISTER_RESOURCE(return_value, pwdict, le_crack);
- php_crack_set_default_dict(Z_LVAL_P(return_value) TSRMLS_CC);
-#endif
}
/* }}} */
@@ -338,33 +251,20 @@
PHP_FUNCTION(crack_closedict)
{
zval *dictionary = NULL;
-#if PHP_VERSION_ID >= 70000
zend_resource *id;
-#else
- int id = -1;
-#endif
CRACKLIB_PWDICT *pwdict;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &dictionary)) {
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "|r", &dictionary)) {
RETURN_FALSE;
}
-
+
if (NULL == dictionary) {
id = php_crack_get_default_dict(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-#if PHP_VERSION_ID >= 70000
if (id == NULL) {
-#else
- if (id == -1) {
-#endif
-#if ZEND_MODULE_API_NO >= 20021010
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not open default crack dicionary");
-#else
- php_error(E_WARNING, "Could not open default crack dicionary");
-#endif
+ php_error_docref(NULL, E_WARNING, "Could not open default crack dicionary");
RETURN_FALSE;
}
}
-#if PHP_VERSION_ID >= 70000
if((pwdict = (CRACKLIB_PWDICT *)zend_fetch_resource(Z_RES_P(dictionary), "crack dictionary", le_crack)) == NULL)
{
RETURN_FALSE;
@@ -376,17 +276,6 @@
else {
zend_list_close(Z_RES_P(dictionary));
}
-#else
- ZEND_FETCH_RESOURCE(pwdict, CRACKLIB_PWDICT *, &dictionary, id, "crack dictionary", le_crack);
-
- if (NULL == dictionary) {
- zend_list_delete(CRACKG(default_dict));
- CRACKG(default_dict) = -1;
- }
- else {
- zend_list_delete(Z_RESVAL_P(dictionary));
- }
-#endif
RETURN_TRUE;
}
/* }}} */
@@ -404,25 +293,20 @@
size_t gecos_len;
char *message;
CRACKLIB_PWDICT *pwdict;
-#if PHP_VERSION_ID >= 70000
zend_resource *crack_res;
-#else
- int id = -1;
-#endif
-
+
if (NULL != CRACKG(last_message)) {
efree(CRACKG(last_message));
CRACKG(last_message) = NULL;
}
-
- if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dictionary, &password, &password_len) == FAILURE) {
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ssr", &password, &password_len, &username, &username_len, &gecos, &gecos_len, &dictionary) == FAILURE) {
+
+ if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "rs", &dictionary, &password, &password_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|ssr", &password, &password_len, &username, &username_len, &gecos, &gecos_len, &dictionary) == FAILURE) {
RETURN_FALSE;
}
}
-
+
if (NULL == dictionary) {
-#if PHP_VERSION_ID >= 70000
crack_res = php_crack_get_default_dict(INTERNAL_FUNCTION_PARAM_PASSTHRU);
if (crack_res == NULL || crack_res->ptr == NULL) {
php_error(E_WARNING, "Could not open default crack dicionary");
@@ -436,22 +320,9 @@
RETURN_FALSE;
}
}
-#else
- id = php_crack_get_default_dict(INTERNAL_FUNCTION_PARAM_PASSTHRU);
- if (id == -1) {
-#if ZEND_MODULE_API_NO >= 20021010
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not open default crack dicionary");
-#else
- php_error(E_WARNING, "Could not open default crack dicionary");
-#endif
- RETURN_FALSE;
- }
- }
- ZEND_FETCH_RESOURCE(pwdict, CRACKLIB_PWDICT *, &dictionary, id, "crack dictionary", le_crack);
-#endif
-
+
message = cracklib_fascist_look_ex(pwdict, password, username, gecos);
-
+
if (NULL == message) {
CRACKG(last_message) = estrdup("strong password");
RETURN_TRUE;
@@ -470,21 +341,13 @@
if (ZEND_NUM_ARGS() != 0) {
WRONG_PARAM_COUNT;
}
-
+
if (NULL == CRACKG(last_message)) {
-#if ZEND_MODULE_API_NO >= 20021010
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "No obscure checks in this session");
-#else
- php_error(E_WARNING, "No obscure checks in this session");
-#endif
+ php_error_docref(NULL, E_WARNING, "No obscure checks in this session");
RETURN_FALSE;
}
-
-#if PHP_VERSION_ID >= 70000
+
RETURN_STRING(CRACKG(last_message));
-#else
- RETURN_STRING(CRACKG(last_message), 1);
-#endif
}
/* }}} */
diff -aurN a/php_crack.h b/php_crack.h
--- a/php_crack.h 2021-04-15 13:57:12.174874906 -0400
+++ b/php_crack.h 2021-04-15 14:10:28.853298881 -0400
@@ -52,11 +52,7 @@
ZEND_BEGIN_MODULE_GLOBALS(crack)
char *default_dictionary;
char *last_message;
-#if PHP_VERSION_ID >= 70000
zend_resource *default_dict;
-#else
- int default_dict;
-#endif
ZEND_END_MODULE_GLOBALS(crack)
#ifdef ZTS