Author: Kev <klmitch@mit.edu>
authorKevin L. Mitchell <klmitch@mit.edu>
Fri, 20 Apr 2001 20:56:56 +0000 (20:56 +0000)
committerKevin L. Mitchell <klmitch@mit.edu>
Fri, 20 Apr 2001 20:56:56 +0000 (20:56 +0000)
Log message:

Hide server name for /who, too; allow users to see their own server name
in /whois.  Changes still untested...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@427 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
include/ircd_policy.h
ircd/m_who.c
ircd/m_whois.c

index 11e3e731af600b39608fa1cb3dd9f50e0dbb7155..3cc1fa864d93cd160bc98411d8b019f67cbd1dbe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2001-04-20  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_whois.c (do_whois): display proper server name if the
+       user is looking up himself
+
+       * ircd/m_who.c (m_who): disable match by servername or display of
+       server names by non-opers
+
+       * include/ircd_policy.h: add define for
+       HEAD_IN_SAND_WHO_SERVERNAME to cover full intent of sub-motion 15
+       of CFV 165
+
 2001-04-18  Kevin L. Mitchell  <klmitch@mit.edu>
 
        * ircd/s_conf.c: keep the $R in memory so we can see it clearly
index de4ac4a31cf9c1885e7cb6e962919e7e4493efaa..21e8b62c734b236cf0cc12e0eb67bf0f4f8553be 100644 (file)
  */
 
 #define HEAD_IN_SAND_WHOIS_SERVERNAME
+#define HEAD_IN_SAND_WHO_SERVERNAME
 
 #endif /* INCLUDED_ircd_policy_h */
index ecb27b4dc302e3a8239d1e6dbc7ebb5aaccd168f..a2d871853841b846b4686bd2e56be7e17d572f36 100644 (file)
@@ -210,7 +210,10 @@ int m_who(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
           continue;
         case 's':
         case 'S':
-          matchsel |= WHO_FIELD_SER;
+#ifdef HEAD_IN_SAND_WHO_SERVERNAME
+          if (IsAnOper(sptr))
+#endif
+            matchsel |= WHO_FIELD_SER;
           continue;
         case 'r':
         case 'R':
@@ -256,7 +259,10 @@ int m_who(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
             break;
           case 's':
           case 'S':
-            fields |= WHO_FIELD_SER;
+#ifdef HEAD_IN_SAND_WHO_SERVERNAME
+            if (IsAnOper(sptr))
+#endif
+              fields |= WHO_FIELD_SER;
             break;
           case 't':
           case 'T':
index 51d0354812b203f030dfed41c4477c88f29b536b..0847f5366b8cb683acd9cd78e4a28ec508eae222 100644 (file)
@@ -190,7 +190,7 @@ static void do_whois(struct Client* sptr, struct Client *acptr)
   }
 
 #ifdef HEAD_IN_SAND_WHOIS_SERVERNAME
-  if (!IsOper(sptr))
+  if (!IsOper(sptr) || sptr == a2cptr)
     send_reply(sptr, RPL_WHOISSERVER, name, "*.undernet.org",
               "The Undernet Underworld");
   else