$Id: history.txt,v 1.390 2006/01/16 17:00:04 cervantes Exp $ 2006-01-17 jrandom * First pass of the new tunnel creation crypto, specified in the new router/doc/tunnel-alt-creation.html (referenced in the current router/doc/tunnel-alt.html). It isn't actually used anywhere yet, other than in the test code, but the code verifies the technical viability, so further scrutiny would be warranted. 2006-01-16 cervantes * Dragged I2P kicking and screaming into 2006 (Oops) 2006-01-14 cervantes * Removed entirely misleading memory status from the console summary. 2006-01-13 cervantes * Further Syndie layout hardening and typeface balancing. * 2006-01-12 0.6.1.9 released 2006-01-12 jrandom * Only create the loadtest.log if requested to do so (thanks zzz!) * Make sure we cleanly take into consideration the appropriate data points when filtering out duplicate messages in the message validator, and report the right bloom filter false positives rate (not used for anything except debugging) 2006-01-12 cervantes * Syndie CSS tweaks to removed some redundant declarations, improve font scaling and layout robustness. Improved cross browser compatibility (in other words "kicked IE"). Tightened the look of the blog template a little. 2006-01-11 Complication * CSS comment fixes 2006-01-11 jrandom * Include the attachments/blogs/etc for comments on the blog view * Syndie HTML fixes (thanks cervantes!) * Make sure we fully reset the objects going into our cache before we reuse them (thanks zzz!) 2006-01-10 jrandom * Added the per-post list of attachments/blogs/etc to the blog view in Syndie (though this does not yet include comments or some further refinements) * Have the I2P shortcut launch i2p.exe instead of i2psvc.exe on windows, removing the dox box (though also removes the restart functionality...) * Give the i2p.exe the correct java.library.path to support the systray dll (thanks Bobcat, Sugadude, anon!) 2006-01-09 jrandom * Removed a longstanding bug that had caused unnecessary router identity churn due to clock skew * Temporarily sanity check within the streaming lib for long pending writes * Added support for a blog-wide logo to Syndie, and automated the pushing of updated extended blog info data along side the metadata. 2006-01-09 jrandom * Bugfix for a rare SSU error (thanks cervantes!) * More progress on the blog interface, allowing customizable blog-wide links. 2006-01-08 jrandom * First pass of the new blog interface, though without much of the useful customization features (coming soon) 2006-01-04 jrandom * Rather than profile individual tunnels for throughput over their lifetime, do so at 1 minute intervals (allowing less frequently active tunnels to be more fairly measured). * Run the live tunnel load test across two tunnels at a time, by default. The load test runs for a random period from 90s to the tunnel lifetime, self paced. This should help gathering data for profiling peers that are in exploratory tunnels. 2006-01-03 jrandom * Calculate the overall peer throughput across the 3 fastest one minute tunnel throughput values, rather than the single fastest throughput. * Degrade the profiled throughput data over time (cutting the profiled peaks in half once a day, on average) * Enable yet another new speed calculation for profiling peers, using the peak throughput from individual tunnels that a peer is participating in, rather than across all tunnels they are participating in. This helps gather a fairer peer throughput measurement, since it won't allow a slow high capacity peer seem to have a higher throughput (pushing a little data across many tunnels at once, as opposed to lots of data across a single tunnel). This degrades over time like the other. * Add basic OS/2 support to the jbigi code (though we do not bundle a precompiled OS/2 library) 2006-01-01 jrandom * Disable multifile torrent creation in I2PSnark's web UI for the moment (though it can still seed and participate in multifile swarms) * Enable a new speed calculation for profiling peers, using their peak 1 minute average tunnel throughput as their speed. 2005-12-31 jrandom * Include a simple torrent creator in the I2PSnark web UI * Further streaming lib closing improvements * Refactored the load test components to run off live tunnels (though, still not safe for normal/anonymous load testing) 2005-12-30 jrandom * Close streams more gracefully 2005-12-30 jrandom * Small streaming lib bugfixes for the modified timeouts * Minor Syndie/Sucker RSS html fix * Small synchronization fix in I2PSnark (thanks fsm!) 2005-12-30 jrandom * Replaced the bundled linux jcpuid (written in C++) with scintilla's jcpuid (written in C), removing the libg++.so.5 dependency that has bit some distros (e.g. mandriva) 2005-12-29 jrandom * Minor fix to the new ERR-ClockSkew to deal with people whose clocks are actually correct 2005-12-27 jrandom * 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) 2005-12-26 Complication * Fix some integer typecasting in I2PSnark (caused >2GB torrents to fail) * HTML readability cosmetics on "Peers" page * 2005-12-22 0.6.1.8 released 2005-12-22 jrandom * Bundle the standalone I2PSnark launcher in the installer and update process (launch as "java -jar launch-i2psnark.jar", viewing the interface on http://localhost:8002/) * Don't autostart swarming torrents by default so that you can run a standalone I2PSnark from the I2P install dir and not have the embedded I2PSnark autolaunch the torrents that the standalone instance is running * Fixed a rare streaming lib bug that could let a blocking call wait forever. 2005-12-22 jrandom * Cleaned up some buffer synchronization issues in I2PSnark that could cause blockage. 2005-12-21 jrandom * Adjusted I2PSnark's usage of the streaming lib (tweaking it for BT's behavior) * Fixed the I2PSnark bug that would lose track of live peers 2005-12-20 jrandom * Enabled the control in I2PSnark to toggle whether torrents should be started automatically or not * Hopefully finished the last hook to close down torrents completely when they're stopped. 2005-12-19 jrandom * Fix for old Syndie blog bookmarks (thanks Complication!) * Fix for I2PSnark to accept incoming connections again (oops) * Randomize the order that peers from the tracker are contacted 2005-12-19 jrandom * I2PSnark logging, disconnect old inactive peers rather than new ones, memory usage reduction, better OOM handling, and a shared connection acceptor. * Cleaned up the Syndie blog page and the resulting filters (viewing a blog from the blog page shows threads started by the selected author, not those that they merely participate in) 2005-12-18 jrandom * Added a standalone runner for the I2PSnark web ui (build with the command "ant i2psnark", unzip i2psnark-standalone.zip somewhere, run with "java -jar launch-i2psnark.jar", and go to http://localhost:8002/). * Further I2PSnark error handling 2005-12-17 jrandom * Let multiuser accounts authorize themselves to access the remote functionality again (thanks Ch0Hag!) * Adjust the JVM heap size to 128MB for new installs (existing users can accomplish this by editing wrapper.config, adding the line "wrapper.java.maxmemory=128", and then doing a full shutdown and startup of the router). This is relevent for heavy usage of I2PSnark in the router console. 2005-12-17 jrandom * Use our faster SHA1, rather than the JVM's within I2PSnark, and let 'piece' sizes grow larger than before. 2005-12-16 jrandom * Added some I2PSnark sanity checks, an OOMListener when running standalone, and a guard against keeping memory tied up indefinitely. * Sanity check on the watchdog (thanks zzz!) * Handle invalid HTTP requests in I2PTunnel a little better 2005-12-16 jrandom * Moved I2PSnark from using Threads to I2PThreads, so we handle OOMs properly (thanks Complication!) * More guards in I2PSnark for zany behavior (I2PSession recon w/ skew, b0rking in the DirMonitor, etc) 2005-12-16 jrandom * Try to run a torrent in readonly mode if we can't write to the file, and handle failures a little more gracefully (thanks polecat!) 2005-12-16 jrandom * Refuse torrents with too many files (128), avoiding ulimit errors. * Remove an fd leak in I2PSnark * Further I2PSnark web UI cleanup 2005-12-15 jrandom * Added a first pass to the I2PSnark web UI (see /i2psnark/) 2005-12-15 jrandom * Added multitorrent support to I2PSnark, accessible currently by running "i2psnark.jar --config i2psnark.config" (which may or may not exist). It then joins the swarm for any torrents in ./i2psnark/*.torrent, saving their data in that directory as well. Removing the .torrent file stops participation, and it is currently set to seed indefinitely. Completion is logged to the logger and standard output, with further UI interaction left to the (work in progress) web UI. 2005-12-14 jrandom * Fix to drop peer references when we shitlist people again (thanks zzz!) * Further I2PSnark fixes to deal with arbitrary torrent info attributes (thanks Complication!) 2005-12-13 zzz * Don't test tunnels expiring within 90 seconds * Defer Test Tunnel jobs if job lag too large * Use JobQueue.getMaxLag() rather than the jobQueue.jobLag stat to measure job lag for tunnel build backoff, allowing for more agile handling (since the stat is only updated once a minute) * Use tunnel length override if all tunnels are expiring within one minute. 2005-12-13 jrandom * Fixed I2PSnark's handling of some torrent files to deal with those created by Azureus and I2PRufus (it didn't know how to deal with additional meta info, such as path.utf-8 or name.utf-8). 2005-12-09 zzz * 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 2005-12-08 jrandom * Minor bugfix in SSU for dealing with corrupt packets * Added some hooks for load testing 2005-12-07 jrandom * Added a first pass at a blog view in Syndie 2005-12-07 jrandom * Expand the thread we're viewing to its leaf * Bugfix on intraday ordering (children are always newer than parents) 2005-12-05 jrandom * Added an RDF and XML thread export to Syndie, reachable at .../threadnav/rdf or .../threadnav/xml, accepting the parameters count=$numThreads and offset=$threadIndex. If the $numThreads is -1, it displays all threads. 2005-12-04 TLorD * Patch for the C SAM library to null terminate strings on copy (thanks!) 2005-12-04 jrandom * Bugfix in Syndie for a problem in the threaded indexer (thanks CofE!) * Always include ourselves in the favorite authors (since we don't bookmark ourselves) 2005-12-03 jrandom * Use newgroup-like tags by default in Syndie's interface 2005-12-03 jrandom * Added support for a 'most recent posts' view that CofE requested, which includes the ability to filter by age (e.g. posts by your favorite authors in the last 5 days). 2005-12-03 jrandom * Adjusted Syndie to use the threaded view that cervantes suggested, which displays a a single thread path at a time - from root to leaf - rather than a depth first traversal. 2005-12-03 jrandom * Package up a standalone Syndie install into a "syndie-standalone.zip", buildable with "ant syndie". It extracts into ./syndie/, launches with "java -jar launchsyndie.jar" (or javaw, on windows, to avoid a dos box), running a single user Syndie instance (by default). It also creates a default subscription to syndiemedia without any anonymity (using no proxy). Upgrades can be done by just replacing the syndie.war with the one from I2P. * 2005-12-01 0.6.1.7 released 2005-12-01 jrandom * Add a new criteria to the tunnel join throttle, backing off people if we are failing to talk to our peers more than usual. 2005-11-30 jrandom * Cleaned up the build process to deal with Jetty 5.1.6 and rename the new commons-logging-api.jar to commons-logging.jar, which it replaces. Jetty 5.1.6 is pushed with all updates. Also, no need to push a separate jdom or rome, as they're inside syndie.war. 2005-11-30 jrandom * Don't let the TCP transport alone shitlist a peer, since other transports may be working. Also display whether TCP connections are inbound or outbound on the peers page. * Fixed some substantial bugs in the SSU introducers where we wouldn't talk to anyone who didn't expose an IP (even if they had introducers), among other goofy things. * When dealing with SSU introducers, send them all a packet at 3s/6s/9s, rather than sending one a packet at 3s, then another a packet at 6s, and a third a packet at 9s. * Fixed Syndie attachments (oops) 2005-11-29 zzz * Added a link to orion's jump page on the 'key not found' error page. 2005-11-29 jrandom * Further Syndie UI cleanup * Bundled our patched MultiPartRequest code from jetty (APL2 licensed), since it hasn't been applied to the jetty CVS yet [1]. Its packaged into syndie.jar and renamed to net.i2p.syndie.web.MultiPartRequest, but will be removed as soon as its integrated into Jetty. This patch allows posting content in various character sets. [1] http://article.gmane.org/gmane.comp.java.jetty.general/6031 * Upgraded new installs to the latest stable jetty (5.1.6), though this isn't pushed as part of the update yet, as there aren't any critical bugs. 2005-11-29 jrandom * Added back in the OSX jbigi, which was accidentally removed a few revs back (thanks for the bug report stoerte!) New installs will get the full jbigi, or you can pull the jbigi.jar from CVS by going to http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/installer/lib/jbigi/jbigi.jar and clicking on the first "download" link, saving that jbigi.jar to lib/jbigi.jar in your I2P installation directory. After restarting your router, it should load up fine. 2005-11-27 jrandom * Inlined the Syndie CSS to reduce the number of HTTP requests (and because firefox [and others?] delay rendering until they fetch the css). * Make sure we fire the shutdown tasks when regenerating a new identity (thanks picsou!) * Cleaned up some of the things I b0rked in the 'dynamic keys' mode * Don't drop SSU sessions if they're still transmitting data successfully, even if there are transmission failures * Adjusted the time summarization to display hours after 119m, not 90m * Further EepGet cleanup (grr) * 2005-11-26 0.6.1.6 released 2005-11-26 jrandom * Update the sorting in Syndie to consider children 'newer' than parents, even if they have the same message ID (duh) * Cleaned up some nav links in Syndie (good idea gloin, spaetz!) * Added a bunch of tooltips to Syndie's fields (thanks polecat!) * Force support for nonvalidating XML in Jetty (so we can handle GCJ/etc better) 2005-11-26 jrandom * Be more explicit about what messages we will handle through a client tunnel, and how we will handle them. This cuts off a set of attacks that an active adversary could mount, though they're probably nonobvious and would require at least some sophistication. 2005-11-26 Raccoon23 * Added support for 'dynamic keys' mode, where the router creates a new router identity whenever it detects a substantial change in its public address (read: SSU IP or port). This only offers minimal additional protection against trivial attackers, but should provide functional improvement for people who have periodic IP changes, since their new router address would not be shitlisted while their old one would be. * Added further infrastructure for restricted route operation, but its use is not recommended. 2005-11-25 jrandom * Further Syndie UI cleanups * Logging cleanup * Fixed link to fproxy.tino.i2p (thanks zzz!) 2005-11-25 jrandom * Don't publish stats for periods we haven't reached yet (thanks zzz!) * Cleaned up the syndie threaded display to show the last updated date for a subthread, and to highlight threads updated in the last two days. 2005-11-24 jrandom * Fix to save syndication settings in Syndie (thanks spaetz!) 2005-11-23 jrandom * Removed spurious streaming lib RTO increase (it wasn't helpful) * Streamlined the tunnel batching to schedule batch transmissions more appropriately. * Default tunnel pool variance to 2 +0-1 hops 2005-11-21 jrandom * IE doesn't strip SPAN from