]> git.immae.eu Git - perso/Immae/Config/Nix/NUR.git/commitdiff
Upgrade phpLDAPAdmin to a fork
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 5 Jan 2020 16:30:37 +0000 (17:30 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 24 Apr 2020 22:04:40 +0000 (00:04 +0200)
pkgs/webapps/phpldapadmin/default.nix
pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch [deleted file]
pkgs/webapps/phpldapadmin/ldap-fix-password.patch [new file with mode: 0644]
pkgs/webapps/phpldapadmin/ldap-php5_5.patch [deleted file]
pkgs/webapps/phpldapadmin/ldap-php7_2.patch [deleted file]

index 70fd19af50816dd22db9af0b8ba3fd012efbe8ce..da32f97846a12b3cbfb2770c868dca3339b1cff8 100644 (file)
@@ -1,17 +1,20 @@
-{ config ? "/etc/phpldapadmin/config.php", fetchurl, stdenv, optipng }:
+{ config ? "/etc/phpldapadmin/config.php", fetchurl, fetchFromGitHub, stdenv, optipng }:
 stdenv.mkDerivation rec {
-  version = "1.2.3";
+  version = "1.2.5";
   name = "phpldapadmin-${version}";
-  src = fetchurl {
-    url = "https://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/${version}/${name}.tgz";
-    sha256 = "0n7dhp2a7n1krmnik3pb969jynsmhghmxviivnckifkprv1zijmf";
+  src = fetchFromGitHub {
+    owner = "leenooks";
+    repo = "phpLDAPadmin";
+    rev = "8f4ced96f9c63a09510a5bccb2189a8b92fb29ba";
+    sha256 = "1x6xc3xbvw3aj46i5ds06a8h6mfljxdv3argxrzz02l541ra6ni7";
   };
   patches = [
-    ./ldap-php5_5.patch
-    ./ldap-disable-mcrypt.patch
-    ./ldap-php7_2.patch
+    #./ldap-php5_5.patch
+    #./ldap-disable-mcrypt.patch
+    #./ldap-php7_2.patch
     ./ldap-sort-in-templates.patch
     ./ldap-align-button.patch
+    ./ldap-fix-password.patch
     ];
   buildInputs = [ optipng ];
   buildPhase = ''
diff --git a/pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch b/pkgs/webapps/phpldapadmin/ldap-disable-mcrypt.patch
deleted file mode 100644 (file)
index 8bc4e7b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -wbBur phpldapadmin-1.2.3/lib/functions.php phpldapadmin-1.2.3.my/lib/functions.php
---- phpldapadmin-1.2.3/lib/functions.php       2012-10-01 10:54:14.000000000 +0400
-+++ phpldapadmin-1.2.3.my/lib/functions.php    2017-02-02 20:02:14.424245233 +0300
-@@ -745,6 +745,7 @@
-       if (! trim($secret))
-               return $data;
-+/*
-       if (function_exists('mcrypt_module_open') && ! empty($data)) {
-               $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,'');
-               $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM);
-@@ -754,7 +755,7 @@
-               return $encrypted_data;
-       }
--
-+*/
-       if (file_exists(LIBDIR.'blowfish.php'))
-               require_once LIBDIR.'blowfish.php';
-       else
-@@ -801,6 +802,7 @@
-       if (! trim($secret))
-               return $encdata;
-+/*
-       if (function_exists('mcrypt_module_open') && ! empty($encdata)) {
-               $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,'');
-               $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM);
-@@ -810,6 +812,7 @@
-               return $decrypted_data;
-       }
-+*/
-       if (file_exists(LIBDIR.'blowfish.php'))
-               require_once LIBDIR.'blowfish.php';
diff --git a/pkgs/webapps/phpldapadmin/ldap-fix-password.patch b/pkgs/webapps/phpldapadmin/ldap-fix-password.patch
new file mode 100644 (file)
index 0000000..d2d80e4
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/htdocs/login.php b/htdocs/login.php
+index 48f9e2e..298b07d 100644
+--- a/htdocs/login.php
++++ b/htdocs/login.php
+@@ -13,7 +13,7 @@ require './common.php';
+ $user = array();
+ $user['login'] = get_request('login');
+-$user['password'] = get_request('login_pass');
++$user['password'] = get_request('login_pass','POST',false,null,false);
+ if ($user['login'] && ! strlen($user['password']))
+        system_message(array(
diff --git a/pkgs/webapps/phpldapadmin/ldap-php5_5.patch b/pkgs/webapps/phpldapadmin/ldap-php5_5.patch
deleted file mode 100644 (file)
index 8545ad2..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -Nrbu phpldapadmin-1.2.3/lib/PageRender.php phpldapadmin-1.2.3-OK/lib/PageRender.php
---- phpldapadmin-1.2.3/lib/PageRender.php      2012-10-01 10:54:14.000000000 +0400
-+++ phpldapadmin-1.2.3-OK/lib/PageRender.php   2013-11-12 03:44:40.518144839 +0400
-@@ -287,7 +287,7 @@
-                                               break;
-                                       default:
--                                              $vals[$i] = password_hash($passwordvalue,$enc);
-+                                              $vals[$i] = pla_password_hash($passwordvalue,$enc);
-                               }
-                               $vals = array_unique($vals);
-diff -Nrbu phpldapadmin-1.2.3/lib/ds_ldap.php phpldapadmin-1.2.3-OK/lib/ds_ldap.php
---- phpldapadmin-1.2.3/lib/ds_ldap.php 2012-10-01 10:54:14.000000000 +0400
-+++ phpldapadmin-1.2.3-OK/lib/ds_ldap.php      2013-11-12 03:40:56.638343739 +0400
-@@ -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})/',
-+                                      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);
-       }
-       public function getRootDSE($method=null) {
-diff -Nrbu phpldapadmin-1.2.3/lib/functions.php phpldapadmin-1.2.3-OK/lib/functions.php
---- phpldapadmin-1.2.3/lib/functions.php       2012-10-01 10:54:14.000000000 +0400
-+++ phpldapadmin-1.2.3-OK/lib/functions.php    2013-11-12 03:44:17.298065264 +0400
-@@ -2127,7 +2127,7 @@
-  *        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 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);
-@@ -2318,7 +2318,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;
-@@ -2327,7 +2327,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;
-@@ -2392,7 +2392,7 @@
-               # 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 +2565,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);
-       }
- }
diff --git a/pkgs/webapps/phpldapadmin/ldap-php7_2.patch b/pkgs/webapps/phpldapadmin/ldap-php7_2.patch
deleted file mode 100644 (file)
index 40ee055..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -wbBur phpldapadmin.org/lib/functions.php phpldapadmin/lib/functions.php
---- phpldapadmin.org/lib/functions.php 2017-02-02 10:03:58.000000000 -0700
-+++ phpldapadmin/lib/functions.php     2018-01-23 06:18:31.118312887 -0700
-@@ -51,7 +51,7 @@
- /**
-  * Loads class definition
-  */
--function __autoload($className) {
-+spl_autoload_register(function($className) {
-       if (file_exists(HOOKSDIR."classes/$className.php"))
-               require_once(HOOKSDIR."classes/$className.php");
-       elseif (file_exists(LIBDIR."$className.php"))
-@@ -64,7 +64,7 @@
-                       'body'=>sprintf('%s: %s [%s]',
-                               __METHOD__,_('Called to load a class that cant be found'),$className),
-                       'type'=>'error'));
--}
-+});
- /**
-  * Strips all slashes from the specified array in place (pass by ref).
-@@ -1083,7 +1083,7 @@
-               $code .= 'return $c;';
--              $CACHE[$sortby] = create_function('$a, $b',$code);
-+              eval("\$CACHE[\$sortby] = function(\$a, \$b) { $code; };");
-       }
-       uasort($data,$CACHE[$sortby]);