From da2ac3e8a2bfcf5da541eb07c3ca3786d1c2e8ec Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 20 Jun 2023 00:55:45 +0100 Subject: Fix detection of the nopartmsg module in the InspIRCd proto modules. --- modules/protocol/inspircd20.cpp | 2 +- modules/protocol/inspircd3.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 591075e81..59fd276aa 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -652,7 +652,7 @@ struct IRCDMessageCapab : Message::Capab ModeManager::AddChannelMode(new InspIRCdExtban::ChannelMatcher("CHANNELBAN", "BAN", 'j')); else if (module == "m_gecosban.so") ModeManager::AddChannelMode(new InspIRCdExtban::RealnameMatcher("REALNAMEBAN", "BAN", 'r')); - else if (module == "m_nopartmessage.so") + else if (module == "m_nopartmsg.so") ModeManager::AddChannelMode(new InspIRCdExtban::EntryMatcher("PARTMESSAGEBAN", "BAN", 'p')); else if (module == "m_serverban.so") ModeManager::AddChannelMode(new InspIRCdExtban::ServerMatcher("SERVERBAN", "BAN", 's')); diff --git a/modules/protocol/inspircd3.cpp b/modules/protocol/inspircd3.cpp index c58e55519..ad29b56d9 100644 --- a/modules/protocol/inspircd3.cpp +++ b/modules/protocol/inspircd3.cpp @@ -1165,7 +1165,7 @@ struct IRCDMessageCapab : Message::Capab ModeManager::AddChannelMode(new InspIRCdExtban::ChannelMatcher("CHANNELBAN", "BAN", 'j')); else if (module == "m_gecosban.so") ModeManager::AddChannelMode(new InspIRCdExtban::RealnameMatcher("REALNAMEBAN", "BAN", 'r')); - else if (module == "m_nopartmessage.so") + else if (module == "m_nopartmsg.so") ModeManager::AddChannelMode(new InspIRCdExtban::EntryMatcher("PARTMESSAGEBAN", "BAN", 'p')); else if (module == "m_serverban.so") ModeManager::AddChannelMode(new InspIRCdExtban::ServerMatcher("SERVERBAN", "BAN", 's')); -- cgit From 4e1f5cce80b11e576ded19126980097ebd8e77b0 Mon Sep 17 00:00:00 2001 From: PeGaSuS Date: Wed, 5 Jul 2023 18:09:47 +0200 Subject: Tell users that they must identify to their account before using CONFIRM. This only happens when a nickname is registered via webcpanel and said nickname is online. --- modules/commands/ns_register.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp index cfffc1413..bd188637c 100644 --- a/modules/commands/ns_register.cpp +++ b/modules/commands/ns_register.cpp @@ -83,7 +83,7 @@ class CommandNSConfirm : public Command source.Reply(_("Invalid passcode.")); } else - source.Reply(_("Invalid passcode.")); + source.Reply(NICK_IDENTIFY_REQUIRED); return; } -- cgit From 68b51c7481511e7ce68e922aaae8d2875e2b4116 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 9 Jul 2023 22:29:23 +0100 Subject: Fix not getting memo notifications when using SASL. --- modules/pseudoclients/memoserv.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules') diff --git a/modules/pseudoclients/memoserv.cpp b/modules/pseudoclients/memoserv.cpp index f90c318a6..f22556a6e 100644 --- a/modules/pseudoclients/memoserv.cpp +++ b/modules/pseudoclients/memoserv.cpp @@ -207,6 +207,11 @@ class MemoServCore : public Module, public MemoServService this->Check(u); } + void OnUserConnect(User *user, bool &exempt) anope_override + { + this->Check(user); + } + EventReturn OnPreHelp(CommandSource &source, const std::vector ¶ms) anope_override { if (!params.empty() || source.c || source.service != *MemoServ) -- cgit From 47bbc9b3fb0b70af33897dd31809db1f94d61680 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 9 Jul 2023 21:59:05 +0100 Subject: Enable CanSQLineChannel in unreal4. Ref: https://www.unrealircd.org/docs/Server_protocol:SQLINE_command --- modules/protocol/unreal4.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'modules') diff --git a/modules/protocol/unreal4.cpp b/modules/protocol/unreal4.cpp index 5c67b80a2..ef5d09d40 100644 --- a/modules/protocol/unreal4.cpp +++ b/modules/protocol/unreal4.cpp @@ -31,6 +31,7 @@ class UnrealIRCdProto : public IRCDProto CanSetVIdent = true; CanSNLine = true; CanSQLine = true; + CanSQLineChannel = true; CanSZLine = true; CanSVSHold = true; CanCertFP = true; -- cgit From 34ab54522e5000a26106c946506bbccfbf584b54 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 9 Jul 2023 22:57:40 +0100 Subject: Fix not serialising dontkickops/dontkickvoices properly. --- modules/commands/bs_kick.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/commands/bs_kick.cpp b/modules/commands/bs_kick.cpp index 74d53c31c..eeeaf4b22 100644 --- a/modules/commands/bs_kick.cpp +++ b/modules/commands/bs_kick.cpp @@ -31,7 +31,7 @@ struct KickerDataImpl : KickerData void Check(ChannelInfo *ci) anope_override { - if (amsgs || badwords || bolds || caps || colors || flood || italics || repeat || reverses || underlines) + if (amsgs || badwords || bolds || caps || colors || flood || italics || repeat || reverses || underlines || dontkickops || dontkickvoices) return; ci->Shrink("kickerdata"); @@ -67,6 +67,8 @@ struct KickerDataImpl : KickerData data.SetType("floodlines", Serialize::Data::DT_INT); data["floodlines"] << kd->floodlines; data.SetType("floodsecs", Serialize::Data::DT_INT); data["floodsecs"] << kd->floodsecs; data.SetType("repeattimes", Serialize::Data::DT_INT); data["repeattimes"] << kd->repeattimes; + data.SetType("dontkickops", Serialize::Data::DT_INT); data["dontkickops"] << kd->dontkickops; + data.SetType("dontkickvoices", Serialize::Data::DT_INT); data["dontkickvoices"] << kd->dontkickvoices; for (int16_t i = 0; i < TTB_SIZE; ++i) data["ttb"] << kd->ttb[i] << " "; } @@ -95,6 +97,8 @@ struct KickerDataImpl : KickerData data["floodlines"] >> kd->floodlines; data["floodsecs"] >> kd->floodsecs; data["repeattimes"] >> kd->repeattimes; + data["dontkickops"] >> kd->dontkickops; + data["dontkickvoices"] >> kd->dontkickvoices; Anope::string ttb, tok; data["ttb"] >> ttb; -- cgit From e717ac0a89273b7eb50001b4374f3dda2934cd3a Mon Sep 17 00:00:00 2001 From: PeGaSuS Date: Mon, 10 Jul 2023 00:44:02 +0200 Subject: Clarify that operserv/sqline can also match channel names. --- modules/commands/os_sxline.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/commands/os_sxline.cpp b/modules/commands/os_sxline.cpp index 78ae3d559..4918a1793 100644 --- a/modules/commands/os_sxline.cpp +++ b/modules/commands/os_sxline.cpp @@ -676,7 +676,7 @@ class CommandOSSQLine : public CommandOSSXLineBase "regular expression, the expression will be matched against\n" "channels too.")); source.Reply(_(" \n" - "\002SQLINE ADD\002 adds the given (nick's) mask to the SQLINE\n" + "\002SQLINE ADD\002 adds the given (nick/channel) mask to the SQLINE\n" "list for the given reason (which \002must\002 be given).\n" "\037expiry\037 is specified as an integer followed by one of \037d\037\n" "(days), \037h\037 (hours), or \037m\037 (minutes). Combinations (such as\n" -- cgit