Received: by mail.netbsd.org (Postfix, from userid 605) id 33C7884D32; Sun, 21 Feb 2021 22:22:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 6CD3D84D23 for ; Sun, 21 Feb 2021 22:22:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id YGuKOTriKOkj for ; Sun, 21 Feb 2021 22:22:23 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 2DB7684D22 for ; Sun, 21 Feb 2021 22:22:23 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 2B141FA95; Sun, 21 Feb 2021 22:22:23 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1613946143129090" MIME-Version: 1.0 Date: Sun, 21 Feb 2021 22:22:23 +0000 From: "Pierre Pronchery" Subject: CVS commit: pkgsrc/databases/phpldapadmin To: pkgsrc-changes@NetBSD.org Reply-To: khorben@netbsd.org X-Mailer: log_accum Message-Id: <20210221222223.2B141FA95@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1613946143129090 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: khorben Date: Sun Feb 21 22:22:23 UTC 2021 Modified Files: pkgsrc/databases/phpldapadmin: Makefile distinfo pkgsrc/databases/phpldapadmin/patches: patch-lib_functions.php Added Files: pkgsrc/databases/phpldapadmin/patches: patch-config_config.php.example patch-htdocs_index.php patch-lib_PageRender.php patch-lib_QueryRender.php patch-lib_TemplateRender.php patch-lib_ds__ldap__pla.php Log Message: phpldapadmin: import fixes for PHP > 5.5, 7.2, 7.3 With help from the patches available at https://packages.debian.org/source/sid/phpldapadmin. To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 pkgsrc/databases/phpldapadmin/Makefile cvs rdiff -u -r1.16 -r1.17 pkgsrc/databases/phpldapadmin/distinfo cvs rdiff -u -r0 -r1.1 \ pkgsrc/databases/phpldapadmin/patches/patch-config_config.php.example \ pkgsrc/databases/phpldapadmin/patches/patch-htdocs_index.php \ pkgsrc/databases/phpldapadmin/patches/patch-lib_PageRender.php \ pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php \ pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php cvs rdiff -u -r0 -r1.4 \ pkgsrc/databases/phpldapadmin/patches/patch-lib_QueryRender.php cvs rdiff -u -r1.3 -r1.4 \ pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1613946143129090 Content-Disposition: inline Content-Length: 12519 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/databases/phpldapadmin/Makefile diff -u pkgsrc/databases/phpldapadmin/Makefile:1.44 pkgsrc/databases/phpldapadmin/Makefile:1.45 --- pkgsrc/databases/phpldapadmin/Makefile:1.44 Fri May 22 19:28:33 2020 +++ pkgsrc/databases/phpldapadmin/Makefile Sun Feb 21 22:22:22 2021 @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.44 2020/05/22 19:28:33 rillig Exp $ +# $NetBSD: Makefile,v 1.45 2021/02/21 22:22:22 khorben Exp $ DISTNAME= phpldapadmin-${VERSION} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= databases www MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=phpldapadmin/} EXTRACT_SUFX= .tgz Index: pkgsrc/databases/phpldapadmin/distinfo diff -u pkgsrc/databases/phpldapadmin/distinfo:1.16 pkgsrc/databases/phpldapadmin/distinfo:1.17 --- pkgsrc/databases/phpldapadmin/distinfo:1.16 Sun Nov 29 11:25:53 2015 +++ pkgsrc/databases/phpldapadmin/distinfo Sun Feb 21 22:22:22 2021 @@ -1,8 +1,14 @@ -$NetBSD: distinfo,v 1.16 2015/11/29 11:25:53 taca Exp $ +$NetBSD: distinfo,v 1.17 2021/02/21 22:22:22 khorben Exp $ SHA1 (phpldapadmin-1.2.3.tgz) = 669fca66c75e24137e106fdd02e3832f81146e23 RMD160 (phpldapadmin-1.2.3.tgz) = 0d170a1da26836b8c9af3c3a06960cfc42f29b26 SHA512 (phpldapadmin-1.2.3.tgz) = 58a57ca577586685ebd0d7fde7e299b8945d1693018c7803e19239b79f4b9d72a4d207d53c9f284268e32398108038efafcdb434e634619bfe87db3524d267b6 Size (phpldapadmin-1.2.3.tgz) = 1115707 bytes +SHA1 (patch-config_config.php.example) = c6cdc8e62ec8c06ae99f219f1a20694502d6fe0d +SHA1 (patch-htdocs_index.php) = 4788ea606b6aa0cc93bb319c8d6b180ccf3010e6 +SHA1 (patch-lib_PageRender.php) = 198e637024c01b164017a15b5449782ce8829996 +SHA1 (patch-lib_QueryRender.php) = 806e3d2f874aca0ff8c0c07d4f4db57a2008185c +SHA1 (patch-lib_TemplateRender.php) = 766981b0a31221d2580e7f592140dd95601caf40 SHA1 (patch-lib_ds__ldap.php) = 55563684fba16c1fbebbfa88ff1ce506f6c947fc -SHA1 (patch-lib_functions.php) = 3d83f5fe56ba9d908ef6b55028483b0fc7764b29 +SHA1 (patch-lib_ds__ldap__pla.php) = 5331d8410ace331a5924f96e3f90a991866b9345 +SHA1 (patch-lib_functions.php) = 06be1a704070e5466278dfc3003f5c015fcc93c9 Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php diff -u pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php:1.3 pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php:1.4 --- pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php:1.3 Sun Nov 29 11:25:53 2015 +++ pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php Sun Feb 21 22:22:22 2021 @@ -1,11 +1,65 @@ -$NetBSD: patch-lib_functions.php,v 1.3 2015/11/29 11:25:53 taca Exp $ +$NetBSD: patch-lib_functions.php,v 1.4 2021/02/21 22:22:22 khorben Exp $ Fix for PHP 5.5 and later: https://bugzilla.redhat.com/show_bug.cgi?id=974928 --- lib/functions.php.orig 2012-10-01 06:54:14.000000000 +0000 +++ lib/functions.php -@@ -2127,7 +2127,7 @@ function password_types() { +@@ -51,7 +51,7 @@ if (file_exists(LIBDIR.'functions.custom + /** + * Loads class definition + */ +-function __autoload($className) { ++function pla_autoload($className) { + if (file_exists(HOOKSDIR."classes/$className.php")) + require_once(HOOKSDIR."classes/$className.php"); + elseif (file_exists(LIBDIR."$className.php")) +@@ -66,6 +66,12 @@ function __autoload($className) { + 'type'=>'error')); + } + ++if (version_compare(phpversion(), '7.0', '>=')) { ++ spl_autoload_register('pla_autoload'); ++} else { ++ eval('function __autoload($className) {pla_autoload($className);}'); ++} ++ + /** + * Strips all slashes from the specified array in place (pass by ref). + * @param Array The array to strip slashes from, typically one of +@@ -994,6 +1000,22 @@ function get_custom_file($index,$filenam + } + + /** ++ * Replacement for create_function() which is deprecated as of PHP 7.2 ++ * ++ * @param string The function arguments ++ * @param string The function code ++ */ ++function pla_create_function($args, $code) { ++ if (version_compare(phpversion(), '7.0', '>=')) { ++ # anonymous functions were introduced in PHP 5.3.0 ++ return eval("return function(".$args."){".$code."};"); ++ } else { ++ # create_function is deprecated in PHP 7.2 ++ return create_function($args, $code); ++ } ++} ++ ++/** + * Sort a multi dimensional array. + * + * @param array Multi demension array passed by reference +@@ -1080,7 +1102,7 @@ function masort(&$data,$sortby,$rev=0) { + + $code .= 'return $c;'; + +- $CACHE[$sortby] = create_function('$a, $b',$code); ++ $CACHE[$sortby] = pla_create_function('$a, $b',$code); + } + + uasort($data,$CACHE[$sortby]); +@@ -2127,7 +2149,7 @@ function password_types() { * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, sha512, or clear. * @return string The hashed password. */ @@ -14,7 +68,7 @@ Fix for PHP 5.5 and later: 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 +@@ -2318,7 +2340,7 @@ function password_check($cryptedpassword # SHA crypted passwords case 'sha': @@ -23,7 +77,7 @@ Fix for PHP 5.5 and later: return true; else return false; -@@ -2327,7 +2327,7 @@ function password_check($cryptedpassword +@@ -2327,7 +2349,7 @@ function password_check($cryptedpassword # MD5 crypted passwords case 'md5': @@ -32,7 +86,16 @@ Fix for PHP 5.5 and later: return true; else return false; -@@ -2565,12 +2565,14 @@ function dn_unescape($dn) { +@@ -2392,7 +2414,7 @@ function password_check($cryptedpassword + + # SHA512 crypted passwords + case 'sha512': +- if (strcasecmp(password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) ++ if (strcasecmp(pla_password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2565,12 +2587,14 @@ function dn_unescape($dn) { $a = array(); foreach ($dn as $key => $rdn) Added files: Index: pkgsrc/databases/phpldapadmin/patches/patch-config_config.php.example diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-config_config.php.example:1.1 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-config_config.php.example Sun Feb 21 22:22:22 2021 @@ -0,0 +1,24 @@ +$NetBSD: patch-config_config.php.example,v 1.1 2021/02/21 22:22:22 khorben Exp $ + +Fix for PHP >= 5.5 + +--- config/config.php.example.orig 2012-10-01 06:54:14.000000000 +0000 ++++ config/config.php.example +@@ -379,7 +379,7 @@ $servers->setValue('server','name','My L + + /* 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','pla_password_hash','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_rege + $servers->setValue('sasl','authz_id_replacement','$1'); + $servers->setValue('sasl','props',null); + +-$servers->setValue('appearance','password_hash','md5'); ++$servers->setValue('appearance','pla_password_hash','md5'); + $servers->setValue('login','attr','dn'); + $servers->setValue('login','fallback_dn',false); + $servers->setValue('login','class',null); Index: pkgsrc/databases/phpldapadmin/patches/patch-htdocs_index.php diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-htdocs_index.php:1.1 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-htdocs_index.php Sun Feb 21 22:22:22 2021 @@ -0,0 +1,18 @@ +$NetBSD: patch-htdocs_index.php,v 1.1 2021/02/21 22:22:22 khorben Exp $ + +Bail out if the configuration file is missing + +--- htdocs/index.php.orig 2012-10-01 06:54:14.000000000 +0000 ++++ htdocs/index.php +@@ -57,6 +57,11 @@ if (defined('CONFDIR')) + else + $app['config_file'] = 'config.php'; + ++if (! is_readable($app['config_file'])) { ++ if (ob_get_level()) ob_end_clean(); ++ die(sprintf("Missing configuration file %s - have you created it?",$app['config_file'])); ++} ++ + # Make sure this PHP install has session support + if (! extension_loaded('session')) + error('

Your install of PHP appears to be missing php-session support.

Please install php-session support before using phpLDAPadmin.
(Dont forget to restart your web server afterwards)

','error',null,true); Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_PageRender.php diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_PageRender.php:1.1 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-lib_PageRender.php Sun Feb 21 22:22:22 2021 @@ -0,0 +1,33 @@ +$NetBSD: patch-lib_PageRender.php,v 1.1 2021/02/21 22:22:22 khorben Exp $ + +Fix for PHP >= 5.5 + +--- lib/PageRender.php.orig 2012-10-01 06:54:14.000000000 +0000 ++++ lib/PageRender.php +@@ -287,7 +287,7 @@ class PageRender extends Visitor { + break; + + default: +- $vals[$i] = password_hash($passwordvalue,$enc); ++ $vals[$i] = pla_password_hash($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','pla_password_hash'); + + $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','pla_password_hash'); + + echo '
'; + Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php:1.1 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php Sun Feb 21 22:22:22 2021 @@ -0,0 +1,15 @@ +$NetBSD: patch-lib_TemplateRender.php,v 1.1 2021/02/21 22:22:22 khorben Exp $ + +Fix for PHP >= 5.5 + +--- lib/TemplateRender.php.orig 2012-10-01 06:54:14.000000000 +0000 ++++ lib/TemplateRender.php +@@ -2466,7 +2466,7 @@ function deleteAttribute(attrName,friend + if ($val = $attribute->getValue($i)) + $default = get_enc_type($val); + else +- $default = $this->getServer()->getValue('appearance','password_hash'); ++ $default = $this->getServer()->getValue('appearance','pla_password_hash'); + + if (! $attribute->getPostValue()) + printf('',$attribute->getName(),$i); Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php:1.1 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php Sun Feb 21 22:22:22 2021 @@ -0,0 +1,15 @@ +$NetBSD: patch-lib_ds__ldap__pla.php,v 1.1 2021/02/21 22:22:22 khorben Exp $ + +Fix for PHP >= 5.5 + +--- lib/ds_ldap_pla.php.orig 2012-10-01 06:54:14.000000000 +0000 ++++ lib/ds_ldap_pla.php +@@ -16,7 +16,7 @@ class ldap_pla extends ldap { + function __construct($index) { + parent::__construct($index); + +- $this->default->appearance['password_hash'] = array( ++ $this->default->appearance['pla_password_hash'] = array( + 'desc'=>'Default HASH to use for passwords', + 'default'=>'md5'); + Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_QueryRender.php diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_QueryRender.php:1.4 --- /dev/null Sun Feb 21 22:22:23 2021 +++ pkgsrc/databases/phpldapadmin/patches/patch-lib_QueryRender.php Sun Feb 21 22:22:22 2021 @@ -0,0 +1,15 @@ +$NetBSD: patch-lib_QueryRender.php,v 1.4 2021/02/21 22:22:22 khorben Exp $ + +Fix for PHP >= 7.3 + +--- lib/QueryRender.php.orig 2012-10-01 06:54:14.000000000 +0000 ++++ lib/QueryRender.php +@@ -321,7 +321,7 @@ class QueryRender extends PageRender { + if (! $results) { + echo _('Search returned no results'); + +- continue; ++ continue 2; + } + + printf('
',$counter); --_----------=_1613946143129090--