aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_dnsbl.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2020-11-20 12:49:02 +0000
committerGravatar Sadie Powell2020-11-20 15:45:17 +0000
commit54e0cade5c9ec904bbdc755d8031ed8e22e994f6 (patch)
tree312e579f280e7db2269c3fe754a6c4f423713c0e /src/modules/m_dnsbl.cpp
parentConvert IRCv3::Replies::Reply#Send[IfCap] to variadic functions. (diff)
parentRelease v3.8.1. (diff)
downloadinspircd++-54e0cade5c9ec904bbdc755d8031ed8e22e994f6.tar.gz
inspircd++-54e0cade5c9ec904bbdc755d8031ed8e22e994f6.tar.bz2
inspircd++-54e0cade5c9ec904bbdc755d8031ed8e22e994f6.zip
Merge tag 'v3.8.1' into master.
Diffstat (limited to 'src/modules/m_dnsbl.cpp')
-rw-r--r--src/modules/m_dnsbl.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp
index ca8c6f10b..376ada344 100644
--- a/src/modules/m_dnsbl.cpp
+++ b/src/modules/m_dnsbl.cpp
@@ -280,6 +280,12 @@ class ModuleDNSBL : public Module, public Stats::EventListener
ServerInstance->SNO.EnableSnomask('d', "DNSBL");
}
+ void Prioritize() override
+ {
+ Module* corexline = ServerInstance->Modules.Find("core_xline");
+ ServerInstance->Modules.SetPriority(this, I_OnSetUserIP, PRIORITY_AFTER, corexline);
+ }
+
void ReadConfig(ConfigStatus& status) override
{
DNSBLConfList newentries;
@@ -343,7 +349,7 @@ class ModuleDNSBL : public Module, public Stats::EventListener
void OnSetUserIP(LocalUser* user) override
{
- if ((user->exempt) || !DNS)
+ if (user->exempt || user->quitting || !DNS)
return;
// Clients can't be in a DNSBL if they aren't connected via IPv4 or IPv6.
@@ -356,7 +362,10 @@ class ModuleDNSBL : public Module, public Stats::EventListener
return;
}
else
+ {
ServerInstance->Logs.Log(MODNAME, LOG_DEBUG, "User has no connect class in OnSetUserIP");
+ return;
+ }
std::string reversedip;
if (user->client_sa.family() == AF_INET)