$NetBSD: patch-ad,v 1.1.1.1 2008/06/16 16:04:25 taca Exp $ --- smbldap-passwd.orig 2008-04-22 17:13:29.000000000 +0900 +++ smbldap-passwd @@ -99,6 +99,17 @@ if ($< != 0) { system "/bin/stty echo" if (-t STDIN); print "\n"; + { # Check if user dn is stored in subtree. + my $test_conn = connect_ldap_master(); + my $usersdn = &get_user_dn($user); + if ($usersdn && $usersdn =~ /^dn: uid=(.+?)(,(.*))?$config{usersdn}/) { + my ($uid,$subtree) = ("",""); + $uid = $1; $subtree = defined($3)?$3 : ""; + $config{usersdn} = $subtree . $config{usersdn}; + } + $test_conn->unbind; + } + $config{masterDN}="uid=$user,$config{usersdn}"; $config{masterPw}="$oldpass"; $ldap_master=connect_ldap_master(); @@ -228,7 +239,7 @@ if ( $samba and $update_samba_passwd ) { my $winmagic = 2147483647; my $valacctflags = "[U]"; push(@mods, 'sambaPwdMustChange' => 0); - push(@mods, 'sambaPwdLastSet' => 0); + push(@mods, 'sambaPwdLastSet' => $date); push(@mods, 'sambaAcctFlags' => $valacctflags); } # Let's change nt/lm passwords