I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
history.txt 465 KiB
Newer Older
  • Learn to ignore specific revisions
  • jrandom's avatar
    jrandom committed
          router console.
    
    jrandom's avatar
    jrandom committed
    
    2005-12-17  jrandom
        * Use our faster SHA1, rather than the JVM's within I2PSnark, and let
          'piece' sizes grow larger than before.
    
    jrandom's avatar
    jrandom committed
    
    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
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    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!)
    
    jrandom's avatar
    jrandom committed
    
    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
    
    jrandom's avatar
    jrandom committed
    
    2005-12-15  jrandom
        * Added a first pass to the I2PSnark web UI (see /i2psnark/)
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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!)
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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).
    
    jrandom's avatar
    jrandom committed
    
    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
    
    jrandom's avatar
    jrandom committed
          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
    
    jrandom's avatar
    jrandom committed
          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
    
    jrandom's avatar
    jrandom committed
    
    2005-12-08  jrandom
        * Minor bugfix in SSU for dealing with corrupt packets
        * Added some hooks for load testing
    
    jrandom's avatar
    jrandom committed
    
    2005-12-07  jrandom
        * Added a first pass at a blog view in Syndie
    
    jrandom's avatar
    jrandom committed
    
    2005-12-07  jrandom
        * Expand the thread we're viewing to its leaf
        * Bugfix on intraday ordering (children are always newer than parents)
    
    jrandom's avatar
    jrandom committed
    
    2005-12-05  jrandom
    
        * Added an RDF and XML thread export to Syndie, reachable at
    
    jrandom's avatar
    jrandom committed
          .../threadnav/rdf or .../threadnav/xml, accepting the parameters
          count=$numThreads and offset=$threadIndex.  If the $numThreads is -1, it
          displays all threads.
    
    jrandom's avatar
    jrandom committed
    
    2005-12-04  TLorD
        * Patch for the C SAM library to null terminate strings on copy (thanks!)
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    2005-12-03  jrandom
        * Use newgroup-like tags by default in Syndie's interface
    
    jrandom's avatar
    jrandom committed
    
    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).
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    * 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.
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    2005-11-29  zzz
        * Added a link to orion's jump page on the 'key not found' error page.
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    * 2005-11-26 0.6.1.6 released
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    
    jrandom's avatar
    jrandom committed
        * 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.
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-25  jrandom
        * Further Syndie UI cleanups
        * Logging cleanup
        * Fixed link to fproxy.tino.i2p (thanks zzz!)
    
    jrandom's avatar
    jrandom committed
    
    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.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-24  jrandom
        * Fix to save syndication settings in Syndie (thanks spaetz!)
    
    jrandom's avatar
    jrandom committed
    
    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
    
    jrandom's avatar
    jrandom committed
    
    2005-11-21  jrandom
        * IE doesn't strip SPAN from <button> form fields, so add in a workaround
          within I2PTunnel.
        * Increase the maximum SSU retransmission timeout to accomodate slower or
          more congested links (though SSU's RTO calculation will usually use a
          much lower timeout)
        * Moved the streaming lib timed events off the main timer queues and onto
          a streaming lib specific set of timer queues.  Streaming lib timed
          events are more likely to have lock contention on the I2CP socket while
          other timed events in the router are (largely) independent.
        * Fixed a case sensitive lookup bug (thanks tino!)
        * Syndie cleanup - new edit form on the preview page, and fixed some blog
          links (thanks tino!)
    
    jrandom's avatar
    jrandom committed
    
    2005-11-19  jrandom
        * Implemented a trivial pure java PMTU backoff strategy, switching between
          a 608 byte MTU and a 1350 byte MTU, depending upon retransmission rates.
        * Fixed new user registration in Syndie (thanks Complication!)
    
    jrandom's avatar
    jrandom committed
    
    2005-11-17  jrandom
        * More cautious file handling in Syndie
    
    jrandom's avatar
    jrandom committed
    
    2005-11-16  jrandom
        * More aggressive I2PTunnel content encoding munging to work around some
          rare HTTP behavior (ignoring q values on Accept-encoding, using gzip
          even when only identity is specified, etc).  I2PTunnelHTTPServer now
          sends "Accept-encoding: \r\n" plus "X-Accept-encoding: x-i2p-gzip\r\n",
          and I2PTunnelHTTPServer handles x-i2p-gzip in either the Accept-encoding
          or X-Accept-encoding headers.  Eepsite operators who do not know to
          check for X-Accept-encoding will simply use the identity encoding.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-11-15  0.6.1.5 released
    
    jrandom's avatar
    jrandom committed
    
    2005-11-14  jrandom
        * Migrate to the new Syndie interface
    
    jrandom's avatar
    jrandom committed
    
    2005-11-11  jrandom
        * Add filtering threads by author to Syndie, populated with authors in the
          user's addressbook
        * When creating the default user, add
          "http://syndiemedia.i2p/archive/archive.txt" to their addressbook,
          configured to automatically pull updates.  (what other archives should
          be included?)
        * Tiny servlet to help dole out the new routerconsole themes, and bundle
          the installer/resources/themes/** into ./docs/themes/** on both install
          and update.
    
    cervantes's avatar
    cervantes committed
    
    2005-11-11  cervantes
    
    jrandom's avatar
    jrandom committed
        * Initial pass of the routerconsole revamp, starting with I2PTunnel and
          being progressively rolled out to other sections at later dates.
          Featuring abstracted W3C strict XHTML1.0 markup, with CSS providing
          layout and styling.
        * Implemented console themes. Users can create their own themes by
          creating css files in: {i2pdir}/docs/themes/console/{themename}/
          and activating it using the routerconsole.theme={themename} advanced
          config property. Look at the example incomplete "defCon1" theme.
          Note: This is very much a work in progress. Folks might want to hold-off
          creating their own skins until the markup has solidified.
        * Added "routerconsole.javascript.disabled=true" to disable console
    
          client-side scripting and "routerconsole.css.disabled=true" to remove
    
    jrandom's avatar
    jrandom committed
          css styling (only rolled out in the i2ptunnel interface currently)
        * Fixed long standing bug with i2ptunnel client and server edit screens
          where tunnel count and depth properties would fail to save. Added
          backup quantity and variance configuration options.
    
        * Added basic accessibility support (key shortcuts, linear markup, alt and
    
    jrandom's avatar
    jrandom committed
          title information and form labels).
        * So far only tested on IE6, Firefox 1.0.6, Opera 8 and lynx.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-11  jrandom
        * Default Syndie to single user mode, and automatically log into a default
          user account (additional accounts can be logged into with the 'switch'
          or login pages, and new accounts can be created with the register page).
        * Disable the 'automated' column on the Syndie addressbook unless the user
          is appropriately authorized (good idea Polecat!)
    
    jrandom's avatar
    jrandom committed
    
    2005-11-10  jrandom
        * First pass to a new threaded Syndie interface, which isn't enabled by
          default, as its not done yet.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-06  jrandom
        * Include SSU establishment failure in the peer profile as a commError,
          as we do for TCP establishment failures.
        * Don't throttle the initial transmission of a message because of ongoing
          retransmissions to a peer, since the initial transmission of a message
          is more valuable than a retransmission (since it has less latency).
        * Cleaned up links to SusiDNS and I2PTunnel (thanks zzz!)
    
    jrandom's avatar
    jrandom committed
    
    2005-11-05  jrandom
        * Include the most recent ACKs with packets, rather than only sending an
          ack exactly once.  SSU differs from TCP in this regard, as TCP has ever
          increasing sequence numbers, while each message ID in SSU is random, so
          we don't get the benefit of later ACKs implicitly ACKing earlier
          messages.
        * Reduced the max retransmission timeout for SSU
        * Don't try to send messages queued up for a long time waiting for
          establishment.
    
    dust's avatar
    dust committed
    
    2005-11-05  dust
        * Fix sucker to delete its temporary files.
        * Improve sucker's sml output some.
        * Fix Exception in SMLParser for weird sml.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-03  zzz
        * Added a new error page to the eepproxy to differentiate the full 60
          second timeout from the immediate "I don't know this base64" failure.
    
    jrandom's avatar
    jrandom committed
    
    2005-11-01  jrandom
        * Added a few more css elements (thanks identiguy!)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-31  jrandom
        * Fix for some syndie reply scenarios (thanks identiguy and CofE!)
        * Removed a potentially infinitely recursive call (oops)
    
    dust's avatar
    dust committed
    
    2005-10-30  dust
        * Merge sucker into syndie with a rssimport.jsp page.
        * Add getContentType() to EepGet.
        * Make chunked transfer work (better) with EepGet.
        * Do replaceAll("<","&lt;") for logs.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-10-29  0.6.1.4 released
    
    jrandom's avatar
    jrandom committed
    
    2005-10-29  jrandom
        * Improved the bandwidth throtting on tunnel participation, especially for
          low bandwidth peers.
        * Improved failure handling in SSU with proactive reestablishment of
          failing idle peers, and rather than shitlisting a peer who failed too
          much, drop the SSU session and allow a new attempt (which, if it fails,
          will cause a shitlisting)
        * Clarify the cause of the shitlist on the profiles page, and include
          bandwidth limiter info at the bottom of the peers page.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-26  jrandom
        * In Syndie, propogate the subject and tags in a reply, and show the parent
          post on the edit page for easy quoting.  (thanks identiguy and CofE!)
        * Streamline some netDb query handling to run outside the jobqueue -
          which means they'll run on the particular SSU thread that handles the
          message.  This should help out heavily loaded netDb peers.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-25  jrandom
        * Defer netDb searches for newly referenced peers until we actually want
          them
        * Ignore netDb references to peers on our shitlist
        * Set the timeout for end to end client messages to the max delay after
          finding the leaseSet, so we don't have as many expired messages floating
          around.
        * Add a floor to the streaming lib window size
        * When we need to send a streaming lib ACK, try to retransmit one of the
          unacked packets instead (with updated ACK/NACK fields, of course).  The
          bandwidth cost of an unnecessary retransmission should be minor as
          compared to both an ACK packet (rounded up to 1KB in the tunnels) and
          the probability of a necessary retransmission.
        * Adjust the streaming lib cwin algorithm to allow growth after a full
          cwin messages if the rtt is trending downwards.  If it is not, use the
          existing algorithm.
        * Increased the maximum rto size in the streaming lib.
        * Load balancing bugfix on end to end messages to distribute across
          tunnels more evenly.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-22  jrandom
        * Integrated GNU-Crypto's Fortuna PRNG, seeding it off /dev/urandom and
          ./prngseed.rnd (if they exist), and reseeding it with data out of
          various crypto operations (unused bits in a DH exchange, intermediary
          bits in a DSA signature generation, extra bits in an ElGamal decrypt).
          The Fortuna implementation under gnu.crypto.prng has been modified to
          use BouncyCastle's SHA256 and Cryptix's AES (since those are the ones
          I2P uses), and the resulting gnu.crypto.prng.* are therefor available
          under GPL+Classpath's linking exception (~= LGPL).  I2P's SecureRandom
          wrapper around it is, of course, public domain.
    
    dust's avatar
    dust committed
    
    2005-10-20  dust
        * Fix bug in ircclient that prevented it to use its own dest (i.e. was
          always shared. (thx for info Ragnarok)
        * Fix crash in Sucker with some bad html.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-20  jrandom
        * Workaround a bug in GCJ's Calendar implementation
        * Propery throw an exception in the streaming lib if we try to write to a
          closed stream.  This will hopefully help clear some I2Phex bugs (thanks
          GregorK!)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-19  jrandom
        * 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)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-19  jrandom
        * Bugfix for the auto-update code to handle different usage patterns
        * Decreased the addressbook recheck frequency to once every 12 hours
          instead of hourly.
        * Handle dynamically changing the HMAC size (again, unless your nym is
          toad or jrandom, ignore this ;)
        * Cleaned up some synchronization/locking code
    
    dust's avatar
    dust committed
    
    2005-10-17  dust
        * Exchange the remaining URL with EepGet in Sucker.
        * Allow /TOPIC irc command.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-17  jrandom
        * 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)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-14  jrandom
        * More explicit filter for linux/PPC building (thanks anon!)
    
        * Fixed Syndie's Sucker to not explicitly reference something only found
          in sun's JVM (thanks cervantes!)
    
        * Don't filter IRC "MAP" messages (not critical, but it doesn't hurt)
    
    jrandom's avatar
    jrandom committed
    
    * 2005-10-14  0.6.1.3 released
    
    2005-10-14  jrandom
        * Added a key explaining peers.jsp a bit (thanks tethra!)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-13  dust
        * 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.
    
    jrandom's avatar
    jrandom committed
    
    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)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-12  jrandom
        * Choke SSU retransmissions to a peer while there is already a
          retransmission in flight to them.  This currently lets other initial
          transmissions through, since packet loss is often sporadic, but maybe
          this should block initial transmissions as well?
        * Display the retransmission bytes stat on peers.jsp (thanks bar!)
        * Filter QUIT messages in the I2PTunnelIRCClient proxy
    
    jrandom's avatar
    jrandom committed
    
    2005-10-11  jrandom
        * Piggyback the SSU partial ACKs with data packets.  This is backwards
          compatible.
        * Syndie RSS renderer bugfix, plus now include the full entry instead of
          just the blurb before the cut.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-11  jrandom
        * Piggyback the SSU explicit ACKs with data packets (partial ACKs aren't
          yet piggybacked).  This is backwards compatible.
        * SML parser cleanup in Syndie
    
    jrandom's avatar
    jrandom committed
    
    2005-10-10  dust
        * Implemented a new I2PTunnelIRCClient which locally filters inbound and
          outbound IRC commands for anonymity and security purposes, removing all
          CTCP messages except ACTION, as well as stripping the hostname from the
          USER message (while leaving the nick and 'full name').  The IRC proxy
    
          doesn't use this by default, but you can enable it by creating a new
    
    jrandom's avatar
    jrandom committed
          "IRC proxy" tunnel on the web interface, or by changing the tunnel type
          to "ircclient" in i2ptunnel.config.
    
    2005-10-10  jrandom
        * I2PTunnel http client config cleanup and stats
        * Minor SSU congestion tweaks and stats
        * Reduced netDb exploration period
    
    jrandom's avatar
    jrandom committed
    
    2005-10-09  jrandom
        * Syndie CLI cleanup for simpler CLI posting.  Usage shown with
          java -jar lib/syndie.jar
        * Beginnings of the Syndie logging cleanup
        * Delete corrupt Syndie posts
    
    jrandom's avatar
    jrandom committed
    
    2005-10-09  jrandom
    
        * Now that the streaming lib works reasonably, set the default inactivity
    
    jrandom's avatar
    jrandom committed
          event to send a 0 byte keepalive payload, rather than disconnecting the
          stream.  This should cut the irc netsplits and help out with other long
          lived streams.  The default timeout is now less than the old timeout as
          well, so the keepalive will be sent before earlier builds fire their
          fatal timeouts.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-08  jrandom
        * Use the OS clock for stat timing, since it doesn't jump around (though
          still use the NTP'ed clock for display)
        * Added new DH stats
    
    jrandom's avatar
    jrandom committed
    
    * 2005-10-07  0.6.1.2 released
    
    2005-10-07  jrandom
    
        * Include the 1 second bandwidth usage on the console rather than the
    
    jrandom's avatar
    jrandom committed
          1 minute rate, as the 1 second value doesn't have the 1m/5m quantization
          issues.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-07  jrandom
        * Allow the I2PTunnelHTTPServer to send back the first few packets of an
    
          HTTP response quicker, and initialize the streaming lib's cwin more
    
    jrandom's avatar
    jrandom committed
          carefully.
        * Added a small web UI to the new Syndie scheduled updater.  If you log in
          as a user authorized to use the remote archive funtionality, you can
          request remote archives in your address book to be automatically pulled
          down by checking the "scheduled?" checkbox.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-05  jrandom
        * Allow the first few packets in the stream to fill in their IDs during
    
          handshake (thanks cervantes, Complication, et al!)  This should fix at
    
    jrandom's avatar
    jrandom committed
          least some of the intermittent HTTP POST issues.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-04  jrandom
        * Syndie patch for single user remote archives (thanks nickless_head!)
        * Handle an invalid netDb store (thanks Complication!)
    
    jrandom's avatar
    jrandom committed
    
    2005-10-04  jrandom
        * Further reduction in unnecessary streaming packets.
    
    jrandom's avatar
    jrandom committed
    
    2005-10-03  jrandom
        * Properly reject unroutable IP addresses *cough*
    
        * Changed default update delay to twelve hours, and enforced a minimum
    
    
    2005-10-03  ragnarok
        * Implemented a Syndie auto-updater.  It will automatically pull new posts
    
          from selected syndie archives.  To try it out, add
          syndie.updateArchives=<comma seperated list of syndie archives> to your
    
          syndie.config.  Archives must be specified as the full url to archive.txt
          (e.g. http://syndiemedia.i2p/archive/archive.txt).  By default, it checks
    
          for new posts every hour.  This can be modified by setting
          syndie.updateDelay=<delay in hours> also in syndie.config.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-10-01  0.6.1.1 released
    
        * Implemented conditional get for syndie remote archive imports.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-30  jrandom
        * Killed three more streaming lib bugs, one of which caused excess packets
          to be transmitted (dupacking dupacks), one that was the root of many of
          the old hung streams (shrinking highest received), and another that was
          releasing data too soon.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-30  jrandom
        * Only allow autodetection of our IP address if we haven't received an
          inbound connection in the last two minutes.
        * Increase the default max streaming resends to 8 from 5 (and down from
          the earlier 10)
    
    jrandom's avatar
    jrandom committed
    
    
        * Export petnames from syndie to the router's petname db instead of
    
    ragnarok's avatar
    ragnarok committed
          userhosts.txt.
    
    jrandom's avatar
    jrandom committed
    2005-09-29  jrandom
        * Support noreseed.i2p in addition to .i2pnoreseed for disabling automatic
    
          reseeding - useful on OSes that make it hard to create dot files.
    
    jrandom's avatar
    jrandom committed
          Thanks Complication (and anon)!
        * Fixed the installer version string (thanks Frontier!)
        * Added cleaner rejection of invalid IP addresses, shitlist those who send
          us invalid IP addresses, verify again that we are not sending invalid IP
          addresses, and log an error if it happens. (Thanks Complication, ptm,
          and adab!)
    
    jrandom's avatar
    jrandom committed
    
    * 2005-09-29  0.6.1 released
    
    2005-09-29  jrandom
        * Let syndie users modify their metadata.
    
        * Reseed the router on startup if there aren't enough peer references
    
    jrandom's avatar
    jrandom committed
          known locally.  This can be disabled by creating the file .i2pnoreseed
          in your home directory, and the existing detection and reseed handling
          on the web interface is unchanged.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-28  jrandom
        * Fix for at least some (all?) of the wrong stream errors in the streaming
          lib
    
    jrandom's avatar
    jrandom committed
    
    2005-09-27  jrandom
        * Properly suggest filenames for attachments in Syndie (thanks all!)
        * Fixed the Syndie authorization scheme for single user vs. multiuser
    
    jrandom's avatar
    jrandom committed
    
    2005-09-27  jrandom
        * I2PTunnel bugfix (thanks Complication!)
    
        * Increase the SSU cwin slower during congestion avoidance (at k/cwin^2
    
    jrandom's avatar
    jrandom committed
          instead of k/cwin)
        * Limit the number of inbound SSU sessions being built at once (using
          half of the i2np.udp.maxConcurrentEstablish config prop)
        * Don't shitlist on a message send failure alone (unless there aren't any
          common transports).
        * More careful bandwidth bursting
    
    jrandom's avatar
    jrandom committed
    
    2005-09-26  jrandom
        * Reworded the SSU introductions config section (thanks duck!)
    
        * Force identity content encoding for I2PTunnel httpserver requests
    
    jrandom's avatar
    jrandom committed
          (thanks redzara!)
        * Further x-i2p-gzip bugfixes for the end of streams
        * Reduce the minimum bandwidth limits to 3KBps steady and burst (though
          I2P's performance at 3KBps is another issue)
        * Cleaned up some streaming lib structures
    
    jrandom's avatar
    jrandom committed
    
    2005-09-25  jrandom
        * Allow reseeding on the console if the netDb knows less than 30 peers,
    
          rather than less than 10 (without internet connectivity, we keep the
    
    jrandom's avatar
    jrandom committed
          last 15 router references)
        * Reenable the x-i2p-gzip HTTP processing by default, flushing the stream
          more aggressively.
        * Show the status that used to be called "ERR-Reject" as "OK (NAT)"
        * Reduced the default maximum number of streaming lib resends of a packet
          (10 retransmits is a bit much with a reasonable RTO)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-25  Complication
        * 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
    
    jrandom's avatar
    jrandom committed
          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
    
    jrandom's avatar
    jrandom committed
          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
    
    jrandom's avatar
    jrandom committed
          size can and does still shrink down to 1 packet though.
        * Adjusted the streaming lib retransmission calculation algorithm to be
          more TCP-like.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-21  redzara
        * Use ISO-8859-1 for the susidns xml
    
    jrandom's avatar
    jrandom committed
    
    2005-09-21  susi
        * Bugfix in susidns for deleting entries
    
    2005-09-21  jrandom
        * Add support for HTTP POST to EepGet
    
        * Use HTTP POST for syndie bulk fetches, since there's a lot of data to
    
    jrandom's avatar
    jrandom committed
          put in that URL.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-18  jrandom
    
        * Added support for pure 64bit linux with jbigi and the java service
          wrapper (no need for jcpuid if we're on os.arch=amd64).  Thanks mule
    
    jrandom's avatar
    jrandom committed
          et al for help testing!
        * UI cleanup in Syndie (thanks gloin and bar!)
    
    ragnarok's avatar
    ragnarok committed
    
    
    2005-09-18  Ragnarok
        * Made MetaNamingService the default naming service.
    
    
    ragnarok's avatar
    ragnarok committed
    2005-09-17  Ragnarok
        * Implemented a naming service using Syndie's petname db.  It's not enabled
          by default, but you can try it out by setting
    
          i2p.naming.impl=net.i2p.client.naming.PetNameNamingService in
    
    ragnarok's avatar
    ragnarok committed
          router.config.
    
        * Implemented a meta naming service that will first lookup names in the
    
          PetNameNamingService then fallback on the HostTxtNamingService.  Which
    
          naming services are checked and in which order is specified by
    
          i2p.nameservicelist.  This will probably become the default naming service
          so please help test it out by setting
          i2p.naming.impl=net.i2p.client.naming.MetaNamingService in router.config.
    
    jrandom's avatar
    jrandom committed
    * 2005-09-17  0.6.0.6 released
    
    2005-09-17  jrandom
    
        * Clean up syndie a bit more and bundle a default introductory post with
    
    jrandom's avatar
    jrandom committed
          both new installs and updates.
        * Typo fixes on the console (thanks bar!)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-17  jrandom
    
    jrandom's avatar
    jrandom committed
        * Updated the bandwidth limiter to use two tiers of bandwidth - our normal
    
          steady state rate, plus a new limit on how fast we transfer when
          bursting.  This is different from the old "burst as fast as possible
    
    jrandom's avatar
    jrandom committed
          until we're out of tokens" policy, and should help those with congested
          networks.  See /config.jsp to manage this rate.
    
    jrandom's avatar
    jrandom committed
        * Bugfixes in Syndie to handle missing cache files (no data was lost, the
          old posts just didn't show up).
        * Log properly in EepPost
    
    jrandom's avatar
    jrandom committed
    
    2005-09-17  jrandom
        * 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
    
    jrandom's avatar
    jrandom committed
          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.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-16  jrandom
        * Reject unroutable IPs in SSU like we do for the TCP transport (unless
          you have i2np.udp.allowLocal=true defined - useful for private nets)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-16  jrandom
    
        * Adjust I2PTunnelHTTPServer so it can be used for outproxy operators
    
    jrandom's avatar
    jrandom committed
          (just specify the spoofed host as an empty string), allowing them to
          honor x-i2p-gzip encoding.
        * Let windows users build the exes too (thanks bar and redzara!)
    
        * Allow I2PTunnel httpserver operators to disable gzip compression on
          individual tunnels with the i2ptunnel.gzip=false client option
    
    jrandom's avatar
    jrandom committed
          (good idea susi!)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-16  jrandom
        * 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
    
    jrandom's avatar
    jrandom committed
          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.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-15  jrandom
        * Error handling for failed intro packets (thanks red.hand!)
        * More carefully verify intro addresses
    
    jrandom's avatar
    jrandom committed
    
    2005-09-13  jrandom
        * More careful error handling with introductions (thanks dust!)
        * Fix the forceIntroducers checkbox on config.jsp (thanks Complication!)
        * Hide the shitlist on the summary so it doesn't confuse new users.
    
    comwiz's avatar
    comwiz committed
    
    2005-09-12  comwiz
        * Migrated the router tests to junit
    
    jrandom's avatar
    jrandom committed
    
    2005-09-12  jrandom
        * Removed guaranteed delivery mode entirely (so existing i2phex clients
          using it can get the benefits of mode=best_effort).  Guaranteed delivery
          is offered at the streaming lib level.
    
        * Improve the peer selection code for peer testing, as everyone now
    
    jrandom's avatar
    jrandom committed
          supports tests.
    
        * Give the watchdog its fangs - if it detects obscene job lag or if
    
    jrandom's avatar
    jrandom committed
          clients have been unable to get a leaseSet for more than 5 minutes,
    
          restart the router.  This was disabled a year ago due to spurious
    
    jrandom's avatar
    jrandom committed
          restarts, and can be disabled by "watchdog.haltOnHang=false", but the
          cause of the spurious restarts should be gone.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-12  jrandom
        * Bugfix for skewed store which could kill a UDP thread (causing complete
          comm failure and eventual OOM)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-12  jrandom
        * More aggressively publish updated routerInfo.
        * Expose the flag to force SSU introductions on the router console
        * Don't give people the option to disable SNTP time sync, at least not
          through the router console, because there is no reason to disable it.
          No, not even if your OS is "ntp synced", because chances are, its not.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-10  jrandom
        * Test the router's reachability earlier and more aggressively
        * Use the low level bandwidth limiter's rates for the router console, and
          if the router has net.i2p.router.transport.FIFOBandwidthLimiter=INFO in
          the logger config, keep track of the 1 second transfer rates as the stat
    
          'bw.sendBps1s' and 'bw.recvBps1s', allowing closer monitoring of burst
    
    jrandom's avatar
    jrandom committed
          behavior.
    
    jrandom's avatar
    jrandom committed
    
    2005-09-09  jrandom
        * Added preliminary support for NAT hole punching through SSU introducers
        * Honor peer test results from peers that we have an SSU session with if
          those sessions are idle for 3 minutes or more.
    
    cervantes's avatar
    cervantes committed
    
    2005-09-09  cervantes
    
    jrandom's avatar
    jrandom committed
        * New build due to change in build number :P (thanks ugha!)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-07  BarkerJr
        * HTML cleanup for the router console (thanks!)
    
    2005-09-07  jrandom
    
        * Lay the foundation for 'client routers' - the ability for peers to opt
          out of participating in tunnels entirely due to firewall/NAT issues.
          Individual routers have control over where those peers are used in
          tunnels - in outbound or inbound, exploratory or client tunnels, or
    
    jrandom's avatar
    jrandom committed
          none at all.  The defaults with this build are to simply act as before -
          placing everyone as potential participants in any tunnel.
    
        * Another part of the foundation includes the option for netDb
    
    jrandom's avatar
    jrandom committed
          participants to refuse to answer queries regarding peers who are marked
    
          as unreachable, though this too is disabled by default (meaning the
    
    jrandom's avatar
    jrandom committed
          routerInfo is retrievable from the netDb).
    
    jrandom's avatar
    jrandom committed
    
    2005-09-05  jrandom
        * Expose the HTTP headers to EepGet status listeners
        * Handle DSA key failures properly (if the signature is not invertable, it
          is obviously invalid)
    
    jrandom's avatar
    jrandom committed
    
    2005-09-04  jrandom
    
        * Don't persist peer profiles until we are shutting down, as the
    
    jrandom's avatar
    jrandom committed
          persistence process gobbles RAM and wall time.
        * Bugfix to allow you to check/uncheck the sharedClient setting on the
    
    jrandom's avatar
    jrandom committed
          I2PTunnel web interface (thanks BarkerJr!)
    
        * Be more careful when expiring a failed tunnel message fragment so we
    
    jrandom's avatar
    jrandom committed
          don't drop the data while attempting to read it.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-09-02  0.6.0.5 released
    
    jrandom's avatar
    jrandom committed
    
    2005-09-02  jrandom
    
        * Don't refuse to send a netDb store if the targetted peer has failed a
    
    jrandom's avatar
    jrandom committed
          bit (the value was an arbitrary amount).
        * Logging changes
    
    jrandom's avatar
    jrandom committed
    
    * 2005-09-01  0.6.0.4 released
    
    jrandom's avatar
    jrandom committed
    
    2005-09-01  jrandom
        * Don't send out a netDb store of a router if it is more than a few hours
          old, even if someone asked us for it.
    
    jrandom's avatar
    jrandom committed
    
    2005-08-31  jrandom
        * Don't publish leaseSets to the netDb if they will never be looked for -
          namely, if they are for destinations that only establish outbound
    
          streams.  I2PTunnel's 'client' and 'httpclient' proxies have been
          modified to tell the router that it doesn't need to publish their
    
    jrandom's avatar
    jrandom committed
          leaseSet (by setting the I2CP config option 'i2cp.dontPublishLeaseSet'
          to 'true').
        * Don't publish the top 10 peer rankings of each router in the netdb, as
          it isn't being watched right now.
    
    jrandom's avatar
    jrandom committed
    
    2005-08-29  jrandom
        * Added the new test Floodfill netDb
    
    jrandom's avatar
    jrandom committed
    
    2005-08-27  jrandom
        * Minor logging and optimization tweaks in the router and SDK
        * Use ISO-8859-1 in the XML files (thanks redzara!)
        * The consolePassword config property can now be used to bypass the router
          console's nonce checking, allowing CLI restarts
    
    jrandom's avatar
    jrandom committed
    
    2005-08-24  jrandom
    
        * Catch errors with corrupt tunnel messages more gracefully (no need to
    
    jrandom's avatar
    jrandom committed
          kill the thread and cause an OOM...)
    
        * Don't skip shitlisted peers for netDb store messages, as they aren't
          necessarily shitlisted by other people (though they probably are).
    
    jrandom's avatar
    jrandom committed
        * Adjust the netDb store per-peer timeout based on each particular peer's
    
          profile (timeout = 4x their average netDb store response time)
    
    jrandom's avatar
    jrandom committed
        * Don't republish leaseSets to *failed* peers - send them to peers who
          replied but just didn't know the value.
        * Set a 5 second timeout on the I2PTunnelHTTPServer reading the client's
          HTTP headers, rather than blocking indefinitely.  HTTP headers should be
          sent entirely within the first streaming packet anyway, so this won't be
          a problem.
        * Don't use the I2PTunnel*Server handler thread pool by default, as it may
          prevent any clients from accessing the server if the handlers get
          blocked by the streaming lib or other issues.
        * Don't overwrite a known status (OK/ERR-Reject/ERR-SymmetricNAT) with
          Unknown.
    
    jrandom's avatar
    jrandom committed
    
    2005-08-23  jrandom
        * 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
    
    jrandom's avatar
    jrandom committed
          congestions.
        * SSU improvements to resend more efficiently.
        * Added a basic scheduler to eepget to fetch multiple files sequentially.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-08-21  0.6.0.3 released
    
    2005-08-21  jrandom
    
        * If we already have an established SSU session with the Charlie helping
    
    jrandom's avatar
    jrandom committed
          test us, cancel the test with the status of "unknown".
    
    jrandom's avatar
    jrandom committed
    
    2005-08-17  jrandom
    
        * Revise the SSU peer testing protocol so that Bob verifies Charlie's
    
    jrandom's avatar
    jrandom committed
          viability before agreeing to Alice's request.  This doesn't work with
          older SSU peer test builds, but is backwards compatible (older nodes
    
          won't ask newer nodes to participate in tests, and newer nodes won't
    
    jrandom's avatar
    jrandom committed
          ask older nodes to either).
    
    jrandom's avatar
    jrandom committed
    
    2005-08-12  jrandom
    
        * Keep detailed stats on the peer testing, publishing the results in the
    
    jrandom's avatar
    jrandom committed
          netDb.
        * Don't overwrite the status with 'unknown' unless we haven't had a valid
          status in a while.
        * Make sure to avoid shitlisted peers for peer testing.
        * When we get an unknown result to a peer test, try again soon afterwards.
        * When a peer tells us that our address is different from what we expect,
          if we've done a recent peer test with a result of OK, fire off a peer
          test to make sure our IP/port is still valid.  If our test is old or the
          result was not OK, accept their suggestion, but queue up a peer test for
          later.
    
        * Don't try to do a netDb store to a shitlisted peer, and adjust the way
    
    jrandom's avatar
    jrandom committed
          we monitor netDb store progress (to clear up the high netDb.storePeers
          stat)
    
    jrandom's avatar
    jrandom committed
    
    2005-08-10  jrandom
        * Deployed the peer testing implementation to be run every few minutes on
          each router, as well as any time the user requests a test manually.  The
          tests do not reconfigure the ports at the moment, merely determine under
    
          what conditions the local router is reachable.  The status shown in the
          top left will be "ERR-SymmetricNAT" if the user's IP and port show up
          differently for different peers, "ERR-Reject" if the router cannot
          receive unsolicited packets or the peer helping test could not find a
          collaborator, "Unknown" if the test has not been run or the test
          participants were unreachable, or "OK" if the router can receive
    
    jrandom's avatar
    jrandom committed
          unsolicited connections and those connections use the same IP and port.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-08-08  0.6.0.2 released
    
    2005-08-08  jrandom
        * Add a configurable throttle to the number of concurrent outbound SSU
          connection negotiations (via i2np.udp.maxConcurrentEstablish=4).  This
          may help those with slow connections to get integrated at the start.
        * Further fixlets to the streaming lib
    
    jrandom's avatar
    jrandom committed
    
    2005-08-07  Complication
        * Display the average clock skew for both SSU and TCP connections
    
    2005-08-07  jrandom
        * Fixed the long standing streaming lib bug where we could lose the first
          packet on retransmission.
        * Avoid an NPE when a message expires on the SSU queue.
        * Adjust the streaming lib's window growth factor with an additional
          Vegas-esque congestion detection algorithm.
        * Removed an unnecessary SSU session drop
        * Reduced the MTU (until we get a working PMTU lib)
    
        * Deferr tunnel acceptance until we know how to reach the next hop,
    
    jrandom's avatar
    jrandom committed
          rejecting it if we can't find them in time.
        * If our netDb store of our leaseSet fails, give it a few seconds before
          republishing.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-08-03  0.6.0.1 released
    
    2005-08-03  jrandom
        * Backed out an inadvertant change to the netDb store redundancy factor.
        * Verify tunnel participant caching.
        * Logging cleanup
    
    duck's avatar
    duck committed
    
    2005-08-01  duck
        * Update IzPack to 3.7.2 (build 2005.04.22). This fixes bug #82.
    
    duck's avatar
    duck committed
    
    2005-08-01  duck
        * Fix an addressbook NPE when a new hostname from the master addressbook
          didn't exist in the router addressbook.
        * Fix an addressbook bug which caused subscriptions not to be parsed at
          all. (Oops!)
    
    jrandom's avatar
    jrandom committed
    
    2005-07-31  jrandom
        * Adjust the netDb search and store per peer timeouts to match the average
          measured per peer success times, rather than huge fixed values.
    
        * Optimized and reverified the netDb peer selection / retrieval process
    
    jrandom's avatar
    jrandom committed
          within the kbuckets.
        * Drop TCP connections that don't have any useful activity in 10 minutes.
        * If i2np.udp.fixedPort=true, never change the externally published port,
          even if we are autodetecting the IP address.
    
    jrandom's avatar
    jrandom committed
    
    * 2005-07-27  0.6 released
    
    2005-07-27  jrandom
    
        * Enabled SSU as the default top priority transport, adjusting the
    
    jrandom's avatar
    jrandom committed
          config.jsp page accordingly.
        * Add verification fields to the SSU and TCP connection negotiation (not
          compatible with previous builds)
        * Enable the backwards incompatible tunnel crypto change as documented in
          tunnel-alt.html (have each hop encrypt the received IV before using it,
          then encrypt it again before sending it on)
    
        * Disable the I2CP encryption, leaving in place the end to end garlic
    
    jrandom's avatar
    jrandom committed
          encryption (another backwards incompatible change)
        * Adjust the protocol versions on the TCP and SSU transports so that they
          won't talk to older routers.
        * Fix up the config stats handling again
        * Fix a rare off-by-one in the SSU fragmentation
        * Reduce some unnecessary netDb resending by inluding the peers queried
          successfully in the store redundancy count.
    
    jrandom's avatar
    jrandom committed
    
    2005-07-22  jrandom
    
        * Use the small thread pool for I2PTunnelHTTPServer (already used for
    
    jrandom's avatar
    jrandom committed
          I2PTunnelServer)
        * Minor memory churn reduction in I2CP
        * Small stats update
    
    jrandom's avatar
    jrandom committed
    
    2005-07-21  jrandom