Fix for lockout duration "forever", samba-3.0.3pre2

Jianliang Lu j.lu at tiesse.com
Wed Apr 21 10:13:20 GMT 2004


This patch fix the lockout duration "forever":
The account policy of usrmgr didn't show the password policy setting when 
the "lockout duration" is set to forever.

FIXME:
--- srv_samr_nt.c.orig  Wed Apr 21 11:02:20 2004
+++ srv_samr_nt.c   Wed Apr 21 11:02:42 2004
@@ -2089,7 +2089,10 @@
            account_policy_get(AP_BAD_ATTEMPT_LOCKOUT, &account_policy_temp);
            lockout = account_policy_temp;

-           unix_to_nt_time_abs(&nt_lock_duration, u_lock_duration);
+           if (u_lock_duration)
+               unix_to_nt_time_abs(&nt_lock_duration, u_lock_duration);
+           else
+               unix_to_nt_time_abs(&nt_lock_duration, -1);
            unix_to_nt_time_abs(&nt_reset_time, u_reset_time);

                    init_unk_info12(&ctr->info.inf12, nt_lock_duration, 
nt_reset_time,
 (uint16)lockout);
@@ -4442,7 +4445,10 @@
            account_policy_get(AP_BAD_ATTEMPT_LOCKOUT, &account_policy_temp);
            lockout = account_policy_temp;

-           unix_to_nt_time_abs(&nt_lock_duration, u_lock_duration);
+           if (u_lock_duration)
+               unix_to_nt_time_abs(&nt_lock_duration, u_lock_duration);
+           else
+               unix_to_nt_time_abs(&nt_lock_duration, -1);
            unix_to_nt_time_abs(&nt_reset_time, u_reset_time);

                    init_unk_info12(&ctr->info.inf12, nt_lock_duration, 
nt_reset_time,
 (uint16)lockout);
@@ -4502,7 +4508,11 @@
        case 0x07:
            break;
        case 0x0c:
-           u_lock_duration=nt_time_to_unix_abs(&q_u->ctr-
>info.inf12.duration)/60;
+           u_lock_duration=nt_time_to_unix_abs(&q_u->ctr-
>info.inf12.duration);
+           if (u_lock_duration == -1)
+               u_lock_duration = 0;
+           else
+               u_lock_duration = u_lock_duration/60;
            u_reset_time=nt_time_to_unix_abs(&q_u->ctr-
>info.inf12.reset_count)/60;

            account_policy_set(AP_LOCK_ACCOUNT_DURATION, (int)
u_lock_duration);
---

Jianliang Lu
TieSse s.p.a.     Ivrea (To) - Italy
j.lu at tiesse.com   luj at libero.it
http://www.tiesse.com


More information about the samba-technical mailing list