Author: coudot
Date: 2010-02-12 18:14:33 +0100 (Fri, 12 Feb 2010)
New Revision: 53
Modified:
self-service-password/trunk/config.inc.php
self-service-password/trunk/functions.inc.php
self-service-password/trunk/index.php
Log:
#164: add samba hash
Modified: self-service-password/trunk/config.inc.php
===================================================================
--- self-service-password/trunk/config.inc.php 2010-02-12 16:08:11 UTC (rev 52)
+++ self-service-password/trunk/config.inc.php 2010-02-12 17:14:33 UTC (rev 53)
@@ -34,6 +34,12 @@
# off: LDAPv3 standard behavior
$ad_mode = "off";
+# Samba mode
+# on: update sambaNTpassword attribute too
+# off: just update the password
+# Warning: this require mhash() to be installed on your system
+$samba_mode = "off";
+
# Hash mechanism for password:
# SSHA
# SHA
Modified: self-service-password/trunk/functions.inc.php
===================================================================
--- self-service-password/trunk/functions.inc.php 2010-02-12 16:08:11 UTC
(rev 52)
+++ self-service-password/trunk/functions.inc.php 2010-02-12 17:14:33 UTC
(rev 53)
@@ -66,6 +66,13 @@
return $hash;
}
+# Create MD4 password (Microsoft NT password format)
+# Require mhash() function
+function make_md4_password($password) {
+ $hash = strtoupper( bin2hex( mhash( MHASH_MD4, iconv( "UTF-8", "UTF-16LE",
$password ) ) ) );
+ return $hash;
+}
+
# Strip slashes added by PHP
# Only if magic_quote_gpc is not set to off in php.ini
function stripslashes_if_gpc_magic_quotes( $string ) {
Modified: self-service-password/trunk/index.php
===================================================================
--- self-service-password/trunk/index.php 2010-02-12 16:08:11 UTC (rev 52)
+++ self-service-password/trunk/index.php 2010-02-12 17:14:33 UTC (rev 53)
@@ -113,6 +113,11 @@
error_log("LDAP - Bind user error $errno (".ldap_error($ldap).")");
} else {
+ # Set Samba password value
+ if ( $samba_mode == "on" ) {
+ $userdata["sambaNTPassword"] = make_md4_password($newpassword);
+ }
+
# Transform password value
if ( $ad_mode == "on" ) {
$newpassword = "\"" . $newpassword . "\"";
_______________________________________________
ltb-changes mailing list
[email protected]
http://lists.ltb-project.org/listinfo/ltb-changes