|
|
@@ -79,7 +79,12 @@ function change_password($current_password, $new_passwd) {
|
|
|
if (!$ldap_bind) {
|
|
|
return array(false, "Wrong current password");
|
|
|
}
|
|
|
- if (!ldap_exop_passwd($ldapconn, $dn, "",$new_passwd)) {
|
|
|
+
|
|
|
+ $salt = random_bytes(4);
|
|
|
+ $hash = "{SSHA512}" . base64_encode(pack("H*", hash('sha512', $new_passwd . $salt)) .$salt);
|
|
|
+ $entry["userPassword"] = $hash;
|
|
|
+
|
|
|
+ if (! ldap_mod_replace($ldapconn, $dn, $entry)) {
|
|
|
return array(false, "A problem occured, contact admins");
|
|
|
}
|
|
|
|