repo: ngircd action: commit revision: path_from: revision_from: 956bbe2c2856259756557bbffb41b0bd4c8d347c: path_to: revision_to:
commit 956bbe2c2856259756557bbffb41b0bd4c8d347c Author: Alexander BartonDate: 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
--- 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
--- 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-----