Log account rather than ident upon exit.
authorMichael Poole <mdpoole@troilus.org>
Fri, 1 Jun 2012 01:22:21 +0000 (21:22 -0400)
committerMichael Poole <mdpoole@troilus.org>
Fri, 1 Jun 2012 01:22:21 +0000 (21:22 -0400)
This fixes SourceForge bug #2992882.

ChangeLog
include/client.h
ircd/s_misc.c

index 9d8aa471cf11b351809b6fd9b01c087cfa014439..aa3234178f1c20cd547b0fa35fece3bb1525705e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-05-07  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h (cli_account): New helper macro to return the
+       client's account name, or "0" for unstamped clients.
+
+       * ircd/s_misc.c (exit_client): Use that when logging the client's
+       exit.
+
 2012-05-07  Michael Poole <mdpoole@troilus.org>
 
        * ircd/gline.c (count_users): Use the client's real host, rather
 2012-05-07  Michael Poole <mdpoole@troilus.org>
 
        * ircd/gline.c (count_users): Use the client's real host, rather
index 26f0481cdaf13a7e8a4704dc8ae44e90793d703c..d889fd36f27329c51d976250ce704fae2b439c3f 100644 (file)
@@ -317,6 +317,8 @@ struct Client {
 #define cli_username(cli)      ((cli)->cli_username)
 /** Get client realname (information field). */
 #define cli_info(cli)          ((cli)->cli_info)
 #define cli_username(cli)      ((cli)->cli_username)
 /** Get client realname (information field). */
 #define cli_info(cli)          ((cli)->cli_info)
+/** Get client account string. */
+#define cli_account(cli)       (cli_user(cli) ? cli_user(cli)->account : "0")
 
 /** Get number of incoming bytes queued for client. */
 #define cli_count(cli)         con_count(cli_connect(cli))
 
 /** Get number of incoming bytes queued for client. */
 #define cli_count(cli)         con_count(cli_connect(cli))
index b5324fa3fffd49344bb3add2c05af2d12a727830..111e9c7dc56508c11028a717367c1fd604c31dc9 100644 (file)
@@ -389,7 +389,7 @@ int exit_client(struct Client *cptr,
                cli_firsttime(victim), on_for,
                cli_user(victim)->username, cli_sockhost(victim),
                 ircd_ntoa(&cli_ip(victim)),
                cli_firsttime(victim), on_for,
                cli_user(victim)->username, cli_sockhost(victim),
                 ircd_ntoa(&cli_ip(victim)),
-                IsAccount(victim) ? cli_username(victim) : "0",
+                cli_account(victim),
                 NumNick(victim), /* two %s's */
                 cli_name(victim), cli_info(victim));
 
                 NumNick(victim), /* two %s's */
                 cli_name(victim), cli_info(victim));