mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-12 03:59:03 -04:00
If the result is cached, dont bother waiting for the dns timeout, release them at the next timer tick if all modules are satisfied
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6255 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
fe46f3c228
commit
adee2d71f5
@ -131,15 +131,22 @@ CmdResult cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
|
|||||||
if (ServerInstance->Config->NoUserDns)
|
if (ServerInstance->Config->NoUserDns)
|
||||||
{
|
{
|
||||||
user->dns_done = true;
|
user->dns_done = true;
|
||||||
|
ServerInstance->next_call = ServerInstance->Time();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
user->StartDNSLookup();
|
user->StartDNSLookup();
|
||||||
if (user->dns_done)
|
if (user->dns_done)
|
||||||
ServerInstance->Log(DEBUG,"Aborting dns lookup of %s because dns server experienced a failure.",user->nick);
|
{
|
||||||
|
/* Cached result or instant failure - fall right through if possible */
|
||||||
|
ServerInstance->next_call = ServerInstance->Time();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ServerInstance->next_call > ServerInstance->Time() + ServerInstance->Config->dns_timeout)
|
||||||
|
ServerInstance->next_call = ServerInstance->Time() + ServerInstance->Config->dns_timeout;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ServerInstance->next_call > ServerInstance->Time() + ServerInstance->Config->dns_timeout)
|
|
||||||
ServerInstance->next_call = ServerInstance->Time() + ServerInstance->Config->dns_timeout;
|
|
||||||
}
|
}
|
||||||
if (user->registered == REG_NICKUSER)
|
if (user->registered == REG_NICKUSER)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user