From 6039f3931db37fe5c5d94f4b140429a9777d6168 Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 20 Jul 2009 17:29:25 +0000 Subject: [PATCH] additional proxy.i2p defenses --- .../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index 71f5f2b3e..8fbba7ff3 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -830,12 +830,13 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable int space = targetRequest.indexOf(' '); String filename = null; try { - filename = targetRequest.substring(10, space); + filename = targetRequest.substring(17, space); // "proxy.i2p/themes/".length } catch (IndexOutOfBoundsException ioobe) {} // theme hack - if (filename.startsWith("themes/console/default/")) + if (filename.startsWith("console/default/")) filename = filename.replaceFirst("default", I2PAppContext.getGlobalContext().getProperty("routerconsole.theme", "light")); - File file = new File(_errorDir, filename); + File themesDir = new File(_errorDir, "themes"); + File file = new File(themesDir, filename); if (file.exists() && !file.isDirectory()) { String type; if (filename.endsWith(".css")) @@ -849,7 +850,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable out.write("HTTP/1.1 200 OK\r\nContent-Type: ".getBytes()); out.write(type.getBytes()); out.write("\r\nCache-Control: max-age=86400\r\n\r\n".getBytes()); - FileUtil.readFile(filename, _errorDir.getAbsolutePath(), out); + FileUtil.readFile(filename, themesDir.getAbsolutePath(), out); return; } catch (IOException ioe) {} }