inspircd

A modular C++ IRC daemon (ircd). https://www.inspircd.org/
Log | Files | Refs | README

commit 965c55881b6804caa2f6c37f547dba06039c1194
parent d66757a43817966edc0fdbe62722415354b042aa
Author: Peter Powell <petpow@saberuk.com>
Date:   Fri,  1 Feb 2019 10:46:49 +0000

ident: store the timeout as an unsigned value and limit to 60s.

Diffstat:
Msrc/modules/m_ident.cpp | 7+++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp @@ -255,7 +255,7 @@ class IdentRequestSocket : public EventHandler class ModuleIdent : public Module { private: - int RequestTimeout; + unsigned int timeout; bool NoLookupPrefix; SimpleExtItem<IdentRequestSocket, stdalgo::culldeleter> ext; @@ -291,7 +291,7 @@ class ModuleIdent : public Module void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { ConfigTag* tag = ServerInstance->Config->ConfValue("ident"); - RequestTimeout = tag->getDuration("timeout", 5, 1); + timeout = tag->getDuration("timeout", 5, 1, 60); NoLookupPrefix = tag->getBool("nolookupprefix", false); } @@ -345,8 +345,7 @@ class ModuleIdent : public Module return MOD_RES_PASSTHRU; } - time_t compare = isock->age; - compare += RequestTimeout; + time_t compare = isock->age + timeout; /* Check for timeout of the socket */ if (ServerInstance->Time() >= compare)