summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-11-05 00:13:29 +0100
committerAttila Molnar <attilamolnar@hush.com>2015-03-11 23:46:00 +0100
commit89257d9bcef1c4dfa9f66d3d5cdca31eded74f47 (patch)
treed11b19287667d5f3c350253ea3ac6ccd2505af15
parente47aacad0ec416069be66b23d5ae8935e708a1bb (diff)
InspIRCd 2.0: Re-set server-side topiclock when an incoming METADATA topiclock from a bursting server changes it
-rw-r--r--modules/protocol/inspircd20.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 5b0c6e847..9130c4354 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -875,6 +875,13 @@ class IRCDMessageMetadata : IRCDMessage
if (modes != params[2])
UplinkSocket::Message(Me) << "METADATA " << c->name << " mlock :" << modes;
}
+ else if ((do_topiclock) && (params[1] == "topiclock"))
+ {
+ bool mystate = c->ci->GetExt<bool>("TOPICLOCK");
+ bool serverstate = (params[2] == "1");
+ if (mystate != serverstate)
+ UplinkSocket::Message(Me) << "METADATA " << c->name << " topiclock :" << (mystate ? "1" : "");
+ }
}
}