- Cancel our JVM shutdown hook when shutting down
- Run a spinner task so shutdown always completes
- exit() instead of halt() so other JVM shutdown hooks run
- Prevent duplicate wrapper notifier hooks
- Notify the wrapper twice, once for stopping and once for stopped
clock shifts by partially restarting the router. Also improve
restarts initiated from config.jsp
Tickets #465, #468, #494
* UPnP: Wait for a while to ensure port removal at shutdown or restart
- Use system SHA-256 MessageDigest instead of Sha256Standalone in PRNG
- Deprecate DataHelper functions using Sha256Standalone arguments;
used only by Syndie
- Note deprecation in javadocs
- Log error on out-of-order spans
- Log error on corrupt level and discard
- Fix SkipSpan non-flush bug causing null levels
- Add level fixer that repairs nulls and out-of-order levels
- Fix bug on backwards span construction, not hit in practice
- Lots of log level changes
- Remove floodfills from dont-include list in exploration
DatabaseLookupMessage, as the dont-include-floodfills flag
has been supported since release 0.7.9.
This will make exploration work better, as there is room for
non-floodfills in the don't-include list now.
- Reduce min and max exploration intervals
- Explore aggressively at startup and if known routers is low
- Explore slowly if known routers is high
* Shutdown:
- Clear more resources in peer manager, netdb, stat manager,
session key manager, naming service, tunnel dispatcher,
OCMOSJ (result of testing with jvisualvm)
- Don't call wrapper on shutdown (starting two threads) if we
were started with runplain
- Fix Polish po file
- Install as a service by default on Windows again
- Change CPUID getters to package private
- Split new jbigi install messages into two lines
- Javadocs
Add an icon (in OSX parlance, a 'bundle') to the installation folder to start
I2P.
While there might be a better way to handle this (admittedly, I don't know OSX
that well), it is my belief that this way is less 'hackish' than the various
OSX 'installers' that I've seen floating around.
- Stop I2PThread from starting a new App context at shutdown
- Stop LogWriter from starting a new App context at shutdown
- Have router kill any leftover App context at startup
- Kill the global app context
- Recognize multi-router case
- Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
hanging on to old context -
probably other offenders not yet found
- Fix DHBuilder thread not stopping
- Implement and call shutdown for RouterWatchdog
- Fix i2psnark DirMonitor not stopping
- Fix UPnP-Disposer not stopping quickly
- Implement and call YKGenerator and DHSessionKeyBuilder shutdown
- Implement and call shutdown for BandwidthRefiller
- Implement and register shutdown hook for Timestamper
- Implement and register shutdown hook for Jetty console server
- Fix UPnP-SSDPNotifySocket thread not stopping
- Fix all but one UDP PacketHandler threads not stopping
jbigi and wrapper files for arm.
Compiled on trimslice with gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
Log postinstall errors to postinstall.log.
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-0ubuntu2.1)
OpenJDK Zero VM (build 14.0-b16, mixed mode)
GMP 4.3.2 (half the size of 5.0.2, and no speed difference) LGPLv3
Wrapper 3.5.9 GPLv2
All binaries stripped.
As on the Android emulator, the stock BigInteger.modPow()
has some serious bug on arm.
Without the libjbigi checked in here, the JVM crashes almost immediately.
Tested in Windows 7.
As has been customary, these were linked with gmp-5.0.2.
Built using
"x86_64-w64-mingw32-gcc (GCC) 4.5.3" on Debian Sid with debug symbols stripped
using x86_64-w64-mingw32-strip.