diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml index f65c75208b..b939e1432b 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 8d408cb17a..111845921f 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 0000000000..ef5043aac0 --- /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 6a82fff95e..ab01c28553 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())