From eac917cdeca82ff79b8750e58a6d3006dd5c518c Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Fri, 18 Nov 2005 02:30:57 +0000 Subject: [PATCH] Add HIS_MODEWHO feature. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1564 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 15 +++++++++++++++ doc/example.conf | 1 + doc/readme.features | 7 +++++++ include/ircd_features.h | 1 + ircd/channel.c | 5 ++++- ircd/ircd_features.c | 1 + 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fe8c7da..ee20847 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2005-11-15 Brian Cline + + * 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 * doc/example.conf (Features): Mention ZANNELS default. diff --git a/doc/example.conf b/doc/example.conf index 0acbc8a..556ebb9 100644 --- a/doc/example.conf +++ b/doc/example.conf @@ -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"; diff --git a/doc/readme.features b/doc/readme.features index 13c2281..bef0e1c 100644 --- a/doc/readme.features +++ b/doc/readme.features @@ -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 diff --git a/include/ircd_features.h b/include/ircd_features.h index 128d019..524f23a 100644 --- a/include/ircd_features.h +++ b/include/ircd_features.h @@ -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, diff --git a/ircd/channel.c b/ircd/channel.c index deda7ea..dbdd534 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -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; diff --git a/ircd/ircd_features.c b/ircd/ircd_features.c index ab3af00..0ffad1a 100644 --- a/ircd/ircd_features.c +++ b/ircd/ircd_features.c @@ -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), -- 2.20.1