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

Skip to content
Snippets Groups Projects
history.txt 170 KiB
Newer Older
zzz's avatar
zzz committed
$Id: history.txt,v 1.533 2006-10-29 14:29:50 complication Exp $

2006-10-29  zzz
    * i2psnark: Fix and enable generation of multifile torrents,
      print error if no tracker selected at create-torrent,
      fix stopping a torrent that hasn't started successfully,
      add eBook and GayTorrents trackers to form,
      web page formatting tweaks
jrandom's avatar
jrandom committed

* 2006-10-10  0.6.1.26 released

complication's avatar
complication committed
2006-10-29  Complication
    * Ensure we get NTP samples from more diverse sources
      (0.pool.ntp.org, 1.pool.ntp.org, etc)
    * Discard median-based peer skew calculator as framed average works,
      and adjusting its percentage can make it behave median-like
    * Require more data points (from at least 20 peers)
      before considering a peer skew measurement reliable

jrandom's avatar
jrandom committed
2006-10-10  jrandom
    * Removed the status display from the console, as its more confusing
      than informative (though the content is still displayed in the HTML)
complication's avatar
complication committed

2006-10-08  Complication
    * Add a framed average peer clock skew calculator
    * Add config property "router.clockOffsetSanityCheck" to determine
      if NTP-suggested clock offsets get sanity checked (default "true")
    * Reject NTP-suggested clock offsets if they'd increase peer clock skew
      by more than 5 seconds, or make it more than 20 seconds total
    * Decrease log level in getMedianPeerClockSkew()
zzz's avatar
zzz committed

2006-09-29  zzz
    * i2psnark: Second try at synchronization fix - synch addRequest()
      completely rather than just portions of it and requestNextPiece()
jrandom's avatar
jrandom committed

2006-09-27  jrandom
    * added HMAC-SHA256
    * properly use CRLF with EepPost
    * suppress jbigi/jcpuid messages if jbigi.dontLog/jcpuid.dontLog is set
    * PBE session key generation (with 1000 rounds of SHA256)
    * misc SDK helper functions
complication's avatar
complication committed

2006-09-26  Complication
    * Take back another inadverent logging change in NTCPConnection
complication's avatar
complication committed

2006-09-26  Complication
    * Take back an accidental log level change
complication's avatar
complication committed

2006-09-26  Complication
    * Subclass from Clock a RouterClock which can access router transports,
      with the goal of developing it to second-guess NTP results
    * Make transports report clock skew in seconds
    * Adjust renderStatusHTML() methods accordingly
    * Show average for NTCP clock skews too
    * Give transports a getClockSkews() method to report clock skews
    * Give transport manager a getClockSkews() method to aggregate results
    * Give comm system facade a getMedianPeerClockSkew() method which RouterClock calls
      (to observe results, add "net.i2p.router.transport.CommSystemFacadeImpl=WARN" to logging)
    * Extra explicitness in NTCP classes to denote unit of time.
    * Fix some places in NTCPConnection where milliseconds and seconds were confused
zzz's avatar
zzz committed

2006-09-25  zzz
    * i2psnark: Paranoid copy before writing pieces,
      recheck files on completion, redownload bad pieces
    * i2psnark: Don't contact tracker as often when seeding
zzz's avatar
zzz committed

2006-09-24  zzz
    * i2psnark: Add some synchronization to prevent rare problem
      after restoring orphan piece
zzz's avatar
zzz committed

2006-09-20  zzz
    * i2psnark: Eliminate duplicate requests caused by i2p-bt's
      rapid choke/unchokes
    * i2psnark: Truncate long TrackerErr messages on web page
zzz's avatar
zzz committed

2006-09-16  zzz
    * i2psnark: Implement retransmission of requests. This
      eliminates one cause of complete stalls with a peer.
      This problem is common on torrents with a small number of
      active peers where there are no choke/unchokes to kickstart things.
zzz's avatar
zzz committed

2006-09-13  zzz
    * i2psnark: Fix restoral of partial pieces broken by last patch
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2006-09-13  zzz
zzz's avatar
zzz committed
    * i2psnark: Mark a peer's requests as unrequested on disconnect,
      preventing premature end game
    * i2psnark: Randomize selection of next piece during end game
    * i2psnark: Don't restore a partial piece to a peer that is already working on it
    * i2psnark: strip ".torrent" on web page
    * i2psnark: Limit piece size in generated torrent to 1MB max
zzz's avatar
zzz committed

2006-09-09  zzz
    * i2psnark: Add "Stalled" indication and stat totals on web page
zzz's avatar
zzz committed

2006-09-09  zzz
    * i2psnark: Fix bug where new peers would always be sent an "interested"
      regardless of actual interest
    * i2psnark: Reduce max piece size from 10MB to 1MB; larger may have severe
      memory and efficiency problems
jrandom's avatar
jrandom committed

* 2006-09-09  0.6.1.25 released
jrandom's avatar
jrandom committed

2006-09-08  jrandom
    * Tweak the PRNG logging so it only displays error messages if there are
      problems
    * Disable dynamic router keys for the time being, as they don't offer
      meaningful security, may hurt the router, and makes it harder to
      determine the network health.  The code to restart on SSU IP change is
      still enabled however.
    * Disable tunnel load testing, leaning back on the tiered selection for
      the time being.
    * Spattering of bugfixes

2006-09-07  zzz
    * i2psnark: Increase output timeout from 2 min to 4 min
    * i2psnark: Orphan debug msg cleanup
    * i2psnark: More web rate report cleanup
zzz's avatar
zzz committed

2006-09-05  zzz
    * i2psnark: Implement basic partial-piece saves across connections
    * i2psnark: Implement keep-alive sending. This will keep non-i2psnark clients
      from dropping us for inactivity but also renders the 2-minute transmit-inactivity
      code in i2psnark ineffective. Will have to research why there is transmit but
      not receive inactivity code. With the current connection limit of 24 peers
      we aren't in any danger of keeping out new peers by keeping inactive ones.
    * i2psnark: Increase CHECK_PERIOD from 20 to 40 since nothing happens in 20 seconds
    * i2psnark: Fix dropped chunk handling
    * i2psnark: Web rate report cleanup
zzz's avatar
zzz committed

2006-09-04  zzz
    * i2psnark: Report cleared trackerErr immediately
    * i2psnark: Add trackerErr reporting after previous success; retry more quickly
    * i2psnark: Set up new connections more quickly
    * i2psnark: Don't delay tracker fetch when setting up lots of connections
    * i2psnark: Reduce MAX_UPLOADERS from 12 to 4

2006-09-04  zzz
    * Enable pipelining in i2psnark
    * Make i2psnark tunnel default be 1 + 0-1

2006-09-03  zzz
    * Add rate reporting to i2psnark
complication's avatar
complication committed

2006-09-03  Complication
    * Limit form size in SusiDNS to avoid exceeding a POST size limit on postback
    * Print messages about addressbook size to give better overview
    * Enable delete function in published addressbook
complication's avatar
complication committed

2006-08-21  Complication
    * Fix error reporting discrepancy (thanks for helping notice, yojoe!)
jrandom's avatar
jrandom committed

2006-08-03  jrandom
    * Decrease the recently modified tunnel building timeout, though keep
      the scaling on their processing

2006-07-31  jrandom
    * Increase the tunnel building timeout
    * Avoid a rare race (thanks bar!)
    * Fix the bandwidth capacity publishing code to factor in share percentage
      and outbound throttling (oops)
complication's avatar
complication committed

2006-07-29  Complication
    * Treat NTP responses from unexpected stratums like failures
jrandom's avatar
jrandom committed

* 2006-07-28  0.6.1.24 released
jrandom's avatar
jrandom committed

2006-07-28  jrandom
    * Don't try to reverify too many netDb entries at once (thanks
      cervantes and Complication!)
jrandom's avatar
jrandom committed

2006-07-28  jrandom
    * Actually fix the threading deadlock issue in the netDb (removing
      the synchronized access to individual kbuckets while validating
      individual entries) (thanks cervantes, postman, frosk, et al!)
jrandom's avatar
jrandom committed

* 2006-07-27  0.6.1.23 released
jrandom's avatar
jrandom committed

2006-07-27  jrandom
    * Cut down NTCP connection establishments once we know the peer is skewed
      (rather than wait for full establishment before verifying)
    * Removed a lock on the stats framework when accessing rates, which
      shouldn't be a problem, assuming rates are created (pretty much) all at
      once and merely updated during the lifetime of the jvm.
jrandom's avatar
jrandom committed

2006-07-27  jrandom
    * Further NTCP write status cleanup
    * Handle more oddly-timed NTCP disconnections (thanks bar!)
jrandom's avatar
jrandom committed

2006-07-26  jrandom
    * When dropping a netDb router reference, only accept newer
      references as part of the update check
    * If we have been up for a while, don't accept really old
      router references (published 2 or more days ago)
    * Drop router references once they are no longer valid, even if
      they were allowed in due to the lax restrictions on startup
jrandom's avatar
jrandom committed

2006-07-26  jrandom
    * Every time we create a new router identity, add an entry to the
      new "identlog.txt" text file in the I2P install directory.  For
jrandom's avatar
jrandom committed
      debugging purposes, publish the count of how many identities the
      router has cycled through, though not the identities itself.
    * Cleaned up the way the multitransport shitlisting worked, and
      added per-transport shitlists
    * When dropping a router reference locally, first fire a netDb
      lookup for the entry
    * Take the peer selection filters into account when organizing the
      profiles (thanks Complication!)
    * Avoid some obvious configuration errors for the NTCP transport
      (invalid ports, "null" ip, etc)
    * Deal with some small NTCP bugs found in the wild (unresolveable
      hosts, strange network discons, etc)
    * Send our netDb info to peers we have direct NTCP connections to
      after each 6-12 hours of connection uptime
    * Clean up the NTCP reading and writing queue logic to avoid some
      potential delays
    * Allow people to specify the IP that the SSU transport binds on
      locally, via the advanced config "i2np.udp.bindInterface=1.2.3.4"
jrandom's avatar
jrandom committed

* 2006-07-18  0.6.1.22 released

2006-07-18  jrandom
    * Add a failsafe to the NTCP transport to make sure we keep
      pumping writes when we should.
    * Properly reallow 16-32KBps routers in the default config
      (thanks Complication!)
complication's avatar
complication committed

2006-07-16  Complication
    * Collect tunnel build agree/reject/expire statistics
      for each bandwidth tier of peers (and peers of unknown tiers,
      even if those shouldn't exist)
jrandom's avatar
jrandom committed

2006-07-14  jrandom
    * Improve the multitransport shitlisting (thanks Complication!)
    * Allow routers with a capacity of 16-32KBps to be used in tunnels under
      the default configuration (thanks for the stats Complication!)
    * Properly allow older router references to load on startup
      (thanks bar, Complication, et al!)
    * Add a new "i2p.alwaysAllowReseed" advanced config property, though
      hopefully today's changes should make this unnecessary (thanks void!)
    * Improved NTCP buffering
    * Close NTCP connections if we are too backlogged when writing to them
jrandom's avatar
jrandom committed

2006-07-04  jrandom
    * New NIO-based tcp transport (NTCP), enabled by default for outbound
      connections only.  Those who configure their NAT/firewall to allow
      inbound connections and specify the external host and port
      (dyndns/etc is ok) on /config.jsp can receive inbound connections.
      SSU is still enabled for use by default for all users as a fallback.
    * Substantial bugfix to the tunnel gateway processing to transfer
      messages sequentially instead of interleaved
    * Renamed GNU/crypto classes to avoid name clashes with kaffe and other
      GNU/Classpath based JVMs
    * Adjust the Fortuna PRNG's pooling system to reduce contention on
      refill with a background thread to refill the output buffer
    * Add per-transport support for the shitlist
    * Add a new async pumped tunnel gateway to reduce tunnel dispatcher
      contention
complication's avatar
complication committed

2006-07-01  Complication
    * Ensure that the I2PTunnel web interface won't update tunnel settings
      for shared clients when a non-shared client is modified
      (thanks for spotting, BarkerJr!)
cervantes's avatar
cervantes committed

2006-06-14  cervantes
    * Small tweak to I2PTunnel CSS, so it looks better with desktops
      that use Bitstream Vera fonts @ 96 dpi
jrandom's avatar
jrandom committed

* 2006-06-14  0.6.1.21 released
jrandom's avatar
jrandom committed

2006-06-13  jrandom
    * Use a minimum uptime of 2 hours, not 4 (oops)
jrandom's avatar
jrandom committed

2006-06-13  jrandom
    * Cut down the proactive rejections due to queue size - if we are
      at the point of having decrypted the request off the queue, might
      as well let it through, rather than waste that decryption
jrandom's avatar
jrandom committed

2006-06-11  Kloug
    * Bugfix to the I2PTunnel IRC filter to support multiple concurrent
      outstanding pings/pongs
jrandom's avatar
jrandom committed

2006-06-10  jrandom
    * Further reduction in proactive rejections
jrandom's avatar
jrandom committed

2006-06-09  jrandom
    * Don't let the pending tunnel request queue grow beyond reason
      (letting things sit for up to 30s when they fail after 10s
      seems a bit... off)
jrandom's avatar
jrandom committed

2006-06-08  jrandom
    * Be more conservative in the proactive rejections
complication's avatar
complication committed

2006-06-04  Complication
    * Trim out sending a blank line before USER in susimail.
      Seemed to break in rare cases, thanks for reporting, Brachtus!
jrandom's avatar
jrandom committed

jrandom's avatar
jrandom committed
* 2006-06-04  0.6.1.20 released

2006-06-04  jrandom
    * Reduce the SSU ack frequency
    * Tweaked the tunnel rejection settings to reject less aggressively

jrandom's avatar
jrandom committed
2006-05-31  jrandom
    * Only send netDb searches to the floodfill peers for the time being
    * Add some proof of concept filters for tunnel participation.  By default,
      it will skip peers with an advertised bandwith of less than 32KBps or
      an advertised uptime of less than 2 hours.  If this is sufficient, a
      safer implementation of these filters will be implemented.
jrandom's avatar
jrandom committed

* 2006-05-18  0.6.1.19 released

2006-05-18  jrandom
    * Made the SSU ACKs less frequent when possible
complication's avatar
complication committed

2006-05-17  Complication
    * Fix some oversights in my previous changes:
      adjust some loglevels, make a few statements less wasteful,
      make one comparison less confusing and more likely to log unexpected values
jrandom's avatar
jrandom committed

2006-05-17  jrandom
    * Make the peer page sortable
    * SSU modifications to cut down on unnecessary connection failures
jrandom's avatar
jrandom committed

2006-05-16  jrandom
    * Further shitlist randomizations
    * Adjust the stats monitored for detecting cpu overload when dropping new
      tunnel requests
jrandom's avatar
jrandom committed

2006-05-15  jrandom
    * Add a load dependent throttle on the pending inbound tunnel request
      backlog
    * Increased the tunnel test failure slack before killing a tunnel
complication's avatar
complication committed

2006-05-13  Complication
    * Separate growth factors for tunnel count and tunnel test time
    * Reduce growth factors, so probabalistic throttle would activate
    * Square probAccept values to decelerate stronger when far from average
    * Create a bandwidth stat with approximately 15-second half life
    * Make allowTunnel() check the 1-second bandwidth for overload
      before doing allowance calculations using 15-second bandwidth
    * Tweak the overload detector in BuildExecutor to be more sensitive
      for rising edges, add ability to initiate tunnel drops
    * Add a function to seek and drop the highest-rate participating tunnel,
      keeping a fixed+random grace period between such drops.
      It doesn't seem very effective, so disabled by default
      ("router.dropTunnelsOnOverload=true" to enable)
jrandom's avatar
jrandom committed

2006-05-11  jrandom
    * PRNG bugfix (thanks cervantes and Complication!)
jrandom's avatar
jrandom committed

* 2006-05-09  0.6.1.18 released

2006-05-09  jrandom
    * Further tunnel creation timeout revamp
complication's avatar
complication committed

2006-05-07  Complication
    * Fix problem whereby repeated calls to allowed() would make
      the 1-tunnel exception permit more than one concurrent build
jrandom's avatar
jrandom committed

2006-05-06  jrandom
    * Readjust the tunnel creation timeouts to reject less but fail earlier,
      while tracking the extended timeout events.
jrandom's avatar
jrandom committed

2006-05-04  jrandom
    * Short circuit a highly congested part of the stat logging unless its
      required (may or may not help with a synchronization issue reported by
      andreas)
complication's avatar
complication committed

2006-05-03  Complication
    * Allow a single build attempt to proceed despite 1-minute overload
      only if the 1-second rate shows enough spare bandwidth
      (e.g. overload has already eased)
complication's avatar
complication committed

2006-05-02  Complication
    * Correct a misnamed property in SummaryHelper.java
      to avoid confusion
    * Make the maximum allowance of our own concurrent
      tunnel builds slightly adaptive: one concurrent build per 6 KB/s
      within the fixed range 2..10
    * While overloaded, try to avoid completely choking our own build attempts,
      instead prefer limiting them to 1
jrandom's avatar
jrandom committed

2006-05-01  jrandom
    * Adjust the tunnel build timeouts to cut down on expirations, and
      increased the SSU connection establishment retransmission rate to
      something less glacial.
    * For the first 5 minutes of uptime, be less aggressive with tunnel
      exploration, opting for more reliable peers to start with.
jrandom's avatar
jrandom committed

2006-05-01  jrandom
    * Fix for a netDb lookup race (thanks cervantes!)
jrandom's avatar
jrandom committed

2006-04-27  jrandom
    * Avoid a race in the message reply registry (thanks cervantes!)
jrandom's avatar
jrandom committed

2006-04-27  jrandom
    * Fixed the tunnel expiration desync code (thanks Complication!)
jrandom's avatar
jrandom committed

* 2006-04-23  0.6.1.17 released
jrandom's avatar
jrandom committed

2006-04-19  jrandom
    * Adjust how we pick high capacity peers to allow the inclusion of fast 
      peers (the previous filter assumed an old usage pattern)
    * New set of stats to help track per-packet-type bandwidth usage better
    * Cut out the proactive tail drop from the SSU transport, for now
    * Reduce the frequency of tunnel build attempts while we're saturated
    * Don't drop tunnel requests as easily - prefer to explicitly reject them
jrandom's avatar
jrandom committed

* 2006-04-15  0.6.1.16 released
jrandom's avatar
jrandom committed

2006-04-15  jrandom
    * Adjust the proactive tunnel request dropping so we will reject what we
      can instead of dropping so much (but still dropping if we get too far
      overloaded)
jrandom's avatar
jrandom committed

2006-04-14  jrandom
    * 0 isn't very random
    * Adjust the tunnel drop to be more reasonable
jrandom's avatar
jrandom committed

2006-04-14  jrandom
    * -28.00230115311259 is not between 0 and 1 in any universe I know.
    * Made the bw-related tunnel join throttle much simpler
jrandom's avatar
jrandom committed

2006-04-14  jrandom
    * Make some more stats graphable, and allow some internal tweaking on the
      tunnel pairing for creation and testing.
jrandom's avatar
jrandom committed

* 2006-04-13  0.6.1.15 released
jrandom's avatar
jrandom committed

2006-04-12  jrandom
    * Added a further failsafe against trying to queue up too many messages to
      a peer.
jrandom's avatar
jrandom committed

2006-04-12  jrandom
    * Watch out for failed syndie index fetches (thanks bar!)
jrandom's avatar
jrandom committed

2006-04-11  jrandom
    * Throttling improvements on SSU - throttle all transmissions to a peer
      when we are retransmitting, not just retransmissions.  Also, if
      we're already retransmitting to a peer, probabalistically tail drop new
      messages targetting that peer, based on the estimated wait time before
      transmission.
    * Fixed the rounding error in the inbound tunnel drop probability.
jrandom's avatar
jrandom committed

2006-04-10  jrandom
    * Include a combined send/receive graph (good idea cervantes!)
    * Proactively drop inbound tunnel requests probabalistically as the
      estimated queue time approaches our limit, rather than letting them all
      through up to that limit.
jrandom's avatar
jrandom committed

2006-04-08  jrandom
    * Stat summarization fix (removing the occational holes in the jrobin
      graphs)
jrandom's avatar
jrandom committed

2006-04-08  jrandom
    * Process inbound tunnel requests more efficiently
    * Proactively drop inbound tunnel requests if the queue before we'd
      process it in is too long (dynamically adjusted by cpu load)
    * Adjust the tunnel rejection throttle to reject requeusts when we have to
      proactively drop too many requests.
    * Display the number of pending inbound tunnel join requests on the router
      console (as the "handle backlog")
    * Include a few more stats in the default set of graphs
jrandom's avatar
jrandom committed

2006-04-06  jrandom
    * Fix for a bug in the new irc ping/pong filter (thanks Complication!)
jrandom's avatar
jrandom committed

2006-04-06  jrandom
    * Fixed a typo in the reply cleanup code
jrandom's avatar
jrandom committed

* 2006-04-05  0.6.1.14 released
jrandom's avatar
jrandom committed

2006-04-05  jrandom
    * Cut down on the time that we allow a tunnel creation request to sit by
      without response, and reject tunnel creation requests that are lagged
      locally.  Also switch to a bounded FIFO instead of a LIFO
    * Threading tweaks for the message handling (thanks bar!)
    * Don't add addresses to syndie with blank names (thanks Complication!)
    * Further ban clearance
jrandom's avatar
jrandom committed

2006-04-05  jrandom
    * Fix during the ssu handshake to avoid an unnecessary failure on
      packet retransmission (thanks ripple!)
    * Fix during the SSU handshake to use the negotiated session key asap,
      rather than using the intro key for more than we should (thanks ripple!)
    * Fixes to the message reply registry (thanks Complication!)
    * More comprehensive syndie banning (for repeated pushes)
    * Publish the router's ballpark bandwidth limit (w/in a power of 2), for 
      testing purposes
    * Put a floor back on the capacity threshold, so too many failing peers
      won't cause us to pick very bad peers (unless we have very few good
      ones)
    * Bugfix to cut down on peers using introducers unneessarily (thanks
      Complication!)
    * Reduced the default streaming lib message size to fit into a single
      tunnel message, rather than require 5 tunnel messages to be transferred
      without loss before recomposition.  This reduces throughput, but should
      increase reliability, at least for the time being.
    * Misc small bugfixes in the router (thanks all!)
    * More tweaking for Syndie's CSS (thanks Doubtful Salmon!)
jrandom's avatar
jrandom committed

2006-04-01  jrandom
    * Take out the router watchdog's teeth (don't restart on leaseset failure)
jrandom's avatar
jrandom committed
    * Filter the IRC ping/pong messages, as some clients send unsafe
      information in them (thanks aardvax and dust!)
jrandom's avatar
jrandom committed

2006-03-30  jrandom
    * Substantially reduced the lock contention in the message registry (a
      major hotspot that can choke most threads).  Also reworked the locking
      so we don't need per-message timer events
    * No need to have additional per-peer message clearing, as they are
      either unregistered individually or expired.
    * Include some of the more transient tunnel throttling
jrandom's avatar
jrandom committed

* 2006-03-26  0.6.1.13 released
jrandom's avatar
jrandom committed

2006-03-25  jrandom
    * Added a simple purge and ban of syndie authors, shown as the
      "Purge and ban" button on the addressbook for authors that are already
      on the ignore list.  All of their entries and metadata are deleted from
      the archive, and the are transparently filtered from any remote
      syndication (so no user on the syndie instance will pull any new posts
      from them)
    * More strict tunnel join throtting when congested
jrandom's avatar
jrandom committed

2006-03-24  jrandom
    * Try to desync tunnel building near startup (thanks Complication!)
    * If we are highly congested, fall back on only querying the floodfill
      netDb peers, and only storing to those peers too
    * Cleaned up the floodfill-only queries
jrandom's avatar
jrandom committed

2006-03-21  jrandom
    * Avoid a very strange (unconfirmed) bug that people using the systray's
      browser picker dialog could cause by disabling the GUI-based browser
      picker.
    * Cut down on subsequent streaming lib reset packets transmitted
    * Use a larger MTU more often
    * Allow netDb searches to query shitlisted peers, as the queries are
      indirect.
    * Add an option to disable non-floodfill netDb searches (non-floodfill
      searches are used by default, but can be disabled by adding
      netDb.floodfillOnly=true to the advanced config)
jrandom's avatar
jrandom committed

2006-03-20  jrandom
    * Fix to allow for some slack when coalescing stats
    * Workaround some oddball errors
jrandom's avatar
jrandom committed

2006-03-18  jrandom
    * Added a new graphs.jsp page to show all of the stats being harvested
jrandom's avatar
jrandom committed

2006-03-18  jrandom
    * Made the netDb search load limitations a little less stringent
    * Add support for specifying the number of periods to be plotted on the
      graphs - e.g. to plot only the last hour of a stat that is averaged at
      the 60 second period, add &periodCount=60
jrandom's avatar
jrandom committed

2006-03-17  jrandom
    * Add support for graphing the event count as well as the average stat
      value (done by adding &showEvents=true to the URL).  Also supports
      hiding the legend (&hideLegend=true), the grid (&hideGrid=true), and
      the title (&hideTitle=true).
    * Removed an unnecessary arbitrary filter on the profile organizer so we
      can pick high capacity and fast peers more appropriately
jrandom's avatar
jrandom committed

2006-03-16  jrandom
    * Integrate basic hooks for jrobin (http://jrobin.org) into the router
      console.  Selected stats can be harvested automatically and fed into
      in-memory RRD databases, and those databases can be served up either as
      PNG images or as RRDtool compatible XML dumps (see oldstats.jsp for
      details).  A base set of stats are harvested by default, but an
      alternate list can be specified by setting the 'stat.summaries' list on
      the advanced config.  For instance:
      stat.summaries=bw.recvRate.60000,bw.sendRate.60000
    * HTML tweaking for the general config page (thanks void!)
    * Odd NPE fix (thanks Complication!)
complication's avatar
complication committed

2006-03-15  Complication
    * Trim out an old, inactive IP second-guessing method
      (thanks for spotting, Anonymous!)
jrandom's avatar
jrandom committed

2006-03-15  jrandom
    * Further stat cleanup
    * Keep track of how many peers we are actively trying to communicate with,
      beyond those who are just trying to communicate with us.
    * Further router tunnel participation throttle revisions to avoid spurious
      rejections
    * Rate stat display cleanup (thanks ripple!)
    * Don't even try to send messages that have been queued too long
zzz's avatar
zzz committed

2006-03-05  zzz
    * Remove the +++--- from the logs on i2psnark startup
jrandom's avatar
jrandom committed

2006-03-05  jrandom
    * HTML fixes in Syndie to work better with opera (thanks shaklen!)
    * Give netDb lookups to floodfill peers more time, as they are much more
      likely to succeed (thereby cutting down on the unnecessary netDb
      searches outside the floodfill set)
    * Fix to the SSU IP detection code so we won't use introducers when we
      don't need them (thanks Complication!)
    * Add a brief shitlist to i2psnark so it doesn't keep on trying to reach
      peers given to it
    * Don't let netDb searches wander across too many peers
    * Don't use the 1s bandwidth usage in the tunnel participation throttle,
      as its too volatile to have much meaning.
    * Don't bork if a Syndie post is missing an entry.sml
complication's avatar
complication committed

2006-03-05  Complication
    * Reduce exposed statistical information,
      to make build and uptime tracking more expensive
complication's avatar
complication committed

2006-03-04  Complication
    * Fix the announce URL of orion's tracker in Snark sources
complication's avatar
complication committed

2006-03-03  Complication
    * Explicit check for an index out of bounds exception while parsing
      an inbound IRC command (implicit check was there already)
jrandom's avatar
jrandom committed

2006-03-01  jrandom
    * More aggressive tunnel throttling as we approach our bandwidth limit,
      and throttle based off periods wider than 1 second.
    * Included Doubtful Salmon's syndie stylings (thanks!)
zzz's avatar
zzz committed

2006-02-27  zzz
    * Update error page templates to add \r, Connection: close, and
      Proxy-connection: close to headers.
jrandom's avatar
jrandom committed

* 2006-02-27  0.6.1.12 released

2006-02-27  jrandom
    * Adjust the jbigi.jar to use the athlon-optimized jbigi on windows/amd64
      machines, rather than the generic jbigi (until we have an athlon64
      optimized version)
jrandom's avatar
jrandom committed

2006-02-26  jrandom
    * Switch from the bouncycastle to the gnu-crypto implementation for
      SHA256, as benchmarks show a 10-30% speedup.
    * Removed some unnecessary object caches
    * Don't close i2psnark streams prematurely
jrandom's avatar
jrandom committed

2006-02-25  jrandom
    * Made the Syndie permalinks in the thread view point to the blog view
    * Disabled TCP again (since the live net seems to be doing well w/out it)
    * Fix the message time on inbound SSU establishment (thanks zzz!)
    * Don't be so aggressive with parallel tunnel creation when a tunnel pool
      just starts up
jrandom's avatar
jrandom committed

2006-02-24  jrandom
    * Rounding calculation cleanup in the stats, and avoid an uncontested
      mutex (thanks ripple!)
    * SSU handshake cleanup to help force incompatible peers to stop nagging
      us by both not giving them an updated reference to us and by dropping
      future handshake packets from them.
jrandom's avatar
jrandom committed

2006-02-23  jrandom
    * Increase the SSU retransmit ceiling (for slow links)
    * Estimate the sender's SSU MTU (to help see if we agree)
jrandom's avatar
jrandom committed

2006-02-22  jrandom
    * Fix to properly profile tunnel joins (thanks Ragnarok, frosk, et al!)
    * More aggressive poor-man's PMTU, allowing larger MTUs on less reliable
      links
    * Further class validator refactorings
jrandom's avatar
jrandom committed

2006-02-22  jrandom
    * Handle a rare race under high bandwidth situations in the SSU transport
    * Minor refactoring so we don't confuse sun's 1.6.0-b2 validator
complication's avatar
complication committed

2006-02-21  Complication
    * Reactivate TCP tranport by default, in addition to re-allowing
jrandom's avatar
jrandom committed

* 2006-02-21  0.6.1.11 released
jrandom's avatar
jrandom committed

jrandom's avatar
jrandom committed
2006-02-21  jrandom
jrandom's avatar
jrandom committed
    * Throttle the outbound SSU establishment queue, so it doesn't fill up the
      heap when backlogged (and so that the messages queued up on it don't sit
      there forever)
    * Further SSU memory cleanup
jrandom's avatar
jrandom committed
    * Clean up the address regeneration code so it knows when to rebuild the
      local info more precisely.
jrandom's avatar
jrandom committed

2006-02-20  jrandom
    * Properly enable TCP this time (oops)
    * Deal with multiple form handlers on the same page in the console without
      being too annoying (thanks blubb and bd_!)
jrandom's avatar
jrandom committed

2006-02-20  jrandom
    * Reenable the TCP transport as a fallback (we'll continue to muck with
      debugging SSU-only elsewhere)
jrandom's avatar
jrandom committed

2006-02-20  jrandom
    * Major SSU and router tuning to reduce contention, memory usage, and GC
      churn.  There are still issues to be worked out, but this should be a
      substantial improvement.
    * Modified the optional netDb harvester task to support choosing whether
      to use (non-anonymous) direct connections or (anonymous) exploratory
      tunnels to do the harvesting.  Harvesting itself is enabled via the
      advanced config "netDb.shouldHarvest=true" (default is false) and the
      connection type can be chosen via "netDb.harvestDirectly=false" (default
      is false).

2006-02-19  dust
    * Added pruning of suckers history (it used to grow indefinitely).
jrandom's avatar
jrandom committed

2006-02-19  jrandom
    * Moved the current net's reseed URL to a different location than where
      the old net looks (dev.i2p.net/i2pdb2/ vs .../i2pdb/)
    * More aggressively expire inbound messages (on receive, not just on send)
    * Add in a hook for breaking backwards compatibility in the SSU wire
      protocol directly by including a version as part of the handshake.  The
      version is currently set to 0, however, so the wire protocol from this
      build is compatible with all earlier SSU implementations.
    * Increased the number of complete message readers, cutting down
      substantially on the delay processing inbound messages.
    * Delete the message history file on startup
    * Reworked the restart/shutdown display on the console (thanks bd_!)
jrandom's avatar
jrandom committed

2006-02-18  jrandom
    * Migrate the outbound packets from a central component to the individual
      per-peer components, substantially cutting down on lock contention when
      dealing with higher degrees.
    * Load balance the outbound SSU transfers evenly across peers, rather than
      across messages (so peers with few messages won't be starved by peers
      with many).
    * Reduce the frequency of router info rebuilds (thanks bar!)
jrandom's avatar
jrandom committed

2006-02-18  jrandom
    * Add a new AIMD throttle in SSU to control the number of concurrent
      messages being sent to a given peer, in addition to the throttle on the
      number of concurrent bytes to that peer.
    * Adjust the existing SSU outbound queue to throttle based on the queue's
      lag, not an arbitrary number of packets.
jrandom's avatar
jrandom committed

2006-02-17  jrandom
    * Properly fix the build request queue throttling, using queue age to
      detect congestion, rather than queue size.
jrandom's avatar
jrandom committed

2006-02-17  jrandom
    * Disable the message history log file by default (duh - feel free to
      delete messageHistory.txt after upgrading.  thanks deathfatty!)
    * Limit the size of the inbound tunnel build request queue so we don't
      get an insane backlog of requests that we're bound to reject, and adjust
      the queue processing so we keep on churning through them when we've got
      a backlog.
    * Small fixes for the multiuser syndie operation (thanks Complication!)
    * Renamed modified PRNG classes that were imported from gnu-crypto so we
      don't conflict with JVMs using that as a JCE provider (thanks blx!)
jrandom's avatar
jrandom committed

* 2006-02-16  0.6.1.10 released
jrandom's avatar
jrandom committed

2006-02-16  jrandom
    * Add a new toggle to the web config to enable/disable the load testing
jrandom's avatar
jrandom committed

2006-02-16  jrandom
    * Dropped much of the abandonware from the apps/ directory
jrandom's avatar
jrandom committed

2006-02-16  jrandom
    * Bugfix to the I2PTunnel web config to properly accept i2cp port settings
    * Initial sucker refactoring to simplify reuse of the html parsing
    * Beginnings of hooks to push imported rss/atom out to remote syndie
      archives automatically (though not enabled currently)
    * Further SSU peer test cleanup
jrandom's avatar
jrandom committed

2006-02-15  jrandom
    * Add in per-blog RSS feeds to Syndie
    * Upgraded sucker's ROME dependency to 0.8, bundling sucked enclosures
      with the posts, marking additional attachments as Media RSS enclosures
      (http://search.yahoo.com/mrss/), since RSS only supports one enclosure
      per item.
    * Don't allow the default syndie user to be set to something invalid if
      its in single user mode.
jrandom's avatar
jrandom committed

2006-02-15  jrandom
    * Merged in the i2p_0_6_1_10_PRE branch to the trunk, so CVS HEAD is no
      longer backwards compatible (and should not be used until 0.6.1.1 is
      out)

2006-02-14  jrandom
    * Syndie ui bugfixes (thanks all!)

2006-02-13  jrandom
    * Use the current directory for some temporary I2PSnark files, rather than
      the OS default temp dir (thanks anon!)
    * Increase the base streaming lib window size (still shrinks to 1 on
      retransmission though, of course)
    * Fixed the I2PTunnel newlines to work with lighthttpd (thanks all!)
    * Implement fast retransmit in the streaming lib (fires at most once per
      packet), and increased the default ack delay to 2 seconds (from .5s)
    * Don't ask for garlic level message acks for end to end messages unless
      they're useful (e.g. to ack session tags)

2006-02-12  cervantes
    * Use a different santisation method for some SML attributes
    * Make router console update config save button actually save.
    * Fix console bandwidth limiter burst rate dropdowns, so the display
      relates to what is saved in the config.
    
2006-02-12  cervantes
    * SML is now stricter in it's formatting (attributes should only use 
      double quotes instead of being allowed to mix with singles).
    * Using apostrophes in SML attributes will no longer invalidate the tag.
    * Some instances of [blog] tag description were not being displayed
      correctly.

2006-02-12  jrandom
    * Further SSU peer test throttling
    * Put the most common router console features on the main index page too

2006-02-11  jrandom
    * Be more careful about SSU peer test floods

2006-02-09  jrandom
    * Adjusted one of the SSU timeouts so we don't drop peers as easily (duh)

2006-02-08  jrandom
    * Added transparent support for VIA C3 CPUs to jbigi (thanks Nekow42), and
      bundled a precompiled libjbigi.so in the jbigi.jar
    * Cleaned up the synchronization for some SSU packet handling code
    * Allow explicit rejection of more lagged tunnel build requests, rather
      than dropping them outright
    * Use lighter load testing

2006-02-07  jrandom
    * Handle HTTP headers without any values (thanks Sugadude!)
    * Don't show the option to make Syndie multiuser, since very few people
      need it, and multiuser mode is a lot more complex to use.  Geeks can
      enable it by adding "syndie.singleUser=false" to syndie/syndie.config
      (or in the router's advanced config, for the embedded Syndie)
    * When a peer rejects participation in a tunnel, they mean it (duh)
    * Decrease tunnel test timeout period to 20s (a 40s lag is insane)
    * Remove a throttle on the size of the SSU active outbound pool, since
      it was essentially arbitrary
    * Use a more appropriate SSU bloom filter size
    * Don't "proactively" drop SSU connections if we have partially received
      inbound messages (duh)
    * Migrate most of the message state across SSU connection reestablishment

2006-02-06  jrandom
    * Reduce the SSU retransmit timeout range, and increase the number of ACKs
      piggybacked

2006-02-05  jrandom
    * Experiment with short exponents for DH/ElGamal, using a 226bit x instead
      of a 2048bit x, as reports suggest that size is sufficient for 2048bit
      DH/ElGamal when using safe primes (see KeyGenerator.java for references)
    * Enable the messageHistory.txt by default, for debugging

2006-02-05  jrandom
    * Substantial bugfix for the duplicate message detection in the transport
      layer
    * Handle tunnel build responses ASAP, rather than queueing them up to wait
      in line (processing them is really fast - just a few AES loops)
    * Don't bother handling build requests that we have queued up for a while
      locally, as the requestor will have timed it out anyway (perhaps we
      should reply regardless, but with a backoff instead?)

2006-02-04  jrandom
    * Further tunnel test cleanup and disabling of the old tunnel creation
      code

2006-02-04  jrandom
    * Clean up and reenable the tunnel testing for the new tunnel system.

2006-02-04  jrandom
    * Don't cache the archive.txt in syndie when fetching it through the web
      interface.
    * Logging updates

2006-02-03  jrandom
    * Added further replay prevention on the tunnel build requests
    * More aggressive streaming lib closing on reset

2006-02-03  jrandom
    * More aggressive refusal of peers from the wrong network (oops)

2006-02-01  jrandom
    * Instruct the router to reseed against a new URL, for migration purposes:
      http://dev.i2p.net/i2pdb2/
    * Aggressive error handling during UDP packet creation (thanks cervantes)

2006-02-01  jrandom
    * Fix the new tunnel creation crypto, including the addition of a 4 byte
      "next message ID" to the encrypted request structure in the spec.
    * Backwards incompatible change, using the new tunnel creation crypto, the
      fixed MD5 HMAC size, and a new network ID (to prevent cross pollination
      with the old incompatible network).
    * Reworked the leaseSet request process to handle a race condition
    * Disable the TCP transport
    * Run four separate threads on the job queue to cut down on job lag

2006-01-28  jrandom
    * Removed a race that could show up in leaseSet requesting with the new
      tunnel building process
jrandom's avatar
jrandom committed

2006-01-25  jrandom
    * Run the peer profile coalescing/reorganization outside the job queue
      (on one of the timers), to cut down on some job queue congestion.  Also,
      trim old profiles while running, not just when starting up.
    * Slightly more sane intra-floodfill-node netDb activity (only flood new
      entries)
    * Workaround in the I2PTunnelHTTPServer for some bad requests (though the
      source of the bug is not yet addressed)
    * Better I2PSnark reconnection handling
    * Further cleanup in the new tunnel build process
    * Make sure we expire old participants properly
    * Remove much of the transient overload throttling (it wasn't using a good
      metric)
dust's avatar
dust committed

2006-01-25  dust
    * Fix IRC client proxy to use ISO-8859-1.
jrandom's avatar
jrandom committed

2006-01-22  jrandom
    * New tunnel build process - does not use the new crypto or new peer
      selection strategies.  However, it does drop the fallback tunnel
      procedure, except for tunnels who are configured to allow them, or for
      the exploratory pool during bootstrapping or after a catastrophic
      failure.  This new process prefers to fail rather than use too-short
      tunnels, so while it can do some pretty aggressive tunnel rebuilding,
      it may expose more tunnel failures to the user.
    * Always prefer normal tunnels to fallback tunnels.
    * Potential fix for a bug while changing i2cp settings on I2PSnark (thanks
      bar!)
    * Do all of the netDb entry writing in a separate thread, avoiding
      duplicates and batching them up.
complication's avatar
complication committed

2006-01-19  Complication
    * Explain better where eepsite's destkey can be found
cervantes's avatar
cervantes committed

2006-01-18  cervantes
    * Add title attributes to all external links in Syndie, so we can rollover
      and quickly see if it's worth clicking on.
    * Fixed a minor compiler warning.
jrandom's avatar
jrandom committed

2006-01-17  jrandom
    * First pass of the new tunnel creation crypto, specified in the new 
      router/doc/tunnel-alt-creation.html (referenced in the current
      router/doc/tunnel-alt.html).  It isn't actually used anywhere yet, other
      than in the test code, but the code verifies the technical viability, so
      further scrutiny would be warranted.
cervantes's avatar
cervantes committed

cervantes's avatar
cervantes committed
2006-01-16  cervantes
jrandom's avatar
jrandom committed
    * Dragged I2P kicking and screaming into 2006 (Oops)
cervantes's avatar
cervantes committed

2006-01-14  cervantes
jrandom's avatar
jrandom committed
    * Removed entirely misleading memory status from the console summary.
cervantes's avatar
cervantes committed
	
cervantes's avatar
cervantes committed
2006-01-13  cervantes
jrandom's avatar
jrandom committed
    * Further Syndie layout hardening and typeface balancing.
cervantes's avatar
cervantes committed
* 2006-01-12  0.6.1.9 released
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-12  jrandom
jrandom's avatar
jrandom committed
    * Only create the loadtest.log if requested to do so (thanks zzz!)
    * Make sure we cleanly take into consideration the appropriate data
      points when filtering out duplicate messages in the message validator,
      and report the right bloom filter false positives rate (not used for
      anything except debugging)
cervantes's avatar
cervantes committed

cervantes's avatar
cervantes committed
2006-01-12  cervantes
cervantes's avatar
cervantes committed
    * Syndie CSS tweaks to removed some redundant declarations, improve font
      scaling and layout robustness. Improved cross browser compatibility
      (in other words "kicked IE"). Tightened the look of the blog template
      a little.
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-11  Complication
jrandom's avatar
jrandom committed
    * CSS comment fixes
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-11  jrandom
jrandom's avatar
jrandom committed
    * Include the attachments/blogs/etc for comments on the blog view
    * Syndie HTML fixes (thanks cervantes!)
    * Make sure we fully reset the objects going into our cache before we
      reuse them (thanks zzz!)
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-10  jrandom
jrandom's avatar
jrandom committed
    * Added the per-post list of attachments/blogs/etc to the blog view in
      Syndie (though this does not yet include comments or some further
      refinements)
    * Have the I2P shortcut launch i2p.exe instead of i2psvc.exe on windows,
      removing the dox box (though also removes the restart functionality...)
    * Give the i2p.exe the correct java.library.path to support the systray
      dll (thanks Bobcat, Sugadude, anon!)
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-09  jrandom
jrandom's avatar
jrandom committed
    * Removed a longstanding bug that had caused unnecessary router identity
      churn due to clock skew
    * Temporarily sanity check within the streaming lib for long pending
      writes
    * Added support for a blog-wide logo to Syndie, and automated the pushing
      of updated extended blog info data along side the metadata.
jrandom's avatar
jrandom committed

cervantes's avatar
cervantes committed
2006-01-09  jrandom
jrandom's avatar
jrandom committed
    * Bugfix for a rare SSU error (thanks cervantes!)
    * More progress on the blog interface, allowing customizable blog-wide
      links.
jrandom's avatar
jrandom committed

2006-01-08  jrandom
    * First pass of the new blog interface, though without much of the useful
      customization features (coming soon)
jrandom's avatar
jrandom committed

2006-01-04  jrandom
    * Rather than profile individual tunnels for throughput over their
      lifetime, do so at 1 minute intervals (allowing less frequently active
      tunnels to be more fairly measured).
    * Run the live tunnel load test across two tunnels at a time, by default.
      The load test runs for a random period from 90s to the tunnel lifetime,
      self paced.  This should help gathering data for profiling peers that
      are in exploratory tunnels.

2006-01-03  jrandom
    * Calculate the overall peer throughput across the 3 fastest one minute
      tunnel throughput values, rather than the single fastest throughput.
    * Degrade the profiled throughput data over time (cutting the profiled
      peaks in half once a day, on average)
    * Enable yet another new speed calculation for profiling peers, using the
      peak throughput from individual tunnels that a peer is participating in,
      rather than across all tunnels they are participating in.  This helps
      gather a fairer peer throughput measurement, since it won't allow a slow
      high capacity peer seem to have a higher throughput (pushing a little
      data across many tunnels at once, as opposed to lots of data across a
      single tunnel).  This degrades over time like the other.
    * Add basic OS/2 support to the jbigi code (though we do not bundle a
      precompiled OS/2 library)
jrandom's avatar
jrandom committed

2006-01-01  jrandom
    * Disable multifile torrent creation in I2PSnark's web UI for the moment
      (though it can still seed and participate in multifile swarms)
    * Enable a new speed calculation for profiling peers, using their peak 
      1 minute average tunnel throughput as their speed.
jrandom's avatar
jrandom committed

2005-12-31  jrandom
    * Include a simple torrent creator in the I2PSnark web UI
    * Further streaming lib closing improvements
    * Refactored the load test components to run off live tunnels (though,
      still not safe for normal/anonymous load testing)
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
      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 
      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, 
      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 
      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 
      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 
      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 
      I2PTunnelServer)
    * Minor memory churn reduction in I2CP
    * Small stats update
jrandom's avatar
jrandom committed

2005-07-21  jrandom
    * Fix in the SDK for a bug which would manifest itself as misrouted
      streaming packets when a destination has many concurrent streaming
      connections (thanks duck!)
    * No more "Graceful shutdown in -18140121441141s"
jrandom's avatar
jrandom committed

2005-07-20  jrandom
    * Allow the user to specify an external port # for SSU even if the external
      host isn't specified (thanks duck!)
jrandom's avatar
jrandom committed

2005-07-19  jrandom
    * Further preparation for removing I2CP crypto
    * Added some validation to the DH key agreement (thanks $anon)
    * Validate tunnel data message expirations (though not really a problem, 
      since tunnels expire)
    * Minor PRNG threading cleanup
cervantes's avatar
cervantes committed

2005-07-15  cervantes
jrandom's avatar
jrandom committed
    * Added workaround for an odd win32 bug in the stats configuration console
      page which meant only the first checkbox selection was saved.
cervantes's avatar
cervantes committed

2005-07-15  Romster
jrandom's avatar
jrandom committed
    * Added per group selection toggles in the stats configuration console 
      page.
jrandom's avatar
jrandom committed

2005-07-13  jrandom
    * Fixed a recently injected bug in the multitransport bidding which had 
      allowed an essentially arbitrary choice of transports, rather than the
      properly ordered choice.
jrandom's avatar
jrandom committed

2005-07-13  jrandom
    * Fixed a long standing bug where we weren't properly comparing session 
      tags but instead largely depending upon comparing their hashCode, 
      causing intermittent decryption errors.
jrandom's avatar
jrandom committed

2005-07-12  jrandom
jrandom's avatar
jrandom committed
    * Add some data duplication to avoid a recently injected concurrency 
      problem in the session tag manager (thanks redzara and romster).
jrandom's avatar
jrandom committed

jrandom's avatar
jrandom committed
2005-07-11  jrandom
    * Reduced the growth factor on the slow start and congestion avoidance for
      the streaming lib.
    * Adjusted some of the I2PTunnelServer threading to use a small pool of
      handlers, rather than launching off new threads which then immediately
      launch off an I2PTunnelRunner instance (which launches 3 more threads..)
    * Don't persist session keys / session tags (not worth it, for now)
    * Added some detection and handling code for duplicate session tags being
      delivered (root cause still not addressed)
    * Make the PRNG's buffer size configurable (via the config property
      "i2p.prng.totalBufferSizeKB=4096")
    * Disable SSU flooding by default (duh)
    * Updates to the StreamSink apps for better throttling tests.

2005-07-05  jrandom
jrandom's avatar
jrandom committed
    * Use a buffered PRNG, pulling the PRNG data off a larger precalculated 
      buffer, rather than the underlying PRNG's (likely small) one, which in
      turn reduces the frequency of recalcing.
    * More tuning to reduce temporary allocation churn
jrandom's avatar
jrandom committed

2005-07-04  jrandom
    * Within the tunnel, use xor(IV, msg[0:16]) as the flag to detect dups, 
      rather than the IV by itself, preventing an attack that would let 
      colluding internal adversaries tag a message to determine that they are
      in the same tunnel.  Thanks dvorak for the catch!
    * Drop long inactive profiles on startup and shutdown
    * /configstats.jsp: web interface to pick what stats to log
    * Deliver more session tags to account for wider window sizes
    * Cache some intermediate values in our HMACSHA256 and BC's HMAC
    * Track the client send rate (stream.sendBps and client.sendBpsRaw)
    * UrlLauncher: adjust the browser selection order
    * I2PAppContext: hooks for dummy HMACSHA256 and a weak PRNG
    * StreamSinkClient: add support for sending an unlimited amount of data
    * Migrate the tests out of the default build jars

2005-06-22  Comwiz
    * Migrate the core tests to junit
duck's avatar
duck committed

2005-05-25  duck
    * Fixed PRNG bug (bugzilla #107)
jrandom's avatar
jrandom committed

2005-05-01  jrandom
    * Added a substantial optimization to the AES engine by caching the
Loading
Loading full blame...