aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Herman2021-06-12 07:59:13 +0300
committerGravatar GitHub2021-06-12 05:59:13 +0100
commit96e0f18f7faf7bf590c311cd0b63725c64fb4800 (patch)
tree0edba3211652ac7b72834f415bcc042504cc4cad /src/modules
parentUse /run/inspircd as the runtime directory on Linux. (diff)
Code refactor and minor fix (#1879)
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_check.cpp9
-rw-r--r--src/modules/m_cloaking.cpp2
-rw-r--r--src/modules/m_filter.cpp16
-rw-r--r--src/modules/m_httpd_stats.cpp7
-rw-r--r--src/modules/m_ircv3.cpp7
-rw-r--r--src/modules/m_nationalchars.cpp38
-rw-r--r--src/modules/m_override.cpp2
-rw-r--r--src/modules/m_permchannels.cpp2
-rw-r--r--src/modules/m_sasl.cpp5
-rw-r--r--src/modules/m_spanningtree/main.cpp3
-rw-r--r--src/modules/m_spanningtree/protocolinterface.cpp15
-rw-r--r--src/modules/m_svshold.cpp2
-rw-r--r--src/modules/m_xline_db.cpp3
13 files changed, 55 insertions, 56 deletions
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index 714f0bddd..2eafc0358 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -295,16 +295,17 @@ class CommandCheck : public Command
const user_hash& users = ServerInstance->Users->GetUsers();
for (user_hash::const_iterator a = users.begin(); a != users.end(); ++a)
{
- if (InspIRCd::Match(a->second->GetRealHost(), parameters[0], ascii_case_insensitive_map) || InspIRCd::Match(a->second->GetDisplayedHost(), parameters[0], ascii_case_insensitive_map))
+ User* ituser = a->second;
+ if (InspIRCd::Match(ituser->GetRealHost(), parameters[0], ascii_case_insensitive_map) || InspIRCd::Match(ituser->GetDisplayedHost(), parameters[0], ascii_case_insensitive_map))
{
/* host or vhost matches mask */
- context.Write("match", ConvToStr(++x) + " " + a->second->GetFullRealHost() + " " + a->second->GetIPString() + " " + a->second->GetRealName());
+ context.Write("match", ConvToStr(++x) + " " + ituser->GetFullRealHost() + " " + ituser->GetIPString() + " " + ituser->GetRealName());
}
/* IP address */
- else if (InspIRCd::MatchCIDR(a->second->GetIPString(), parameters[0]))
+ else if (InspIRCd::MatchCIDR(ituser->GetIPString(), parameters[0]))
{
/* same IP. */
- context.Write("match", ConvToStr(++x) + " " + a->second->GetFullRealHost() + " " + a->second->GetIPString() + " " + a->second->GetRealName());
+ context.Write("match", ConvToStr(++x) + " " + ituser->GetFullRealHost() + " " + ituser->GetIPString() + " " + ituser->GetRealName());
}
}
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index a2bc778b0..18cc999f3 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -187,7 +187,7 @@ class CloakUser : public ModeHandler
* and make it match the displayed one.
*/
user->SetMode(this, false);
- user->ChangeDisplayedHost(user->GetRealHost().c_str());
+ user->ChangeDisplayedHost(user->GetRealHost());
return MODEACTION_ALLOW;
}
}
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp
index c666f6ad2..158f8eb57 100644
--- a/src/modules/m_filter.cpp
+++ b/src/modules/m_filter.cpp
@@ -882,19 +882,19 @@ void ModuleFilter::ReadFilters()
ConfigTagList tags = ServerInstance->Config->ConfTags("keyword");
for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- std::string pattern = i->second->getString("pattern");
- std::string reason = i->second->getString("reason");
- std::string action = i->second->getString("action");
- std::string flgs = i->second->getString("flags");
- unsigned long duration = i->second->getDuration("duration", 10*60, 1);
- if (flgs.empty())
- flgs = "*";
+ ConfigTag* tag = i->second;
+ std::string pattern = tag->getString("pattern");
+ std::string reason = tag->getString("reason");
+ std::string action = tag->getString("action");
+ std::string flgs = tag->getString("flags", "*", 1);
+ bool generated = tag->getBool("generated");
+ unsigned long duration = tag->getDuration("duration", 10*60, 1);
FilterAction fa;
if (!StringToFilterAction(action, fa))
fa = FA_NONE;
- std::pair<bool, std::string> result = static_cast<ModuleFilter*>(this)->AddFilter(pattern, fa, reason, duration, flgs, !i->second->getBool("generated"));
+ std::pair<bool, std::string> result = static_cast<ModuleFilter*>(this)->AddFilter(pattern, fa, reason, duration, flgs, !generated);
if (result.first)
removedfilters.erase(pattern);
else
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index 1e9f4ef4b..54f231e88 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -150,10 +150,11 @@ namespace Stats
continue;
for (LookupIter i = lookup->begin(); i != lookup->end(); ++i)
{
+ XLine* e = i->second;
data << "<xline type=\"" << it->c_str() << "\"><mask>"
- << Sanitize(i->second->Displayable()) << "</mask><settime>"
- << i->second->set_time << "</settime><duration>" << i->second->duration
- << "</duration><reason>" << Sanitize(i->second->reason)
+ << Sanitize(e->Displayable()) << "</mask><settime>"
+ << e->set_time << "</settime><duration>" << e->duration
+ << "</duration><reason>" << Sanitize(e->reason)
<< "</reason></xline>";
}
}
diff --git a/src/modules/m_ircv3.cpp b/src/modules/m_ircv3.cpp
index e23999045..d06412266 100644
--- a/src/modules/m_ircv3.cpp
+++ b/src/modules/m_ircv3.cpp
@@ -165,13 +165,8 @@ class ModuleIRCv3
void OnUserBack(User* user) CXX11_OVERRIDE
{
- if (!joinhook.awaycap.IsActive())
- return;
-
// Back from away: n!u@h AWAY
- AwayMessage msg(user);
- ClientProtocol::Event awayevent(joinhook.awayprotoev, msg);
- IRCv3::WriteNeighborsWithCap(user, awayevent, joinhook.awaycap);
+ OnUserAway(user);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp
index c56dfe81c..7d8374309 100644
--- a/src/modules/m_nationalchars.cpp
+++ b/src/modules/m_nationalchars.cpp
@@ -42,9 +42,9 @@ class lwbNickHandler
static unsigned char m_reverse_additional[256],m_additionalMB[256],m_additionalUtf8[256],m_additionalUtf8range[256],m_additionalUtf8interval[256];
-char utf8checkrest(unsigned char * mb, unsigned char cnt)
+char utf8checkrest(unsigned char* mb, unsigned char cnt)
{
- for (unsigned char * tmp=mb; tmp<mb+cnt; tmp++)
+ for (unsigned char* tmp=mb; tmp<mb+cnt; tmp++)
{
/* & is faster! -- Phoenix (char & b11000000 == b10000000) */
if ((*tmp & 192) != 128)
@@ -89,7 +89,7 @@ bool lwbNickHandler::Call(const std::string& nick)
{
/* otherwise let's take a look at the current character and the following one */
bool found = false;
- for(unsigned char * mb = m_additionalMB; (*mb) && (mb < m_additionalMB + sizeof(m_additionalMB)); mb += 4)
+ for(unsigned char* mb = m_additionalMB; (*mb) && (mb < m_additionalMB + sizeof(m_additionalMB)); mb += 4)
{
if ( (i[0] >= mb[0]) && (i[0] <= mb[1]) && (i[1] >= mb[2]) && (i[1] <= mb[3]) )
{
@@ -118,19 +118,19 @@ bool lwbNickHandler::Call(const std::string& nick)
continue;
/* 3.1. Check against a simple UTF-8 characters enumeration */
- int cursize, cursize2, ncursize = utf8size((unsigned char *)i);
+ int cursize, cursize2, ncursize = utf8size((unsigned char*)i);
/* do check only if current multibyte character is valid UTF-8 only */
if (ncursize != -1)
{
bool found = false;
- for (unsigned char * mb = m_additionalUtf8; (utf8size(mb) != -1) && (mb < m_additionalUtf8 + sizeof(m_additionalUtf8)); mb += cursize)
+ for (unsigned char* mb = m_additionalUtf8; (utf8size(mb) != -1) && (mb < m_additionalUtf8 + sizeof(m_additionalUtf8)); mb += cursize)
{
cursize = utf8size(mb);
/* Size differs? Pick the next! */
if (cursize != ncursize)
continue;
- if (!strncmp(i, (char *)mb, cursize))
+ if (!strncmp(i, (char*)mb, cursize))
{
i += cursize - 1;
p += cursize - 1;
@@ -143,7 +143,7 @@ bool lwbNickHandler::Call(const std::string& nick)
/* 3.2. Check against an UTF-8 ranges: <start character> and <length of the range>. */
found = false;
- for (unsigned char * mb = m_additionalUtf8range; (utf8size(mb) != -1) && (mb < m_additionalUtf8range + sizeof(m_additionalUtf8range)); mb += cursize + 1)
+ for (unsigned char* mb = m_additionalUtf8range; (utf8size(mb) != -1) && (mb < m_additionalUtf8range + sizeof(m_additionalUtf8range)); mb += cursize + 1)
{
cursize = utf8size(mb);
/* Size differs (or lengthbyte is zero)? Pick the next! */
@@ -151,7 +151,7 @@ bool lwbNickHandler::Call(const std::string& nick)
continue;
unsigned char uright[5] = {0,0,0,0,0}, range = mb[cursize] - 1;
- strncpy((char* ) uright, (char *) mb, cursize);
+ strncpy((char*) uright, (char*) mb, cursize);
for (int temp = cursize - 1; (temp >= 0) && range; --temp)
{
@@ -175,7 +175,7 @@ bool lwbNickHandler::Call(const std::string& nick)
}
}
- if ((strncmp(i, (char *) mb, cursize) >= 0) && (strncmp(i, (char *) uright, cursize) <= 0))
+ if ((strncmp(i, (char*) mb, cursize) >= 0) && (strncmp(i, (char*) uright, cursize) <= 0))
{
i += cursize - 1;
p += cursize - 1;
@@ -188,7 +188,7 @@ bool lwbNickHandler::Call(const std::string& nick)
/* 3.3. Check against an UTF-8 intervals: <start character> and <end character>. */
found = false;
- for (unsigned char * mb = m_additionalUtf8interval; (utf8size(mb) != -1) && (utf8size(mb+utf8size(mb)) != -1)
+ for (unsigned char* mb = m_additionalUtf8interval; (utf8size(mb) != -1) && (utf8size(mb+utf8size(mb)) != -1)
&& (mb < m_additionalUtf8interval + sizeof(m_additionalUtf8interval)); mb += (cursize+cursize2) )
{
cursize = utf8size(mb);
@@ -199,7 +199,7 @@ bool lwbNickHandler::Call(const std::string& nick)
unsigned char* uright = mb + cursize;
- if ((strncmp(i, (char *) mb, minlen) >= 0) && (strncmp(i, (char *) uright, minlen2) <= 0))
+ if ((strncmp(i, (char*) mb, minlen) >= 0) && (strncmp(i, (char*) uright, minlen2) <= 0))
{
i += cursize - 1;
p += cursize - 1;
@@ -284,7 +284,7 @@ class ModuleNationalChars : public Module
if(charset[0] != '/')
charset.insert(0, "../locales/");
#endif
- unsigned char * tables[8] = { m_additional, m_additionalMB, m_additionalUp, m_lower, m_upper, m_additionalUtf8, m_additionalUtf8range, m_additionalUtf8interval };
+ unsigned char* tables[8] = { m_additional, m_additionalMB, m_additionalUp, m_lower, m_upper, m_additionalUtf8, m_additionalUtf8range, m_additionalUtf8interval };
if (!loadtables(charset, tables, 8, 5))
throw ModuleException("The locale file failed to load. Check your log file for more information.");
forcequit = tag->getBool("forcequit");
@@ -292,7 +292,7 @@ class ModuleNationalChars : public Module
CheckRehash();
}
- void CheckForceQuit(const char * message)
+ void CheckForceQuit(const char* message)
{
if (!forcequit)
return;
@@ -326,15 +326,15 @@ class ModuleNationalChars : public Module
}
/*make an array to check against it 8bit characters a bit faster. Whether allowed or uppercase (for your needs).*/
- void makereverse(unsigned char * from, unsigned char * to, unsigned int cnt)
+ void makereverse(unsigned char* from, unsigned char* to, unsigned int cnt)
{
memset(to, 0, cnt);
- for(unsigned char * n=from; (*n) && ((*n)<cnt) && (n<from+cnt); n++)
+ for(unsigned char* n=from; (*n) && ((*n)<cnt) && (n<from+cnt); n++)
to[*n] = 1;
}
/*so Bynets Unreal distribution stuff*/
- bool loadtables(std::string filename, unsigned char ** tables, unsigned char cnt, char faillimit)
+ bool loadtables(const std::string& filename, unsigned char** tables, unsigned char cnt, char faillimit)
{
std::ifstream ifs(ServerInstance->Config->Paths.PrependConfig(filename).c_str());
if (ifs.fail())
@@ -363,7 +363,7 @@ class ModuleNationalChars : public Module
return true;
}
- unsigned char symtoi(const char *t,unsigned char base)
+ unsigned char symtoi(const char* t,unsigned char base)
/* base = 16 for hexadecimal, 10 for decimal, 8 for octal ;) */
{
unsigned char tmp = 0, current;
@@ -381,7 +381,7 @@ class ModuleNationalChars : public Module
return tmp;
}
- int loadtable(std::ifstream &ifs , unsigned char *chartable, unsigned int maxindex)
+ int loadtable(std::ifstream& ifs , unsigned char* chartable, unsigned int maxindex)
{
std::string buf;
getline(ifs, buf);
@@ -389,7 +389,7 @@ class ModuleNationalChars : public Module
unsigned int i = 0;
int fail = 0;
- buf.erase(buf.find_last_not_of("\n") + 1);
+ buf.erase(buf.find_last_not_of('\n') + 1);
if (buf[0] == '.') /* simple plain-text string after dot */
{
diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp
index 289c894bf..aa12bf324 100644
--- a/src/modules/m_override.cpp
+++ b/src/modules/m_override.cpp
@@ -121,7 +121,7 @@ class ModuleOverride : public Module
std::string tokenlist = source->oper->getConfig("override");
// its defined or * is set, return its value as a boolean for if the token is set
- return ((tokenlist.find(token, 0) != std::string::npos) || (tokenlist.find("*", 0) != std::string::npos));
+ return ((tokenlist.find(token, 0) != std::string::npos) || (tokenlist.find('*', 0) != std::string::npos));
}
diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp
index 35736bf71..ae2fd59ad 100644
--- a/src/modules/m_permchannels.cpp
+++ b/src/modules/m_permchannels.cpp
@@ -207,7 +207,6 @@ public:
{
ConfigTag* tag = i->second;
std::string channel = tag->getString("channel");
- std::string modes = tag->getString("modes");
if (!ServerInstance->IsChannel(channel))
{
@@ -237,6 +236,7 @@ public:
ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Added %s with topic %s", channel.c_str(), c->topic.c_str());
+ std::string modes = tag->getString("modes");
if (modes.empty())
continue;
diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp
index 57e605d61..1f47038bf 100644
--- a/src/modules/m_sasl.cpp
+++ b/src/modules/m_sasl.cpp
@@ -194,6 +194,7 @@ class SaslAuthenticator
void SendHostIP(UserCertificateAPI& sslapi)
{
std::vector<std::string> params;
+ params.reserve(3);
params.push_back(user->GetRealHost());
params.push_back(user->GetIPString());
params.push_back(sslapi && sslapi->GetCertificate(user) ? "S" : "P");
@@ -251,10 +252,12 @@ class SaslAuthenticator
ClientProtocol::Message authmsg("AUTHENTICATE");
authmsg.PushParamRef(msg[3]);
- ClientProtocol::Event authevent(*g_protoev, authmsg);
LocalUser* const localuser = IS_LOCAL(user);
if (localuser)
+ {
+ ClientProtocol::Event authevent(*g_protoev, authmsg);
localuser->Send(authevent);
+ }
}
else if (msg[2] == "D")
{
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index a2a9173eb..27abfc20a 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -765,8 +765,7 @@ void ModuleSpanningTree::OnUserAway(User* user)
void ModuleSpanningTree::OnUserBack(User* user)
{
- if (IS_LOCAL(user))
- CommandAway::Builder(user).Broadcast();
+ OnUserAway(user);
}
void ModuleSpanningTree::OnMode(User* source, User* u, Channel* c, const Modes::ChangeList& modes, ModeParser::ModeProcessFlag processflags)
diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp
index aaf946333..c9d94d46d 100644
--- a/src/modules/m_spanningtree/protocolinterface.cpp
+++ b/src/modules/m_spanningtree/protocolinterface.cpp
@@ -38,13 +38,14 @@ void SpanningTreeProtocolInterface::GetServerList(ServerList& sl)
for (server_hash::iterator i = Utils->serverlist.begin(); i != Utils->serverlist.end(); i++)
{
ServerInfo ps;
- ps.servername = i->second->GetName();
- TreeServer* s = i->second->GetParent();
- ps.parentname = s ? s->GetName() : "";
- ps.usercount = i->second->UserCount;
- ps.opercount = i->second->OperCount;
- ps.description = i->second->GetDesc();
- ps.latencyms = i->second->rtt;
+ TreeServer* tree = i->second;
+ ps.servername = tree->GetName();
+ TreeServer* parent = tree->GetParent();
+ ps.parentname = parent ? parent->GetName() : "";
+ ps.usercount = tree->UserCount;
+ ps.opercount = tree->OperCount;
+ ps.description = tree->GetDesc();
+ ps.latencyms = tree->rtt;
sl.push_back(ps);
}
}
diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp
index 48dad2ca4..0ef5d3f80 100644
--- a/src/modules/m_svshold.cpp
+++ b/src/modules/m_svshold.cpp
@@ -43,8 +43,8 @@ public:
SVSHold(time_t s_time, unsigned long d, const std::string& src, const std::string& re, const std::string& nick)
: XLine(s_time, d, src, re, "SVSHOLD")
+ , nickname(nick)
{
- this->nickname = nick;
}
bool Matches(User* u) CXX11_OVERRIDE
diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp
index 9db277164..102b96e7e 100644
--- a/src/modules/m_xline_db.cpp
+++ b/src/modules/m_xline_db.cpp
@@ -80,8 +80,7 @@ class ModuleXLineDB
*/
void OnDelLine(User* source, XLine* line) CXX11_OVERRIDE
{
- if (!line->from_config)
- dirty = true;
+ OnAddLine(source, line);
}
bool Tick(time_t) CXX11_OVERRIDE