diff --git a/data/anope.example.conf b/data/anope.example.conf index 738cff972..3271bc01d 100644 --- a/data/anope.example.conf +++ b/data/anope.example.conf @@ -265,26 +265,7 @@ serverinfo * - solanum * - unrealircd */ -module -{ - name = "inspircd" - - /* - * Some protocol modules can enforce mode locks server-side. This reduces the spam caused by - * services immediately reversing mode changes for locked modes. - * - * If the protocol module you have loaded does not support this, this setting will have no effect. - */ - use_server_side_mlock = yes - - /* - * Some protocol modules can enforce topic locks server-side. This reduces the spam caused by - * services immediately reversing topic changes. - * - * If the protocol module you have loaded does not support this, this setting will have no effect. - */ - use_server_side_topiclock = yes -} +module { name = "inspircd" } /* * [REQUIRED] Network Information diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp index 0845938de..593840c06 100644 --- a/modules/protocol/hybrid.cpp +++ b/modules/protocol/hybrid.cpp @@ -711,8 +711,6 @@ class ProtoHybrid final IRCDMessageTMode message_tmode; IRCDMessageUID message_uid; - bool use_server_side_mlock; - static void AddModes() { /* Add user modes */ @@ -819,18 +817,13 @@ public: u->RemoveModeInternal(Me, ModeManager::FindUserModeByName("REGISTERED")); } - void OnReload(Configuration::Conf *conf) override - { - use_server_side_mlock = conf->GetModule(this)->Get("use_server_side_mlock"); - } - void OnChannelSync(Channel *c) override { if (!c->ci) return; ModeLocks *modelocks = c->ci->GetExt("modelocks"); - if (use_server_side_mlock && modelocks && Servers::Capab.count("MLOCK")) + if (modelocks && Servers::Capab.count("MLOCK")) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", ""); Uplink::Send("MLOCK", c->creation_time, c->ci->name, Anope::CurTime, modes); @@ -839,7 +832,7 @@ public: void OnDelChan(ChannelInfo *ci) override { - if (use_server_side_mlock && ci->c && Servers::Capab.count("MLOCK")) + if (ci->c && Servers::Capab.count("MLOCK")) Uplink::Send("MLOCK", ci->c->creation_time, ci->name, Anope::CurTime, ""); } @@ -847,7 +840,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK")) + if (cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK")) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "") + cm->mchar; Uplink::Send("MLOCK", ci->c->creation_time, ci->name, Anope::CurTime, modes); @@ -860,7 +853,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK")) + if (cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK")) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "").replace_all_cs(cm->mchar, ""); Uplink::Send("MLOCK", ci->c->creation_time, ci->name, Anope::CurTime, modes); diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp index 1fbc39b6a..3dd26931b 100644 --- a/modules/protocol/inspircd.cpp +++ b/modules/protocol/inspircd.cpp @@ -1805,17 +1805,14 @@ struct IRCDMessageSave final class IRCDMessageMetadata final : IRCDMessage { - const bool &do_topiclock; - const bool &do_mlock; +private: ServiceReference certs; PrimitiveExtensibleItem &maxlist; public: - IRCDMessageMetadata(Module *creator, const bool &handle_topiclock, const bool &handle_mlock, PrimitiveExtensibleItem &listlimits) + IRCDMessageMetadata(Module *creator, PrimitiveExtensibleItem &listlimits) : IRCDMessage(creator, "METADATA", 3) - , do_topiclock(handle_topiclock) - , do_mlock(handle_mlock) , certs("CertService", "certs") , maxlist(listlimits) { @@ -1833,7 +1830,7 @@ public: Channel *c = Channel::Find(params[0]); if (c) { - if ((c->ci) && (do_mlock) && (params[2] == "mlock")) + if (c->ci && params[2] == "mlock") { ModeLocks *modelocks = c->ci->GetExt("modelocks"); Anope::string modes; @@ -1844,7 +1841,7 @@ public: if (modes != params[3]) Uplink::Send("METADATA", c->name, c->creation_time, "mlock", modes); } - else if ((c->ci) && (do_topiclock) && (params[2] == "topiclock")) + else if (c->ci && params[2] == "topiclock") { bool mystate = c->ci->HasExt("TOPICLOCK"); bool serverstate = (params[3] == "1"); @@ -2452,8 +2449,6 @@ class ProtoInspIRCd final IRCDMessageSQuit message_squit; IRCDMessageUID message_uid; - bool use_server_side_topiclock, use_server_side_mlock; - static void SendChannelMetadata(Channel *c, const Anope::string &metadataname, const Anope::string &value) { Uplink::Send("METADATA", c->name, c->creation_time, metadataname, value); @@ -2490,7 +2485,7 @@ public: , message_ijoin(this) , message_kick(this) , message_lmode(this) - , message_metadata(this, use_server_side_topiclock, use_server_side_mlock, ircd_proto.maxlist) + , message_metadata(this, ircd_proto.maxlist) , message_mode(this) , message_nick(this) , message_opertype(this) @@ -2504,12 +2499,6 @@ public: { } - void OnReload(Configuration::Conf *conf) override - { - use_server_side_topiclock = conf->GetModule(this)->Get("use_server_side_topiclock"); - use_server_side_mlock = conf->GetModule(this)->Get("use_server_side_mlock"); - } - void OnUserNickChange(User *u, const Anope::string &) override { u->RemoveModeInternal(Me, ModeManager::FindUserModeByName("REGISTERED")); @@ -2524,13 +2513,13 @@ public: void OnChanRegistered(ChannelInfo *ci) override { ModeLocks *modelocks = ci->GetExt("modelocks"); - if (use_server_side_mlock && ci->c && modelocks && !modelocks->GetMLockAsString(false).empty()) + if (ci->c && modelocks && !modelocks->GetMLockAsString(false).empty()) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", ""); SendChannelMetadata(ci->c, "mlock", modes); } - if (use_server_side_topiclock && Servers::Capab.count("TOPICLOCK") && ci->c) + if (Servers::Capab.count("TOPICLOCK") && ci->c) { if (ci->HasExt("TOPICLOCK")) SendChannelMetadata(ci->c, "topiclock", "1"); @@ -2539,10 +2528,11 @@ public: void OnDelChan(ChannelInfo *ci) override { - if (use_server_side_mlock && ci->c) - SendChannelMetadata(ci->c, "mlock", ""); + if (!ci->c) + return; - if (use_server_side_topiclock && Servers::Capab.count("TOPICLOCK") && ci->c) + SendChannelMetadata(ci->c, "mlock", ""); + if (Servers::Capab.count("TOPICLOCK")) SendChannelMetadata(ci->c, "topiclock", ""); } @@ -2550,7 +2540,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM)) + if (cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM)) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "") + cm->mchar; SendChannelMetadata(ci->c, "mlock", modes); @@ -2563,7 +2553,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM)) + if (cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM)) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "").replace_all_cs(cm->mchar, ""); SendChannelMetadata(ci->c, "mlock", modes); diff --git a/modules/protocol/solanum.cpp b/modules/protocol/solanum.cpp index fccf85230..24c3c54b6 100644 --- a/modules/protocol/solanum.cpp +++ b/modules/protocol/solanum.cpp @@ -354,8 +354,6 @@ class ProtoSolanum final IRCDMessagePrivmsg message_privmsg; IRCDMessageServer message_server; - bool use_server_side_mlock; - static void AddModes() { /* Add user modes */ @@ -444,18 +442,13 @@ public: OnUserLogin(u); } - void OnReload(Configuration::Conf *conf) override - { - use_server_side_mlock = conf->GetModule(this)->Get("use_server_side_mlock"); - } - void OnChannelSync(Channel *c) override { if (!c->ci) return; ModeLocks *modelocks = c->ci->GetExt("modelocks"); - if (use_server_side_mlock && modelocks && Servers::Capab.count("MLOCK") > 0) + if (modelocks && Servers::Capab.count("MLOCK") > 0) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", ""); Uplink::Send("MLOCK", c->creation_time, c->ci->name, modes); @@ -466,7 +459,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) + if (cm && ci->c && modelocks && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "") + cm->mchar; Uplink::Send("MLOCK", ci->c->creation_time, ci->name, modes); @@ -479,7 +472,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) + if (cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "").replace_all_cs(cm->mchar, ""); Uplink::Send("MLOCK", ci->c->creation_time, ci->name, modes); diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp index 7cc569d38..ceb2ecd85 100644 --- a/modules/protocol/unrealircd.cpp +++ b/modules/protocol/unrealircd.cpp @@ -1695,8 +1695,6 @@ class ProtoUnreal final IRCDMessageUID message_uid; IRCDMessageUmode2 message_umode2; - bool use_server_side_mlock; - public: ProtoUnreal(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL | VENDOR), ircd_proto(this), @@ -1719,11 +1717,6 @@ public: ModuleManager::SetPriority(this, PRIORITY_FIRST); } - void OnReload(Configuration::Conf *conf) override - { - use_server_side_mlock = conf->GetModule(this)->Get("use_server_side_mlock"); - } - void OnUserNickChange(User *u, const Anope::string &) override { u->RemoveModeInternal(Me, ModeManager::FindUserModeByName("REGISTERED")); @@ -1737,7 +1730,7 @@ public: return; ModeLocks *modelocks = c->ci->GetExt("modelocks"); - if (use_server_side_mlock && Servers::Capab.count("MLOCK") > 0 && modelocks) + if (Servers::Capab.count("MLOCK") > 0 && modelocks) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", ""); Uplink::Send("MLOCK", c->creation_time, c->ci->name, modes); @@ -1747,7 +1740,7 @@ public: void OnChanRegistered(ChannelInfo *ci) override { ModeLocks *modelocks = ci->GetExt("modelocks"); - if (!ci->c || !use_server_side_mlock || !modelocks || !Servers::Capab.count("MLOCK")) + if (!ci->c || !modelocks || !Servers::Capab.count("MLOCK")) return; Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", ""); Uplink::Send("MLOCK", ci->c->creation_time, ci->name, modes); @@ -1755,7 +1748,7 @@ public: void OnDelChan(ChannelInfo *ci) override { - if (!ci->c || !use_server_side_mlock || !Servers::Capab.count("MLOCK")) + if (!ci->c || !Servers::Capab.count("MLOCK")) return; Uplink::Send("MLOCK", ci->c->creation_time, ci->name, ""); } @@ -1764,7 +1757,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) + if (cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "") + cm->mchar; Uplink::Send("MLOCK", ci->c->creation_time, ci->name, modes); @@ -1777,7 +1770,7 @@ public: { ModeLocks *modelocks = ci->GetExt("modelocks"); ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); - if (use_server_side_mlock && cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) + if (cm && modelocks && ci->c && (cm->type == MODE_REGULAR || cm->type == MODE_PARAM) && Servers::Capab.count("MLOCK") > 0) { Anope::string modes = modelocks->GetMLockAsString(false).replace_all_cs("+", "").replace_all_cs("-", "").replace_all_cs(cm->mchar, ""); Uplink::Send("MLOCK", ci->c->creation_time, ci->name, modes);