Index: Unreal3.2.orig/include/numeric.h
===================================================================
--- Unreal3.2.orig.orig/include/numeric.h
+++ Unreal3.2.orig/include/numeric.h
@@ -180,6 +180,9 @@
 #define RPL_LISTEND          323
 #define RPL_CHANNELMODEIS    324
 #define RPL_CREATIONTIME     329
+
+#define RPL_WHOISLOGGEDIN    330	/* ircu/charybdis-family --nenolod */
+
 #define RPL_NOTOPIC          331
 #define RPL_TOPIC            332
 #define RPL_TOPICWHOTIME     333
Index: Unreal3.2.orig/src/modules/m_whois.c
===================================================================
--- Unreal3.2.orig.orig/src/modules/m_whois.c
+++ Unreal3.2.orig/src/modules/m_whois.c
@@ -322,6 +322,13 @@ DLLFUNC int  m_whois(aClient *cptr, aCli
 					    name, acptr->user->swhois);
 
 			/*
+			 * display services account name if it's actually a services account name and
+			 * not a legacy timestamp.  --nenolod
+			 */
+			if (!isdigit(*user->svid) && *user->svid != '*')
+				sendto_one(sptr, rpl_str(RPL_WHOISLOGGEDIN), me.name, parv[0], name, user->svid);
+
+			/*
 			 * Fix /whois to not show idle times of
 			 * global opers to anyone except another
 			 * global oper or services.
Index: Unreal3.2.orig/src/s_err.c
===================================================================
--- Unreal3.2.orig.orig/src/s_err.c
+++ Unreal3.2.orig/src/s_err.c
@@ -367,7 +367,7 @@ static char *replies[] = {
 /* 327 */ NULL, /* Used */
 /* 328 */ NULL, /* bahamut, austhex */
 /* 329    RPL_CREATIONTIME */ ":%s 329 %s %s %lu",
-/* 330 */ NULL, /* Used */
+/* 330    RPL_WHOISLOGGEDIN */ ":%s 330 %s %s %s :is logged in as", 
 /* 331    RPL_NOTOPIC */ ":%s 331 %s %s :No topic is set.",
 /* 332    RPL_TOPIC */ ":%s 332 %s %s :%s",
 /* 333    RPL_TOPICWHOTIME */ ":%s 333 %s %s %s %lu",
