about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2011-04-26 11:09:59 +0200
committerAlexander Barton <alex@barton.de>2011-04-26 11:10:50 +0200
commit160f5725a6646d432f70fe8b677ffdbcbdeb02ce (patch)
tree0125676f469d84e18aa16f67aa2bc63c1d821f54
parente4e1595bffdb6c43cd163ae576ee9715b859e494 (diff)
downloadngircd-160f5725a6646d432f70fe8b677ffdbcbdeb02ce.tar.gz
ngircd-160f5725a6646d432f70fe8b677ffdbcbdeb02ce.zip
Do reverse lookups using the AF of the incoming connection
This fixes errors like this one:
  Address mismatch: 2001:1234:abcd:1::1 != 192.168.1.1
-rw-r--r--src/ngircd/resolve.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index ff40b8d5..9b17af9c 100644
--- a/src/ngircd/resolve.c
+++ b/src/ngircd/resolve.c
@@ -380,7 +380,7 @@ Do_ResolveAddr(const ng_ipaddr_t *Addr, int identsock, int w_fd)
 	if (!ReverseLookup(Addr, hostname, sizeof(hostname)))
 		goto dns_done;
 
-	if (ForwardLookup(hostname, &resolved_addr, AF_UNSPEC)) {
+	if (ForwardLookup(hostname, &resolved_addr, ng_ipaddr_af(Addr))) {
 		if (!Addr_in_list(&resolved_addr, Addr)) {
 			Log_Forgery_WrongIP(tmp_ip_str, hostname);
 			strlcpy(hostname, tmp_ip_str, sizeof(hostname));