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

Reply via email to