Add HIS_MODEWHO feature.
authorMichael Poole <mdpoole@troilus.org>
Fri, 18 Nov 2005 02:30:57 +0000 (02:30 +0000)
committerMichael Poole <mdpoole@troilus.org>
Fri, 18 Nov 2005 02:30:57 +0000 (02:30 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1564 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
doc/example.conf
doc/readme.features
include/ircd_features.h
ircd/channel.c
ircd/ircd_features.c

index fe8c7da986fea279ac35fee4a6826c5d8310cf4c..ee2084741a463d77c97543563ff4b2c43990429c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2005-11-15  Brian Cline <brian.cline@gmail.com>
+
+       * doc/example.conf: Add new line for HIS_MODEWHO feature.
+
+       * doc/readme.features: Document new HIS_MODEWHO feature.
+
+       * include/ircd_features.h: Declare new HIS_MODEWHO feature.
+
+       * ircd/channel.c (modebuf_flush_int): Use new HIS_MODEWHO feature
+       to show or hide the server name that performed a channel mode change.
+
+       * ircd/ircd_features.c: Place new HIS_MODEWHO setting in the feature
+       table and give it a default value of true, which will hide the
+       originating server name.
+
 2005-11-16  Michael Poole <mdpoole@troilus.org>
 
        * doc/example.conf (Features): Mention ZANNELS default.
index 0acbc8af7ee62fb83a645f26493d92db05bf3d20..556ebb9df5b6b7fc963943a94fb54c56287fad44 100644 (file)
@@ -854,6 +854,7 @@ features
 #  "HIS_WHOIS_LOCALCHAN" = "TRUE";
 #  "HIS_WHO_SERVERNAME" = "TRUE";
 #  "HIS_WHO_HOPCOUNT" = "TRUE";
+#  "HIS_MODEWHO" = "TRUE";
 #  "HIS_BANWHO" = "TRUE";
 #  "HIS_KILLWHO" = "TRUE";
 #  "HIS_REWRITE" = "TRUE";
index 13c2281e631aa0b8cd4ee15c52d802788d197629..bef0e1c9552724e18a7f90a600a0072eacec6735 100644 (file)
@@ -679,6 +679,13 @@ HIS_WHO_HOPCOUNT
 As per UnderNet CFV-165, this replaces hopcount to a static 3 in
 replies to /WHO.
 
+HIS_MODEWHO
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this doesn't show which server performed a channel
+mode change.
+
 HIS_BANWHO
  * Type: boolean
  * Default: TRUE
index 128d019aa4e60a13fcff3d8a85060015f4f18aba..524f23a7a7daab951c2aa3a21d3781ae6f8d299d 100644 (file)
@@ -140,6 +140,7 @@ enum Feature {
   FEAT_HIS_WHOIS_LOCALCHAN,
   FEAT_HIS_WHO_SERVERNAME,
   FEAT_HIS_WHO_HOPCOUNT,
+  FEAT_HIS_MODEWHO,
   FEAT_HIS_BANWHO,
   FEAT_HIS_KILLWHO,
   FEAT_HIS_REWRITE,
index deda7eae463b117e7e047970f0f636901e871d26..dbdd53453082e59450f2b4bd075453962037907e 100644 (file)
@@ -1591,7 +1591,10 @@ modebuf_flush_int(struct ModeBuf *mbuf, int all)
 
   /* Ok, if we were given the OPMODE flag, or its a server, hide the source.
    */
-  if (mbuf->mb_dest & MODEBUF_DEST_OPMODE || IsServer(mbuf->mb_source) || IsMe(mbuf->mb_source))
+  if (feature_bool(FEAT_HIS_MODEWHO) &&
+      (mbuf->mb_dest & MODEBUF_DEST_OPMODE ||
+       IsServer(mbuf->mb_source) ||
+       IsMe(mbuf->mb_source)))
     app_source = &his;
   else
     app_source = mbuf->mb_source;
index ab3af0074859c064d954b4cf97b67f0074079e56..0ffad1a201728cc2d4c607ca9966fa22c5e2a46a 100644 (file)
@@ -393,6 +393,7 @@ static struct FeatureDesc {
   F_B(HIS_WHOIS_LOCALCHAN, 0, 1, 0),
   F_B(HIS_WHO_SERVERNAME, 0, 1, 0),
   F_B(HIS_WHO_HOPCOUNT, 0, 1, 0),
+  F_B(HIS_MODEWHO, 0, 1, 0),
   F_B(HIS_BANWHO, 0, 1, 0),
   F_B(HIS_KILLWHO, 0, 1, 0),
   F_B(HIS_REWRITE, 0, 1, 0),