commit 54879b432b99bb22df905b8e22c3f83205ea8d60 from: Alexander Barton date: Fri Apr 10 11:22:03 2009 UTC 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). commit - d9355d53f8c9b6ed81e8df61f52cb8506b077d05 commit + 54879b432b99bb22df905b8e22c3f83205ea8d60 blob - bd1a5bddffbd00c14c02a45ec259c0a0af0dbfe6 blob + 5b5251127bde9a7464328e7f40dac4754b6787f6 --- src/ngircd/conn.c +++ src/ngircd/conn.c @@ -1260,14 +1260,21 @@ New_Connection( int Sock ) My_Connections[new_sock].sock = new_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