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

Skip to content
Snippets Groups Projects
history.txt 268 KiB
Newer Older
sponge's avatar
sponge committed
2009-07-05 sponge
    * Added X-I2P-DestB64 and X-I2P-DestB32 http headers

2009-06-29 zzz
    * Big directory rework:
      Eliminate all uses of the current working directory, and
      set up multiple directories specified by absolute paths for various uses.

      Add a WorkingDir class to create a user config directory and
      migrate certain files to it for new installs.
      The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows,
      or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
      All files except for the base install and temp files will be
      in the config directory by default.
      Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
      specified by the system property java.io.tmpdir.

      Convert all file opens in the code to be relative to a specific directory,
      as specified in the context. Code and applications should never open
      files relative to the current working directory (e.g. new File("foo")).
      All files should be accessed in the appropriate context directory,
      e.g. new File(_context.getAppDir(), "foo").

      The router.config file location may be specified as a system property on the
      java command line with -Drouter.configLocation=/path/to/router.config
      All directories may be specified as properties in the router.config file.

      There will be no migration from an existing installation
      unless the system property -Di2p.dir.migrate=true is set.
      If there is no migration, it will continue to use $I2P for all files,
      except for temporary and PID files.

      The following linux scripts are now customized with the install path at,
      installation, and may be moved to /usr/local/bin and run from any
      working directory:
          eepget, i2prouter, runplain.sh

      For new installs, the i2p base directory ($I2P) may be read-only
      if updates are disabled. The only time i2p should write to the base directory
      is to unzip the update file. Updates are downloaded to the config dir. If, upon
      restart, the base dir is not writable, it will log a message and continue.

      Additional information, copied from I2PAppContext:

          *  Directories. These are all set at instantiation and will not be changed by
          *  subsequent property changes.
          *  All properties, if set, should be absolute paths.
          *
          *  Name	Property 	Method		Files
          *  -----	-------- 	-----		-----
          *  Base	i2p.dir.base	getBaseDir()	lib/, webapps/, docs/, geoip/, licenses/, ...
          *  Temp	i2p.dir.temp	getTempDir()	Temporary files
          *  PID	i2p.dir.pid	getPIDDir()	router.ping
          *  Config	i2p.dir.config	getConfigDir()	*.config, hosts.txt, addressbook/, ...
          *
          *  (the following all default to the same as Config)
          *
          *  Router	i2p.dir.router	getRouterDir()	netDb/, peerProfiles/, router.*, keyBackup/, ...
          *  Log	i2p.dir.log	getLogDir()	logs/
          *  App	i2p.dir.app	getAppDir()	eepsite/, ...
          *
          *  Note that the router can't control where the wrapper actually puts its files.

      All these will be set appropriately in a Router Context.
      In an I2P App Context, all except Temp and PID will be the current working directory.

      Related changes:
      i2prouter:
      - Don't cd to script location, no longer required
      jbigi, cpuid:
      - Extract files from jar to temp dir, load from that dir, then
        copy to the base dir if we have permissions (and failing silently
        if we don't), so we have optimized libs and no complaints
        when we have a read-only base dir.
      logs.jsp:
      - Get wrapper log location from a property too
      - Display log file locations
      RouterLaunch:
      - If no wrapper, put wrapper.log in system temp dir
        unless specified with -Dwrapper.logfile=/path/to/wrapper.log
        or it already exists in CWD (for backward compatibility)
      - Append rather than replace wrapper.log
      - Pass wrapper log location to router as a property, so that logs.jsp can find it
      runplain.sh:
      - Add path substitution to runplain.sh on install
      - Pass I2P base dir to the router as a property
      Systray:
      - Fix NPE if no config file
      wrapper.config:
      - Put wrapper.log in system temp dir for new installs
      - Pass I2P base dir to the router as a property

2009-06-29 zzz
    * HTTP Proxy:
      - Add simple web server for "proxy.i2p" to serve
        images and CSS for the error pages
      - Take CSS out of the error pages; use internal server
        for CSS, image, and favicon
    * i2psnark build:
      - Move FetchAndAdd to static inner class
      - Fix standalone build to include i2psnark.jar since classes
        aren't in the .war anymore
      - Have standalone jetty use I2PAppContext temp directory
      - Replace launch-i2psnark.jar with launch-i2psnark script,
        since RunStandalone is in i2p.jar
      - Clean up jetty-i2psnark.xml, turn off jetty logging
      - Remove standalone build from the pkg target in the main build.xml
    * Jbigi, CPUID:
      - Reduce memory demand on startup from 4MB to 4KB each
    * NetDb: Fix an NPE on early shutdown
    * Reseeding / NetDb:
      - Move reseeding from the routerconsole app to
        the router, so that we can bootstrap an embedded router lacking a routerconsole
        (iMule or android for example), without additional modifications.
        This allows better integration between the reseeding function
        and the netDb.
      - Call reseed from PersistentDataStore, not from the
        routerconsole init, and start seeding as soon as the netdb has read
        the netDb/ directory, not when the console starts.
      - Wake up the netdb reader as soon as reseeding is done,
        rather than waiting up to 60s.
      - Don't display the reseed button on the console until the
        netdb initialization is done.
    * RouterConsoleRunner:
      - Catch a class not found error better

zzz's avatar
zzz committed
2009-06-29 zzz
    * Console: Convert table headers to <th> to prep for CSS changes
    * Console CSS: Move css file, make a classic theme to prep for CSS changes
    * Console: Move favicon.ico and i2plogo.png out of the .war
      so that the HTTP proxy can use them directly;
      proxy error pages must be updated next
    * NetDb stats: Normalize tunnel build stats for increased anonymity,
      effective in 0.7.6

sponge's avatar
sponge committed
2009-06-30 sponge
    * General cleanup on streaming and ministreaming.
      This fixes some compile warnings, and prepares for a larger fix.
      There is no code-flow changes, just lint. One warning remains as I am
      unsure exactly how to solve the problem yet.

* 2009-06-29  0.7.5 released

2009-06-29 Complication
    * Update versions, package release
    * Remove the last reference to my eepsite as a "news.xml" source,
      and likewise stop my public key from being included
      among valid release signing keys.

sponge's avatar
sponge committed
2009-06-25 sponge
    * Summary frame layout change so it makes sense.

zzz's avatar
-4  
zzz committed
2009-06-23 zzz
    * Browser Launch: Add sensible-browser, x-www-browser, defaultbrowser, and
      www-browser in an attempt to launch the user's preferred browser
    * configupdate.jsp: Cleanup
    * Installer: Include console.css!!!
    * NTCP: Try again to prevent two Event Pumpers
    * Update: Increase max retries
    * UPnP: Catch AIOOBE reported by tuna

zzz's avatar
-3  
zzz committed
2009-06-21 zzz
    * Browser Launch: Wait until the routerconsole is up before launching the browser
    * Installer: Fix wrapper.config parsing on windows
    * netdb.jsp: Add country chart at bottom, clean up version chart
    * News Fetcher:
      - Change default news URL, use it instead of the old one even if
        the old one is saved in the configuration, to assist in the transition
    * ReseedHandler:
      - check for upper case HREF to be compatible with apache indexes
    * Statistics Manager: post-0.7.4 cleanup
    * Transport: Treat 5.0.0.0/8 (Hamachi) as local

mathiasdm's avatar
mathiasdm committed
2009-06-17 Mathiasdm
    * desktopgui:
      - Added client and server tunnel view
        (saving does not work yet)

zzz's avatar
zzz committed
2009-06-17 zzz
    * PeerSelector:
      - Limit exploratory tunnels to connected peers when over
        half the connection limit (was 80%)
      - Have the high capacity tier fall back to a new connected tier
        before moving on to the not failing tier
        so that tunnel build success doesn't collapse and drive
        connections to the limit
    * PeerTestJob:
      - Limit to connected peers

zzz's avatar
-1  
zzz committed
2009-06-12 zzz
    * Console:
      - Move the console css from default.css in the .war to docs/themes/console/console.css,
        and support console themes in the main console with routerconsole.theme=foo
      - Remove unused NoticeHelper

    * Installer:
        Upgrade to izpack 4.3.0 and add a short script to fix Vista install problems.
        (previous izpack was 3.7.2 from 2005-04-22)
        
        izpack 4.3.0 from :
zzz's avatar
-1  
zzz committed
        http://dist.codehaus.org/izpack/releases/4.3.0/IzPack-install-4.3.0.jar
        SHA1 f06da6b26ac2c68fed64ab38980352989b8d8841
        (no signatures or sha1sums found on website, and the jar is unsigned)
        License: Apache 2.0
        
        upack izpack:
        java -jar IzPack-install-4.3.0.jar
        or
        java -jar IzPack-install-4.3.0.jar -console
        
        get the standalone-compiler.jar from the installation lib/ directory:
        SHA1 6d2b4a5657bfb864a333b1c4b1c0f8223aa57d80
        (no signatures or sha1sums found on website, and the jar is unsigned)
        
        This fixes the bug with the install windows centered in all the
        workspaces, not the current workspace. And who knows what other
        bugs in the last 4 years.
        
        To fix Vista (and presumably Windows 7) permissiom problems,
        add a run-privileged flag for those, and run the new fixperms.bat
        which calls icacls to add the privileges to the install directory.
        
        Add support for 6 more language packs found in the new release.
        Change from ISO3 codes to native language names.
        
        Disable creation of the i2p.tar.bz2 file in build.xml
        (distributed as i2pheadless-0.7.x.tar.bz2), as izpack 4.3.0 now
        supports headless installation with java -jar i2pinstall.exe -console.
        Update INSTALL.txt and INSTALL-headless.txt accordingly.

      - Add install and temp path substitution to wrapper.config and
        i2prouter on install

      - Change the wrapper.config classpath to one line: lib/*.jar
        This means we lose control of classpath load order, so move the windows installer
        jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so
        these jars won't be in the classpath or potentially conflict, since
        copy.jar and delete.jar include FileUtil.class, and we don't want to have
        to remember to add them to the updater if we ever change FileUtil.class.
        Delete the installer/ directory in postinstall.sh since it is windows-only.

    * Watchdog: Only try to dump threads if there is a wrapper
         and we aren't on windows

* 2009-06-12  0.7.4 released

2009-06-12 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-06-09 zzz
    * NTCP: Fix startup race NPE (thanks postman!)

sponge's avatar
sponge committed
2009-06-08 sponge
    * Last commit for this cycle. All debugging except for WARN removed.
      I can use the visit command to debug now anyway.

sponge's avatar
sponge committed
2009-06-08 sponge
    * Removed BOB debugging as-per zzz

sponge's avatar
sponge committed
2009-06-08 sponge
    * Fixed NPE and some other goofups in BOB.
    * BOB bump version

zzz's avatar
zzz committed
2009-06-07 zzz
    * Build file:
      - Add updaterWithJettyFixesAndGeoIP, use it in pkg for one release
      - Cleanups
    * Console:
      - netdb.jsp cleanup
      - tunnels.jsp cleanup
zzz's avatar
zzz committed
    * ExploratoryPeerSelector:
      - Limit to connected peers when near connection limit
zzz's avatar
zzz committed
    * Timestamper:
      - Use locale country if geoip unavailable
    * Transport:
      - Lower min NTCP idle time to 3m (was 5m)
      - Increase SSU conn limit by 33%
    * UPnP: Fix deprecation warning
    * Watchdog:
     - Defang him again

sponge's avatar
sponge committed
2009-06-06 sponge
zzz's avatar
zzz committed
    * Added BOB's license to licenses
sponge's avatar
sponge committed
    * Janitorial javadoc fixes *sigh*
    * bump to -13

sponge's avatar
sponge committed
2009-06-05 sponge
    * Merge and bump to -12

sponge's avatar
sponge committed
2009-06-05 sponge
    * BOB now cleans up tunnels, although they can take up to 5 minutes to
      disapear. This is due to the fact that the streaming lib doesn't
      actually remove the connections properly and kill them off when the
      manager is destroyed. I'm not certain if this is a bug, or a feature,
      but it sure is annoying, and you have to wait for the connections to
      time out. What should happen is the streaming lib should cause an IO
      error to the pending read or write.

zzz's avatar
zzz committed
2009-06-05 zzz
    * Build file:
      - Add license info for launch4j includes
    * Console:
      - 16x11 transparent flags for ch and np, thanks anonim!

sponge's avatar
sponge committed
2009-06-04 zzz
    * Console:
zzz's avatar
zzz committed
      - Update geoip file to June 3 version
sponge's avatar
sponge committed
      - Hide some controls if no wrapper on configservice.jsp
    * I2PTunnel:
      - Fix bug where delayed-open and close-on-idle tunnels would
        use a different tunnel pool instead of building their own
      - Add standby indication to web page
    * NetDb:
      - Try to talk directly to a floodfill if we don't know enough,
        to help integrate more quickly
      - Change a no-floodfill error to a warn
    * NetDb Stats:
      - Average TX and RX bw stats for additional anonymity,
        effective in next release
    * Reseed:
      - Limit to 200 pulled randomly from the full fetched list
    * Transport:
      - Increase default bw for new installs to 96/40
        (was 64/32). This is as high as we can go upstream
        without making the default class M.
    * Watchdog:
      - Allow disabling by property again
      - Logging tweaks

zzz's avatar
zzz committed
2009-05-30 zzz
    * Console:
      - config.jsp now cause graceful restart
      - More peers.jsp and profiles.jsp cleanup
      - tunnels.jsp improvements
      - Use CSS for form messages
      - Goodbye nonce spoof messages (sorry jr)
      - config.jsp: Comment out unused burst config code
      - Don't forget Serbia!
      - configadvanced.jsp cleanup
    * LoadTestManager: Delete, unused
    * Peer Selector: Make strict order opaque to hash value
    * SendGarlicMessageJob: Delete, unused
    * Session Keys:
      - Don't instantiate unused SessionKeyPersistenceHelper
      - Use TransientSessionKeyManager instead of PersistentSessionKeyManager
      - Add generics to TransientSessionKeyManager to help understand it
      - Change initial session map size to 64 (was 1024)
      - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine
      - More stubs for per-destination managers in the client manager
    * Transports:
      - Adjust bids when near conn capacity
    * UDP:
      - Remove unused stats and test code
      - Only save IP when it changes
    * UPnP:
      - Prevent NPE after ParserException
      - Tweak to help startup problems?
      - Retry port forward if it fails
      - Make peers.jsp display faster
      - Lengthen POST timeout
      - More comments

2009-05-29 sponge
    * added big fat start/stop lock into BOB
    * added zap command to shut down BOB... now we need a way to start it
      after it stops. :-)

2009-05-27 Mathiasdm
    * Increase sendProcessingTime some more, add a property to configure.
      Configure with 'router.defaultProcessingTimeThrottle'.

2009-05-27 Mathiasdm
    * Increased sendProcessingTime limits and added testSuccessTime
      to avoid unwanted throttling

2009-05-26 Mathiasdm
    * Throttling extension by looking at sendProcessingTime

zzz's avatar
-7  
zzz committed
2009-05-26 zzz
    * Console:
      - configlogging.jsp cleanup
      - Flags tweak
    * NetDb:
      - Don't send our own hash in the don't-include list when exploring
      - Remove any pending write when removing a RouterInfo
      - Cleanup to use routerHash()
    * Streaming: Hopefuly fix infinite loop in the SYN queue handler

zzz's avatar
-6  
zzz committed
2009-05-25 zzz
    * GeoIP:
      - Save our own location in the config
      - Check whole netDb at startup (last try didn't work)
    * NTCP:
zzz's avatar
-7  
zzz committed
      - Increase routerinfo send frequency to every 90m (was 9h)
zzz's avatar
-6  
zzz committed
      - Don't send 3 floodfill infos at startup or with routerinfo
    * Profile Organizer: Increase min fast peers based on
      number of local destinations
    * Timestamper:
      - Use GeoIP to query a closer ntp source if available
      - Lengthen query time if well-synced
      - Cleanup

2009-05-24 mkvore
    * SAM: logging some exceptions at INFO level instead of ERROR

mkvore-commit's avatar
-5  
mkvore-commit committed
2009-05-24 zzz
    * Connection limits / throttle:
      - Better limits when no inbound TCP
        (limit inbound and outbound separately)
      - Don't offer to SSU introduce when near connection limit
    * Console:
      - Move flags from icons/ to docs/icons
      - peers.jsp cleanup
      - Add readme_zh.html
    * GeoIP:
      - Check netDb SSU IP too
      - Check whole netDb at startup
    * NTCP: Log who is sending us big messages
    * UPnP: Move logging from wrapper log to router log

mathiasdm's avatar
mathiasdm committed
2009-05-23 Mathiasdm
    * Router netDB:
      - Added flags to the netDB page

mathiasdm's avatar
mathiasdm committed
2009-05-22 Mathiasdm
    * desktopgui:
      - Updating works in general config
      - Switched to Swingworker threads for improved responsiveness

zzz's avatar
zzz committed
2009-05-21 zzz
    * Router Watchdog:
      - Log memory stats
      - Dump threads on linux
      - Restart after 20 minutes (give the dog his teeth back)

zzz's avatar
-2  
zzz committed
2009-05-21 zzz
    * DataStore:
      - Adjust interface to have persistent and non-persistent methods,
        to prepare for partial storage in RAM
    * ExpireRoutersJob:
      - Rewrite, not enabled yet
    * I2Punnel:
      - Increase eepsite default to 3+0 for new installs
    * PersistentDataStore:
      - Cleanup, simplify, and concurrentify
      - Tweak stats
      - Remove write limit
      - Flush to disk on shutdown
      - Don't write out what we just read in
    * Router and console:
      - Bundle geoIP files and flags in new installs,
        spiff up tunnels.jsp and profiles.jsp.
        Existing installs can get files with 'ant updaterWIthGeoIP'
        or in the console docs bundle 'ant consoleDocs'
      - Use flags for shitlist and peers.jsp too
      - Tweak tunnels.jsp to show class letters
      - Hide in-progress details on tunnels.jsp
      - Add a little color to confignav
      - Remove 'no skew' message
      - More message tweaks if no wrapper
    * TunnelManager:
      - Remove now-unused isInUse()
    * UPnP:
      - Fix up port binding, add some logging on bind fails
      - Force IPv4 only for binds

2009-05-20 Mathiasdm
    * General configuration enabled by default
    * General configuration speed tab works completely

zzz's avatar
-1  
zzz committed
2009-05-17 zzz
    * Merge i2p.i2p.zzz.upnp branch
     * Major changes:
      - Detect IP with UPnP
      - Open firewall ports with UPnP
      - Detect IP by checking local interface addresses
      - Enable TCP auto-IP and auto-port by default, if UDP status is "OK"
      - Network configuration page rework
     * Other stuff:
      - Remove unused verifyupdate.jsp
     * Details of the UPnP and related Transport changes:
      - Add UDP Port configuration to config.jsp
      - Don't restart router when configs change on config.jsp;
        simply rebuild router info.
      - Clean up some port config code in UDP
      - Implement UPnP enable/disable
      - Start to rework inbound configuration
      - Tweak UPnP warning messages
      - Start of callbacks from UPnP to transports
      - Tell UDP local addresses at startup
      - NTCP Port must now be either auto or configured;
        now defaults to auto; and configured now trumps auto.
        Port configuration now does not affect whether inbound
        NTCP is enabled - the host configuration alone can do that.
      - i2np.ntcp.autoip=true redefined to enable inbound only if
        SSU reachability is OK. i2np.ntcp.autoip=always for the old behavior.
        autoip default is now "true".
        i2np.ntcp.hostname=xxx now trumps i2np.tcp.autoip.
      - SSU always tells NTCP when status changes.
      - Implement config save of new IP address options
      - Implement local address and UPnP configuration of UDP address
      - Limit received port to 1024 minimum
      - Simplify bw form
      - Add config link to UPnP status
      - Make short timeouts for UPnP HTTP POST so we don't hang when
        the UPnP device goes away
      - Fix a bug in UPnP HTTP Server timeout
      - Make short timeouts for the XML parser so we don't hang when
        the UPnP device goes away - same as for HTTP POST
      - Stuff the port mapping requester into a thread so it doesn't
        delay everything for several seconds
      - Handle UPnP devices that return IP = 0.0.0.0
      - Better HTML output when no IP found
      - Tweak logging
      - Set Disposer thread name
      - Keep the control point running after we find an IGD,
        so that we get notifications of it leaving or
        coming back or replaced.
      - Detect UPnP start failure
      - Sort local addresses
      - Store last IP for future laptop mode
      - Subscribe to service, doesn't seem to do anything though,
        need to test it more
      - Change UPnP listener port defaults, allow configuration option
      - Don't notify for non-changed options on config.jsp
      - Simplify config.jsp some more
      - No longer use i2np.udp.forceIntroducers
      - Tweak UDP port qualification
      - Fix allowing low ports again
      - Add option to completely disable NTCP, for those behind nasty firewalls
      - Use SSU reachability rather than global reachability for determining NTCP reachability,
        since we are now reporting NTCP reachability too
      - Tweak the config sub-navbar
      - Don't start UPnP if we have a public interface address
      - Fix setting IP to a local interface address
      - Work on the configuration help some more
      - Rework UDP peers.jsp table a little
      - Don't let UDP bid on messages that are too long
      - Clean up the max fragments code in UDP

zzz's avatar
zzz committed
2009-05-17 zzz
    * Build files:
      - Remove unneeded ant.jar from package (900KB)
      - Fail on Jsp compile errors
    * FloodfillVerifyJob: Don't consider an older search result as verified
    * logs.jsp: Add link to config
    * NetDb: Lower the routerinfo expiration again
    * SusiDNS:
      - Reduce displayed entries from 300 to 100
      - Add ability to go forward or back
      - Make textareas bigger
      - Clean up file names
      - Clarify messages about filter and search

* 2009-05-16  0.7.3 released

2009-05-16 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-05-12 sponge
    * BOB clean up, change println's to _log.warn, bump BOB version
    * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.

2009-05-12 mkvore
    * SAM: fix: warnings when generating javadoc

zzz's avatar
zzz committed
2009-05-11 zzz
    * Connect client: Fix NPE when used with advanced i2ptunnel features
    * Context: Don't instantiate unused AdminManager
    * logs.jsp: Put critical log at the top
    * NetDb: Don't accept stores of our own LeaseSets or RouterInfo

mkvore-commit's avatar
mkvore-commit committed
2009-05-11 mkvore
    * SAM: fix: removed ERROR level logging when a client disconnects
zzz's avatar
zzz committed

sponge's avatar
 
sponge committed
2009-05-09 sponge
    * merge

sponge's avatar
sponge committed
2009-05-09 sponge
    * fixed OOM on lock (woops! my bad!)

2009-05-08 Mathiasdm
    * desktopgui: moved files to stop polluting the namespace
          (everything now in net.i2p.desktopgui)
    * desktopgui: some variable renaming in general configuration

mkvore-commit's avatar
mkvore-commit committed
2009-05-07 mkvore
    * SAM: version 3 added
    * SAM: blocking case corrected on simultaneous client connection (v.1-3)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2009-05-07 zzz
    * Add nibble.i2p to proxy list and hosts.txt

zzz's avatar
-9  
zzz committed
2009-05-07 zzz
    * Addressbook: Name the thread
    * Console:
      - More IE button fixes, try harder to not refresh the iframe after shutdown
      - Disable idle options for streamr client, it will never be
        idle because it pings the server
    * Floodfill Monitor: Slow down the volunteers
    * Throttle: Throttle at 90% so we throttle before we WRED

2009-05-06 Mathiasdm
    * Improvements to popup menu rightclick action
    * Added general configuration options (still not available by default)
    * General fixes
    * Added ant build options (irc says eche|on would like that ;))

sponge's avatar
sponge committed
2009-05-06 sponge
    * Hopefully the last fixes for BOB.
    * Fixes to prevent race in client-side I2CP and Notifier.

sponge's avatar
sponge committed
2009-05-03 sponge
    * More hopeful fixes for BOB.
    * Added new Robert ID to snark

zzz's avatar
-6  
zzz committed
2009-05-01 zzz
    * Build files:
      - Fix up susidns build file so it will work with gcj
      - Add consoleDocs target
    * Client: Fix race NPE (thanks sponge)
    * Console: fix ERR-UDP Disabled and Inbound TCP host/port not set
    * I2CP: Fix race NPE
    * I2PTunnel:
      - Try to fix locking to prevent duplicate destinations when using
        the new option new-dest-on-resume. Still not right for shared clients
        but should be better for non-shared.
    * Router console:
      - Add jbigi and cpu info to logs.jsp
    * Session key manager:
      - Log before a hang maybe
    * URL Launcher:
      - Launcher on linux was stopping after trying opera, whether it succeeded or failed.
        Now it keeps going to try firefox, etc. as designed.
      - Extend default delay from 5s to 15s so it will reliably start

sponge's avatar
sponge committed
2009-04-27 sponge
    * more BOB fixes, complete with warnings when things go wrong, and
      success messages when things turn around and go right. Terminates
      early so that applications wait no more than 10 seconds or so.
    * Reversed a few earlier patches that caused some odd behavior.
    * Changed some core println()'s to debugging messages.

zzz's avatar
-4  
zzz committed
2009-04-27 zzz
    * Build files:
      - New updaterWithJettyFixes target, build it for pkg
      - Pass compiler args down from top build.xml
    * GarlicMessageBuilder: Reduce bundled tags to 40 (was 100)
    * i2psnark: Add Postman2 tracker
    * I2PTunnel: Allow spaces in dest and proxy lists
    * NetDb:
      - Adjust RouterInfo expiration down to control memory usage
      - Display LeaseSets and RouterInfos on separate console pages
    * NTCP:
      - Correct the meanings of the i2np.ntcp.autoip and i2np.ntcp.autoport
        advanced config. If you have one of these set but not the other, you
        will have to adjust your configuration on config.jsp.
    * RouterConsole: iframe tweaks
    * StatisticsManager: Cleanup
    * Streaming: Don't let jrandom yell so loud
zzz's avatar
zzz committed
    * Tunnel Pool: Don't self-destruct if more than 6 IB tunnels configured
zzz's avatar
-4  
zzz committed

sponge's avatar
sponge committed
2009-04-25 sponge
    * I2PSessionMuxedImpl atomic fixes
    * BOB fixes. This should be the final bug wack. Good Luck to everybody!

zzz's avatar
-2  
zzz committed
2009-04-23 zzz
    * Blocklist: cleanup
    * eepget: handle -h, --help, bad options, etc.
      (http://forum.i2p/viewtopic.php?p=16261#16261)
    * Fragmenter: don't re-throw the corrupt fragment IllegalStateException,
      to limit the damage - root cause still not found
    * i2psnark: (http://forum.i2p/viewtopic.php?t=3317)
      - Change file limit to 512 (was 256)
      - Change size limit to 10GB (was 5GB)
      - Change request size to 16KB (was 32KB)
      - Change pipeline to 5 (was 3)
    * logs.jsp: Move version info to the top
    * Jetty: Fix temp dir name handling on windows, which was
      causing susidns not to start
      (http://forum.i2p/viewtopic.php?t=3364)
    * NTCP: Prevent IllegalStateException
    * PeerProfile:
      - Replace a hot lock with concurrent RW lock
      - Rewrite ugly IP Restriction code
      - Also use transport IP in restriction code
    * RouterConsole: Make summary bar a refreshing iframe
    * Transport: Start the previously unused CleanupUnreachable

sponge's avatar
sponge committed
2009-04-21 sponge
zzz's avatar
-2  
zzz committed
    * Code janitor work, basic corrections involving @Override, and
sponge's avatar
sponge committed
      appling final where it is important. Also fixed some equals methods
      and commented places that need fixing.

2009-04-18 Complication
    * Fix typo in "news.xml", no build number increase.

* 2009-04-18  0.7.2 released

2009-04-18 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-04-17 sponge
    * fixed setIP, just be sure to distclean before building :-)
    * more lint taken care of as well.

sponge's avatar
sponge committed
2009-04-17 sponge
    * setIP wants to be a static method in the class, but it produces
      warnings about it being static from other code.

sponge's avatar
sponge committed
2009-04-17 sponge
    * Catch NPE in NTCP.
      This possibly augments fix 2009-04-11 welterde below.
    * Various LINT on NTCP sources, and removal of space-wasting
      spaces at end of lines in sources touched.

2009-04-13 Mathiasdm
    * Bugfix on tray icon updating
    * Some more work on the general configuration menu
      (currently not added to the tray icon menu yet, needs more work)
    * Tweaked the desktopgui logo

2009-04-13 Mathiasdm
    * Added I2P version and GUI version to desktopgui
    * Tweaks to the tray icon menu
    * Some starting work on a GUI general configuration menu
    * Bugfix allowing spaces in directory structure

dev's avatar
dev committed
2009-04-13 welterde
    * small fix in the eepproxy

dev's avatar
dev committed
2009-04-11 welterde
    * fixed NPE in NTCP transport

sponge's avatar
sponge committed
2009-04-11 sponge
    * i2ptunnel janitorial work and fixes on most locks.
      Some locks still need work, and are marked with LINT in the comment.
      Just grep for "LINT" to see where the remaining places are.

sponge's avatar
sponge committed
2009-04-10 sponge
    * More BOB threadgroup fixes, plus debug dump when things go wrong.
    * Fixes to streaminglib, I2CP, which are related to the TG problem.
    * JavaDocs fixups.

sponge's avatar
sponge committed
2009-04-08 sponge
    * More hopeful fixups to the infamous orpahned tunnel problem. *Sigh*

zzz's avatar
zzz committed
2009-04-08 zzz
    * IPV6/localhost:
      - Enable IPv6 stack in the JVM, hopefully won't break anything
      - Patch Jetty to support binding to IPv6 addresses
      - Allow multiple bind addresses for the router console
        in the clients.config file; for new installs the
        default is now "127.0.0.1,::1"
      - Change most instances of "localhost" to "127.0.0.1"
        throughout the code
    * Router:
      - Move some classes to private static inner

sponge's avatar
sponge committed
2009-04-07 sponge
    * BOB prevent jvac from optimizing out thread-group code from -10

zzz's avatar
zzz committed
2009-04-07 zzz
    * NTCP: Prevent occasional NPE introduced in -4
    * streamr: Synchronize DatagramMaker

sponge's avatar
sponge committed
2009-04-07 sponge
    * SimpleTimer2, SimpleScheduler fixed so that the threads all run from
      The main threadgroup, not in the current possible child threadgroup.
      So long as any SimpleTimer2/SimpleScheduler is started *BEFORE* any
      child threadgroups, the constructors are threadgroup safe. What would
      be super cool is if they were to be all jailed within thier very own
      threadgroup too, but, I2P isn't up to the task of this yet.
    * Fixes to BOB to ensure the above is true.

sponge's avatar
sponge committed
2009-04-06 sponge
    * Debugging to make SimpleTimer2 and SimpleScheduler easier to debug.
    * Fix for the config files in the GUI from mathiasdm

2009-04-04 sponge
    * Hopeful fixups to the infamous orpahned tunnel problem.
    * BOB now 0.0.5

zzz's avatar
-7  
zzz committed
2009-04-04 zzz
    * NTCP: Don't bid on messages too big to handle

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
      - Calculate bw limits using 40s rather than 4m averages to make
        bw limiting work better
      - Change default bw limit from uplimit/3 to uplimit/2 due to
        overhead reduction from the leaseset bundling change
    * libjbigi:
      - Add documentation on dynamic build option
      - Add two speed tests to the build script
      - Clean up the build script, make it easier to build dynamic

zzz's avatar
zzz committed
2008-05-10 zzz
    * NetDb: Don't write the my.info file to disk, it isn't used for anything
    * Stats:
      - Simplify oldstats.jsp if no events in a stat
      - Fix the hosed inNetPool.droppedDeliveryStatusDelay stat
        (caused by an SSU hack)
    * Update Handler:
      - Add option to download and verify only
      - Add distinct error message if version check fails

2008-05-09 welterde
    * Add an update URL to the list

zzz's avatar
zzz committed
2008-05-07 zzz
    * Reachability:
      - Restrict peers requiring introducers from inbound tunnels,
        since it's slow and unreliable... and many of them advertise
        NTCP, which seems unlikely to work
      - Provide warning on summary bar if firewalled with inbound NTCP enabled
    * Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless
      log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN
      at startup (you didn't get any data unless you set the log level anyway)
    * oldstats.jsp: Don't put 2 decimal places on integer event counts
    * Remove the Internals link from the menu bar
    * i2psnark: Extend startup delay from 1 to 3 minutes

2008-05-06 welterde
    * HTTP Proxy: Add i2jump.i2p jump service

zzz's avatar
-1  
zzz committed
2008-05-05 zzz
    * NetDb Stats: Cleanup of commented out stats
    * Outbound message:
      - Fix a couple of tunnel cache cleaning bugs
      - Cache based on source+dest pairs rather than just dest
      - Send the reply leaseSet only when necessary,
        rather than all the time (big savings in overhead)
      - Enable persistent lease selection again
      - Logging tweaks
    * Reachability:
      - Restrict <= .32 SSU-only peers from inbound tunnels,
        since they don't know if they are unreachable
      - Have SSU bid aggressively when it has less than 3 peers, so
        we can determine our IP address and do peer testing.
        Otherwise a router may never determine its IP address or reachability status.
    * Summary bar:
      - Add reachability status
      - Add participating tunnel acceptance status
    * Throttle: Reject tunnels for first 10m uptime
    * I2PTunnel: Change default outproxy to false.i2p
zzz's avatar
zzz committed
    * profiles.jsp: Add router version
zzz's avatar
-1  
zzz committed

zzz's avatar
zzz committed
* 2008-04-26  0.6.1.33 released

zzz's avatar
zzz committed
2008-04-20 zzz
    * Outbound message/Reachability:
      - Fix a bug from -19 causing the persistent lease selection
        removed in -17 to be back again
      - Use netDb-listed-unreachable instead of detected-unreachable
        for exclusion of unreachable peers from selected leases,
        as there are potential anonymity problems with using
        detected-unreachable
      - Tweak logging some more
    * NetDb stats: Remove a couple more including the inefficient stat_identities

zzz's avatar
zzz committed
2008-04-17 zzz
    * Reachability:
      - Track unreachable peers persistently
        (i.e. separately from shitlist, and not cleared when they contact us)
      - Exclude detected unreachable peers from inbound tunnels
      - Exclude detected unreachable peers from selected leases
      - Exclude detected unreachable floodfill peers from lookups
      - Show unreachable status on profiles.jsp

zzz's avatar
zzz committed
2008-04-16 zzz
    * SSU/Reachability:
      - Extend shitlist time from 4-8m to 40-60m
      - Add some shitlist logging
      - Don't shitlist twice when unreachable on all transports
      - Exclude netDb-listed unreachable peers from inbound tunnels;
        this won't help much since there are very few of these now
      - Remove 10s delay on inbound UDP connections used for the
        0.6.1.10 transition
      - Track and display UDP connection direction on peers.jsp
      - Show shitlist status in-line on profiles.jsp

2008-04-15 zzz
    * SSU Reachability/PeerTestManager:
      - Back out strict peer ordering until we fix SSU
      - Back out persistent lease selection until we fix SSU
      - Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration
      - Increase known Charlie time to 10m; 3m wasn't enough
      - Don't continue retransmitting peer test if we know Charlie
      - Don't run multiple peer tests at once
      - Tighten test frequency range to 6.5-19.5m, was 0-26m

2008-04-12 zzz
    * Addressbook: Disallow '.-' and '-.' in host names
    * NTCP: Don't drop a connection unless both directions are idle;
            Fix idle time for outbound connections
    * Outbound message: Make sure cached lease is in current leaseSet
    * Stats: Put all NetworkDatabase stats in same group
    * TunnelPool: Stop building tunnels and leaseSets after client shutdown
    * i2psnark: Add locking to prevent two I2CP connections

zzz's avatar
zzz committed
2008-04-07 zzz
    * i2psnark:
      - Implement upstream bandwidth limiting
      - Fix a rare NPE at startup/shutdown
      - Really increase retries for .torrent fetch
    * profiles.jsp: Minor cleanup
    * DataHelper: Only format < 5s as ms
    * Eepget: Fix percentage output on command line eepget retries
    * Lower partipating message priority from 400 to 200
    * NTCP: Add a debug message
    * Outbound message: Minor cleanup

2008-03-30 zzz
    * ExploratoryPeerSelector: Try NonFailing even more
    * HostsTxtNamingService: Add reverse lookup support
    * Outbound message: Minor cleanup
zzz's avatar
zzz committed
    * i2psnark TrackerClient: Minor cleanup
    * checklist.txt: Minor edit
    * hosts.txt: Add perv.i2p, false.i2p, mtn.i2p2.i2p
    * i2ptunnel.config: Change CVS client to mtn
    * netdb.jsp: Show leaseSet destinations using reverse lookup
    * profiles.jsp: First cut at showing floodfill data

2008-03-27 zzz
    * Send messages for the same destination to the same inbound
      lease to reduce out-of-order delivery.
    * ExploratoryPeerSelector: Back out the floodfill peer exclusion
      for now, as it prevents speed rating of those peers

2008-03-26 zzz
    * ReseedHandler: Support multiple urls,
      add netdb.i2p2.de as a 2nd default

zzz's avatar
zzz committed
2008-03-25 zzz
    * i2psnark:
      - Add support for secondary open trackers
      - Refactor and simplify the TrackerClient code
      - Add welterde's tracker to the default list
      - Don't have eepget retry announces
      - Slow down tracker contacts if they've failed for a while
      - Add some debug support showing connections (?p=2)
    * hosts.txt: Add nickyb.i2p, tracker.welterde.i2p
zzz's avatar
zzz committed

2008-03-22 zzz
    * NewsFetcher: Fix bug causing fetch every 10m

zzz's avatar
zzz committed
2008-03-22 zzz
    * Tunnel Testing:
      - Fix counting so it really takes 4 consecutive failures
        rather than 4 total to remove a tunnel
      - Credit or blame goes to the exploratory tunnel as well
        as the tunnel being tested
      - Adjust tunnel test timeout based on tunnel length
    * ExploratoryPeerSelector: Tweak logging
    * ProfileOrganizer: Adjust integration calculation again
    * build.xml: Add to help
    * checklist.txt: Tweak
    * readme.html: Fix forum links
    * netDb: Remove tunnel.testFailedTime

zzz's avatar
zzz committed
2008-03-19 zzz
    * ExploratoryPeerSelector:
      - Exclude floodfill peers
zzz's avatar
zzz committed
      - Tweak the HighCap vs. NonFailing decision; try NonFailing
        at least a minimum % of the time
zzz's avatar
zzz committed
    * i2psnark: Increase retries for .torrent fetch
    * IRC Proxy: Prevent mIRC from sending an alternate DCC request
      containing an IP
    * readme.html: Reorder some items
    * Stats: Add some more required stats
    * Streaming lib: Fix slow start to be exponential growth,
      fix congestion avoidance to be linear growth.
      Should speed up local connections a lot, and remote
      connections a little.

2008-03-14 zzz
    * Floodfill Search:
       - Prefer heard-from, unfailing, unshitlisted floodfill peers

zzz's avatar
zzz committed
2008-03-14 zzz
zzz's avatar
zzz committed
    * ProfileOrganizer:
       - Use more recent stats to calculate integration
zzz's avatar
zzz committed
       - Show that fast peers are also high-capacity on profiles.jsp
    * readme.html: Update Syndie link
    * TunnelPool: Update comments
    * netDb: Report 1-2h uptime as 90m to further frustrate tracking,
      get rid of the 60s tunnel stats
      (effective as of .33 to provide cover)

2008-03-13 zzz
zzz's avatar
zzz committed
    * Floodfill Search:
       - Fix a bug that caused a single FloodfillOnlySearchJob
         instance to be run multiple times, with unpredictable
         results
       - Select ff peers randomly to improve reliability
       - Add some bulletproofing

zzz's avatar
zzz committed
2008-03-11 zzz
    * ProfileOrganizer:
       - Don't require a peer to be high-capacity to be
         well-integrated (not used for anything right now,
         but want to get it right for possible floodfill verification)
       - Don't fall back to median for high-capacity threshold
         if the mean is higher than the median, this prevents
         frequent large high-capacity counts
       - Fix high-capacity selector that picked one too many
    * Console: put well-integrated count back in the summary

2008-03-10 zzz
    * EepGet: Fix byte count for bytesTransferred status listeners
      (fixes command line status)
    * UpdateHandler:
       - Fix byte count display
       - Display final status on router console
       - Don't allow multiple update jobs to queue up
       - Increase max retries
       - Code cleanup
       - Don't show 'check for update' button when update in progress
       - Enhance error messages
    * NetDb: Comment out published netDb stats disabled for .32

zzz's avatar
-2  
zzz committed
2008-03-08 zzz
zzz's avatar
zzz committed
    * TunnelPeerSelectors: Implement strict ordering of peers,
zzz's avatar
-2  
zzz committed
      based on XOR distance from a random hash
      separately generated for each tunnel pool

2008-03-07 zzz
    * Naming: Optimize lookups for a destkey
    * ProfileOrganizer, TunnelPoolSettings, ClientPeerSelector:
      - Prevent peers with matching IPs from joining same tunnel.
        Match 0-4 bytes of IP (0=off, 1=most restrictive, 4=least).
        Default is 2 (disallow routers in same /16).
        Set with router.defaultPool.IPRestriction=x
      - Comment out unused RebuildPeriod pool setting
      - Add random key to pool in preparation for XOR peer ordering
    * SusiMail: Add 'Create Account' link
    * TunnelDispatcher: Change a common wtf error to a warn

2008-03-05 zzz
    * Naming: Make HostsTxt the sole default NamingService
      (was Meta = PetName + HostsTxt)
    * Naming: Add two new experimental NamingServices, EepGet and Exec,
      not enabled by default -
      see source comments in core/java/src/net/i2p/client/naming
      for configuration instructions
    * i2psnark: Don't do a naming lookup for Base64 destkeys
    * i2psnark: Add a StartAll button
    * Stats: Add code to disable most stats to save memory.
      Set on configstats.jsp or set stat.full=false to disable the stats.
      (true by default for now)

complication's avatar
complication committed
2008-03-09 Complication
    * Give the Jetty build file ability to ask permission
      before downloading the Jetty archive from the web,
      and to verify its SHA1 + MD5 hashes. Adjust the main build file
      in accordance with this change.
    * Improve the release checklist.

* 2008-03-09  0.6.1.32 released

2008-03-07 zzz
    * Update news and version numbers

2008-03-01 zzz
    * Fix netdb.knownLeaseSets count reported by floodfill routers
      (was broken by -3)

2008-02-27 zzz
    * i2ptunnel: Add 3-hop option to edit.jsp to match configtunnels.jsp
    * i2psnark: Remove orion and gaytorrents from default tracker list
    * Remove orion from jump list and from eepsite_index.html
    * Jbigi: Change jbigi version to 4.2.2 in build scripts - tested by amiga
    * Capitalize OutboundMessageDistributor job name
    * TunnelPool: Add a warning if all tunnels are backlogged

2008-02-26 zzz
    * Reintroduce NTCP backlog pushback, with switch back to
      previous tunnel when no longer backlogged
    * Catch an nio exception in an NTCP logging statement if loglevel is WARN
    * IRC Proxy: terminate all messages with \r\n (thanks TrivialPursuit!)

2008-02-21 zzz
    * Raise inbound default bandwidth to 32KBps
    * Fix config.jsp that showed 0KBps share bandwidth by default

zzz's avatar
-5  
zzz committed
2008-02-19 zzz
    * Addressbook: Disallow '--' in host names except in IDN,
      add some reserved host names
    * I2PTunnel: Clarify edit form
    * NetDb: Remove many stats from netDb, effective as of .32
    * profiles.jsp: Display capabilities
    * Tunnels: Enforce max tunnel length of 8, catch an index error
      http://forum.i2p/viewtopic.php?t=2561

2008-02-16 zzz
    * Fix race in TunnelDispatcher which caused
      participating tunnel count to seesaw -
      should increase network capacity
    * Leave participating tunnels in 10s batches for efficiency
    * Update participating tunnel ratestat when leaving a tunnel too,
      to generate a smoother graph
    * Fix tunnel.participatingMessageCount stat to include all
      participating tunnels, not just outbound endpoints
    * Simplify Expire Tunnel job name

2008-02-13 zzz
    * PersistentDataStore: Write out 300 records every 10 min
      rather than 1 every 10 sec;
      Don't store leasesets to disk or read them in
    * Combine rates for pools with the same length setting
      in the new tunnel build algorithm
    * Clarify a log message in the UpdateHandler

2008-02-13 zzz
    * Make graphs clickable to get larger graphs
    * Change SimpleTimer CRIT to a WARN, increase threshold
    * Checklist update

zzz's avatar
-5  
zzz committed
2008-02-11 welterde
    * Fix an NPE in UDP http://forum.i2p/viewtopic.php?t=2545

2008-02-10 zzz
    * Add new tunnel build algorithm (preliminary)
    * Change NTCP backlogged message from error to warning
    * Checklist updates

* 2008-02-10  0.6.1.31 released

2008-02-10 Complication
    * Update news and version numbers

2008-02-06 zzz
    * build.xml: Add some apps to javadoc
    * checklist.txt: Add some things
    * news.xml: make links relative
    * runplain.sh: Add some comments
    * wrapper.config: Add some comments

complication's avatar
complication committed
2008-02-05 Complication
    * Change the dates too (sorry for such forgetfulness!)

complication's avatar
complication committed
2008-02-04 Complication
    * Also use the new key for checking, and add it into news.xml
zzz's avatar
zzz committed

complication's avatar
complication committed
2008-02-04 Complication
    * Added my release signing key into TrustedUpdate.java

2008-01-31 zzz
    * NewsFetcher: Change fetch failed from error to warning
    * installer: Fix URL and "email"
    * checklist.txt: New release checklist

zzz's avatar
zzz committed
2008-01-29 zzz
    * Addressbook: Change default subscription
    * ConfigUpdateHandler: Change default news URL
    * initialNews.xml: Update version to .31
    * news.xml: More updates
    * hosts.txt: Add i2p-projekt.i2p
    * readme.html: More URL updates
    * SusiDNS: Change references to default subscription

zzz's avatar
zzz committed
2008-01-28 zzz
    * news.xml: Updates, still preliminary
    * ReseedHandler: Change default URL
    * i2ptunnel.config: Change default outproxies
    * readme.html: Change *.i2p.net URLs
    * help.jsp: Change *.i2p.net URLs
    * eepsite_index.html: Change stats.i2p addressbook subscription URL
    * hosts.txt: Add krabs.i2p, true.i2p, www.i2p2.i2p

* 2008-01-28  0.6.1.30-20 converted from CVS to MTN
zzz's avatar
zzz committed

2008-01-08 zzz
    * addressbook: Limit size of subscribed hosts.txt,
        don't save old etag or last-modified data
    * EepGet: Add some logging,
        enforce size limits even when size not in returned header,
        don't return old etag or last-modified data,
        don't call transferFailed listener more than once
    * Sign my update signing key
    * NewsFetcher: add last-modified support, reduce number of retries
    * Error pages: add icon and logo,
        clarify 'destination not found' and 'proxy not found' pages

zzz's avatar
zzz committed
2008-01-07 zzz
    * profiles.jsp formatting cleanup
    * NTCP: Reduce max idle time from 60m to 20m
    * NTCP: Fix idle time on connections with zero messages,
      correctly drop these connections
zzz's avatar
zzz committed

2008-01-03 zzz
    * addressbook: Do basic validation of hostnames and destkeys
    * susidns: Add support for the private addressbook,
      update the text and links somewhat
zzz's avatar
zzz committed

2008-01-02 zzz
    * Add stats.i2p to the jump list
    * Impose 20MB limit on POSTs and catch OOMs in POST
    * eepsite_index.html: add stats.i2p services
    * addressbook: log source of new keys; disallow dests > 516 bytes
    * addressbook: convert hostnames to lower case to prevent duplicates
Loading
Loading full blame...