From 54879b432b99bb22df905b8e22c3f83205ea8d60 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Fri, 10 Apr 2009 13:22:03 +0200 Subject: [PATCH] Display IPv6 addresses as "[]" when accepting connections. With this patch ngIRCd displays IPv6 addresses as "[]:" when accepting new connections and later, if no successful DNS lookup could be made (or DNS is disabled altogether). --- src/ngircd/conn.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index bd1a5bdd..5b525112 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -1261,14 +1261,21 @@ New_Connection( int Sock ) My_Connections[new_sock].addr = new_addr; My_Connections[new_sock].client = c; - Log( LOG_INFO, "Accepted connection %d from %s:%d on socket %d.", new_sock, - ip_str, ng_ipaddr_getport(&new_addr), Sock); - - /* Hostnamen ermitteln */ - strlcpy(My_Connections[new_sock].host, ip_str, sizeof(My_Connections[new_sock].host)); + /* Set initial hostname to IP address. This becomes overwritten when + * the DNS lookup is enabled and succeeds, but is used otherwise. */ + if (ng_ipaddr_af(&new_addr) != AF_INET) + snprintf(My_Connections[new_sock].host, + sizeof(My_Connections[new_sock].host), "[%s]", ip_str); + else + strlcpy(My_Connections[new_sock].host, ip_str, + sizeof(My_Connections[new_sock].host)); Client_SetHostname(c, My_Connections[new_sock].host); + Log(LOG_INFO, "Accepted connection %d from %s:%d on socket %d.", + new_sock, My_Connections[new_sock].host, + ng_ipaddr_getport(&new_addr), Sock); + identsock = new_sock; #ifdef IDENTAUTH if (Conf_NoIdent) -- 2.39.2