Code

Updated kerberos password handling
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 15 Nov 2006 13:45:57 +0000 (13:45 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 15 Nov 2006 13:45:57 +0000 (13:45 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@5126 594d385d-05f5-0310-b6e9-bd551577e9d8

Changelog
include/class_password-methods-kerberos.inc
include/class_password-methods.inc

index 5c04a2748d67ad4262fcc6b3639ada5587c4d27b..92b29026013c454abb74642cf5179d1f213462e9 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -17,6 +17,7 @@ GOsa2 changelog
   - Avoid removal of shares while they are used by users
   - Added finer grained ACL settings for mail accounts
   - Fixed day of birth problem in M$ IE
+  - Fixed setting of Kerberos passwords
 
 * gosa 2.5.5
   - Added remove method for shared folder in kolab mode
index 1e8ba722dc1f90c579b81c7b0e6bdfa9a7e4f5bd..d1c7757825982638be9d18d51785869c49640bb3 100644 (file)
@@ -52,7 +52,7 @@ class passwordMethodkerberos extends passwordMethod
                                print_red (_("Kerberos database communication failed!"));
                        }
 
-                       $ret= kadm5_chpass_principal($handle, $attrs['uid'][0]."@".$cfg['REALM'],$password);
+                       $ret= kadm5_chpass_principal($handle, $this->attrs['uid'][0]."@".$cfg['REALM'],$password);
 
                        if ($ret === FALSE)
                        {
@@ -61,7 +61,7 @@ class passwordMethodkerberos extends passwordMethod
 
                        kadm5_destroy($handle);
 
-                       $newpass= "{kerberos}".$attrs['uid'][0]."@".$cfg['REALM'];
+                       $newpass= "{kerberos}".$this->attrs['uid'][0]."@".$cfg['REALM'];
 
                        return $newpass;       
                }
index 97571da7900f3e6d51f3190319cc0ba9508d6e64..2755134f11c15115fe7420b9ffada04b9da1afc6 100644 (file)
@@ -22,6 +22,7 @@
 class passwordMethod
 {
   var $config = false;
+  var $attrs= array();
 
   // Konstructor
   function passwordMethod($config)
@@ -102,7 +103,7 @@ function change_password ($dn, $password, $mode=0, $hash= "")
 
   // read current password entry for $dn, to detect the encryption Method
   $ldap       = $config->get_ldap_link();
-  $ldap->cat ($dn, array("shadowLastChange", "userPassword"));
+  $ldap->cat ($dn, array("shadowLastChange", "userPassword", "uid"));
   $attrs      = $ldap->fetch ();
 
   // Set encryption type to clear if required 
@@ -124,6 +125,7 @@ function change_password ($dn, $password, $mode=0, $hash= "")
 
     // Crypt with the detected Method
     $test = new  $available[$hash]($config);
+    $test->attrs= $attrs;
     $newpass =  $test->generate_hash($password);
 
   } else {