- Dec 26, 2007
-
-
* Improve reseed handler (less repetitive code, avoid reporting errors when less than 10% of fetches fail)
-
* Escape both CR, LF and CR LF line breaks in Router.saveConfig() and unescape them in DataHelper.loadProps() to support saving and loading config properties with line breaks * Change the update URLs textbox into a textarea like keys have, so different URLs go on different lines * Modify TrustedUpdate to provide a method which supplies a key list delimited with CR LF line breaks * Modify DEFAULT_UPDATE_URL to supply a default URL list delimited with CR LF line breaks * Modify selectUpdateURL() to handle URL lists delimited by any kind of line breaks * Start saving trusted update keys * Improve formatting on configupdate.jsp
-
- Dec 22, 2007
-
- Sep 08, 2007
-
- Jul 16, 2007
-
- Jul 15, 2007
-
-
* Take the post-download routerInfo size check back out of ReseedHandler, since it wasn't helpful, and a lower limit caused false warnings. * Give EepGet ability to enforce a min/max HTTP response size. * Enforce a maximum response size of 8 MB when ReseedHandler downloads into a ByteArrayOutputStream. * Refactor ReseedHandler/ReseedRunner from static to ordinary classes, change invocation from RouterConsoleRunner accordingly. * Add an EepGet status listener to ReseedHandler to log causes of reseed failure, provide status reports to indicate the progress of reseeding. * Enable icon for default eepsite, and the index page of the router console (more later).
- Jul 14, 2007
-
-
* Clean up graphs.jsp - set K=1024 where appropriate, output image sizes in html, catch ooms, other minor tweaks * Fix current event count truncation which fixes graphs with low 60-sec event counts displaying high values (bw.* and router.* graphs for example were 1.5x too high) Affects all "events per period" (non-lifetime) counts.
-
- Jul 07, 2007
-
- Jul 04, 2007
-
- Jun 16, 2007
-
-
* First pass on EepGet and ReseedHandler improvements, please avoid use on routers which matter! * Give EepGet ability of downloading into an OutputStream, such as the ByteArrayOutputStream of ReseedHandler. * Detect failure to reseed better, report it persistently and more verbosely, provide a link to logs and suggest manual reseed.
-
- Jan 21, 2007
-
-
* Drop overlooked comment
-
* Modify ReseedHandler to query the "i2p.reseedURL" property from I2PAppContext instead of System, so setting a reseed URL in advanced configuration has effect. * Clean out obsolete reseed code from ConfigNetHandler.
-
- Oct 09, 2006
-
-
- Jul 18, 2006
-
- Jul 14, 2006
-
-
* Improve the multitransport shitlisting (thanks Complication!) * Allow routers with a capacity of 16-32KBps to be used in tunnels under the default configuration (thanks for the stats Complication!) * Properly allow older router references to load on startup (thanks bar, Complication, et al!) * Add a new "i2p.alwaysAllowReseed" advanced config property, though hopefully today's changes should make this unnecessary (thanks void!) * Improved NTCP buffering * Close NTCP connections if we are too backlogged when writing to them
-
- Jul 04, 2006
-
-
* New NIO-based tcp transport (NTCP), enabled by default for outbound connections only. Those who configure their NAT/firewall to allow inbound connections and specify the external host and port (dyndns/etc is ok) on /config.jsp can receive inbound connections. SSU is still enabled for use by default for all users as a fallback. * Substantial bugfix to the tunnel gateway processing to transfer messages sequentially instead of interleaved * Renamed GNU/crypto classes to avoid name clashes with kaffe and other GNU/Classpath based JVMs * Adjust the Fortuna PRNG's pooling system to reduce contention on refill with a background thread to refill the output buffer * Add per-transport support for the shitlist * Add a new async pumped tunnel gateway to reduce tunnel dispatcher contention
-
- May 18, 2006
-
- May 03, 2006
-
-
* Correct a misnamed property in SummaryHelper.java to avoid confusion * Make the maximum allowance of our own concurrent tunnel builds slightly adaptive: one concurrent build per 6 KB/s within the fixed range 2..10 * While overloaded, try to avoid completely choking our own build attempts, instead prefer limiting them to 1
-
- Apr 19, 2006
-
-
* Adjust how we pick high capacity peers to allow the inclusion of fast peers (the previous filter assumed an old usage pattern) * New set of stats to help track per-packet-type bandwidth usage better * Cut out the proactive tail drop from the SSU transport, for now * Reduce the frequency of tunnel build attempts while we're saturated * Don't drop tunnel requests as easily - prefer to explicitly reject them
-
- Apr 10, 2006
-
- Apr 08, 2006
-
-
* Process inbound tunnel requests more efficiently * Proactively drop inbound tunnel requests if the queue before we'd process it in is too long (dynamically adjusted by cpu load) * Adjust the tunnel rejection throttle to reject requeusts when we have to proactively drop too many requests. * Display the number of pending inbound tunnel join requests on the router console (as the "handle backlog") * Include a few more stats in the default set of graphs
-
- Apr 04, 2006
-
-
* Fix during the ssu handshake to avoid an unnecessary failure on packet retransmission (thanks ripple!) * Fix during the SSU handshake to use the negotiated session key asap, rather than using the intro key for more than we should (thanks ripple!) * Fixes to the message reply registry (thanks Complication!) * More comprehensive syndie banning (for repeated pushes) * Publish the router's ballpark bandwidth limit (w/in a power of 2), for testing purposes * Put a floor back on the capacity threshold, so too many failing peers won't cause us to pick very bad peers (unless we have very few good ones) * Bugfix to cut down on peers using introducers unneessarily (thanks Complication!) * Reduced the default streaming lib message size to fit into a single tunnel message, rather than require 5 tunnel messages to be transferred without loss before recomposition. This reduces throughput, but should increase reliability, at least for the time being. * Misc small bugfixes in the router (thanks all!) * More tweaking for Syndie's CSS (thanks Doubtful Salmon!)
-
- Mar 21, 2006
-
-
* Avoid a very strange (unconfirmed) bug that people using the systray's browser picker dialog could cause by disabling the GUI-based browser picker. * Cut down on subsequent streaming lib reset packets transmitted * Use a larger MTU more often * Allow netDb searches to query shitlisted peers, as the queries are indirect. * Add an option to disable non-floodfill netDb searches (non-floodfill searches are used by default, but can be disabled by adding netDb.floodfillOnly=true to the advanced config)
-
- Mar 20, 2006
-
- Mar 19, 2006
-
- Mar 18, 2006
-
- Mar 17, 2006
-
-
* Add support for graphing the event count as well as the average stat value (done by adding &showEvents=true to the URL). Also supports hiding the legend (&hideLegend=true), the grid (&hideGrid=true), and the title (&hideTitle=true). * Removed an unnecessary arbitrary filter on the profile organizer so we can pick high capacity and fast peers more appropriately
-
- Mar 16, 2006
-
-
* Integrate basic hooks for jrobin (http://jrobin.org) into the router console. Selected stats can be harvested automatically and fed into in-memory RRD databases, and those databases can be served up either as PNG images or as RRDtool compatible XML dumps (see oldstats.jsp for details). A base set of stats are harvested by default, but an alternate list can be specified by setting the 'stat.summaries' list on the advanced config. For instance: stat.summaries=bw.recvRate.60000,bw.sendRate.60000 * HTML tweaking for the general config page (thanks void!) * Odd NPE fix (thanks Complication!)
-
* Trim out an old, inactive IP second-guessing method (thanks for spotting, Anonymous!)
-
- Feb 20, 2006
-
-
* Major SSU and router tuning to reduce contention, memory usage, and GC churn. There are still issues to be worked out, but this should be a substantial improvement. * Modified the optional netDb harvester task to support choosing whether to use (non-anonymous) direct connections or (anonymous) exploratory tunnels to do the harvesting. Harvesting itself is enabled via the advanced config "netDb.shouldHarvest=true" (default is false) and the connection type can be chosen via "netDb.harvestDirectly=false" (default is false).
- Feb 19, 2006
-
-
* Moved the current net's reseed URL to a different location than where the old net looks (dev.i2p.net/i2pdb2/ vs .../i2pdb/) * More aggressively expire inbound messages (on receive, not just on send) * Add in a hook for breaking backwards compatibility in the SSU wire protocol directly by including a version as part of the handshake. The version is currently set to 0, however, so the wire protocol from this build is compatible with all earlier SSU implementations. * Increased the number of complete message readers, cutting down substantially on the delay processing inbound messages. * Delete the message history file on startup * Reworked the restart/shutdown display on the console (thanks bd_!)
-
- Feb 16, 2006
-
-
- Feb 15, 2006
-
- Jan 26, 2006
-
-
* Run the peer profile coalescing/reorganization outside the job queue (on one of the timers), to cut down on some job queue congestion. Also, trim old profiles while running, not just when starting up. * Slightly more sane intra-floodfill-node netDb activity (only flood new entries) * Workaround in the I2PTunnelHTTPServer for some bad requests (though the source of the bug is not yet addressed) * Better I2PSnark reconnection handling * Further cleanup in the new tunnel build process * Make sure we expire old participants properly * Remove much of the transient overload throttling (it wasn't using a good metric)
-
- Dec 27, 2005
-
-
* Add a new Status: line on the router console - "ERR-ClockSkew", in case the clock is too skewed to do anything useful (check the year and month, not just the hour and minute). * Fixed the read/write timeouts in the streaming lib (so that it actually honors them now) * Minor I2PSnark cleanups (no read timeout, more careful shutdown and torrent closing) * Handle an oddball tunnel creation failure (thanks Xunk)
-
- Dec 23, 2005
-
- Dec 09, 2005
-
-
* Create different strategies for exploratory tunnels (which are difficult to create) and client tunnels (which are much easier) * Gradually increase number of parallel build attempts as tunnel expiry nears. * Temporarily shorten attempted build tunnel length if builds using configured tunnel length are unsuccessful * React more aggressively to tunnel failure than routine tunnel replacement * Make tunnel creation times randomized - there is existing code to randomize the tunnels but it isn't effective due to the tunnel creation strategy. Currently, most tunnels get built all at once, at about 2 1/2 to 3 minutes before expiration. The patch fixes this by fixing the randomization, and by changing the overlap time (with old tunnels) to a range of 2 to 4 minutes. * Reduce number of excess tunnels. Lots of excess tunnels get created due to overlapping calls. Just about anything generated a call which could build many tunnels all at once, even if tunnel building was already in process. * Miscellaneous router console enhancements
-