From 0e1eb9b6acebc70de8b7b3b02b8bc2dade9038b3 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Thu, 9 Apr 2015 16:05:21 +0200 Subject: [PATCH] LDAP passwords all over the place --- snapporder/lib/functions.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/snapporder/lib/functions.php b/snapporder/lib/functions.php index a1c385d..a637c8c 100644 --- a/snapporder/lib/functions.php +++ b/snapporder/lib/functions.php @@ -15,6 +15,12 @@ function generate_username($data) { return $firstname.$lastname.$rand; } +if( !function_exists('hash_ldap_password') ) { + function hash_ldap_password($raw_password) { + $salt = openssl_random_pseudo_bytes(4); + return '{SSHA}' . base64_encode(sha1( $raw_password.$salt, TRUE ). $salt); + } +} function add_user($data, $source) { global $conn; @@ -407,6 +413,7 @@ function update_user($data) { $sql .= "username=" .$conn->quoteSmart($data['username']).","; $sql .= "ldap_username=" .$conn->quoteSmart($data['username']).","; $sql .= "password=PASSWORD(" .$conn->quoteSmart($data['password'])."),"; + $sql .= "ldap_password=" .$conn->quoteSmart(hash_ldap_password($data['password'])).","; $sql .= $birthdate_sql; $sql .= "placeOfStudy=" .$conn->quoteSmart($data['place_of_study']).","; $sql .= "registration_status='full'";