- Oct 19, 2005
-
-
* Ported the snark bittorrent client to I2P such that it is compatible with i2p-bt and azneti2p. For usage information, grab an update and run "java -jar lib/i2psnark.jar". It isn't currently multitorrent capable, but adding in support would be fairly easy (see PeerAcceptor.java:49) * Don't allow leaseSets expiring too far in the future (thanks postman)
-
- Oct 18, 2005
-
-
* Allow an env prop to configure whether we want to use the backwards compatible (but not standards compliant) HMAC-MD5, or whether we want to use the not-backwards compatible (but standards compliant) one. No one should touch this setting, unless your name is toad or jrandom ;) * Added some new dummy facades * Be more aggressive on loading up the router.config before building the router context * Added new hooks for apps to deal with previously undefined I2NP message types without having to modify any code. * Demo code for using a castrated router for SSU comm (SSUDemo.java)
-
- Oct 14, 2005
-
-
* Bundled dust's Sucker for pulling RSS/Atom content into SML, which can then be injected into Syndie with the Syndie CLI. * Bundled ROME and JDOM (BSD and Apache licensed, respectively) for RSS/Atom parsing. 2005-10-13 jrandom * SSU retransmission choke bugfix (== != !=) * Include initial transmissions in the retransmission choke, so that if we are already retransmitting a message, we won't send anything to that peer other than that message (or ACKs, if necessary)
- Sep 25, 2005
-
-
* Better i2paddresshelper handling in the I2PTunnel httpclient, plus a new conflict resolution page if the i2paddresshelper parameter differs from an existing name to destination mapping. 2005-09-25 jrandom * Fix a long standing streaming lib bug (in the inactivity detection code) * Improved handling of initial streaming lib packet retransmissions to kill the "lost first packet" bug (where a page shows up with the first few KB missing) * Add support for initial window sizes greater than 1 - useful for eepsites to transmit e.g. 4 packets full of data along with the initial ACK, thereby cutting down on the rtt latency. The congestion window size can and does still shrink down to 1 packet though. * Adjusted the streaming lib retransmission calculation algorithm to be more TCP-like.
-
- Sep 20, 2005
-
- Sep 19, 2005
-
- Sep 18, 2005
-
-
- Sep 17, 2005
-
-
* Added the natively compiled jbigi and patched java service wrapper for OS X. Thanks Bill Dorsey for letting me use your machine! * Don't build i2p.exe or i2pinstall.exe when run on OS X machines, as we don't bundle the binutils necessary (and there'd be a naming conflict if we did). * Added 'single user' functionality to syndie - if the single user checkbox on the admin page is checked, all users are allowed to control the instance and sync up with remote syndie nodes. * Temporarily disable the x-i2p-gzip in i2ptunnel until it is more closely debugged.
-
- Sep 16, 2005
-
-
* Added the i2p.exe and i2pinstall.exe for windows users, using launch4j. * Added runplain.sh for *nix/osx users having problems using the java service wrapper (called from the install dir as: sh runplain.sh) * Bundle susidns and syndie, with links on the top nav * Have I2PTunnelHTTPClient and I2PTunnelHTTPServer use the x-i2p-gzip content-encoding (if offered), reducing the payload size before it reaches the streaming lib. The existing compression is at the i2cp level, so we've been packetizing 4KB of uncompressed data and then compressing those messages, rather than compressing and then packetizing 4KB of compressed data. This should reduce the number of round trips to fetch web pages substantially. * Adjust the startup and timing of the addressbook so that susidns always has config to work off, and expose a method for susidns to tell it to reload its config and rerun.
- Sep 13, 2005
-
- Aug 30, 2005
-
- Aug 23, 2005
-
-
* Removed the concept of "no bandwidth limit" - if none is specified, its 16KBps in/out. * Include ack packets in the per-peer cwin throttle (they were part of the bandwidth limit though). * Tweak the SSU cwin operation to get more accurrate estimates under congestions. * SSU improvements to resend more efficiently. * Added a basic scheduler to eepget to fetch multiple files sequentially.
-
- Aug 21, 2005
-
-
- Jul 11, 2005
-
-
* Reduced the growth factor on the slow start and congestion avoidance for the streaming lib. * Adjusted some of the I2PTunnelServer threading to use a small pool of handlers, rather than launching off new threads which then immediately launch off an I2PTunnelRunner instance (which launches 3 more threads..) * Don't persist session keys / session tags (not worth it, for now) * Added some detection and handling code for duplicate session tags being delivered (root cause still not addressed) * Make the PRNG's buffer size configurable (via the config property "i2p.prng.totalBufferSizeKB=4096") * Disable SSU flooding by default (duh) * Updates to the StreamSink apps for better throttling tests.
-
- Jun 23, 2005
-
- Apr 17, 2005
-
-
* Added new user-editable eepproxy error page templates. 2005-04-17 jrandom * Revamp the tunnel building throttles, fixing a situation where the rebuild may not recover, and defaulting it to unthrottled (users with slow CPUs may want to set "router.tunnel.shouldThrottle=true" in their advanced router config)
-
- Apr 08, 2005
-
- Mar 24, 2005
-
-
* Implemented the news fetch / update policy code, as configurated on /configupdate.jsp. Defaults are to grab the news every 24h (or if it doesn't exist yet, on startup). No action is taken however, though if the news.xml specifies that a new release is available, an option to update will be shown on the router console. * New initialNews.xml delivered with new installs, and moved news.xml out of the i2pwww module and into the i2p module so that we can bundle it within each update.
- Mar 07, 2005
-
-
2005-03-06 jrandom * Allow the I2PTunnel web interface to select streaming lib options for individual client tunnels, rather than sharing them across all of them, as we do with the session options. This way people can (and should) set the irc proxy to interactive and the eepproxy to bulk. * Added a startRouter.sh script to new installs which simply calls "sh i2prouter start". This should make it clear how people should start I2P.
-
- Feb 19, 2005
-
-
* Only build new extra tunnels on failure if we don't have enough * Fix a fencepost in the tunnel building so that e.g. a variance of 2 means +/- 2, not +/- 1 (thanks dm!) * Avoid an NPE on client disconnect * Never select a shitlisted peer to participate in a tunnel * Have netDb store messages timeout after 10s, not the full 60s (duh) * Keep session tags around for a little longer, just in case (grr) * Cleaned up some closing event issues on the streaming lib * Stop bundling the jetty 5.1.2 and updated wrapper.config in the update so that 0.4.* users will need to do a clean install, but we don't need to shove an additional 2MB in each update to those already on 0.5. * Imported the susimail css (oops, thanks susi!)
-
- Feb 18, 2005
-
- Feb 17, 2005
-
- Feb 16, 2005
-
-
* (Merged the 0.5-pre branch back into CVS HEAD) * Replaced the old tunnel routing crypto with the one specified in router/doc/tunnel-alt.html, including updates to the web console to view and tweak it. * Provide the means for routers to reject tunnel requests with a wider range of responses: probabalistic rejection, due to approaching overload transient rejection, due to temporary overload bandwidth rejection, due to persistent bandwidth overload critical rejection, due to general router fault (or imminent shutdown) The different responses are factored into the profiles accordingly. * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc) with a series of new properties, relevent to the new tunnel routing code: inbound.nickname (used on the console) inbound.quantity (# of tunnels to use in any leaseSets) inbound.backupQuantity (# of tunnels to keep in the ready) inbound.length (# of remote peers in the tunnel) inbound.lengthVariance (if > 0, permute the length by adding a random # up to the variance. if < 0, permute the length by adding or subtracting a random # up to the variance) outbound.* (same as the inbound, except for the, uh, outbound tunnels in that client's pool) There are other options, and more will be added later, but the above are the most relevent ones. * Replaced Jetty 4.2.21 with Jetty 5.1.2 * Compress all profile data on disk. * Adjust the reseeding functionality to work even when the JVM's http proxy is set. * Enable a poor-man's interactive-flow in the streaming lib by choking the max window size. * Reduced the default streaming lib max message size to 16KB (though still configurable by the user), also doubling the default maximum window size. * Replaced the RouterIdentity in a Lease with its SHA256 hash. * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to the first byte of the SHA256. * Added a new "netId" flag to let routers drop references to other routers who we won't be able to talk to. * Extended the timestamper to get a second (or third) opinion whenever it wants to actually adjust the clock offset. * Replaced that kludge of a timestamp I2NP message with a full blown DateMessage. * Substantial memory optimizations within the router and the SDK to reduce GC churn. Client apps and the streaming libs have not been tuned, however. * More bugfixes thank you can shake a stick at. 2005-02-13 jrandom * Updated jbigi source to handle 64bit CPUs. The bundled jbigi.jar still only contains 32bit versions, so build your own, placing libjbigi.so in your install dir if necessary. (thanks mule!) * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID (thanks spaetz!)
-
- Feb 03, 2005
-
- Jan 27, 2005
-
-
* i2pProxy.pac, i2pbench.sh, and i2ptest.sh are now shipped with the dist packages and installed to $i2pinstalldir/scripts. * Added command line params to i2ptest.sh and i2pbench.sh: --gij to run them using gij + libgcj, and --sourcedir to run them from the source tree instead of the installation directory. * Fixed unreachable for() statement clause in the KBucketImpl class that was causing gcj to toss a compilation warning (jrandom++).
-
- Jan 17, 2005
-
-
* Added meaningful support for adjusting the preferred message size in the streaming lib by setting the i2p.streaming.maxMessageSize=32768 (or whatever). The other side will mimic a reduction (but never an increase). * Always make sure to use distinct ConnectionOption objects for each connection (duh) * Reduced the default ACK delay to 500ms on in the streaming lib * Only shrink the streaming window once per window * Don't bundle a new jetty.xml with updates * Catch another local routerInfo corruption issue on startup.
-
- Jan 01, 2005
-
- Dec 29, 2004
-
- Dec 04, 2004
-
-
* Toss in a small pool of threads (3) to execute the events queued up with the SimpleTimer, as we do currently see the occational event notification spiking up to a second or so. * Implement a SAM client API in java, useful for event based streaming (or for testing the SAM bridge) * Added support to shut down the SAM bridge on OOM (useful if the SAM bridge is being run outside of the router). * Include the SAM test code in the sam.jar * Remove an irrelevent warning message from SAM, which was caused by perfectly normal operation due to a session being closed. * Removed some unnecessary synchronization in the streaming lib's PacketQueue * More quickly clean up the memory used by the streaming lib by immediately killing each packet's resend job as soon as it is ACKed (or cancelled), so that there are no longer any valid pointers to the (potentially 32KB) packet. * Fixed the timestamps dumped to stdout when debugging the PacketHandler. * Drop packets that would expand our inbound window beyond our maximum buffer size (default 32 messages) * Always read the ACK/NACK data from the verified packets received, even if we are going to drop them * Always adjust the window when there are messages ACKed, though do not change its size except as before. * Streamlined some synchronization in the router's I2CP handling * Streamlined some memory allocation in the SAM bridge * Default the streaming lib to disconnect on inactivity, rather than send an empty message. this still doesnt get the BT to where it needs to be, or fix the timeout problem, but i dont like having so many commits outstanding and these updates are sound
-
- Nov 30, 2004
-
- Nov 29, 2004
-
-
* Reduced contention for local client delivery * Drop the new code that munges the wrapper.config. Instead, updates that need to change it will include their own wrapper.config in the i2pupdate.zip, overwriting the existing file. If the file "wrapper.config.updated" is included, it is deleted at first opportunity and the router shut down, displaying a notice that the router must be started again cleanly to allow the changes to the wrapper.config to take effect. * Properly stop accept()ing I2PSocket connections if we close down the session (duh). * Make sure we cancel any outstanding Packets in flight when a connection is terminated (thanks susi!) * Split up the I2PTunnel closing a little further.
-
- Nov 25, 2004
-
-
* Revised the installer to include start menu and desktop shortcuts for windows platforms, including pretty icons (thanks DrWoo!) * Allow clients specified in clients.config to have an explicit startup delay. * Update the default install to launch a browser pointing at the console whenever I2P starts up, rather than only the first time it starts up (configurable on /configservice.jsp, or in clients.config) * Bugfix to the clock skew checking code to monitor the delta between offsets, not the offset itself (duh) * Router console html update * New (and uuuuugly) code to verify that the wrapper.config contains the necessary classpath entries on update. If it has to update the wrapper.config, it will stop the JVM and service completely, since the java service wrapper doesn't reread the wrapper.config on JVM restart - requiring the user to manually restart the service after an update. * Increase the TCP connection timeout to 30s (which is obscenely long) ------------------------------------------------
-
- Nov 07, 2004
-
-
* Expose a drop down on the /configclients.jsp to enter the outbound tunnel depth. * Improved *hosts.txt loading * Explicitly override the JVM's timezone settings to use GMT so that any client applications which use timezones won't leak sensitive data (thanks gott!) * Bundle sam.jar in the update (thanks duck!)
-
- Nov 04, 2004
-