From d763e4d94b1e2b0ac07c62b03c91db8817b15f46 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Tue, 26 Jun 2012 11:18:29 +0200 Subject: [PATCH] fixed bad referer computation in SSIs which causes a NPE during host computation. This error was there before the latest IPv6 hack but did not cause a NPE. The IPv6 hack was not the cause for this bug, but it discovered the misconfiguration of the 'referer' referrer. --- .../de/anomic/http/server/HTTPDFileHandler.java | 3 +++ .../de/anomic/http/server/ServerSideIncludes.java | 7 +++---- .../net/yacy/cora/document/MultiProtocolURI.java | 15 +++++++++++++-- source/net/yacy/cora/protocol/Domains.java | 8 ++++---- source/net/yacy/cora/protocol/RequestHeader.java | 2 +- 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/source/de/anomic/http/server/HTTPDFileHandler.java b/source/de/anomic/http/server/HTTPDFileHandler.java index 5c40e5b7e..85c7a25d0 100644 --- a/source/de/anomic/http/server/HTTPDFileHandler.java +++ b/source/de/anomic/http/server/HTTPDFileHandler.java @@ -1216,6 +1216,9 @@ public final class HTTPDFileHandler { } catch (final Exception e) { try { // error handling + if (e instanceof NullPointerException) { + Log.logException(e); + } int httpStatusCode = 400; final String httpStatusText = null; final StringBuilder errorMessage = new StringBuilder(2000); diff --git a/source/de/anomic/http/server/ServerSideIncludes.java b/source/de/anomic/http/server/ServerSideIncludes.java index 53673206f..01a79b2dd 100644 --- a/source/de/anomic/http/server/ServerSideIncludes.java +++ b/source/de/anomic/http/server/ServerSideIncludes.java @@ -43,7 +43,7 @@ public class ServerSideIncludes { writeSSI(in, 0, out, authorization, requesthost, requestHeader); } - public static void writeSSI(final ByteBuffer in, int off, final OutputStream out, final String authorization, final String requesthost, final RequestHeader requestHeader) throws IOException { + private static void writeSSI(final ByteBuffer in, int off, final OutputStream out, final String authorization, final String requesthost, final RequestHeader requestHeader) throws IOException { int p = in.indexOf(ASCII.getBytes("