From 35cf4c7998e8ab066676b443e2a50183793696de Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Fri, 28 Dec 2007 16:38:39 +0100 Subject: [PATCH] Use connect_timeout for handshakes; add snote and log when they time out. --- src/client.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/client.c b/src/client.c index 531cc4ea..81be16f7 100644 --- a/src/client.c +++ b/src/client.c @@ -396,6 +396,7 @@ check_unknowns_list(dlink_list * list) { dlink_node *ptr, *next_ptr; struct Client *client_p; + int timeout; DLINK_FOREACH_SAFE(ptr, next_ptr, list->head) { @@ -409,8 +410,20 @@ check_unknowns_list(dlink_list * list) * for > 30s, close them. */ - if((CurrentTime - client_p->localClient->firsttime) > 30) + timeout = IsAnyServer(client_p) ? ConfigFileEntry.connect_timeout : 30; + if((CurrentTime - client_p->localClient->firsttime) > timeout) + { + if(IsAnyServer(client_p)) + { + sendto_realops_snomask(SNO_GENERAL, is_remote_connect(client_p) ? L_NETWIDE : L_ALL, + "No response from %s, closing link", + get_server_name(client_p, HIDE_IP)); + ilog(L_SERVER, + "No response from %s, closing link", + log_client_name(client_p, HIDE_IP)); + } exit_client(client_p, client_p, &me, "Connection timed out"); + } } }