summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/extra/README2
-rw-r--r--src/modules/extra/m_mysql.cpp2
-rw-r--r--src/modules/m_cap.cpp2
-rw-r--r--src/modules/m_shun.cpp10
-rw-r--r--src/modules/m_spanningtree/main.h2
-rw-r--r--src/modules/m_timedbans.cpp14
6 files changed, 20 insertions, 12 deletions
diff --git a/src/modules/extra/README b/src/modules/extra/README
index 2478b57cf..b59494df9 100644
--- a/src/modules/extra/README
+++ b/src/modules/extra/README
@@ -2,7 +2,7 @@ This directory stores modules which require external libraries to compile.
For example, m_filter_pcre requires the PCRE libraries.
To compile any of these modules first ensure you have the required dependencies
-(read the online documentation at http://wiki.inspircd.org/) and then symlink
+(read the online documentation at https://wiki.inspircd.org/) and then symlink
the .cpp file from this directory into the parent directory (src/modules/).
Alternatively, use the command: ./configure --enable-extras=m_extra.cpp, which will
diff --git a/src/modules/extra/m_mysql.cpp b/src/modules/extra/m_mysql.cpp
index f9986f3f1..3490f7fa6 100644
--- a/src/modules/extra/m_mysql.cpp
+++ b/src/modules/extra/m_mysql.cpp
@@ -76,8 +76,6 @@
* if a module is ever put in a re-enterant state (stack corruption could occur, crashes, data
* corruption, and worse, so DONT think about it until the day comes when InspIRCd is 100%
* gauranteed threadsafe!)
- *
- * For a diagram of this system please see http://wiki.inspircd.org/Mysql2
*/
class SQLConnection;
diff --git a/src/modules/m_cap.cpp b/src/modules/m_cap.cpp
index 868294fe4..86de15d95 100644
--- a/src/modules/m_cap.cpp
+++ b/src/modules/m_cap.cpp
@@ -399,7 +399,7 @@ class CommandCap : public SplitCommand
}
else
{
- user->WriteNumeric(ERR_INVALIDCAPSUBCOMMAND, subcommand, "Invalid CAP subcommand");
+ user->WriteNumeric(ERR_INVALIDCAPSUBCOMMAND, subcommand.empty() ? "*" : subcommand, "Invalid CAP subcommand");
return CMD_FAILURE;
}
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index 417d67b69..66cc7fd58 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -106,13 +106,17 @@ class CommandShun : public Command
if (parameters.size() == 1)
{
- if (ServerInstance->XLines->DelLine(target.c_str(), "SHUN", user))
+ if (ServerInstance->XLines->DelLine(parameters[0].c_str(), "SHUN", user))
{
- ServerInstance->SNO->WriteToSnoMask('x',"%s removed SHUN on %s",user->nick.c_str(),target.c_str());
+ ServerInstance->SNO->WriteToSnoMask('x', "%s removed SHUN on %s", user->nick.c_str(), parameters[0].c_str());
+ }
+ else if (ServerInstance->XLines->DelLine(target.c_str(), "SHUN", user))
+ {
+ ServerInstance->SNO->WriteToSnoMask('x',"%s removed SHUN on %s", user->nick.c_str(), target.c_str());
}
else
{
- user->WriteNotice("*** Shun " + target + " not found in list, try /stats H.");
+ user->WriteNotice("*** Shun " + parameters[0] + " not found in list, try /stats H.");
return CMD_FAILURE;
}
}
diff --git a/src/modules/m_spanningtree/main.h b/src/modules/m_spanningtree/main.h
index 00cbd3dcd..13bab4cff 100644
--- a/src/modules/m_spanningtree/main.h
+++ b/src/modules/m_spanningtree/main.h
@@ -34,7 +34,7 @@
* If you completely change the protocol, completely change the number.
*
* IMPORTANT: If you make changes, document your changes here, without fail:
- * http://wiki.inspircd.org/List_of_protocol_changes_between_versions
+ * https://wiki.inspircd.org/List_of_protocol_changes_between_versions
*
* Failure to document your protocol changes will result in a painfully
* painful death by pain. You have been warned.
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index 9890800e4..8c1454d7e 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -117,11 +117,13 @@ class CommandTban : public Command
T.chan = channel;
TimedBanList.push_back(T);
+ const std::string addban = user->nick + " added a timed ban on " + mask + " lasting for " + ConvToStr(duration) + " seconds.";
// If halfop is loaded, send notice to halfops and above, otherwise send to ops and above
PrefixMode* mh = ServerInstance->Modes->FindPrefixMode('h');
char pfxchar = (mh && mh->name == "halfop") ? mh->GetPrefix() : '@';
- channel->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, tmp, "NOTICE %s :%s added a timed ban on %s lasting for %ld seconds.", channel->name.c_str(), user->nick.c_str(), mask.c_str(), duration);
+ channel->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, tmp, "NOTICE %s :%s", channel->name.c_str(), addban.c_str());
+ ServerInstance->PI->SendChannelNotice(channel, pfxchar, addban);
return CMD_SUCCESS;
}
@@ -207,9 +209,13 @@ class ModuleTimedBans : public Module
Channel* cr = i->chan;
{
CUList empty;
- std::string expiry = "*** Timed ban on " + cr->name + " expired.";
- cr->WriteAllExcept(ServerInstance->FakeClient, true, '@', empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str());
- ServerInstance->PI->SendChannelNotice(cr, '@', expiry);
+ const std::string expiry = "*** Timed ban on " + cr->name + " expired.";
+ // If halfop is loaded, send notice to halfops and above, otherwise send to ops and above
+ PrefixMode* mh = ServerInstance->Modes->FindPrefixMode('h');
+ char pfxchar = (mh && mh->name == "halfop") ? mh->GetPrefix() : '@';
+
+ cr->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str());
+ ServerInstance->PI->SendChannelNotice(cr, pfxchar, expiry);
Modes::ChangeList setban;
setban.push_remove(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), mask);