Patch (new) logon time, samba-3.0.2pre1

Jianliang Lu j.lu at tiesse.com
Tue Jan 13 11:06:01 GMT 2004


Now the logon time will be updated only on interactive type and only 
if "logon time" is set to Yes in smb.conf.

Cheers,
Jianliang Lu

Patch:

--- samba-3.0.2pre1/source/rpc_server/srv_netlog_nt.c.orig	Tue Jan 13 
10:18:57 2004
+++ samba-3.0.2pre1/source/rpc_server/srv_netlog_nt.c	Tue Jan 13 10:43:20 
2004
@@ -731,6 +731,18 @@
 		}
 		ZERO_STRUCT(netlogon_sess_key);
 		
+
+		if ((lp_logon_time()) && (ctr->switch_value == 
INTERACTIVE_LOGON_TYPE)){
+			if (!pdb_set_logon_time(sampw, time(NULL), 
PDB_CHANGED))
+	   	          DEBUG(0, ("srv_netlog_nt.c : pdb_set_logon_time 
fialed!\n"));
+
+ 			become_root();
+			if(!pdb_update_sam_account(sampw))
+				DEBUG(0, ("Failed to modify entry for user % 
s.\n",
+							pdb_get_username
(sampw)));
+			unbecome_root();
+		}
+	
 		init_net_user_info3(p->mem_ctx, usr_info, 
 				    user_rid,
 				    group_rid,   

--- samba-3.0.2pre1/source/param/loadparm.c.orig	Tue Jan 13 10:30:33 
2004
+++ samba-3.0.2pre1/source/param/loadparm.c	Tue Jan 13 10:40:50 2004
@@ -288,6 +288,7 @@
 	BOOL bUnixExtensions;
 	BOOL bDisableNetbios;
 	BOOL bKernelChangeNotify;
+	BOOL bLogonTime;
 	int restrict_anonymous;
 	int name_cache_timeout;
 	int client_signing;
@@ -1018,6 +1019,7 @@
 	{"logon path", P_STRING, P_GLOBAL, &Globals.szLogonPath, NULL, NULL, 
FLAG_ADVANCED}, 
 	{"logon drive", P_STRING, P_GLOBAL, &Globals.szLogonDrive, NULL, 
NULL, FLAG_ADVANCED}, 
 	{"logon home", P_STRING, P_GLOBAL, &Globals.szLogonHome, NULL, NULL, 
FLAG_ADVANCED}, 
+	{"logon time", P_BOOL, P_GLOBAL, &Globals.bLogonTime, NULL, NULL, 
FLAG_ADVANCED}, 
 	{"domain logons", P_BOOL, P_GLOBAL, &Globals.bDomainLogons, NULL, 
NULL, FLAG_ADVANCED}, 
 
 	{N_("Browse Options"), P_SEP, P_SEPARATOR}, 
@@ -1791,6 +1793,7 @@
 FN_GLOBAL_INTEGER(lp_oplock_break_wait_time, &Globals.oplock_break_wait_time)
 FN_GLOBAL_INTEGER(lp_lock_spin_count, &Globals.iLockSpinCount)
 FN_GLOBAL_INTEGER(lp_lock_sleep_time, &Globals.iLockSpinTime)
+FN_GLOBAL_BOOL(lp_logon_time, &Globals.bLogonTime)
 FN_LOCAL_STRING(lp_preexec, szPreExec)
 FN_LOCAL_STRING(lp_postexec, szPostExec)
 FN_LOCAL_STRING(lp_rootpreexec, szRootPreExec)

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