catch (CoreException& e)
{
ServerInstance->Logs->Log("USERS", DEBUG,"Error in resolver: %s",e.GetReason());
+ dns_done = true;
+ ServerInstance->stats->statsDnsBad++;
}
}
{
this->AllowedUserModes.set();
}
- else
+ else if (*c >= 'A' && *c < 'z')
{
this->AllowedUserModes[*c - 'A'] = true;
}
{
this->AllowedChanModes.set();
}
- else
+ else if (*c >= 'A' && *c < 'z')
{
this->AllowedChanModes[*c - 'A'] = true;
}
* may put the user into a totally seperate class with different restrictions! so we *must* check again.
* Don't remove this! -- w00t
*/
+ MyClass = NULL;
SetClass();
CheckClass();
CheckLines();
this->GetServerPort(), this->nick.c_str(), this->ident.c_str(), this->host.c_str(), this->GetIPString(), this->fullname.c_str());
ServerInstance->Logs->Log("BANCACHE", DEBUG, "BanCache: Adding NEGATIVE hit for %s", this->GetIPString());
ServerInstance->BanCache->AddHit(this->GetIPString(), "", "");
+ // reset the flood penalty (which could have been raised due to things like auto +x)
+ CommandFloodPenalty = 0;
}
void User::InvalidateCache()
continue;
}
- if (regdone && !c->config->getString("pass").empty())
+ if (regdone && !c->config->getString("password").empty())
{
- if (ServerInstance->PassCompare(this, c->config->getString("pass"), password, c->config->getString("hash")))
+ if (ServerInstance->PassCompare(this, c->config->getString("password"), password, c->config->getString("hash")))
{
ServerInstance->Logs->Log("CONNECTCLASS", DEBUG, "Bad password, skipping");
continue;
void ConnectClass::Update(const ConnectClass* src)
{
+ config = src->config;
+ type = src->type;
+ fakelag = src->fakelag;
name = src->name;
registration_timeout = src->registration_timeout;
host = src->host;
hardsendqmax = src->hardsendqmax;
recvqmax = src->recvqmax;
penaltythreshold = src->penaltythreshold;
+ commandrate = src->commandrate;
maxlocal = src->maxlocal;
maxglobal = src->maxglobal;
+ maxchans = src->maxchans;
limit = src->limit;
}