- Feb 27, 2005
-
- Feb 26, 2005
-
-
* Further streaming lib caching improvements * Reduce the minimum RTT (used to calculate retry timeouts), but also increase the RTT on resends. * Lower the default message size to 4KB from 16KB to further reduce the chance of failed fragmentation. * Extend tunnel rebuild throttling to include fallback rebuilds * If there are less than 20 routers known, don't drop the last 20 (to help avoid dropping all peers under catastrophic failures) * New stats for end to end messages - "client.leaseSetFoundLocally", "client.leaseSetFoundRemoteTime", and "client.leaseSetFailedRemoteTime"
-
- Feb 24, 2005
-
- Feb 23, 2005
-
-
-
* Reworked the tunnel (re)building process to remove the tokens and provide cleaner controls on the tunnels built. * Fixed situations where the timestamper wanted to test more servers than were provided (thanks Tracker!) * Get rid of the dead SAM sessions by using the streaming lib's callbacks (thanks Tracker!)
- Feb 22, 2005
-
-
* Adjusted (and fixed...) the timestamper change detection * Deal with a rare reordering bug at the beginning of a stream (so we don't drop it unnecessarily) * Cleaned up some dropped message handling in the router * Reduced job queue churn when dealing with a large number of tunnels by sharing an expiration job * Keep a separate list of the most recent CRIT messages (shown on the logs.jsp). This way they don't get buried among any other messages. * For clarity, display the tunnel variance config as "Randomization" on the web console. * If lease republishing fails (boo! hiss!) try it again * Actually fix the negative jobLag in the right place (this time) * Allow reseeding when there are less than 10 known peer references * Lots of logging updates.
- Feb 21, 2005
-
-
* Allow the streaming lib resend frequency to drop down to 20s as the minimum, so that up to 2 retries can get sent on an http request. * Add further limits to failsafe tunnels. * Keep exploratory and client tunnel testing and building stats separate. * Only use the 60s period for throttling tunnel requests due to transient network overload. * Rebuild tunnels earlier (1-3m before expiration, by default) * Cache the next hop's routerInfo for participating tunnels so that the tunnel participation doesn't depend on the netDb. * Fixed a long standing bug in the streaming lib where we wouldn't always unchoke messages when the window size grows. * Make sure the window size never reaches 0 (duh)
-
- Feb 20, 2005
-
-
* Only build failsafe tunnels if we need them * Properly implement the selectNotFailingPeers so that we get a random selection of peers, rather than using the strictOrdering (thanks dm!) * Don't include too many "don't tell me about" peer references in the lookup message - only send the 10 peer references closest to the target.
-
- 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
-
-
* Fixed the braindead tunnel testing logic * If a large number of tunnels are failing (within the last 5-10 minutes) and the current tunnel pool's configuration allows it, randomly build a zero hop tunnel to replace failed tunnels. * Enable postman's POP3 and SMTP tunnels by default
-
* Added some error handling when the number of session tags exceeds the realistic capacity, dropping a random chunk of received tag sets and conducting some minor analysis of the remaining ones. This is a part of a pretty serious error condition, and logs as CRIT (if/when people see "TOO MANY SESSION TAGS!", please let me know the full log line it puts in the wrapper.log or /logs.jsp) * Update the addressbook to only write to the published hosts location if the addressbook's config contains "should_publish=true" (by default, it contains "should_publish=false")
- 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) ...
-
- Feb 11, 2005
-
-
* Initial check-in of Pants, a new utility to help us manage our 3rd-party dependencies (Fortuna, Jetty, Java Service Wrapper, etc.). Some parts of Pants are still non-functional at this time so don't mess with it yet unless you want to potentially mangle your working copy of CVS.
-
- Feb 09, 2005
-
- Feb 07, 2005
-
- Feb 06, 2005
-
- 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 26, 2005
-
- Jan 24, 2005
-
- Jan 23, 2005
-
- Jan 22, 2005
-
- Jan 19, 2005
-
- 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 15, 2005
-
-
* Added support to the eepproxy for URLs such as http://localhost:4444/eepproxy/foo.i2p/bar/baz or even http://localhost:4444/eepproxy/foo.i2p/?i2paddresshelper=base64
-
* Caught a series of (previously unhandled) errors caused by requeueing messages that had timed out on the TCP transport (thanks mae^!) * Reduce the barrier to dropping session tags on streaming lib resends - every fourth send should drop the tags, forcing ElGamal encryption. This will help speed up the recovery after a disconnect, rather than the drop every fifth send.
-
- Jan 06, 2005
-
-
2005-01-06 jrandom * Added a startup message to the addressbook, printing its version number to stdout (which is sent to wrapper.config) when it loads. * Updated the addressbook to reread the config file periodically * Added orion.i2p to the list of eepsites on the default homepage
-
* Handle unexpected network read errors more carefully (thanks parg!) * Added more methods to partially compare (DataHelper) and display arrays (Base64.encode). * Exposed the AES encryptBlock/decryptBlock on the context.aes() * Be more generous on the throttle when just starting up the router * Fix a missing scheduled event in the streaming lib (caused after reset) * Add a new DisconnectListener on the I2PSocketManager to allow notification of session destruction. * Make sure our own router identity is valid, and if it isn't, build a new one and restart the router. Alternately, you can run the Router with the single command line argument "rebuild" and it will do the same.
-
- Jan 01, 2005
-
- Dec 31, 2004
-
- Dec 30, 2004
-
-
* Revised the I2PTunnel client and httpclient connection establishment throttles. There is now a pool of threads that build the I2PSocket connections with a default size of 5, configurable via the I2PTunnel client option 'i2ptunnel.numConnectionBuilders' (if set to 0, it will not throttle the number of concurrent builders, but will launch a thread per socket during establishment). In addition, sockets accepted but not yet allocated to one of the connection builders will be destroyed after 30 seconds, configurable via 'i2ptunnel.maxWaitTime' (if set to 0, it will wait indefinitely).
-
- Dec 29, 2004
-