- 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
- 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
- Add the router version to the zip file comment in the updater
- Add a class to extract the zip file comment
- Require the sud version header to match the zip file comment
to prevent spoofing of the version number, since the version
number in the header is not covered by the sud signature.
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.
* JBigI:
- Add new libjbigi-linux-xxx.so files built by sponge, now that we have
CPUID.java support for them (thanks hottuna).
See http://zzz.i2p/topics/306 for discussion and test results.
64-bit processors (atom, core2, corei, nano):
Built with GMP 5.0.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-5.0.2/
For 64-bit processors, both performance testing and
the GMP changelog http://gmplib.org/gmp5.0.html led us to use 5.0.2
for both the 32- and 64-bit versions, even though the files are twice as big.
5.0.x contains specific optimizations for atom and nano.
All 64-bit libs have _64 appended.
32-bit processors (pentiumm, geode):
Built with GMP 4.3.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-4.3.2/
The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
little or no performance difference between the two versions for 32 bit processors.
- Import the main_rules file and remove the copied rules
- Set the version code and name in the apk badging
- Build target is 8 to allow SD install, MIN-SDK is still 3
- Fix NPE on new install
- Remove some debug code from NBigI
- Use java.security.MessageDigest instead of bundled GNU SHA-256 code
if available, which it should always be.
5 to 20% faster on Oracle JVM; 40 to 60% on Harmony;
5 to 15% on JamVM; 20x (!) on GIJ.
- Use java.security.MessageDigest instead of bundled Bitzi SHA-1 code
if available on non-Oracle JVMs, which it should always be.
Not faster on Oracle JVM; 30 to 60% faster on Harmony;
15 to 20% on JamVM; 10-15x (!) on GIJ.
- Append I2CP Version information to the Get/Set Date Messages,
so that both the router and client are aware of the other side's version,
and future protocol changes will be easier to implement.
Previously, router version information was not available to the client,
so when router and client were in different JVMs,
old clients would work with new routers
but new clients would not work with old routers.
After this change, we can design future changes so that new clients
will work with old routers.
This is an enhancement to the old protocol version byte sent by the client,
which we have never changed and probably never will.
- Prevent a client from setting the router's clock
- Javadocs
which caused eepget to repeatedly retry the new redirect
of an i2paddresshelper query by the HTTP proxy.
This was clearly non-compliant (the Location: header requires
an absolute URI including any query string).
This was part of the original redirect handling added by
jrandom to eepget back when it was in syndie;
appending that changelog just in case this hackery was
required by Freenet USKs, which I doubt.
Also, reset the redirect counter when retrying.
==============
Revision: 62a8cac8565958d111d0a47a443c964918d2e3ef
Parent: 277fe109ea4416f7d8a6dba6e09cd4f605a8ce1a
Author: jrandom@i2p.net
Date: 10/22/2006 15:06:30
Branch: i2p.syndie
Changelog:
...
- add support for HTTP 301 redirects to EepGet (so freenet USKs work as
intended)