diff --git a/irc/client.go b/irc/client.go index 999343a2..7e2508d8 100644 --- a/irc/client.go +++ b/irc/client.go @@ -278,6 +278,9 @@ func (server *Server) RunClient(conn clientConn, proxyLine string) { } client.sessions = []*Session{session} + session.idletimer.Initialize(session) + session.resetFakelag() + if conn.Config.TLSConfig != nil { client.SetMode(modes.TLS, true) // error is not useful to us here anyways so we can ignore it @@ -535,9 +538,6 @@ func (client *Client) run(session *Session, proxyLine string) { client.destroy(session) }() - session.idletimer.Initialize(session) - session.resetFakelag() - isReattach := client.Registered() if isReattach { if session.resumeDetails != nil { @@ -1245,7 +1245,6 @@ func (client *Client) destroy(session *Session) { client.server.stats.Remove(registered, invisible, operator) } - // do not destroy the client if it has either remaining sessions, or is BRB'ed if !shouldDestroy { return } diff --git a/irc/socket.go b/irc/socket.go index e7c8887d..592a7190 100644 --- a/irc/socket.go +++ b/irc/socket.go @@ -20,8 +20,8 @@ import ( ) var ( - handshakeTimeout, _ = time.ParseDuration("5s") - errSendQExceeded = errors.New("SendQ exceeded") + handshakeTimeout = RegisterTimeout + errSendQExceeded = errors.New("SendQ exceeded") sendQExceededMessage = []byte("\r\nERROR :SendQ Exceeded\r\n") )