repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 956bbe2c2856259756557bbffb41b0bd4c8d347c:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 956bbe2c2856259756557bbffb41b0bd4c8d347c
Author: Alexander Barton 
Date:   Sat May 24 21:50:54 2008 +0200

    Reset client idle time on NICK, JOIN, and PART

diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index e95999275aaab341c5a40252754d7343efa99df7..
index ..92dd8cd37559908da502f289cdee024b65cfe97b 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -26,6 +26,7 @@ static char UNUSED id[] = "$Id: irc-channel.c,v 1.45 2008/02/24 18:57:38 fw Exp
 #include "conn.h"
 #include "client.h"
 #include "channel.h"
+#include "conn-func.h"
 #include "lists.h"
 #include "log.h"
 #include "match.h"
@@ -253,6 +254,9 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
 			} else
 				if (!join_allowed(Client, target, chan, channame, key))
 					break;
+
+			/* Local client: update idle time */
+			Conn_UpdateIdle(Client_Conn(Client));
 		} else {
 			/* Remote server: we don't need to know whether the
 			 * client is invited or not, but we have to make sure
@@ -333,6 +337,11 @@ IRC_PART(CLIENT * Client, REQUEST * Req)
 			     Req->argc > 1 ? Req->argv[1] : Client_ID(target));
 		chan = strtok(NULL, ",");
 	}
+
+	/* Update idle time, if local client */
+	if (Client_Conn(Client) > NONE)
+		Conn_UpdateIdle(Client_Conn(Client));
+
 	return CONNECTED;
 } /* IRC_PART */

diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index e94b62fe00e35d01789e9382bfc533d4d0fd15d6..
index ..362a133c858518b7ee0640d1cc3ac96addaf1026 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -256,13 +256,13 @@ IRC_NICK( CLIENT *Client, REQUEST *Req )
 		else
 		{
 			/* Nickname change */
-			if( Client_Conn( target ) > NONE )
-			{
+			if (Client_Conn(target) > NONE) {
 				/* Local client */
-				Log( LOG_INFO,
-				     "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".",
-				     Client_Mask( target ), Client_Conn( target ),
-				     Client_ID( target ), Req->argv[0] );
+				Log(LOG_INFO,
+				    "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".",
+				    Client_Mask(target), Client_Conn(target),
+				    Client_ID(target), Req->argv[0]);
+				Conn_UpdateIdle(Client_Conn(target));
 			}
 			else
 			{

-----END OF PAGE-----