- Fix failsafe shutdown hook broken in 0.8.8;
HUP, INT, and TERM signals should now shut down cleanly.
- Shutdown hook no longer prevents other hooks from running
- Trap HUP, if router.gracefulHUP=true, and do graceful shutdown.
Only under wrapper, non-Windows.
- i2prouter stop now uses SIGTERM
- Implement i2prouter graceful using SIGHUP (ticket #580)
- Configure wrapper to ignore SIGUSR1 and SIGUSR2 as they will shut down
or crash the JVM
- 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)
- Fix NPE logging error when Router.saveConfig() fails early
- Log readConfig() and saveConfig() errors to wrapper log if
router log not yet available
- Handle non-split configuration in MigrateJetty
- Better logging of migration errors
- Handle existing backup files during migration better
- Remove synchronization
- Do not allow contents to change after being set, throw IllegalStateException
- Do not copy contents out in getters
- Make options final
- Add getOption() and getOptionsMap() methods
for ease in building multiple routers in the JVM,
and also because starting threads in a constructor is bad practice.
All threads now start in runRouter().
Installation of updates now only happens via Router.main().
Jetty 6 package.
- Add several jars from the Jetty 6 distribution
- Update jetty.xml
- Add context XML files
- Update WorkingDir to migrate the content XML files
- Update RouterConsoleRunner and LocaleWebAppHandler
- Remove all old Jetty 5.1.15 local mods;
this will break Seedless using a custom Server() constructor
- Update I2PRequestLog to be a mod of NCSARequestLog from 6.1.26
- Put I2PRequestLog in its own jar
- Copy MultiPartRequest and other required classes from Jetty 5.1.15
and add it to susimail, as the replacement MultiPartFilter in
Jetty 6 is difficult to migrate to, and does not support content-type
- Update i2psnark for Jetty 6
- Disable i2psnark RunStandalone, unused and instantiated Jetty 5
- Fix up all webapp build.xml to reference new jars
Not yet working: Plugin/webapp run detection and stopping, eepsite CGI
Not well tested: Plugins, classpaths, webapps
- Payloads an exact multiple of 512 bytes failed to decompress
- Data at the end of the stream could be lost
- read() returned -1 when the data was 0xff