summaryrefslogtreecommitdiff
path: root/dev-php/pecl-crack
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
commit40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch)
tree758c221bad35c9288d0bd6df9c7dfc226728e52c /dev-php/pecl-crack
parent8d5dbd847cbc704a6a06405856e94b461011afe3 (diff)
gentoo resync : 28.04.2021
Diffstat (limited to 'dev-php/pecl-crack')
-rw-r--r--dev-php/pecl-crack/Manifest2
-rw-r--r--dev-php/pecl-crack/files/0.4-php8.patch394
-rw-r--r--dev-php/pecl-crack/pecl-crack-0.4-r8.ebuild29
3 files changed, 425 insertions, 0 deletions
diff --git a/dev-php/pecl-crack/Manifest b/dev-php/pecl-crack/Manifest
index c3511144c646..2a07af1a5f84 100644
--- a/dev-php/pecl-crack/Manifest
+++ b/dev-php/pecl-crack/Manifest
@@ -1,6 +1,8 @@
AUX 0.4-php7.patch 8435 BLAKE2B 11b9d076a684fb1e3e4bef9cd733e7675909282a5e571b3db60fbd9f852273555e3ca7731a13a1811986f529ee52b24e7a9b1bf26a564bc30187241429758e26 SHA512 f164cc8e37e37636de843063426d1ba07be17362d4b0fa0de59e1a9e21a15b7d5a312ed64bd73bcd51db5185a843a05611c23c5f5c442b720f437347f0401649
+AUX 0.4-php8.patch 9940 BLAKE2B a596f7f3329684f9c37c6ff43f392bd4936e32b3ce43bba99885a4a3f1828ded8952b392b65d2910a8cf90b5f77cba12878d2c8c7ca85b5692341c6163998825 SHA512 43d0a7d766d03dbea4c917ead7a337ccefd815cfff88f79f9e2438aa3f27e1bb079c22859baa1963720ebb53db58d3138fb4d70a76061829cabd177e59de88bd
AUX fix-pecl-bug-5765.patch 375 BLAKE2B 6664659603006d260b578fc1169465007a600eb1b5ba4551339fc87488c7f94ac1ca49ebc829895ef2e6673fccbae2881e6f06a6cce4dfaa39db1350f2f4f0c6 SHA512 21f7d76242c630334e88c8bf1f6e4fe9718943c36c6886f8de6503c9c616beab7007e31127b40b1df66763893d692a65f20483addb1607e0cfc7ec7b92ff4500
AUX fix-php-5-4-support.patch 674 BLAKE2B 5b2ce7a76aca15d6ff626ebced6e8844bac3d1fb959903c9882e1e59bdfc06027c6993431552deceb09df8d35e57e338818fa9b5ac11b31d4484369d3bd9d1e3 SHA512 ca2475557dc1d2f23a1e5745e7f3bac70855d0916a9d37d1a7efcd04e3bb973220b87aa2cc7ba8315473a2fd16dfd142c5c01608e94c595541ff15838c1e1d44
DIST crack-0.4.tgz 25524 BLAKE2B 99e2289413a672d4dc3d8f9d70866efb499902a0d27379ac7b59d2873013c918d535851d8c3dbf2592596d6483f2abafe2f7bbd31fff40ce9827c7a97e16b8bc SHA512 0dec64d1ce859bb3d7e2b834e4bcc4ef8c6f3e88e5b61884e40dddc366a992a7c85bfad4227224d4401aad7f26843678709f29acd2dcc75563658040b8067d7f
EBUILD pecl-crack-0.4-r7.ebuild 605 BLAKE2B f8d48c373151abe572512e8a038792350e611b8f638c96b31c64b310f70de5d8c127b9a75cdc870320aaba70d0b62fdac6de0cc958cc92f5b504a29f84e2bf48 SHA512 fe5adbc671be84f65232d1505b42e97616f612bfb56e8244827dce91f13fdc691180f5e17fa092023e750c46eb3ecb250922e8bd6447268129b4ebf51cce8830
+EBUILD pecl-crack-0.4-r8.ebuild 618 BLAKE2B 170e52d4d8eb8a83d8571b58c2e551fd579a16937965ab7aefc637600fadea48f934b8ba46ef465beee6979db08f47791deb6b5bc17b68b6b19a37091c1d829f SHA512 990f5c6f4eac01ceae47ab261cb6f0f8d5cfe2c1c905e7cd2125739fbba6265d3572389c6bf696099fc7342f4eb7fc65e0188bfabd98365c29d41692b6cc3cab
MISC metadata.xml 239 BLAKE2B 9b7c5dcb74289073481cf07031b7a92f32496cc1097becb074d74a8fbb8133de429ce1baf284e446e44132943c8b32e6b824570f15828588e42ea49ef5661f00 SHA512 2181b874bfe8cd31e7730d8207e26cfd2f272eaf2d1b57ae0faff126347a5298fa1c506d9107e1da9736c8a0ed9c8c339e4d9509a8726b79dbe86e073c12dee0
diff --git a/dev-php/pecl-crack/files/0.4-php8.patch b/dev-php/pecl-crack/files/0.4-php8.patch
new file mode 100644
index 000000000000..ce5f36f11738
--- /dev/null
+++ b/dev-php/pecl-crack/files/0.4-php8.patch
@@ -0,0 +1,394 @@
+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
diff --git a/dev-php/pecl-crack/pecl-crack-0.4-r8.ebuild b/dev-php/pecl-crack/pecl-crack-0.4-r8.ebuild
new file mode 100644
index 000000000000..def1519d1013
--- /dev/null
+++ b/dev-php/pecl-crack/pecl-crack-0.4-r8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PHP_EXT_NAME="crack"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_EXT_EXTRA_ECONF=""
+DOCS=( EXPERIMENTAL )
+
+USE_PHP="php7-3 php7-4 php8-0"
+
+inherit php-ext-pecl-r3
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+DESCRIPTION="PHP interface to the cracklib libraries"
+LICENSE="PHP-3 CRACKLIB"
+SLOT="0"
+IUSE=""
+
+# Patch for http://pecl.php.net/bugs/bug.php?id=5765
+PATCHES=(
+ "${FILESDIR}/fix-php-5-4-support.patch"
+ "${FILESDIR}/fix-pecl-bug-5765.patch"
+ "${FILESDIR}/${PV}-php7.patch"
+ "${FILESDIR}/0.4-php8.patch"
+)