From e6b9643fd69e18ccd479128f8682312a4e35766e Mon Sep 17 00:00:00 2001 From: reger Date: Fri, 3 Jan 2014 01:13:56 +0100 Subject: [PATCH] extended request for local peer check to by hostname resolved ip the current islocal() check did not detect a domain.com address as request for the local peer. --- source/net/yacy/http/AbstractRemoteHandler.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/net/yacy/http/AbstractRemoteHandler.java b/source/net/yacy/http/AbstractRemoteHandler.java index 24ea10342..2db4a2662 100644 --- a/source/net/yacy/http/AbstractRemoteHandler.java +++ b/source/net/yacy/http/AbstractRemoteHandler.java @@ -33,6 +33,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.yacy.cora.protocol.Domains; +import net.yacy.cora.util.ConcurrentLog; import net.yacy.search.Switchboard; @@ -93,7 +94,14 @@ abstract public class AbstractRemoteHandler extends AbstractHandler implements H localVirtualHostNames.add(sb.peers.myIP()); // not available on init, add it now for quickcheck return; } - + + InetAddress resolvedIP = Domains.dnsResolve(hostOnly); // during testing isLocal() failed to resolve domain against publicIP + if (sb.myPublicIP().equals(resolvedIP.getHostAddress())) { + localVirtualHostNames.add(resolvedIP.getHostName()); // remember resolved hostname + //localVirtualHostNames.add(resolved.getHostAddress()); + return; + } + // from here we can assume it is a proxy request // should check proxy use permission