]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Fix ldap passwords
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 7 Jul 2024 00:36:38 +0000 (02:36 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 7 Jul 2024 00:42:21 +0000 (02:42 +0200)
deploy/flake.lock
flake.lock
flakes/flake.lock
systems/eldiron/base.nix
systems/eldiron/websites/tools/landing/ldap_password.php

index c5cd82e96fca8e6e12c393619f49421ee8896cf2..de358ff79bee7f2c5bb15474f35893aea1887e4f 100644 (file)
       },
       "locked": {
         "lastModified": 1,
-        "narHash": "sha256-mPLHIHp2ZF2MQSiKJhYj2SA9JTN3iKjyUkW6tF+uTsM=",
+        "narHash": "sha256-DK32C6dLSeXBxrQx3B6RVyLnqIB6i9trlZlb0vkl7J4=",
         "path": "../flakes",
         "type": "path"
       },
       },
       "locked": {
         "lastModified": 1,
-        "narHash": "sha256-+wiHTKFrgD2yAUUioWhq3rnIX/Is37UsMpLb6YDfpIs=",
+        "narHash": "sha256-IiNmTt+EL9aW6oEWp/JyUfjVLnLAu2MfX9e0b8J7/h0=",
         "path": "../systems/eldiron",
         "type": "path"
       },
index 3ae807dc69b3d09e4abe44bf6afb8735469a97b0..2a51070894892f873f3f45ca35fdf87fc8bf33ef 100644 (file)
       },
       "locked": {
         "lastModified": 1,
-        "narHash": "sha256-mPLHIHp2ZF2MQSiKJhYj2SA9JTN3iKjyUkW6tF+uTsM=",
+        "narHash": "sha256-DK32C6dLSeXBxrQx3B6RVyLnqIB6i9trlZlb0vkl7J4=",
         "path": "./flakes",
         "type": "path"
       },
       },
       "locked": {
         "lastModified": 1,
-        "narHash": "sha256-+wiHTKFrgD2yAUUioWhq3rnIX/Is37UsMpLb6YDfpIs=",
+        "narHash": "sha256-IiNmTt+EL9aW6oEWp/JyUfjVLnLAu2MfX9e0b8J7/h0=",
         "path": "../systems/eldiron",
         "type": "path"
       },
index 1d7486d570a9a95c2ac04450a141c1a0cedc9dc6..e8924ee4bfcf92a7692d0abd64fa51f8e06ebb20 100644 (file)
       },
       "locked": {
         "lastModified": 1,
-        "narHash": "sha256-+wiHTKFrgD2yAUUioWhq3rnIX/Is37UsMpLb6YDfpIs=",
+        "narHash": "sha256-IiNmTt+EL9aW6oEWp/JyUfjVLnLAu2MfX9e0b8J7/h0=",
         "path": "../systems/eldiron",
         "type": "path"
       },
index fa5e504d09592761705d0bf51230d5d7cd0b89b4..4535dcf500f800d6ac415a07c5d36a60aa7ed7ff 100644 (file)
         table = ldap_users
         user_column = login
         pw_type = function
-        auth_query = SELECT ((mechanism = 'SSHA' AND password = encode(digest( %p || salt, 'sha1'), 'hex')) OR (mechanism = 'PLAIN' AND password = %p)) FROM ldap_users WHERE login = %u OR login || '@' || realm = %u
+        auth_query = SELECT ((mechanism = 'SSHA' AND password = encode(digest( convert_to(%p, 'UTF8') || salt, 'sha1'), 'hex')) OR (mechanism = 'PLAIN' AND password = %p)) FROM ldap_users WHERE login = %u OR login || '@' || realm = %u
         #pwd_query = WITH newsalt as (select gen_random_bytes(4)) UPDATE ldap_users SET password = encode(digest( %p || (SELECT * FROM newsalt), 'sha1'), 'hex'), salt = (SELECT * FROM newsalt), mechanism = 'SSHA' WHERE login = %u OR login || '@' || realm = %u
       '';
     };
index efb4f578f8b5dfdfc9124f51974f2d575237f900..b3b2f15aa7e490960b5ad2579bd917de1b5b07a9 100644 (file)
@@ -45,7 +45,7 @@ function changePasswordSQL($user_realm, $newPassword) {
     }
   }
   $con = pg_connect("");
-  $result = pg_query_params($con, "WITH newsalt as (SELECT gen_random_bytes(4)) UPDATE ldap_users SET password = encode(digest( $1 || (SELECT * FROM newsalt), 'sha1'), 'hex'), mechanism = 'SSHA', salt = (SELECT * FROM newsalt) where login || '@' || realm = $2", array($newPassword, $user_realm));
+  $result = pg_query_params($con, "WITH newsalt as (SELECT gen_random_bytes(4)) UPDATE ldap_users SET password = encode(digest( convert_to($1, 'UTF8') || (SELECT * FROM newsalt), 'sha1'), 'hex'), mechanism = 'SSHA', salt = (SELECT * FROM newsalt) where login || '@' || realm = $2", array($newPassword, $user_realm));
   if (!$result) {
     $message[] = "Error when accessing database";
     return false;