mirror of
https://github.com/anope/anope.git
synced 2026-06-28 15:56:38 +02:00
Fixed bug #1190 and prevent m_dnsbl from akilling a user multiple times if they are in multiple blacklists
This commit is contained in:
@@ -27,9 +27,11 @@ class DNSBLResolver : public DNSRequest
|
||||
|
||||
void OnLookupComplete(const DNSRecord *)
|
||||
{
|
||||
if (!user)
|
||||
if (!user || user->GetExt("m_dnsbl_akilled"))
|
||||
return;
|
||||
|
||||
user->Extend("m_dnsbl_akilled");
|
||||
|
||||
Anope::string reason = this->blacklist.reason;
|
||||
reason = reason.replace_all_ci("%i", user->ip.addr());
|
||||
reason = reason.replace_all_ci("%h", user->host);
|
||||
|
||||
+3
-2
@@ -394,9 +394,10 @@ void ChannelInfo::LoadMLock()
|
||||
if (this->HasFlag(CI_PERSIST) && !this->c)
|
||||
{
|
||||
this->c = new Channel(this->name, this->time_registered);
|
||||
if (!this->bi)
|
||||
if (!this->bi && ModeManager::FindChannelModeByName(CMODE_PERM) == NULL)
|
||||
ChanServ->Assign(NULL, this);
|
||||
this->bi->Join(c);
|
||||
else if (this->bi)
|
||||
this->bi->Join(c);
|
||||
check_modes(this->c);
|
||||
this->CheckTopic();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user