Author: gd
Date: 2005-01-10 15:28:07 +0000 (Mon, 10 Jan 2005)
New Revision: 4646

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4646

Log:
Allow Account Lockout with Lockout Duration "forever" (until admin
unlocks) to be set and displayed in User Manager.

Guenther

Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c
   trunk/source/rpc_server/srv_samr_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c  2005-01-10 13:17:36 UTC 
(rev 4645)
+++ branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c  2005-01-10 15:28:07 UTC 
(rev 4646)
@@ -2163,7 +2163,9 @@
                        break;
                case 0x0c:
                        account_policy_get(AP_LOCK_ACCOUNT_DURATION, 
&account_policy_temp);
-                       u_lock_duration = account_policy_temp * 60;
+                       u_lock_duration = account_policy_temp;
+                       if (u_lock_duration != -1)
+                               u_lock_duration *= 60;
 
                        account_policy_get(AP_RESET_COUNT_TIME, 
&account_policy_temp);
                        u_reset_time = account_policy_temp * 60;
@@ -4466,7 +4468,9 @@
                        break;
                case 0x0c:
                        account_policy_get(AP_LOCK_ACCOUNT_DURATION, 
&account_policy_temp);
-                       u_lock_duration = account_policy_temp * 60;
+                       u_lock_duration = account_policy_temp;
+                       if (u_lock_duration != -1)
+                               u_lock_duration *= 60;
 
                        account_policy_get(AP_RESET_COUNT_TIME, 
&account_policy_temp);
                        u_reset_time = account_policy_temp * 60;
@@ -4534,7 +4538,9 @@
                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 /= 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);

Modified: trunk/source/rpc_server/srv_samr_nt.c
===================================================================
--- trunk/source/rpc_server/srv_samr_nt.c       2005-01-10 13:17:36 UTC (rev 
4645)
+++ trunk/source/rpc_server/srv_samr_nt.c       2005-01-10 15:28:07 UTC (rev 
4646)
@@ -2166,7 +2166,9 @@
                        break;
                case 0x0c:
                        account_policy_get(AP_LOCK_ACCOUNT_DURATION, 
&account_policy_temp);
-                       u_lock_duration = account_policy_temp * 60;
+                       u_lock_duration = account_policy_temp;
+                       if (u_lock_duration != -1)
+                               u_lock_duration *= 60;
 
                        account_policy_get(AP_RESET_COUNT_TIME, 
&account_policy_temp);
                        u_reset_time = account_policy_temp * 60;
@@ -4443,7 +4445,9 @@
                        break;
                case 0x0c:
                        account_policy_get(AP_LOCK_ACCOUNT_DURATION, 
&account_policy_temp);
-                       u_lock_duration = account_policy_temp * 60;
+                       u_lock_duration = account_policy_temp;
+                       if (u_lock_duration != -1)
+                               u_lock_duration *= 60;
 
                        account_policy_get(AP_RESET_COUNT_TIME, 
&account_policy_temp);
                        u_reset_time = account_policy_temp * 60;
@@ -4511,7 +4515,9 @@
                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 /= 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);

Reply via email to