From 8b0920b0b5eb67ae17eec24c1bf3a059543cb6e8 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Wed, 1 Feb 2012 22:26:19 +0100 Subject: [PATCH] tried to fix the ipv6 problem as reported in bug but this did not solve all problems because a bug in the apache http client prevented that it worked. Thread dump: Caused by: java.lang.NumberFormatException: For input string: "1450:400c:c01:0:0:0:69" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:458) at java.lang.Integer.parseInt(Integer.java:499) at org.apache.http.client.utils.URIUtils.extractHost(URIUtils.java:310) at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:764) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) at net.yacy.cora.protocol.http.HTTPClient.execute(HTTPClient.java:597) at net.yacy.cora.protocol.http.HTTPClient.getContentBytes(HTTPClient.java:558) at net.yacy.cora.protocol.http.HTTPClient.GETbytes(HTTPClient.java:341) at de.anomic.crawler.retrieval.HTTPLoader.load(HTTPLoader.java:131) at de.anomic.crawler.retrieval.HTTPLoader.load(HTTPLoader.java:74) at net.yacy.repository.LoaderDispatcher.loadInternal(LoaderDispatcher.java:274) at net.yacy.repository.LoaderDispatcher.load(LoaderDispatcher.java:164) at net.yacy.repository.LoaderDispatcher.load(LoaderDispatcher.java:150) at net.yacy.repository.LoaderDispatcher.loadDocument(LoaderDispatcher.java:355) at getpageinfo_p.respond(getpageinfo_p.java:97) --- .../yacy/cora/document/MultiProtocolURI.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/net/yacy/cora/document/MultiProtocolURI.java b/source/net/yacy/cora/document/MultiProtocolURI.java index 62ee4f994..58e3ef437 100644 --- a/source/net/yacy/cora/document/MultiProtocolURI.java +++ b/source/net/yacy/cora/document/MultiProtocolURI.java @@ -560,7 +560,12 @@ public class MultiProtocolURI implements Serializable, Comparable= 0 && ((ip6 = this.host.indexOf("]", ip6)) > 0)) { + pss = ip6 + 1; + } + final int r = this.host.indexOf(":", pss); if (r < 0) { this.port = dflt; } else { @@ -1164,13 +1169,14 @@ public class MultiProtocolURI implements Serializable, Comparable/ may have many '/' if the host is omitted and the path starts with '/' @@ -1221,9 +1227,9 @@ public class MultiProtocolURI implements Serializable, Comparable