From 01b7a527a37e111d6e2e1b9427ed0094fd959893 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sun, 29 Aug 2010 22:30:54 +0200 Subject: [PATCH] Show the services login name in WHOWAS. The numeric is the same (330) as used in WHOIS. This takes at most half a megabyte of memory (large network, 30 char nicks). --- include/whowas.h | 3 ++- modules/m_whowas.c | 4 ++++ src/whowas.c | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/whowas.h b/include/whowas.h index 4d5ab21d..616badd7 100644 --- a/include/whowas.h +++ b/include/whowas.h @@ -53,8 +53,9 @@ struct Whowas char username[USERLEN + 1]; char hostname[HOSTLEN + 1]; char sockhost[HOSTIPLEN + 1]; - const char *servername; char realname[REALLEN + 1]; + char suser[NICKLEN + 1]; + const char *servername; time_t logoff; struct Client *online; /* Pointer to new nickname for chasing or NULL */ struct Whowas *next; /* for hash table... */ diff --git a/modules/m_whowas.c b/modules/m_whowas.c index 6007361a..336a6af4 100644 --- a/modules/m_whowas.c +++ b/modules/m_whowas.c @@ -115,6 +115,10 @@ m_whowas(struct Client *client_p, struct Client *source_p, int parc, const char form_str(RPL_WHOISACTUALLY), temp->name, temp->sockhost); #endif + if (!EmptyString(temp->suser)) + sendto_one_numeric(source_p, RPL_WHOISLOGGEDIN, + "%s %s :was logged in as", + temp->name, temp->suser); sendto_one_numeric(source_p, RPL_WHOISSERVER, form_str(RPL_WHOISSERVER), temp->name, temp->servername, diff --git a/src/whowas.c b/src/whowas.c index 9d910a01..41dc9950 100644 --- a/src/whowas.c +++ b/src/whowas.c @@ -81,6 +81,7 @@ void add_history(struct Client *client_p, int online) strcpy(who->username, client_p->username); strcpy(who->hostname, client_p->host); strcpy(who->realname, client_p->info); + strcpy(who->suser, client_p->user->suser); if (!EmptyString(client_p->sockhost) && strcmp(client_p->sockhost, "0") && show_ip(NULL, client_p)) strcpy(who->sockhost, client_p->sockhost); else