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

Skip to content
Snippets Groups Projects
history.txt 426 KiB
Newer Older
zzz's avatar
-6  
zzz committed
2009-04-03 zzz
    * Console:
      - Fix bug with IE buttons not working,
        because it sends the label instead of the value
      - Display version of downloaded update
    * Update:
      - Change default to "Download and verify"
      - Change news fetch default to 24h (was 12h)

sponge's avatar
sponge committed
2009-04-03 sponge
    * Fix broken dependencies for BOB.jar
sponge's avatar
sponge committed
    * Router build version incremented to 5.
zzz's avatar
-6  
zzz committed

zzz's avatar
-3  
zzz committed
2009-04-02 zzz
    * Profiles:
      - Remove unused calculators and RateStats:
        CapacityCalculator, StrictSpeedCalculator, IsFailingCalculator;
        sendFailureSize, processSuccessRate, processfailureRate, commErrorRate,
        tunnelTestResponseTimeSlow
      - Reduced number of Rates in these RateStats:
        sendSuccessSize, receiveSize, rejectRate, failRate
      - ~5KB/profile savings total
      - Deflate speed calculation once an hour instead of once a day,
        to improve fast tier selection
      - Remove dup comment in persisted files
    * StatisticsManager - effective in 0.7.2:
      - Spoof uptime to 90m for all
      - Change tunnel stats from 10m to 60m
    * Transport:
      - Maintain a router hash -> IP map in transport,
        to support additional IP checks (unused for now)
      - Catch error on pre-2.6 kernels
      - Some concurrent conversion
      - Fix an HTML error on peers.jsp

2009-04-01 zzz
    * I2PTunnel: Fix tunnel close
      http://forum.i2p/viewtopic.php?t=3231

zzz's avatar
-1  
zzz committed
2009-03-30 zzz
    * I2CP:
      - Implement BandwidthLimitsMessage
      - Have i2psnark use new message, remove
        build dependency on router
    * Peer Selection:
      - Limit peers to a max % of all tunnels with
        router.maxTunnelPercentage=nn, default 33
      - Add chart to tunnels.jsp to see results

* 2009-03-29  0.7.1 released

2009-03-29 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-03-27 zzz
    * Add readme_fr.html
    * License splash update
    * Catch rare TunnelGatewayMessage AIOOB, root cause unknown

zzz's avatar
zzz committed
2009-03-24 zzz
    * I2PTunnel:
      - Add some warnings about new features
      - Fix encrypted leasesets broken in about -4
      - Suppress log error on manual stop
      - Fix NPE on close of a tunnel not open yet
    * Transport:
      - Increase default bw to 64/32, burst 80/40
    * Tunnels: Change some fragmentation errors to warns

zzz's avatar
-9  
zzz committed
2009-03-16 zzz
    * help.jsp: Add some
    * I2PTunnel: Cleanup
    * I2PTunnelHTTPClient: Fix NPE on delayed open
    * I2PTunnelHTTPServer: Maybe catch an NPE
    * SOCKS: Allow .onion addresses for onioncat testing
    * Tunnel: Catch a rare AIOOB

zzz's avatar
-8  
zzz committed
2009-03-09 zzz
    * Client:
      - Clean up retry code
      - Bring I2CP listen error to the summary bar
        http://forum.i2p/viewtopic.php?t=3133
    * I2PSnark: Remove the http from the add torrent box
    * I2PTunnel:
      - Add persistent key option for standard and IRC clients
      - Add delay-open option for clients
      - Get regenerate-dest-on-reconnect working
      - Add default key file name
      - Add link to addressbook
      - I2PSink: Send protocol byte
    * OCMOSJ:
      - Change from 5% reply requests to at least
        once per minute, in hopes of reducing IRC drops
      - More clean up of the cache cleaning
    * Routerconsole: Don't OOM configpeer.jsp on huge blocklists

zzz's avatar
-7  
zzz committed
2009-02-26 zzz
    * I2CP Client: Add support for muxing
    * I2PTunnel:
      - Add new IRCServer tunnel type
      - Add SOCKS 4/4a support
      - Catch OOMs in HTTPServer
      - Name the IRCClient filter threads
      - Port Streamr to I2PTunnel
      - The beginnings of SOCKS UDP support
    * Naming: Add reverse lookup by hash
    * OCMOSJ: Clean up the cache cleaning
    * Router: Move addShutdownTask from Router to I2PAppContext
      so that apps can register more easily
    * Routerconsole:
      - Thread hard shutdown and restart requests from the routerconsole,
        and add a delay even if no tunnels, to allow time for a UI response
      - Sort the summary bar destinations
      - Move dest-to-hash converter to new helper class so we can
        use it in i2ptunnel

sponge's avatar
sponge committed
2009-02-22 sponge
    * BOB: Orphan tunnel issue fix, bump BOB version
    * bump to Build 6

zzz's avatar
-5  
zzz committed
2009-02-16 zzz
    * Streaming lib: Plug timer leak, don't send keepalives
      after close, don't disconnect hard after close

zzz's avatar
-4  
zzz committed
2009-02-15 zzz
    * Add licenses to all packages
    * I2PSession: Concurrent _messagesReceived
    * i2psnark: tmp file removal try #3
    * I2PTunnel:
      - Don't buffer POST data in HTTPClient
      - Display destination even when stopped
      - Enable key generation, dest modification, and
        hashcash estimation in the GUI
      - Add new CONNECT client
    * NetDb: Enforce 60s minimum leaseset publish interval
    * Streaming lib:
      - Plug connection leak
      - Move ConEvent from SimpleTimer to SimpleScheduler
      - Move RetransmissionTimer (ResendPacketEvent)
        from SimpleTimer to new SimpleTimer2
      - Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer
      - SimpleTimer2 allows specifying "fuzz" to reduce
        timer queue churn further
    * Susidns: Fix save of new dest broken in 0.7
    * TunnelPool:
      - Allow leasesets with reduced leases for robustness and startup speed
      - Plug in-progress build leak

zzz's avatar
-3  
zzz committed
2009-02-07 zzz
    * ClientConnectionRunner, Shitlist, TunnelDispatcher:
      Update using concurrent
    * Streaming ConnectionHandler: Bound SYN queue and
      use concurrent to prevent blowup
    * HTTP Proxy: Fix error msg for b32 addresses
    * I2CP: Implement optional reduce tunnels on idle - not hooked
      in to i2ptunnel GUI yet - still needs tweaks
    * I2CP MessageReader: Prevent rare NPE
    * I2CP Writer: Rewrite using concurrent
    * i2psnark: Add torrent and connection count
    * I2PTunnel & I2CP:
      - Fix tunnel reduction/restore, hook in the GUI
      - Hook leaseset encryption into the GUI
      - Implement saves for all the new stuff
      - Add cancel button
      - Add b32 display for non-http servers
      - Prep for CONNECT
      - Fix error msg when connection goes away
    * NetDb: Remove all DataPublisher stuff
    * Wrapper: Remove dup timeout

2009-02-02 sponge
    * Final? cleanups to Slackbuilds.
    * ant target for Slackbuilds.

sponge's avatar
sponge committed
2009-02-01 sponge
    * Slackbuild files... if we can have them for Debian, why not :-)

zzz's avatar
-2  
zzz committed
2009-02-01 zzz
    * Convert some inner classes to static (findbugs)
    * DataHelper.readLong(): Was returning -1 on EOF instead
      of throwing exception
    * i2psnark: Increase tunnels and pipeline to 3
    * NTCP: Use a java.util.concurrent execution queue instead of
      SimpleTimer for afterSend() to reduce lock contention
    * Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB)
    * Routerconsole:
      - Move common methods to new HelperBase class
      - Make reseed link a button
    * SimpleScheduler: New replacement for SimpleTimer when events
      will not be rescheduled or cancelled, to reduce SimpleTimer
      lock contention
    * Tunnel Pool:
      - Remove tunnel from participating if can't contact next hop
      - Fail outbound build faster if can't contact first hop
    * Wrapper: Remove dup timeout

2009-01-31 dream
    * Debian files

sponge's avatar
sponge committed
2009-01-31 sponge
    * One line BOB discarded interger fix 
      (not that it mattered at this point)

zzz's avatar
-1  
zzz committed
2009-01-25 zzz
    * Build files:
      - Don't bundle unneeded XML parser xercesImpl.jar (1MB)
      - Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB)
    * I2CP:
      Implement new I2CP message ReconfigureSessionMessage.
      Will be used for tunnel reduction.
    * I2PTunnel Edit Pages:
      - Change default length to 2+0
      - Cleanup helper code
      - Prevent null spoofhost
      - Stub out the following new options (C=client, S=server):
        + Access list (S)
        + Certificate type (S)
        + Encrypted LeaseSet (S)
        + New dest on idle restart (C)
        + Tunnel closure on idle (C)
        + Tunnel reduction on idle (C,S)
    * I2PTunnel Socks:
      - Add support for SOCKS to GUI
      - Don't NPE on SOCKS 4, just close
      - Don't have SOCKS build a new dest for every request
      - Beginnings of SOCKS configuration by port
      - HTML error msg for attempted HTTP access
    * LeaseSet: Add encrypt/decrypt methods
    * netdb.jsp: Don't show stats by default
    * OCMOSJ: Bundle a reply when we switch tunnel or lease,
      to detect failure sooner
    * PublishLocalRouterInfoJob:
      - Delay for 5m at startup
      - Run every 20m (was 7.5m)
    * RebuildRouterInfoJob: Don't run it
    * Router: Add a keyring for decrypting leases
    * Routerconsole: Add configkeyring.jsp
    * SummaryHelper.getTransferred() move to DataHelper,
      rename to formatSize(), use on tunnels.jsp
    * Streaming, I2CP, Client Message sending:
      Pass message timeout through new I2CP message
      SendMessageExpiresMessage, so that the router
      uses the same expiration as the streaming lib.
      Should help reliability.
    * Streaming: TCB control block sharing

* 2009-01-24  0.7 released

2009-01-24 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-01-17 zzz
    * NTCP: Prevent two NTCP Pumpers

zzz's avatar
zzz committed
2009-01-14 zzz
    * config.jsp: Fix burst seconds display
    * HTTPClient: Fix per-tunnel settings for i2cp.gzip and
      i2ptunnel.httpclient.send* (thx tino)
    * i2psnark:
      - Fix double completion message
      - Add crstrack
    * initialNews.xml: Add .de (thx echelon)
    * Message: Always distribute an inbound msg back out
      a tunnel to foil a possible latency-measuring attack
      (welterde)
    * Naming:
      - Change base32 names to *.b32.i2p
      - Add i2p.naming.hostsTxt.useB32 config
    * profiles.jsp: Remove 1m column
    * SAM: Don't build tests by default
    * Streaming:
      - Prevent a rare NPE
      - Reduce initial RTT to 8s (was 10s)
    * tunnels.jsp: Add netdb links

zzz's avatar
-9  
zzz committed
2009-01-08 zzz
    * addressbook: Prevent Base32 hostnames
    * build.xml: Remove readme_xx.html from updater
    * configtunnels.jsp: Fix display of outbound backup count
    * configupdate.jsp: Fix corruption of update URLs
    * i2psnark: Recognize Robert 0.3 and 4
    * ExploreJob/SearchJob - fix brokenness:
      - Give each search a minimum of time even at the end
      - Fix ExploreJob exclude peer list
      - Always add floodfills to exclude peer list
      - Don't queue keys for exploration or run ExploreJob
        if floodfill
      - Allow floodfills to return non-floodfills in
        a DSRM msg so exploration works
    * ExploreJob/SearchJob - more fixes:
      - Disable ExploreKeySelectorJob completely, just have
        StartExplorersJob select a random key if queue is empty
      - Add netDb.alwaysQuery=[B64Hash] for debugging
      - Queue results of exploration for more exploration
      - Floodfills periodically shuffle their KBuckets, and
        FloodfillPeerSelector sorts more keys, so that
        exploration works well
    * Shitlist: Reduce max time to 30m (was 60m)
    * Streaming:
      - Reduce default initial window size from 12 to 6,
         to account for the MTU increase in the last release
         and try to limit initial packet loss
      - Reduce fast retransmit threshold from 3 to 2
    * Transport: Don't shitlist a peer if we are at our
      connection limit

zzz's avatar
zzz committed
2009-01-03 zzz
    * config.jsp: Move the buttons up
    * configservice.jsp: Clean up and fix the broken (?)
      browser launch configuration
    * i2psnark:
      - Try again to remove the i2psnarkurl files on shutdown
      - Sort torrents with a locale-based sort
    * NetDb:
      - Expire routers with introducers after 90m.
        This should improve reachability to firewalled routers
        by keeping introducer info current.
      - Expire routers with no addresses after 90m.
      - Convert to java concurrent
    * Stats: Add router.memoryUsed, graph by default
    * Summary bar: Remove spurious UDP warning on startup
    * UpdateHandler: Make extensible for upcoming
      torrent updater

2008-12-15 zzz
    * Remove apps/ bogobot jdom pants q rome stasher syndie

zzz's avatar
zzz committed
2008-12-14 zzz
    * Contexts: Add int getProperty(String prop, int default)
    * I2PAppThread: Constructor fix
    * More split classes into their own files for mkvore
    * Streaming: Don't build test cases by default
    * Summary bar: Replace links with buttons
    * Transport:
      - Cleanup max connections code
      - Add i2np.udp.maxConnections
      - Set max connections based on share bandwidth
      - Add haveCapacity() that can be used for connection
        throttling in the router
      - Reject IBGW/OBEP requests when near connection limit
      - Reduce idle timeout when near connection limit
    * Tunnel request handler:
      - Require tunnel.dropLoad* stats
      - Speed up request loop
    * I2CP, HostsTxtNamingService, I2PTunnel:
      Implement Base32 Hash hostnames, via the naming service.
      Names are of the form [52-characters].i2p, where
      the 52 characters are the Base32 representation of our
      256-byte hash. The client requests a lookup of the hash
      via a brief I2CP session using new I2CP request/reply
      messages. The router looks up the leaseset for the hash
      to convert the hash to a dest. Convert the I2PTunnel
      'preview' links to use Base32 hostnames as a
      demonstration.

zzz's avatar
zzz committed
2008-12-08 zzz
    * ATalk: Move from core to apps
    * Blocklists: enable by default, include blocklist file
      in new installs
    * Build: Add findbugs target
    * Cleanup of removed netdb stats
    * Console:
      - Don't display restart button if no wrapper
      - Remove PRNG stats
    * Eepsite: Disable jetty webapps by default for new installs
    * i2psnark:
      - Add default i2psnark.config for new installs
      - Remove wishlist link
      - Recognize robert and i2psnarkxl clients
      - Increase max files to 256
    * Increase standalone heap size to 128MB
    * NetDb: Split classes into their own files for mkvore
    * PeerManager: Fix NPE on early shutdown
    * SusiDNS: Add textareas
    * Transport:
      - Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled
      - More TCP removal cleanup
      - Clean up bandwidth limiting, centralize defaults
      - Force burst to be >= limit
      - Increase default bw to 48/24, burst 64/32
    * Tunnels: Avoid two NPEs on corrupt fragments

2008-12-01 zzz
    * i2psnark:
      - Refactor to allow running a single Snark without a SnarkManager again,
        by moving some things from SnarkManager to I2PSnarkUtil,
        having Snark call completeListener callbacks,
        and having Storage call storageListener callbacks.
        This is in preparation for using Snark for router updates.
        Step 2 is to allow multiple I2PSnarkUtil instances.
      - Big rewrite of Storage to open file descriptors on demand, and
        close them when unused, so we can support large numbers of torrents.

    * i2psnark:
      - Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
        and PeerCoordinatorSet
      - Convert static classes in Snark to listeners
      - Fix Snark to work in single torrent mode again
      - Should now work with multiple single Snarks

    * i2psnark:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing apps will not shutdown the whole router.

    * i2psnark:
      - Don't create SnarkManager instance until first call,
        so it doesn't create the i2psnark dir, read the config,
        etc., for single Snark instances.
      - Don't read i2psnark.config twice; fix setting
        i2psnark.dir
      - More Snark constructor changes for calling from router
      - Make max connections per torrent configurable

    * SAM:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing SAM will not shutdown the whole router.

* 2008-12-01  0.6.5 released

2008-12-01 Complication
    * Update versions, package release, fix typo in comment

zzz's avatar
zzz committed
2008-11-26 zzz
    * Fix Windows UrlLauncher

2008-11-21 zzz
    * Cache DNS and negative DNS for 5m (was 1m and forever)
    * Delay shitlist cleaner at startup
    * Strip wrapper properties from client config
    * Define multiple cert type
    * Prohibit negative maxSends in streaming
    * HTML fixup on configtunnels.jsp
    * Increase wrapper exit timeout from default 15s to 30s

zzz's avatar
zzz committed
2008-11-20 zzz
    * I2PTunnel: Handle missing fields in edit pages better
    * Move DummyNetworkDatabaseFacade to his own file
      to help the build dependencies
    * Drop old tcp transport and old tunnel build sources
    * EepGet:
      - Better handling of 504 gateway timeout
        (keep going up to limit of retry count rather
         than just one more partial fetch)
      - Add -t cmd line option for timeout
      - Better handling of 403, 409, 503 errors
      - Don't keep going after unknown return code
      - Don't delay before exiting after a failure

zzz's avatar
zzz committed
2008-11-15 zzz
    * Build files:
      - Don't die if depend not available
      - Only verify Jetty hash once
      - Add streaming lib tests to depend task
    * I2CP Compression:
      - Add i2cp.gzip option (default true)
      - Add compression stats
      - Don't bother compressing if really small

zzz's avatar
zzz committed
2008-11-13 zzz
    * Streaming:
      - Add more info to Connection.toString() for debugging
      - Fix lifetimeMessages{Sent,Received} stats
      - Reduce RTT damping to 0.875 (was 0.9)
      - Add a stream.con.initialRTT.{in,out} stats
    * Build files:
      - Use the depend task with caching for more accurate dependencies
      - Make sure the routerconsole gets the latest router version
      - Fix addressbook repeated builds
    * HTTPClient: Add config options to pass Via, Referer,
      and User-Agent through
    * Blocklists: Fix lists with hashes only

2008-11-11 zzz
    * Streaming - Fix several bugs and improve performance
      when the initial data is larger than one MTU,
      e.g. HTTP GETs with large URLs, CGI params or cookies,
      or large HTTP POSTS:
      - Don't reject additional packets received without a
        send stream ID (i.e. sent before the SYN ACK was received)
      - Put unknown non-SYN packets on the SYN queue also
        so they won't be rejected
      - Reduce flusher delay to 250ms (was 500)
      - Flush unless window is full (was window is non-empty)
    * Streaming: Enforce a minimum MTU of 512
    * I2PTunnel: Change "interactive" max window size to 16 (was 1)
    * NetDb: Fix a deadlock caused by last checkin

zzz's avatar
-9  
zzz committed
2008-11-09 zzz
    * build.xml: Build speedups:
      - Don't distclean in the updaterRouter target
      - Don't make prepUpdate and prepupdateSmall depend
        on distclean
      - Don't make susimail build always clean
      - Make pkg depend on distclean to be sure
      - Clean out more routerconsole and susidns files in 'ant clean'
      - i2ptunnel, routerconsole, susidns:
        Only build WEB-INF when necessary
      - systray: Only build jar when necessary
      - Don't build i2psnark standalone for the updater target
    * configclients.jsp: Provide a link when starting a webapp
    * configtunnels.jsp:
      - Code cleanup
      - Add 4-hop option
      - Remove +/- 0-2 option
    * javadoc: Add some more package.html files
    * I2PTunnelHTTPServer: Put the requestor's dest hash
      in the request headers
    * Jetty: Add a I2PRequestLog class to log request dest hash
    * NetDb: Don't drop routerInfos if we have connectivity
      issues or other problems
    * NTCP: Lower idle timeout to 10m (was 15m)
    * Routerconsole: Replace wtf msg w/ something nicer
    * Tunnel BuildHandler: add config router.participantOnly,
      set to true to refuse OBEP and IBGW roles, should
      reduce connections significantly if set.

zzz's avatar
zzz committed
2008-11-02 zzz
    * Certificates:
      - Add a signed Certificate type
      - Add a main() to PrivateKeyFile to generate
        Destinations with various Certificate types
      - Add a VerifiedDestination class to check Certificates
        of various types
      - Add a HashCash library from http://www.nettgryppa.com/code/
        (no distribution restrictions)
      - Allow non-null Certificates in addressbook
    * I2PTunnel: Move some wayward stats to the I2PTunnel group
    * NamingServices: Implement caching in the abstract class
    * NewsFetcher: Fix last updated time
    * Streaming: Increase MTU to 1730 (was 960);
      see ConnectionOptions.java for analysis
    * Throttle: Reduce default max tunnels to 2000 (was 2500)
    * clients.config: Disable SAM and BOB by default for new installs

2008-10-26 zzz
zzz's avatar
zzz committed
    * config.jsp: Add more help
    * peers.jsp: Clean up 'Listening on' formatting
    * profiles.jsp: Don't override locale number format
    * netdb.jsp: Indicate if hidden
    * summary.jsp: Indicate if hidden
    * i2ptunnel/edit.jsp: Disable word wrap in textarea
    * Blocklist: Change logging from ERROR to WARN
    * FloodfillMonitor:
       - Fix ff count (we forgot ourselves)
       - Don't become ff if hidden
    * HandleFloodfillDatabaseLookupMessageJob:
      Send back your routerinfo with the DSRM if not ff to
      spread the word that you aren't ff anymore
    * I2Ping:
       - Add -n count option
       - Add rtt output
       - Enhance help
       - Fix option handling
    * More findbugs cleanups
    * NetDb:
       - Fix behavior when router.isHidden=true
       - Delay StartExplorersJob for 10m at startup
       - Update dbLookup profile stats in FloodOnlySearchJob
         and FloodfillVerifyStoreJob
       - Fix response time store in profile in SearchJob
    * Stats:
       - Remove unused tunnel.buildSuccess and tunnel.buildFailure
       - Remove tunnel.buildRequestTime and 5m rate stats from
         netDb, effective in next release
    * UDP:
       - Don't do peer tests when hidden
       - Don't offer to introduce when hidden
       - Don't continually rebuild routerInfo when hidden
       - Don't continually rebuild routerInfo when
         i2np.udp.internalPort is set but i2np.udp.port is not
       - Remove some unused functions

zzz's avatar
zzz committed
2008-10-20 zzz
    * configclients.jsp: Handle clients with no args
    * index.jsp: Add readme_nl.html (thanks mathiasdm!),
      readme_sv.html (thanks hottuna!)
    * Big findbugs cleanup
    * Client: Prevent a race causing session reconnect
    * FloodfillMonitor:
       - Don't become ff if clock skew is high
       - Rebuild routerinfo immediately when ff status changes
    * FloodOnlySearchJob: Recover better if the floodfills
      you know are no longer floodfill or are gone
    * Installer: Bump min JRE to 1.5
    * ShellCommand: Fix main()

2008-10-14 zzz
    * index.jsp: Add multilanguage support for readme.html;
      add readme_de.html (thanks devzero!)
    * configupdate.jsp, configadvanced.jsp:
      Disable word wrap in textareas
    * install*.txt: Update for 1.5
    * summary.jsp: Remove failing peer count

2008-10-10 zzz
    * Profiles: Reduce reject penalty in
      capacity calculation to avoid a congestion collapse
    * Throttle: Change reject to BANDWIDTH from CRIT on shutdown
      for improved anonymity
    * Tunnels: Implement random discard to enforce share limit
    * Tunnel Tests: Add time for outbound delay, to avoid
      congestion collapse
    * UDPPacketReader: Adjust logging
    * build files: Change to source=1.5, target=1.5
    * configpeer.jsp: Table cleanup
    * i2psnark: Change default tunnel length from 1+1 to 2+0
    * peers.jsp: Change <,> to in,out for UDP

2008-10-09 sponge
    * Update version to -3
    * BOB database threadlocking fixes

sponge's avatar
sponge committed
2008-10-08 sponge
    * Update version to -2
    * Bugfixes and additions to BOB

sponge's avatar
sponge committed
2008-10-07 sponge
    * Bugfixes and additions to streaming.
    * Added SimpleStore class in utils.
    * Fixed SimpleTimer class to allow exit.
    * BOB (Basic Open Bridge) added.

* 2008-10-05  0.6.4 released

2008-10-05 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2008-09-29 zzz
    * i2psnark: Add codevoid link, remove mastertracker

2008-09-23 zzz
    * config.jsp: Add some reachability help
    * configpeer.jsp: Add blocklist info
    * help.jsp: Add link to German FAQ
    * tunnels.jsp: Fix inactive participating count
    * SearchReplyJob: Don't look up references to shitlisted peers
    * TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout

2008-09-20 zzz
    * NetDb: Fix the totally broken "check new routers against blocklist"
      code from 3 checkins ago
    * tunnels.jsp: Sort participating tunnels by usage, display rate

zzz's avatar
zzz committed
2008-09-19 zzz
    * Tunnels:
      - Add missing message accounting for inbound gateways,
        we were underestimating participating traffic because of it,
        and the tunnels were classified "inactive"
      - Add participating tunnel role on tunnels.jsp

zzz's avatar
zzz committed
2008-09-18 zzz
    * Throttle:
      - Correctly check inbound and outbound total bw limits separately
      - Fix up and actually use the tunnel.participatingMessageCount stat,
        favor it if lower than the total bw stat, so that
        client traffic isn't included for throttle decisions
      - Reduce min message count from 60 to 40
    * Tunnel Dispatcher:
      - Add tunnel.participatingBandwidth stat
      - Remove all 3h and 24h stats

2008-09-15 zzz
    * FloodOnlySearchJob:
      - Ask non-floodfill peers if we don't know any floodfills
      - Lookup hashes in the DatabaseSearchReplyMessage if we
        don't know enough floodfills
    * NetDb: Check new routers against blocklist
    * Router: Shutdown clients first
    * Throttle:
      - Use 60s rather than 10m tunnel.participatingMessageCount stat
      - Fix a summary bar message
    * Tunnel Dispatcher: Update tunnel.participatingMessageCount
      every 20s, rather than at tunnel expiration, to maintain
      a more current stat
    * Tunnel Pool:
      - Prevent excess zero-hop tunnels
      - Always wait before looping in BuildExecutor
    * configlogging.jsp: Increase box width
    * logs.jsp: Remove unused connection log, cut wrapper log output in half

2008-09-12 zzz
    * Blocklist: Fix a log message format
    * HarvesterJob: Don't instantiate if disabled
    * i2psnark:
      - Add config i2psnark.linkPrefix to enable access to completed
        torrents from a different machine - examples:
           i2psnark.linkPrefix=file://///localserver/path/to/files/
           i2psnark.linkPrefix=http://localwebserver/path/
        (Stop i2psnark, add to i2psnark.config, restart)
      - Remove Galen and NickyB trackers
    * NetDb: Add netDb.exploreKeySet stat
    * netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo,
      and ?r=. to view our own; change links on other pages too
    * Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private

2008-09-06 zzz
    * EepGet command line: Fix byte counts after a failed resume
    * NTCP: Mark unreachable on outbound connection timeout
    * Shitlist: Fix partial shitlisting (still unused though)
    * Summary Bar: Warn if firewalled and floodfill
    * Throttle: Combine current and last bw measurement,
      reduce default max tunnels to 2500 (was 3000)
    * Tunnel BuildHandler: Logging cleanup
    * UpdateHandler: Cleanup, clarify failure message
    * DataHelper: Prepare for 999 day uptime :)

2008-08-29 zzz
    * Tunnel BuildExecutor: Debug cleanup
    * Profiles: Penalize capacity when tunnel build request times out
    * Shutdown: Call the shutdown hooks before the router shutdown
      rather than after
    * Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed

2008-08-27 zzz
    * Floodfill Peer Selector: Prefer already-connected floodfill
      peer for direct RouterInfo stores, to mimimize floodfill
      connections
    * Peer Profiles: Classify connected peers as "active",
      which will help improve the fast pool
    * Transport Manager: Add isEstablished(Hash)
    * NTCP: Reduce max idle time from 20m to 15m
    * NetDb stats: Post-0.6.3 clean up

* 2008-08-24  0.6.3 released

2008-08-24 Complication
    * Update versions, package release

2008-08-20 zzz
    * Blocklists: Handle blank lines and \r\n in blocklist.txt
    * NTCP: Add connection limit, set by i2np.ntcp.maxConnections,
      default is 500 (very high for now)
    * Persistent data store: Increase write limit from 300 to 600
      so floodfill routers don't get backed up
2008-08-13 zzz
    * i2psnark: Fix OOM vulnerability by checking incoming message length
      (thanks devzero!)

zzz's avatar
zzz committed
2008-08-04 zzz
    * Floodfill Peer Selector:
      - Avoid peers whose netdb is old, or have a recent failed store,
        or are forever-shitlisted

zzz's avatar
zzz committed
2008-07-30 zzz
    * Blocklists:
      - New, disabled by default, except for blocking of
        forever-shitlisted peers. See source for instructions
        and file format.
    * Transport - Reject peers from inbound connections:
      - Check IP against blocklist
      - Check router hash against forever-shitlist, then block IP

zzz's avatar
-9  
zzz committed
2008-07-16 zzz
    * configpeer.jsp: New
    * i2psnark: Open completed files read-only the first time
    * profiles.jsp: Show bonuses, link to configpeer.jsp
    * PRNG: Move logging from wrapper to router log
    * SSU:
        Don't proactively reconnect until 30m idle, so
        we don't lose introducer tags prematurely

2008-07-16 Oldaris
    * Imports cleanup

zzz's avatar
zzz committed
2008-07-07 zzz
    * i2psnark:
      - Repair corrupted files with wrong length rather than die
      - Register shutdown hook to properly shutdown torrents when
        the router shuts down, hopefully will reduce corruption
      - Add Galen tracker
zzz's avatar
-9  
zzz committed
      - Add a note about how to change directory
zzz's avatar
zzz committed
    * HTTP Proxy: Don't show jump links for unknown jump hosts
    * KeyManager:
      - Don't write router key backup when leaseSet keys are updated
      - Synchronize to prevent concurrent writes (thanks Galen!)
      - Backup keys every 7 days instead of every 5 minutes
    * LoadTestManager: Don't instantiate, it's disabled 
    * Router console: Flag placeholder pages as noncacheable
    * Streaming lib:
      - Change some logging from WARN to INFO
      - Clean up toString()
    * SSU:
      - Try to pick better introducers by checking shitlist,
        wasUnreachable list, failing list, and idle times
      - To keep introducer connections up and valid,
        periodically send a "ping" (a data packet with no data and no acks)
        to everybody that has been an introducer in the last two hours
      - Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones
      - Remove some 60s and 5m stats, leave only the 10m ones
      - Narrow the range for the retransmit time after an allocation fail
      - Adjust some logging

zzz's avatar
zzz committed
2008-06-30 zzz
    * configstats.jsp: Fix NPE when no stats checked (thanks nothome27!)
    * i2psnark:
      - Fix NPE caused by race (thanks echelon!)
      - Add mastertracker, remove de-ebook
    * NTCP:
      - Try to fix 100% CPU, caused perhaps by JVM NIO bug...
      - Fix failsafe stats
    * PersistentDataStore: More leaseSet code cleanup
    * SimpleTimer: Change congestion message from error to warn

2008-06-24 zzz
    * FloodfillMonitorJob: Change range from 5-7 to 4-6
    * NTCP: Remove getIsInbound(), duplicate of isInbound()
    * PersistentDataStore: Don't try to remove nonexistent leaseSet files
    * Router console: add placeholder pages for i2psnark, i2ptunnel,
      susidns, and susimail for use when the .wars are not running
    * Streaming lib: Increase max window size to 128

2008-06-22 welterde
    * Optimize I2PDatagramDissector

2008-06-20 zzz
zzz's avatar
zzz committed
    * configclients.jsp: Add start button for clients and webapps.
    * PRNG: Add two stats
    * Summary bar:
      - Display Warning for TCP private IP address
      - Display PRNG stats
    * OutNetMessage: Change cache logging from WARN to INFO

2008-06-17 zzz
    * Comm System: Add new STATUS_HOSED for use when UDP bind fails
    * Summary bar: Display helpful errror message when UDP bind fails
    * UDP: Don't bid when UDP bind fails
    * configclients.jsp: Implement saves for clients and webapps.

2008-06-16 zzz
    * UDP: Prevent 100% CPU when UDP bind fails;
      change bind fail message from ERROR to CRIT
    * Refactor LoadClientAppsJob.java, move some functions to new
      ClientAppConfig.java, to make them easily available to
      new configclients.jsp
    * RouterConsoleRunner: Use a new config file, webapps.config,
      to control which .wars in webapps/ get run. Apps are enabled
      by default; disable by (e.g.) webapps.syndie.startOnLoad=false
      Config file is written if it does not exist.
      Implement methods for use by new configclients.jsp.
    * configclients.jsp: New. For both clients and webapps.
      Saves are not yet implemented.

2008-06-10 zzz
    * Floodfill: Add new FloodfillMonitorJob, which tracks active
      floodfills, and automatically enables/disables floodfill on
      Class O routers to maintain 5-7 total active floodfills
    * NetDb Stats:
      - Remove several more stats
      - Don't publish bw stats in first hour of uptime
      - Publish floodfill stats even if other stats are disabled
      - Changes not effective until 0.6.2.1 to provide cover.
    * Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at
      startup, so peers don't list us as failing.
    * graphs.jsp: Fix a bug where it tries to display the combined
      bandwidth graph when it isn't available

zzz's avatar
zzz committed
2008-06-09 zzz
    * Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p

zzz's avatar
zzz committed
2008-06-09 zzz
    * Reachability: Restrict peers with no SSU address at all from inbound tunnels
    * News:
      - Add display of last updated and last checked time
        on index.jsp and configupdate.jsp
      - Add a function to get update version (unused for now)
    * config.jsp: Add another warning

2008-06-07 zzz
    * NetDb: Tweak some logging on lease problems
    * Shitlist:
      - Add shitlistForever() and isShitlistedForever(), unused for now
      - Sort the HTML output by router hash
    * netdb.jsp:
      - Sort the lease HTML output by dest hash, local first
      - Sort the router HTML output by router hash

zzz's avatar
zzz committed
2008-06-06 zzz
    * LeaseSet:
      - Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet()
        to make later LeaseSet comparisons reliable. This cleans up the code too.
      - Fix broken old vs. new LeaseSet comparison
        in ClientConnectionRunner.requestLeaseSet(),
        so that we only sign and publish a new LeaseSet when it's really new.
        Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling,
        and floodfill router load, since locked_buildNewLeaseSet() generates
        the same LeaseSet as before quite frequently, often just seconds apart.

zzz's avatar
zzz committed
2008-06-05 zzz
    * LeaseSet - code cleanup:
      - Add exception to enforce max # of leases = 6, should be plenty
      - Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of
        leases and then immediately remove them again, triggering
        the new leaseSet size exception
      - Remove the now unused LeaseSet.removeLease(lease) and
        LeaseSet.removeLease(index)
      - Store first and last expiration for efficiency
    * Peer Profiles - Preparation for using bonuses:
      - Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation
      - Persist CapacityBonus rather than ReachabilityBonus
      - Include SpeedBonus in the Speed calculation
      - Prevent negative values in Speed and Capacity when using bonuses
      - Clean up SpeedCalculator.java
    * HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know
    * Add some config files for a future small distribution
    * configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations

zzz's avatar
zzz committed
2008-06-01 zzz
    * Client Apps: Add new parameter for clients.config,
        clientApp.x.startOnLoad=false, to disable loading
        (for SAM for example). Defaults to true of course.
    * Logging: Move common WARN output to DEBUG so we can ask users to
        set the default log level to WARN without massive spewage
    * ProfileOrganizer: Restrict !isSelectable() (i.e. shitlisted) peers from the High Capacity tier,
      not just the Fast tier, since we don't use them for tunnels anyway
    * SAM: Add some compiler flexibility to two obscure makefiles
    * i2psnark: Change displayed peer idents to match that shown by bytemonsoon
      (sponge's suggestion)
    * summary bar:
      - Hide ident, provide a tooltip and a link
      - Add a warning if you are firewalled and class O

zzz's avatar
zzz committed
2008-06-07 Complication
    * Fix version in news.xml so it could be published

* 2008-06-07  0.6.2 released

2008-06-07 Complication
    * Write announcement and prepare for release

2008-05-29 zzz
zzz's avatar
zzz committed
    * Fix up initialNews.xml

2008-05-27 zzz
    * Transport:
      - NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable
      - UDP: Don't bid when IP address missing, mark unreachable

2008-05-26 zzz
    * Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none)
    * Stats: Add a fake uptime if not publishing stats, to get participating tunnels
    * build.xml:
      - Add an updaterSmall target which includes only the essentials
      - Add an updaterRouter target which includes only i2p.jar and router.jar
      - Clean up the build file some 
      - Remove empty eepsite/ and subdirs from i2pupdate.zip
    * configtunnels.jsp: Add warning
    * i2psnark: Catch a bencode exception (bad peer from tracker) earlier
    * i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217

2008-05-22 welterde
    * Change jetty download location in build script

zzz's avatar
zzz committed
2008-05-20 zzz
    * Reachability:
      - Call the previously unused profile.tunnelTestFailed()
        (redefined to include a probability argument)
        and severely downgrade a peer's capacity upon failures,
        depending on tunnel length and direction.
        This will help push unreachable and malicious peers
        out of the High Capacity tier.
      - Put recent fail rate on profiles.jsp
    * ProfileOrganizer: Logging cleanup
    * eepsite_index.html: Update add-host and jump links
    * HTTP Proxy: Remove trevorreznik jump server from list

dev's avatar
dev committed
2008-05-20 welterde
    * implemented PrivateKeyFile

2008-05-18 zzz
    * Throttle: Reject tunnels for first 20m uptime (was 10m)
    * TunnelPeerSelectors:
       - Re-enable strict ordering of peers,
         based on XOR distance from a random hash
       - Restrict peers with uptime < 90m from tunnels (was 2h),
         which is really 60m due to rounding in netDb publishing.
    * i2psnark:
       - Limit max pipelined requests from a single peer to 128KB
         (was unlimited; i2p-bt default is 5 * 64KB)
       - Increase max uploaders per torrent to 6 (was 4)
       - Reduce max connections per torrent to 16 (was 24) to increase
         unchoke time and reduce memory consumption
       - Strictly enforce max connections per torrent
       - Choke more gradually when over BW limit
    * help.jsp: Add a link to the FAQ
    * peers.jsp: Fix UDP direction indicators
    * hosts.txt: Add update.postman.i2p

zzz's avatar
zzz committed
2008-05-12 zzz
    * Outbound message:
      - Tweak the cache key for efficiency
    * Stats:
      - Require two udp stats when stats.full=false, caused NPE on peers.jsp
    * Summary bar:
      - Add messages when dropping tunnel requests due to load
    * Update Handler:
      - Add postman to the list
    * i2psnark:
      - Randomize the PeerCheckerTask start times to make global limiting
        work better