From 33b25b57809b735fe96293b4508783dbee040a07 Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 1 Jan 2012 17:57:59 +0000 Subject: [PATCH] - Fix jetty.xml migrate quote handling - Fix I2PRequestLog javadoc - Rename jetty-threadpool.jar to jetty-java5-threadpool.jar to match ubuntu symlink - Bundle jetty-rewrite-handler.jar (20KB) and .xml config to make it easier to do rewrites (unused by I2P) --- apps/jetty/build.xml | 15 +- .../java/src/net/i2p/jetty/I2PRequestLog.java | 4 +- apps/routerconsole/java/build.xml | 6 +- build.xml | 4 +- installer/resources/clients.config | 4 + installer/resources/eepsite/jetty-rewrite.xml | 149 ++++++++++++++++++ .../net/i2p/router/startup/MigrateJetty.java | 10 +- 7 files changed, 177 insertions(+), 15 deletions(-) create mode 100644 installer/resources/eepsite/jetty-rewrite.xml diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml index f65c75208..b939e1432 100644 --- a/apps/jetty/build.xml +++ b/apps/jetty/build.xml @@ -75,26 +75,29 @@ + - + + - - + - + diff --git a/installer/resources/clients.config b/installer/resources/clients.config index 8d408cb17..111845921 100644 --- a/installer/resources/clients.config +++ b/installer/resources/clients.config @@ -42,6 +42,10 @@ clientApp.2.startOnLoad=true # run our own eepsite with a seperate jetty instance clientApp.3.main=org.mortbay.start.Main clientApp.3.name=I2P webserver (eepsite) +## To use the rewrite handler, edit jetty-rewrite.xml and use: +#clientApp.3.args="/path/to/jetty.xml" "/path/to/jetty-rewrite.xml" +## To use local SSL, edit jetty-ssl.xml and use: +#clientApp.3.args="/path/to/jetty.xml" "/path/to/jetty-ssl.xml" clientApp.3.args="eepsite/jetty.xml" clientApp.3.delay=30 clientApp.3.startOnLoad=true diff --git a/installer/resources/eepsite/jetty-rewrite.xml b/installer/resources/eepsite/jetty-rewrite.xml new file mode 100644 index 000000000..ef5043aac --- /dev/null +++ b/installer/resources/eepsite/jetty-rewrite.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + true + false + requestedPath + + + + + + + + + + + + + + /* + 500 + Server busy + + + + + + + + + + + + + + + /favicon.ico + Cache-Control + Max-Age=3600,public + true + + + + + + + + /rewrite/dump/regex/([^/]*)/(.*) + /test/dump/$2/$1 + + + + + + + /rewrite + /rewrittento + + + + + + + /rewrite/session/ + 401 + Setting error code 401 + + + + + + + *.jsp + Server + Server for JSP + + + + + + + /rewrite/dispatch + http://jetty.mortbay.org + + + + + + X-Forwarded-Scheme + https + https + + + + + + + + + mortbay.com + www.mortbay.com + mortbay.org + www.mortbay.org + + + + + + + /* + CookiePatternRule + 1 + + + + + + + + + + + + diff --git a/router/java/src/net/i2p/router/startup/MigrateJetty.java b/router/java/src/net/i2p/router/startup/MigrateJetty.java index 6a82fff95..ab01c2855 100644 --- a/router/java/src/net/i2p/router/startup/MigrateJetty.java +++ b/router/java/src/net/i2p/router/startup/MigrateJetty.java @@ -20,6 +20,7 @@ import net.i2p.router.RouterContext; * Saves $D/jetty.xml to $D/jetty5.xml * Copies $I2P/eepsite-jetty6/jetty.xml to $D/jetty.xml, edited for $D * Copies $I2P/eepsite-jetty6/jetty-ssl.xml to $D/jetty-ssl.xml, edited for $D + * Copies $I2P/eepsite-jetty6/jetty-rewrite.xml to $D/jetty-rewrite.xml * Copies $I2P/eepsite-jetty6/context/base-context.xml to $D/jetty.xml, edited for $D * Copies $I2P/eepsite-jetty6/context/cgi-context.xml to $D/jetty.xml, edited for $D * Copies $I2P/eepsite-jetty6/etc/* to $D/etc @@ -56,9 +57,13 @@ abstract class MigrateJetty { System.err.println("WARNING: Jetty 6 unavailable, cannot migrate " + client); continue; } - String xml = app.args; - if (xml == null) + if (app.args == null) continue; + // remove quotes + String args[] = LoadClientAppsJob.parseArgs(app.args); + if (args.length == 0) + continue; + String xml = args[0]; File xmlFile = new File(xml); if (!xmlFile.isAbsolute()) xmlFile = new File(ctx.getAppDir(), xml); @@ -98,6 +103,7 @@ abstract class MigrateJetty { (new File(eepsite, "contexts")).mkdir(); WorkingDir.migrateJettyXml(baseEep, eepsite, BASE_CONTEXT, "./eepsite/", newPath); WorkingDir.migrateJettyXml(baseEep, eepsite, CGI_CONTEXT, "./eepsite/", newPath); + WorkingDir.copyFile(new File(baseEep, "jetty-rewrite.xml"), new File(eepsite, "jetty-rewrite.xml")); (new File(eepsite, "etc")).mkdir(); File to = new File(eepsite, "etc/realm.properties"); if (!to.exists())