Your message dated Sun, 14 Mar 2021 21:15:01 +0100
with message-id <[email protected]>
and subject line Re: Bug#710854: Acknowledgement (Errors/warnings on PHP 5.5)
has caused the Debian Bug report #710854,
regarding Errors/warnings on PHP 5.5
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
710854: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710854
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: phpldapadmin
Version: 1.2.2-5
Hi,
after last Debian dist-upgrade my phpldapadmin stopped to work.
There are two issues related to phpldapadmin + new python version.
The first one is, that lib/functions.php defines a function named
'password_hash',
but such function appears in PHP 5.5 which lead to name clash and error.
See: http://www.php.net/manual/en/function.password-hash.php
The second issue is related to the '/e' modifier of preg_replace, which
is deprecated in PHP 5.5. See
http://www.php.net/manual/en/function.preg-replace.php.
I attach a patch proposition.
--
Pawel Tomulik
diff -ur a/lib/ds_ldap.php b/lib/ds_ldap.php
--- a/lib/ds_ldap.php 2013-06-03 01:37:17.000000000 +0200
+++ b/lib/ds_ldap.php 2013-06-03 02:01:38.000000000 +0200
@@ -1117,12 +1117,14 @@
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);
+ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/e',
+ function ($matches) { return chr(hexdec($matches[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})/e',
+ function ($matches) { return chr(hexdec($matches[1])); }, $dn);
}
public function getRootDSE($method=null) {
diff -ur a/lib/functions.php b/lib/functions.php
--- a/lib/functions.php 2013-06-03 01:30:25.000000000 +0200
+++ b/lib/functions.php 2013-06-03 02:01:12.000000000 +0200
@@ -2126,7 +2126,7 @@
* crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.
* @return string The hashed password.
*/
-function password_hash($password_clear,$enc_type) {
+function pla_password_hash($password_clear,$enc_type) {
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
@@ -2307,7 +2307,7 @@
# SHA crypted passwords
case 'sha':
- if (strcasecmp(password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
+ if (strcasecmp(pla_password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
return true;
else
return false;
@@ -2316,7 +2316,7 @@
# MD5 crypted passwords
case 'md5':
- if( strcasecmp(password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
+ if( strcasecmp(pla_password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
return true;
else
return false;
@@ -2545,12 +2545,14 @@
$a = array();
foreach ($dn as $key => $rdn)
- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
+ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
+ function ($matches) { return chr(hexdec($matches[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 ($matches) { return chr(hexdec($matches[1])); }, $dn);
}
}
--- End Message ---
--- Begin Message ---
Source: phpldapadmin
Source-Version: 1.2.2-5.2
Hi,
This appears to have been fixed quite a while back with the
phpldapadmin/1.2.2-5.2 upload.
Regards,
Salvatore
--- End Message ---