summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/inspircd.conf.example10
-rw-r--r--src/modules/m_spanningtree.cpp8
2 files changed, 16 insertions, 2 deletions
diff --git a/docs/inspircd.conf.example b/docs/inspircd.conf.example
index a4b2f0f38..a3ecbe557 100644
--- a/docs/inspircd.conf.example
+++ b/docs/inspircd.conf.example
@@ -676,11 +676,18 @@
# this can save a lot of resources on very busy irc #
# servers. #
# #
-# syntaxhints - If set to 'yes', 'true' or '1', when a user does #
+# syntaxhints - If set to 'yes', 'true' or '1', when a user does #
# not give enough parameters for a command, a syntax #
# hint will be given (using the RPL_TEXT numeric) #
# as well as the standard ERR_NEEDMOREPARAMS. #
# #
+# announcets - If this value is defined to 'yes', 'true' or '1', #
+# then if a channel's timestamp is updated the users #
+# on the channel will be informed of the change via #
+# a server notice to the channel with the old and #
+# new TS values in the timestamp. If you think this #
+# is just pointless noise, define the value to 0. #
+# #
<options prefixquit="Quit: "
loglevel="default"
@@ -702,6 +709,7 @@
nouserdns="no"
syntaxhints="no"
cyclehosts="yes"
+ announcets="yes"
allowhalfop="yes">
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 53f5d2909..4138d3827 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -114,6 +114,8 @@ void ReadConfiguration(bool rebind);
bool FlatLinks;
/* Hide U-Lined servers in /MAP and /LINKS */
bool HideULines;
+/* Announce TS changes to channels on merge */
+bool AnnounceTSChange;
std::vector<std::string> ValidIPs;
@@ -1606,7 +1608,10 @@ class TreeSocket : public InspSocket
if (chan)
chan->age = TS;
- /* XXX: Lower the TS here */
+ /* Lower the TS here */
+ if (AnnounceTSChange && chan)
+ chan->WriteChannelWithServ(Instance->Config->ServerName,
+ "TS for %s changed from %lu to %lu", chan->name, ourTS, TS);
ourTS = TS;
param_list.push_back(channel);
@@ -3753,6 +3758,7 @@ void ReadConfiguration(bool rebind)
}
FlatLinks = Conf->ReadFlag("options","flatlinks",0);
HideULines = Conf->ReadFlag("options","hideulines",0);
+ AnnounceTSChange = Conf->ReadFlag("options","announcets",0);
LinkBlocks.clear();
ValidIPs.clear();
for (int j =0; j < Conf->Enumerate("link"); j++)