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

Skip to content
Snippets Groups Projects
history.txt 284 KiB
Newer Older
jrandom's avatar
jrandom committed

2005-12-30  jrandom
    * Close streams more gracefully
jrandom's avatar
jrandom committed

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!)
jrandom's avatar
jrandom committed

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)
jrandom's avatar
jrandom committed

2005-12-29  jrandom
    * Minor fix to the new ERR-ClockSkew to deal with people whose clocks are
      actually correct
jrandom's avatar
jrandom committed

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)
complication's avatar
complication committed

2005-12-26  Complication
    * Fix some integer typecasting in I2PSnark (caused >2GB torrents to fail)
    * HTML readability cosmetics on "Peers" page
jrandom's avatar
jrandom committed

* 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.
jrandom's avatar
jrandom committed

2005-12-22  jrandom
    * Cleaned up some buffer synchronization issues in I2PSnark that could
jrandom's avatar
jrandom committed
      cause blockage.
jrandom's avatar
jrandom committed

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.
jrandom's avatar
jrandom committed

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
jrandom's avatar
jrandom committed

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)
jrandom's avatar
jrandom committed

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.
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 
      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
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 
      .../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

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.
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 
      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 
      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 
      "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 
      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 
      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 
      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 
      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*

2005-10-03  rangarok
    * Changed default update delay to twelve hours, and enforced a minimum 
      delay of one hour.

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

2005-09-30  ragnarok
    * 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

ragnarok's avatar
ragnarok committed
    * Export petnames from syndie to the router's petname db instead of 
      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.  
      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 
      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 
      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 
      (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 
      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 
      kill the "lost first packet" bug (where a page shows up with the first
      few KB missing)
    * Add support for initial window sizes greater than 1 - useful for 
      eepsites to transmit e.g. 4 packets full of data along with the initial
      ACK, thereby cutting down on the rtt latency.  The congestion window 
      size can and does still shrink down to 1 packet though.
    * Adjusted the streaming lib retransmission calculation algorithm to be
      more TCP-like.
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 
      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 
      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 
      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 
      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 
      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 
      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 
      (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 
      (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 
      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 
      supports tests.
    * Give the watchdog its fangs - if it detects obscene job lag or if 
      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 
      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 
      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 
      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 
      participants to refuse to answer queries regarding peers who are marked
      as unreachable, though this too is disabled by default (meaning the 
      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 
      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!)
jrandom's avatar
jrandom committed
    * Be more careful when expiring a failed tunnel message fragment so we 
      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 
      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 
      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 
      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). 
    * Adjust the netDb store per-peer timeout based on each particular peer's
      profile (timeout = 4x their average netDb store response time)   
    * 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 
      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 
      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 
      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 
      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 
      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 
      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