On 26/04/20 14:04 +0200, Robert Nagy wrote:
> On 26/04/20 13:17 +0200, Moises Simon wrote:
> > Hi,
> >
> > I'm trying www/phpldapadmin.
> > When I access the web page I see tons of errors of deprecated or non existent functions
> > like this:
> >
> > error Error
> > Unrecognized error number: 8192: Function mcrypt_module_open() is deprecated
> > PHP Debug Backtrace
> > File /phpldapadmin/lib/functions.php (184)
> > Function error (a:5:{i:0;s:76:"Unrecognized error number: 8192: Fu...)
> > File /phpldapadmin/lib/functions.php (749)
> > Function app_error_handler (a:5:{i:0;i:8192;i:1;s:43:"Function mcrypt_module_o...)
> > File /phpldapadmin/lib/ds.php (227)
> > Function blowfish_encrypt (a:1:{i:0;s:33:"EDITED";...)
> > File /phpldapadmin/lib/ds_ldap.php (276)
> > Function setLogin (a:3:{i:0;s:33:"EDITED";...)
> > File /phpldapadmin/htdocs/login.php (25)
> > Function login (a:3:{i:0;s:33:"EDITED";...
> > File /phpldapadmin/htdocs/cmd.php (59)
> > Function include (a:1:{i:0;s:30:"/phpldapadmin/htdocs/login.php";})
> >
> > Maybe I have setup something wrong but as far as I know phpldapamin
> > hasn't been updated since 2012 and uses php5.
> >
>
> Hi
>
> What happens if you do not load the mcrypt pecl extension?
>
> Our port has patches to run with php 7.x so that should not be a problem.
>
Actually, what we have is not enough. I've updated the port to use a source which
is still maintained with lots of fixes for php7.
sthen@, i think we should commit this before the release. I've done some minimal testing
with it and everything is fine. I've removed the mcrypt dependency because the first choice
is now to use blowfish from the openssl extension which is enabled by default.
If that is not available it will fallback to mcrypt and then to a bundled blowfish implementation
which also works fine, so I think removing the dependency on the deprecated mcrypt extension
is the right thing to do.
Here is the diff:
Index: Makefile
===================================================================
RCS file: /cvs/ports/www/phpldapadmin/Makefile,v
retrieving revision 1.49
diff -u -p -u -r1.49 Makefile
--- Makefile 26 Sep 2019 21:59:31 -0000 1.49
+++ Makefile 26 Apr 2020 12:37:52 -0000
@@ -2,18 +2,17 @@
COMMENT= web-based LDAP browser to manage LDAP servers
-VERSION= 1.2.3
-DISTNAME= phpldapadmin-${VERSION}
+DISTNAME= phpldapadmin-${GH_TAGNAME}
CATEGORIES= www
-HOMEPAGE= http://phpldapadmin.sourceforge.net/
-REVISION= 7
+HOMEPAGE= https://github.com/leenooks/phpLDAPadmin
+
+GH_ACCOUNT= leenooks
+GH_TAGNAME= 1.2.5
+GH_PROJECT= phpLDAPadmin
# GPLv2
PERMIT_PACKAGE= Yes
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=phpldapadmin/}
-EXTRACT_SUFX= .tgz
-
NO_BUILD= Yes
NO_TEST= Yes
PKG_ARCH= *
@@ -23,8 +22,7 @@ INSTDIR= ${PREFIX}/phpldapadmin
SUBST_VARS= INSTDIR
MODULES= lang/php
-RUN_DEPENDS= lang/php/${MODPHP_VERSION},-ldap \
- security/pecl-mcrypt${MODPHP_FLAVOR}
+RUN_DEPENDS= lang/php/${MODPHP_VERSION},-ldap
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/phpldapadmin
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/phpldapadmin/distinfo,v
retrieving revision 1.16
diff -u -p -u -r1.16 distinfo
--- distinfo 11 Nov 2013 18:17:27 -0000 1.16
+++ distinfo 26 Apr 2020 12:37:52 -0000
@@ -1,2 +1,2 @@
-SHA256 (phpldapadmin-1.2.3.tgz) = rsr4w853ujiZ3THuXuGDVVsvk0nrjhltzTPYo8SF7Vg=
-SIZE (phpldapadmin-1.2.3.tgz) = 1115707
+SHA256 (phpldapadmin-1.2.5.tar.gz) = dFgfWvGr2/ZytqFlXp+zw0oWx1EAGTSIElcfzBD93hs=
+SIZE (phpldapadmin-1.2.5.tar.gz) = 1117335
Index: patches/patch-config_config_php_example
===================================================================
RCS file: patches/patch-config_config_php_example
diff -N patches/patch-config_config_php_example
--- patches/patch-config_config_php_example 12 Sep 2015 08:09:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-config_config_php_example,v 1.1 2015/09/12 08:09:05 robert Exp $
---- config/config.php.example.orig Mon Oct 1 08:54:14 2012
-+++ config/config.php.example Sat Sep 12 09:46:59 2015
-@@ -379,7 +379,7 @@ $servers->setValue('server','name','My LDAP Server');
-
- /* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5,
- blowfish, crypt or leave blank for now default algorithm. */
--// $servers->setValue('appearance','password_hash','md5');
-+// $servers->setValue('appearance','password_hash_custom','md5');
-
- /* If you specified 'cookie' or 'session' as the auth_type above, you can
- optionally specify here an attribute to use when logging in. If you enter
-@@ -546,7 +546,7 @@ $servers->setValue('sasl','authz_id_regex','/^uid=([^,
- $servers->setValue('sasl','authz_id_replacement','$1');
- $servers->setValue('sasl','props',null);
-
--$servers->setValue('appearance','password_hash','md5');
-+$servers->setValue('appearance','password_hash_custom','md5');
- $servers->setValue('login','attr','dn');
- $servers->setValue('login','fallback_dn',false);
- $servers->setValue('login','class',null);
Index: patches/patch-lib_PageRender_php
===================================================================
RCS file: patches/patch-lib_PageRender_php
diff -N patches/patch-lib_PageRender_php
--- patches/patch-lib_PageRender_php 12 Sep 2015 08:09:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-$OpenBSD: patch-lib_PageRender_php,v 1.1 2015/09/12 08:09:05 robert Exp $
---- lib/PageRender.php.orig Mon Oct 1 08:54:14 2012
-+++ lib/PageRender.php Sat Sep 12 09:46:59 2015
-@@ -287,7 +287,7 @@ class PageRender extends Visitor {
- break;
-
- default:
-- $vals[$i] = password_hash($passwordvalue,$enc);
-+ $vals[$i] = password_hash_custom($passwordvalue,$enc);
- }
-
- $vals = array_unique($vals);
-@@ -957,7 +957,7 @@ class PageRender extends Visitor {
- if (trim($val))
- $enc_type = get_enc_type($val);
- else
-- $enc_type = $server->getValue('appearance','password_hash');
-+ $enc_type = $server->getValue('appearance','password_hash_custom');
-
- $obfuscate_password = obfuscate_password_display($enc_type);
-
-@@ -982,7 +982,7 @@ class PageRender extends Visitor {
- if (trim($val))
- $enc_type = get_enc_type($val);
- else
-- $enc_type = $server->getValue('appearance','password_hash');
-+ $enc_type = $server->getValue('appearance','password_hash_custom');
-
- echo '<table cellspacing="0" cellpadding="0"><tr><td valign="top">';
-
Index: patches/patch-lib_TemplateRender_php
===================================================================
RCS file: patches/patch-lib_TemplateRender_php
diff -N patches/patch-lib_TemplateRender_php
--- patches/patch-lib_TemplateRender_php 12 Sep 2015 08:09:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-lib_TemplateRender_php,v 1.1 2015/09/12 08:09:05 robert Exp $
---- lib/TemplateRender.php.orig Mon Oct 1 08:54:14 2012
-+++ lib/TemplateRender.php Sat Sep 12 09:46:59 2015
-@@ -2466,7 +2466,7 @@ function deleteAttribute(attrName,friendlyName,i)
- if ($val = $attribute->getValue($i))
- $default = get_enc_type($val);
- else
-- $default = $this->getServer()->getValue('appearance','password_hash');
-+ $default = $this->getServer()->getValue('appearance','password_hash_custom');
-
- if (! $attribute->getPostValue())
- printf('<input type="hidden" name="post_value[%s][]" value="%s" />',$attribute->getName(),$i);
Index: patches/patch-lib_ds_ldap_php
===================================================================
RCS file: patches/patch-lib_ds_ldap_php
diff -N patches/patch-lib_ds_ldap_php
--- patches/patch-lib_ds_ldap_php 12 Sep 2015 08:09:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-$OpenBSD: patch-lib_ds_ldap_php,v 1.1 2015/09/12 08:09:05 robert Exp $
---- lib/ds_ldap.php.orig Mon Oct 1 08:54:14 2012
-+++ lib/ds_ldap.php Sat Sep 12 09:46:59 2015
-@@ -1116,13 +1116,24 @@ class ldap extends DS {
-
- if (is_array($dn)) {
- $a = array();
-- foreach ($dn as $key => $rdn)
-- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
-+ foreach ($dn as $key => $rdn) {
-+ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
-+ function ($m) {
-+ return ''.chr(hexdec('\\1')).'';
-+ },
-+ $rdn
-+ );
-+ }
-
- return $a;
-
- } else
-- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
-+ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
-+ function ($m) {
-+ return ''.chr(hexdec('\\1')).'';
-+ },
-+ $dn
-+ );
- }
-
- public function getRootDSE($method=null) {
Index: patches/patch-lib_ds_ldap_pla_php
===================================================================
RCS file: patches/patch-lib_ds_ldap_pla_php
diff -N patches/patch-lib_ds_ldap_pla_php
--- patches/patch-lib_ds_ldap_pla_php 12 Sep 2015 08:09:05 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-lib_ds_ldap_pla_php,v 1.1 2015/09/12 08:09:05 robert Exp $
---- lib/ds_ldap_pla.php.orig Mon Oct 1 08:54:14 2012
-+++ lib/ds_ldap_pla.php Sat Sep 12 09:46:59 2015
-@@ -16,7 +16,7 @@ class ldap_pla extends ldap {
- function __construct($index) {
- parent::__construct($index);
-
-- $this->default->appearance['password_hash'] = array(
-+ $this->default->appearance['password_hash_custom'] = array(
- 'desc'=>'Default HASH to use for passwords',
- 'default'=>'md5');
-
Index: patches/patch-lib_functions_php
===================================================================
RCS file: patches/patch-lib_functions_php
diff -N patches/patch-lib_functions_php
--- patches/patch-lib_functions_php 12 Sep 2015 08:09:05 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,67 +0,0 @@
-$OpenBSD: patch-lib_functions_php,v 1.3 2015/09/12 08:09:05 robert Exp $
---- lib/functions.php.orig Mon Oct 1 08:54:14 2012
-+++ lib/functions.php Sat Sep 12 09:46:59 2015
-@@ -2127,7 +2127,7 @@ function password_types() {
- * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, sha512, or clear.
- * @return string The hashed password.
- */
--function password_hash($password_clear,$enc_type) {
-+function password_hash_custom($password_clear,$enc_type) {
- if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
- debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
-
-@@ -2318,7 +2318,7 @@ function password_check($cryptedpassword,$plainpasswor
-
- # SHA crypted passwords
- case 'sha':
-- if (strcasecmp(password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
-+ if (strcasecmp(password_hash_custom($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
- return true;
- else
- return false;
-@@ -2327,7 +2327,7 @@ function password_check($cryptedpassword,$plainpasswor
-
- # MD5 crypted passwords
- case 'md5':
-- if( strcasecmp(password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
-+ if( strcasecmp(password_hash_custom($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
- return true;
- else
- return false;
-@@ -2392,7 +2392,7 @@ function password_check($cryptedpassword,$plainpasswor
-
- # SHA512 crypted passwords
- case 'sha512':
-- if (strcasecmp(password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0)
-+ if (strcasecmp(password_hash_custom($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0)
- return true;
- else
- return false;
-@@ -2564,13 +2564,24 @@ function dn_unescape($dn) {
- if (is_array($dn)) {
- $a = array();
-
-- foreach ($dn as $key => $rdn)
-- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
-+ foreach ($dn as $key => $rdn) {
-+ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
-+ function ($m) {
-+ return ''.chr(hexdec('\\1')).'';
-+ },
-+ $rdn
-+ );
-+ }
-
- return $a;
-
- } else {
-- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
-+ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
-+ function ($m) {
-+ return ''.chr(hexdec('\\1')).'';
-+ },
-+ $dn
-+ );
- }
- }
-
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/www/phpldapadmin/pkg/PLIST,v
retrieving revision 1.18
diff -u -p -u -r1.18 PLIST
--- pkg/PLIST 4 Sep 2018 12:46:26 -0000 1.18
+++ pkg/PLIST 26 Apr 2020 12:37:52 -0000
@@ -2,7 +2,7 @@
@group daemon
phpldapadmin/
@comment phpldapadmin/.gitignore
-phpldapadmin/INSTALL
+phpldapadmin/INSTALL.md
phpldapadmin/LICENSE
phpldapadmin/VERSION
phpldapadmin/config/
No comments:
Post a Comment