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

Skip to content
Snippets Groups Projects
history.txt 357 KiB
Newer Older
  • Learn to ignore specific revisions
  • zzz's avatar
    zzz committed
          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
          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