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

Skip to content
Snippets Groups Projects
history.txt 455 KiB
Newer Older
  • Learn to ignore specific revisions
  • 2012-10-05 zzz
     * configservice.jsp: Add GC button
     * DataHelper: Sanity checks in storeProps(), use
                   storeProps() for router config again
     * SSU:
       - More synchronization fixes
       - Reduce chance of dup acks in a single message
       - Reduce max unsent acks to 50
       - Use last ack time in ping decision too
       - Reduce ack delay
     * TunnelPoolManager: Fix early NPE (ticket #724)
    
    
    zzz's avatar
    zzz committed
    2012-10-03 zzz
     * NTCP: Reduce conLock contention
     * SSU:
       - Increase max outbound establishments based on bandwidth
       - Synchronization fix for Java 5
       - Use multiple buffer sizes in OutboundMessageState to
         reduce memory usage
       - Adjust skew calculation, synchronize too
       - Ping loop improvements
    
    
    zzz's avatar
    zzz committed
    2012-10-02 zzz
     * I2CP: Delay after sending disconnect message to
             help it get through
     * i2psnark: Fix delete download message
     * i2ptunnel: Fix log message
     * NTCP: Only set keepalive if firewalled
     * OOMListener: Dump threads on OOM
     * PRNG, LogWriter: Use I2PThread to catch OOM
     * SimpleByteCache: Fix ABQ/LBQ selection
     * SSU:
       - Fix memory leak in _peersByRemoteHost map caused by not
         removing peers that change IP or port
       - Send keepalives if firewalled
       - Handle peers that change ports on an established session
       - Synchronize adds and drops
       - Don't use peers with high RTTs in clock skew calculation
       - Reduce initial RTT/RTO
    
    
    zzz's avatar
    zzz committed
    2012-09-28 zzz
     * i2psnark:
       - Fix bugs in rarest-first tracking
       - Fix requesting of partial piece when there are multiple seeds
       - Synch fix in BitField
     * i2ptunnel: Fix wrong server IP in log message
     * peers.jsp: Remove SSU "Dev" column
     * SessionKeyManager: Store original tagset size for debugging
     * Streaming: Don't send RST on globally-blackisted conns
    
    
    zzz's avatar
    zzz committed
    2012-09-26 zzz
    
    zzz's avatar
    zzz committed
     * Addresses: Reject numeric IPs of the form n, n.n, and n.n.n
     * Console, i2ptunnel: More validation of address and port in forms
     * ConvertToHash:
       - Add support for b64hash.i2p
       - Cleanup and use cache
     * i2psnark: Enable DHT by default
     * RFC822Date: Synchronization fix
     * Streaming:
       - Implement changing connection limits on a running session
       - Implement global blacklist
    
    
    zzz's avatar
    zzz committed
    2012-09-25 zzz
     * Context: Make files final
     * EventLog: Fix IAE on portable
     * Jetty: Add non-NIO selector option (ticket #715)
     * OutboundEstablishState: Cleanup (ticket #671)
     * SimpleByteCache: Concurrent fix
     * UPnP: Cleanup & final
    
    zzz's avatar
    zzz committed
     * URLLauncher: Add xdg-open (ticket #717)
    
    zzz's avatar
    zzz committed
    
    
    zzz's avatar
    -1  
    zzz committed
    2012-09-21 zzz
     * BuildHandler: Use CoDel for inbound queue
     * ByteCache:
       - Prevent release of wrong size
       - Move all 16/32 byte users to SimpleByteCache
       - Increase SimpleByteCache default size.
     * ClientConnectionRunner:
       - Run HandleJob and MessageReceivedJob inline for speed
       - Remove payload from message map if availability announce fails
       - Cleanups
     * ClientManager:
       - Concurrent client map for faster lookup
       - Add by-hash client map for faster lookup by hash
     * ClientWriterRunner: Limit queue size
     * Clock: Synchronization, log large shifts to event log
     * Console: Mark all restarts on graphs using the event log.
     * FortunaRandomSource:
       - Fix bug that wasted entropy in nextInt()
       - Improved synchronization
     * GarlicMessage:
       - Add notes about GarlicMessageHandler and HandleGarlicMessageJob
         being unused in practice
     * I2CP:
       - Limit router/client queue sizes and queue wait times
       - Buffer output streams
     * i2psnark:
       - Implement blacklist for unreachable DHT peers
       - Reduce threshold for unreachable
       - Use ByteCache for chunks in/out
     * IP Lookup:
       - Add caching in RouterAddress with secondary caching
         in Addresses; use caches to speed up transport bids,
         blocklist checks, geoip lookups, and profile organizer
         checks (ticket #707)
       - Limit IP cache size in TransportImpl
       - Clear caches at shutdown
     * JobQueue: Reduce lock contention
     * LHMCache: New util, replacing several private versions
     * LogWriter:
       -  Duplicate log message removal
       -  Increase buffer time
     * NTCP: Move NTCPConnection outbound queue to CoDelPriority
     * OutNetMessage:
       - Centralize priority definitions
       - Raise netdb store and reply priority
     * Router:
       - Boost priority of shutdown thread
    
    zzz's avatar
    zzz committed
       - Replace ident log with new, general-purpose event log;
         use for stops, starts, and updates, and others.
    
    zzz's avatar
    -1  
    zzz committed
       - New AQM CoDel queue utilities
       - Startup/shutdown synchronization fixes
     * RouterAddress: Remove unused expiration field to save space
     * SimpleTimer (ticket #653):
       - Move all remaining uses to SimpleTimer2
       - Deprecate
     * SSU:
       - Move MessageReceiver, UDPSender and UDPReceiver queues to CoDel
       - Separate PeerState outbound message list into a queue for unsent messages
         and a list for sent messages awaiting ack
       - Implement PeerState outbound queue as CoDelPriority
       - Implement backlogged indication like in NTCP
       - Increase initial and max RTO
       - Don't count ack-only packets in bandwidth allocation
     * Streaming: Don't send a RST to an hour/day limited peer,
       or blacklisted, or non-whitelisted, to not waste outbound bandwidth
     * SystemVersion: New util, to consolidate duplicate code,
       and determine Java version on Android
     * TunnelGateway:
       - Refactor TunnelGateway.Pending to its own file PendingGatewayMesasge
       - Move OBGW queue to CoDelPriority
       - Move IBGW queue to CoDel
       - Limit queue sizes
       - Add stat for overflow
       - Remove some stats
       - Change pumper to LinkedHashSet for efficiency
         (like NTCP Reader/Writer)
       - Limit messages pumped per cycle to increase
         round-robin fairness
       - Implement pushback from a backlogged transport
         queue to the pre-fragmentation queue
       - Comment out some unused code
    
    
    zzz's avatar
    zzz committed
    * 2012-09-21 0.9.2 released
    
    
    2012-09-15 zzz
     * Build: Fix unpack problem on Java 5: http://forum.i2p/viewtopic.php?t=7334
    
    
    2012-09-14 zzz
     * SSU: Fix shutdown NPE (ticket #709)
    
    
     * Update geoip.txt based on Maxmind GeoLite Country database from 2012-09-05
    
    2012-09-12 kytv
    
     * Czech translation updates from Transifex
    
    2012-09-10 meeh
     * Added fix for startup issues on newer versions of launchd (osx startup scripts)
    
    2012-09-05 meeh
     * Added startup scripts for osx
    
    
    2012-09-04 zzz
     * I2PTunnelServer: Clean shutdown after session exception
     * OutNetMessage: Speedup after profiling (ticket #707 - thx dg, kytv, zab)
     * SSU: Fix some issues with queueing outbound establishments
    
    
    2012-08-31 zzz
     * i2psnark: Remove * from magnet and download names
     * Router: Lengthen shutdown spinner life
     * Startup: Don't complain about clients.config missing on Android
    
    
    kytv's avatar
    kytv committed
    2012-08-29 zzz
    
     * ClientManager: Cleanups
     * i2psnark:
       - Fix NPE on destroy() if init() failed
       - Add new flood-resistant KBucket trim policy
       - Limit received MsgID size
     * NTCP: Reduce lock contention (ticket #697)
     * RandomIterator: Workaround for Android bug (ticket #703)
    
    
    zzz's avatar
    zzz committed
    2012-08-27 zzz
    
     * i2psnark:
       - Notify threads awaiting DHT replies at shutdown
       - Fix cases where we weren't using the session for b32 lookup
    
    zzz's avatar
    zzz committed
     * Reseed: Remove forum.i2p2.de
     * Streaming: Limit amount of slow-start exponential growth
     * SSU:
       - Limit UDPSender queue size
       - Increase UDPSender max packet lifetime
       - Clear UDPSender queue before sending destroys to all
       - Increase PeerState queue size so large streaming windows
         don't get dropped right away, especially at slow start
       - Various improvements on iterating over pending outbound
         messages in PeerState
     * Wrapper: Update armv7 to 3.5.15
    
    
    2012-08-27 kytv
     * Update Java Service Wrapper to v3.5.15.
        - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
          changed from Tanuki's default to Itoopie.
        - FreeBSD: Self-compiled in FreeBSD 7.4 to eliminate the dependency on the
          compat6x port.
        - Linux ARMv5, Linux PPC32: Self-compiled in Debian Squeeze
        - Linux x86, Linux x64, MacOSX & Solaris: Binares are from the "community
          edition" deltapack offered by Tanuki. The x86 and x64 binaries for Linux
          have been stripped.
    
    
    2012-08-26 zzz
     * DataHelper: Trim trailing whitespace when loading properties
     * NetDB: Increase floodfills, decrease flood redundancy
     * SendMessageOptions: Increase tag fields to 4 bits and use
                           table lookup for more flexibility
     * Streaming: Use packet type and current window size to adjust
                  number of tags sent and tag threshold, to improve
                  efficiency and reliability
    
    
    2012-08-25 kytv
     * Dutch and German translation updates from Transifex
     * Router console typo fixes (#701)
    
    
    2012-08-25 zzz
     * SDSCache: Reduce min and increase max size
     * SimpleByteCache: Change from LBQ to ABQ to reduce object churn
     * Other object churn cleanups (ticket #699)
    
    
    zzz's avatar
    zzz committed
    2012-08-24 zzz
     * I2CP:
       - Add methods for sending a message with extended options
       - Fix cases where the efficient sendNoEffort() wasn't being used
     * i2psnark:
       - Use extended I2CP options for datagrams
       - Fix timeout for sent datagrams
       - Add link for local torrent file on details page
       - Show totals line even if only one torrent
       - Reduce token timeout
       - Check token age before use
       - Limit incoming token size
     * OCMOSJ:
       - Implement per-message overrides for tag threshold,
         tags to send, and bundle leaseset
       - Fix bug adjusting timeouts
       - Warn on client expiration time bugs
    
    
    2012-08-23 zzz
     * Crypto: Rename bouncycastle HMAC libs so they don't conflict
       with older Android versions which bundle them
    
    zzz's avatar
    zzz committed
     * NTCP: Reduce lock contention (ticket #697)
    
     * SSU:
       - Don't relay or introduce to/from privileged ports
       - Various spoof detections
    
    
    zzz's avatar
    zzz committed
    2012-08-22 zzz
     * NetDB: Add hash collision detection
     * SimpleTimer2: Synchronization improvements (ticket #653)
     * SSU:
       - Fail establishment immediately on SessionCreated
         validation fail
       - Defer outbound DH generation until required
       - Validate address/port in RelayIntro messages
       - Throttle hole punches
       - Workaround for Android ICS bug
       - More cleanups
    
    
    zzz's avatar
    zzz committed
    2012-08-21 zzz
     * NetDB: Decrease stat publish probability
     * SSU:
       - Use external, not internal port to sign SessionCreated message.
         Together with previous fix to allow external port change, this
         should fix session establish fails when NAT changes our port
       - Track outbound establishments by both Hash and IP/port,
         to improve lookups of establishments in progress
       - Fix expiration of outbound establishments
       - Validate address/port in RelayResponse messages
       - Change RemoteHostID to store Hash instead of byte[] for the peer hash
       - Log tweaks
    
    
    2012-08-20 zzz
     * I2CP: MessageStatus cleanup
     * i2psnark: Add minimum tracker and DHT announce intervals
     * I2PTunnelRunner: Remove unnecessary lock (ticket #690)
     * SSU: Allow port change if firewalled
     * Streaming: Increase max connection timeout
     * UPnP:
       - Prep for UPnP returning different external port
       - Better logging of errors
    
    
    2012-08-18 kytv
     * Fix hang during uninstallation experienced by some users in Windows
    
    
    zzz's avatar
    zzz committed
    2012-08-17 zzz
     * i2psnark:
       - Adjust DHT timeouts
       - Add max peers per-torrent in tracker
       - Remove duplicate clean task for nodes
       - Fix another DHT warning message
     * SSU:
    
       - Use remote MTU when published (ticket #682)
    
    zzz's avatar
    zzz committed
       - Queue outbound msgs during inbound establish
       - IntroManager cleanups
       - More synchronization
    
    
    sponge's avatar
    sponge committed
    2012-08-17 sponge
     * BOB: just some cleanup of old, dead meaningless commentedout code
            and a little reformatting.
    
    
    zzz's avatar
    zzz committed
    2012-08-16 zzz
     * Utils: Drop unused BufferedRandomSource, PooledRandomSource,
       EepGetScheduler, EepPost and HTTPSendData, moved to i2p.scripts
    
    
    zzz's avatar
    zzz committed
    2012-08-15 zzz
     * i2psnark:
       - Fix bug preventing completion announcement, broken in 0.9.1
       - Fix setting short retry time after initial announce failure
       - Fix DHT announce and getPeers
       - Fix DHT warning message
    
    zzz's avatar
    zzz committed
     * UPnP: Update to CyberLink 2.1 (ticket #427, possibly others)
    
    zzz's avatar
    zzz committed
    
    
    zzz's avatar
    zzz committed
    2012-08-13 zzz
     * SSU EstablishmentManager:
       - Remove use of outbound timers in EstablishmentManager; drive all events in Establisher thread
       - Don't change nonces when retransmitting intro packets
       - More synchronization in EstablishmentManager
       - Increase establishment timeouts and implement timeouts for individual phases (ticket #669)
       - Fix bug where InboundEstablishState.createdPacketSent() wasn't being called,
         so SessionCreated packets weren't retransmitted
       - Increase retransmission timeout for SessionCreated and implement backoff
       - Send destroy if establishment times out in the middle
       - Fix code that pulls outbound states off a deferred queue
       - Improve UDPPacket.toString() for debugging
       - More logging of packets dropped in EstablishmentManager
       - Change establish states to enums
    
    
    zzz's avatar
    zzz committed
    2012-08-12 zzz
     * Jetty: Don't use direct byte buffers that may be leaking (ticket #679)
     * PeerManager: Fix NPE on Android (ticket #687)
     * SSU:
       - Reject some packet types if they came in via fallback introKey
       - Increase retransmission timeout for SessionRequest, SessionConfirm,
         and RelayRequest; implement backoff
       - Move UDPFlooder to test
       - More volatiles, finals, cleanups, stat removals, log tweaks
    
    
    zzz's avatar
    zzz committed
    2012-08-11 zzz
     * DataHelper: toString(byte[]) cleanup
     * i2psnark:
       - Fix DHT nodes not being saved at shutdown
     * RouterContext: Make the contexts list concurrent
     * SSLEepGet: Don't throw UOE in TrustManager
     * SSU MTU (ticket #682):
       - Use local MTU detection
       - i2np.udp.mtu now sets max MTU, not initial MTU
       - Put local MTU in netDb 
       - Fix receive MTU calculations
       - Track remote MTU based on actual received packet size
       - Display local MTU on peers page
    
    
    2012-08-10 kytv
    * German and Greek translation updates from Transifex
    
    
    2012-08-09 zzz
     * Datagrams: Remove static logs
     * i2psnark:
       - Remove static SnarkManager instance
       - Allow DHT-only torrents
       - DHT debugging
     * NTCP: Stat cleanup
     * SAM:
       - Don't use direct byte buffers that may be leaking (ticket #679)
       - Volatiles and finals
     * SSU:
       - Don't send a packet that exceeds the MTU
       - Stub out local MTU detection (ticket #682)
       - More cleanups
    
    
    str4d's avatar
    str4d committed
    2012-08-07 str4d
     * Console:
       - Theme updates from dr|z3d
       - Changed universal theming key so it is not mistaken as a theme
         name by the routerconsole
     * i2psnark:
       - Theme updates from dr|z3d
       - If universal theming is set and routerconsole theme is classic,
         use light theme explicitly
     * susidns: new midnight theme from dr|z3d
    
    
    2012-08-06 zzz
     * Clone System properties before iterating to avoid
       ConcurrentModificationException (ticket #680)
     * Console: Fix flag links on /console to return to same page
     * i2psnark: Add support for DHT (disabled by default)
     * jbigi: Add ARMv6 libjbigi.so for Raspberry Pi
    
    
    zzz's avatar
    zzz committed
    2012-08-05 zzz
     * I2PSessionImpl: One more volatile (ticket #659)
     * i2ptunnel, I2CP, EepGet: Buffer socket input streams (ticket #666)
     * UDP:
       - Limit PacketHandler threads to 1 (ticket #660)
       - Limit queue sizes between UDPReceiver and PacketHandler,
         and between PacketHandler and MessageReceiver, to prevent OOMs
         and/or excessive queue delays
       - Increase UDPPacket cache size based on max mem
       - Remove more stats
    
    
    2012-08-03 zzz
     * build.xml: Add buildI2PTunnelJar target for Android
     * i2psnark: Finish migration to I2P logging to reduce object churn (ticket #673)
     * LogManager: Add logger.logBufferSize and logger.dropOnOverflow options (ticket #662)
     * JobQueue: Synch fix (ticket #670)
     * OutNetMessage: Fix NPE when log level = INFO (ticket #676)
     * SimpleScheduler, SimpleTimer2: Replace getInstance() calls
     * UDP:
       - Catch some cases where UDPPackets were not returned to the cache (ticket #675)
       - Fix inverted logging logic (ticket #663)
       - Remove check in UDPPacket.getLifetime() (ticket #664)
       - RemoteHostID cleanup, cache hashcode
       - Remove udp.fetchRemoteSlow stat
       - Remove some time stamping in UDPPacket
       - Other cleanups - see http://zzz.i2p/topics/1198
    
    
    str4d's avatar
    str4d committed
    2012-08-03 str4d
     * Console: universal theming support - packaged apps will try and use the routerconsole
       theme if universal theming is enabled there and the same theme exists for the app.
    
    2012-07-31 str4d
     * core, router:
       - Existing JUnit test framework fixed up and running.
       - Code coverage tools (Clover and Cobertura) integrated into unit test targets.
       - Implemented new test-related targets to provide a ScalaTest test framework.
    
    
    2012-07-30 zzz
     * build.xml: Move more default properties to build.properties
     * DecayingBloomFilter, DecayingHashSet, xlattice filters:
       - Move from core to router
       - Comment out tests
     * ElGamal/AES/SessionTag:
       - Increase TX expire from 10 to 12 min, while keeping RX expire at 15 min.
         3 minutes should be plenty of clock skew + delay.
       - Move tags-to-send and low-threshold values to be per-SKM
       - New session config options crypto.tagsToSend and crypto.lowTagThreshold
       - Prep for per-packet override of tags and thresholds
       - Cleanups and Javadocs
     * GarlicMessageBuilder:
       - Put data clove last to speed acks and leaseset store on far end
     * I2PTunnel: Add some defaults for the new session config options
     * OCMOSJ:
       - Don't bundle LeaseSet just because we're requesting an ACK
       - Changed session config option shouldBundleReplyInfo to default to true
         and be used to disable bundling altogether when set to false.
         Was previously an undocumented option to force bundling with a certain probability.
       - Don't send tags unless we've already generated a reply token (race)
       - Cleanups and Javadocs
     * RoutingKeyGenerator: Cleanups (ticket #672)
    
    
    zzz's avatar
    zzz committed
    * 2012-07-30 0.9.1 released
    
    
    2012-07-28 str4d
     * Console: theme fixes
    
    
    kytv's avatar
    kytv committed
    * Update geoip.txt based on Maxmind GeoLite Country database from 2012-07-04
    
    * Finnish, French, German, Spanish and Swedish translation updates from TX
    
    
    sponge's avatar
    sponge committed
    2012-07-26 sponge
    
    * BOB Fix static references to Log
    
    sponge's avatar
    sponge committed
    2012-07-24 sponge
     * BOB reset spin flag to enable restart from zap command
    
    
    str4d's avatar
    str4d committed
    2012-07-24 str4d
    
     * Summary bar: disable fallback iframe in summary.jsi (so when JS is disabled
       the summary bar will not refresh at all)
    
    str4d's avatar
    str4d committed
     * Home page:
       - Replaced 16x16 icons with 32x32 ones
       - Updated icon for git.repo.i2p
    
    str4d's avatar
    str4d committed
       - Moved RestartStatus back above LocalDestinations
    
    zzz's avatar
    zzz committed
    2012-07-24 zzz
     * LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android
    
     * Router: Don't create router.ping file on Android
    
    zzz's avatar
    zzz committed
     * SSLEepGet: Fix on Android (ticket #668)
    
    
    2012-07-21 zzz
     * i2psnark: Remove dark theme
    
    zzz's avatar
    zzz committed
     * Reseed: Add new cert for cowpuncher
    
     * SSU: Remove exception creation (ticket #665)
    
    
    str4d's avatar
    str4d committed
    2012-07-21 str4d
     * Home page: unlinked the iframed pages for i2psnark and susimail (the pages
       /webmail and /torrents still exist, but the console links to the apps
       directly instead for now)
    
    
    2012-07-19 str4d
     * Home page: replaced itoopie with an eepsite icon (c/o dr|z3d) for eepsites
       with no icon of their own.
     * i2psnark:
    
    str4d's avatar
    str4d committed
       - New light theme (c/o dr|z3d) which integrates with console light theme
    
       - Moved table heading text into tooltips to reduce visual clutter
    
    
    2012-07-18 str4d
     * Home page: Added id3nt.i2p and git.repo.i2p
    
    
    2012-07-18 zzz
     * Home page: Add colombo-bt.i2p, remove keys.i2p
     * i2psnark: Clear rate stats when restarting torrent
    
    
    str4d's avatar
    str4d committed
    2012-07-16 str4d
     * console: work towards better integration
       - Wrapped the bundled apps in iFrames (with a link in the page header to
         open the app in a new tab):
         - i2ptunnel
         - i2psnark
         - susimail
         - susidns
       - Theme improvements
         - Added theme support to susimail and susidns
           - "susimail.theme=foo" in susimail.config
           - "theme=foo" on susidns config page
         - Extensive work on dark console theme (dr|z3d)
           - Improved integration of i2ptunnel in iframe
           - General improvements
         - New dark themes for i2psnark, susimail and susidns which integrate well
           with dark console theme (dr|z3d)
         - Tweaks to other themes (console and i2psnark) to work with the various
           structural changes (dr|z3d)
         - Added per-theme favicons
         - Updated IE shim to fix some issues
       - Summary bar improvements
         - Updated every console page to use Ajax for the summary bar
           - Falls back to iFrame if JS disabled
           - Ajax refresh time is adjustable
         - The summary bar is now customizable; sections can be added, removed and
           reordered as desired
         - Added/updated tooltips
         - Added a new summary bar section to show news headings when the main news
           display is hidden
       - Changes to structure of /home to bring it in line with rest of console
     * i2psnark
       - Reworked the torrent info/file manager page to improve the layout
    
    
    2012-07-15 zzz
     * XORComparator: Reduce object churn (Ticket #658)
    
    
    kytv's avatar
    kytv committed
    2012-07-12 kytv
    * Translations from Transifex:
      - Add new Greek translation
      - Dutch translation update
    
    
    zzz's avatar
    zzz committed
    2012-07-01 zzz
     * i2psnark:
       - Don't send a keepalive to a peer we are going to disconnect
       - Disconnect peer when idle a long time
       - PeerCheckerTask cleanup
       - Static ref cleanup
       - Don't show a downloaded torrent file as "seeding"
       - Better torrent file download icon
    
    
    zzz's avatar
    zzz committed
    2012-06-29 zzz
     * HTTP Proxy: Change the error code for unknown host from 404 to 500
     * SimpleTimer: Fix logging
     * Streaming:
       - Allow at least 3 packets and up to half the window to be active resends
         instead of just 1, to reduce stall time after a packet drop
       - Increase fast retransmit threshold back to 3 to reduce retransmissions
       - Don't fast retransmit if we recently retransmitted it already
       - Allow double the window as long as gaps are less than the window
       - Don't set the MSS in a resent packet (saves 2 bytes)
       - Remove redundant calls to updateAcks()
       - Update activity timer when resending a packet
       - Reset unackedPacketsReceived counter at all places where acks are sent
         so it isn't wrong
       - Fix some places where the activeResends count could become wrong
       - Prevent storm of CLOSE packets
       - Never resend the whole packet in ackImmediately(), just send an ack
       - Cancel flusher timer in MessageOutputStream when closed
       - Move some createRateStats to ConnectionManager to reduce repeated calls
       - Cleanups, javadocs, logging, volatile, finals
    
     * Update: Increase eepget timeouts
    
    zzz's avatar
    zzz committed
    
    
     * ElGamalAESEngine: Fix bad size estimate when tags are included,
                         resulting in trailing zeros after the padding
                         in the unencrypted data
     * i2psnark: Don't create a new PeerCoordinator after restart, as the
                 TrackerClient holds on to the old one and that causes it
                 to not get peers. Possibly fixes ticket #563.
    
     * I2PTunnel: Fix NPE on shared client creation, thx kytv
     * Transport: Add Ethiopia to hidden mode list
    
    
    2012-06-21 zzz
     * I2CP: Make separate message ID counters per-destination, use atomic,
             increase max (could have caused "local loopback" problems)
    
     * IRC Client: Don't flush output unless out of input, so the
                   streaming messages don't get split up unnecessarily
    
     * OCMOSJ, ElG, Streaming: log tweaks
     * TunnelInfo: Change msg counter from long to int
    
     * TunnelPeerSelectors: Minor refactoring to store context
    
     * TunnelPool: Fix bug where a tunnel was marked as reused when it wasn't
    
     * TunnelPoolManager: Use one ClientPeerSelector for all pools
    
    2012-06-20 zzz
     * I2PSession:
       - Greatly simplify the VerifyUsage timers
       - Constructor cleanup
    
    2012-06-19 zzz
     * i2psnark:
       - Hide buttons while stopping all
     * Socks: Pass remote port through
     * Streaming:
       - Listen only on local port if set
       - Listen only for streaming protocol if configured (new option)
       - Javadocs re: ports
    
    
    zzz's avatar
    zzz committed
    2012-06-18 zzz
     * i2psnark:
       - Improve torrent shutdown handling to maximize chance of
         announces getting to tracker
       - Thread task to open tunnel and improve UI feedback while open is pending
       - Clean up delete-torrent messages
       - Remove redundant shutdown hook
       - Avoid NPE in PEX message handling
       - Log tweaks
    
    
    zzz's avatar
    zzz committed
    2012-06-15 zzz
     * I2PSocketEepGet: Use specified port
     * I2PTunnel:
       - Don't strip port from an I2P URL
       - More client options cleanups
       - Options changes now propagate to running
         socket managers and sessions, and through to the router
       - Better parsing of jump server URLs
     * NetDB: Only publish stats every so often, to improve
       anonymity while preserving the ability to monitor
       the network (effective next release)
     * SocketManager:
       - Simplify factory, use 4-arg constructor,
         make fields final, deprecate 0-arg constructor
       - Improve how options are updated
       - Javadocs
    
    
    zzz's avatar
    zzz committed
    2012-06-13 zzz
     * I2PSocketEepGet: Set port to 80
     * I2PTunnel:
       - Pass port through HTTP client proxy
       - HTTP server proxy sets host header to
         the value of "spoofedhost.xx" option for port xx
       - Set client options more efficiently
     * i2psnark: Possible fix for piece-after-choke
     * Streaming:
       - Channel cleanups and comments
       - New I2PSocketAddress
    
    
    zzz's avatar
    zzz committed
    2012-06-11 zzz
     * i2psnark:
       - Display torrent file downloads in torrent area
       - Sort magnets and downloads first
       - Fix sorting problem when torrent dir is a symlink
       - Reduce max file idle time
    
    zzz's avatar
    zzz committed
       - Reduce TrackerClient threads
       - Reduce delay between peer adds for faster startup
       - Thread the announces and reduce timeout when stopping
    
    zzz's avatar
    zzz committed
     * NativeBigInteger: Workaround for Raspberry Pi to load the correct lib
    
    zzz's avatar
    zzz committed
     * Router: Don't let shutdown tasks hang the shutdown (tickets #564, #566)
    
    zzz's avatar
    zzz committed
    
    
    zzz's avatar
    zzz committed
    2012-06-08 zzz
     * i2psnark:
       - Move private tracker config from create box to torrent config
       - Refactor private and open tracker configuration
       - Add private indication on details page
     * netdb.jsp: Don't show our info on summary page
    
    
    2012-06-04 zzz
     * i2psnark: Take tracker out of opentracker list when removed
    
    
    2012-06-03 kytv
    
    * Translation updates:
      - Add Hungarian language from Transifex (thanks AdminLMH!)
      - Italian language updates from Transifex (thanks ColumboBT)
    
    2012-06-02 zzz
     * i2psnark: Improve opentracker configuration
     * Job Queue: Add failsafe check
    
    2012-06-01 zzz
     * Console: Tab the netdb and profile pages
     * i2psnark: Fix partially-complete torrent not announcing
     * NetDB: Reduce flood redundancy from 8x to 6x
    
    
    zzz's avatar
    zzz committed
    2012-05-31 zzz
     * i2psnark:
       - Add per-hour conn limit
       - Blacklist peer after two bad handshakes
       - Reduce connect timeout
    
    zzz's avatar
    zzz committed
       - Close connection immediately if bad protocol
       - Stop adding peers when we hit the limit
       - Lower limit for outbound connections so we give
         new peers a better chance in large swarms
    
    zzz's avatar
    zzz committed
    
    
    zzz's avatar
    zzz committed
    2012-05-30 zzz
     * Graphs: Reduce log EOF error to warn
     * i2psnark:
       - Increase max upload (ticket #645)
       - Increase per-minute conn limit from 6 to 8
       - Improve rarest-first behavior
       - Handle URI encoding, UTF-8, and multiple trackers in magnet links
     * Timestamper:
       - Move from core to router, leave stub in core
         so it doesn't break compatibility. This removes a
         thread in app context and prevents any app context from
         running NTP; external clients must use the time
         received from the router.
       - Increase query interval
    
    
    kytv's avatar
    kytv committed
    2012-05-28 kytv
    
    zzz's avatar
    zzz committed
     * i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
     * jbigi/jcpuid scripts: Improve support for ArchLinux
    
    kytv's avatar
    kytv committed
    
    
     * German, Italian, Spanish, and Swedish translation updates from Transifex
    
    2012-05-23 zzz
     * i2psnark:
       - Fixes when complete except for skipped files
         (ticket #447) status in UI, don't connect outbound,
         disconnect seeds when done
    
       - Custom tracker map AIOOBE fix
    
       - More classes pkg private
     * jobs.jsp: Add more queue diagnostics
    
    
    zzz's avatar
    zzz committed
    2012-05-22 zzz
     * i2psnark:
       - Refactor tracker map
       - Prevent torrent shutdown when changing file priority to skip
    
       - Fix deadlock when changing file priorities
    
    zzz's avatar
    zzz committed
     * RoutingKeyModifier: Update after large clock shift
    
    
    2012-05-20 zzz
     * Console: Add full file path to thread dump message
     * i2psnark:
       - Create sparse files at torrent creation and delay
    
         "ballooning" until first write (ticket #641, #447)
    
       - Redo clear messages button
       - Concurrent message queue
     * Profiles: reduce same-country bonus
     * RoutingKeyModifier: Several changes to ensure the routing key
                           is correctly changed just after midnight.
    
    
    zzz's avatar
    zzz committed
    2012-05-19 zzz
     * i2psnark:
       - Store received chunks in temp files
       - Don't allocate from heap for unneeded chunks
       - Remove peer count restriction for torrents with large pieces
       - Use priorities and rarest calculations to sort partials
       - Preserve p parameter in clear messages link
    
    
    2012-05-13 zzz
     * Console: Add X-Frame-Options to headers,
       disable with routerconsole.disableXFrame=true
    
    
    zzz's avatar
    zzz committed
    * 2012-05-02 0.9 released
    
    
    kytv's avatar
    kytv committed
    2012-04-26 kytv
     * German, Spanish, and Swedish Translation updates
       from Transifex
    
    
    2012-04-20 zzz
     * Remove search box
     * Fix i2psnark dir when started from Windows no-wrapper
       (ticket #627)
    
    
    kytv's avatar
    kytv committed
    2012-04-14 kytv
     * Update wrapper to v3.5.14
     * Update geoip.txt from Maxmind's April 2012 database
    
    
    2012-04-12 kytv
     * German, Spanish, and Swedish translation updates from Transifex
    
    
    zzz's avatar
    zzz committed
    2012-04-12 zzz
      * Console:
        - Try again to fix console on Windows w/o IPv6
          by starting connectors individually
        - Fix whitespace issues on several pages
        - Prevent rare early NPE
        - Non-default theme cleanups
        - Theme and translate home page logo
    
    
    2012-03-28 zzz
      * RouterInfo: Fix fatal NPE in last checkin
    
    
    zzz's avatar
    24  
    zzz committed
    2012-03-27 zzz
      * FloodfillVerify:
        - Fix verifies stuck on one peer by blamimg the verify peer on failure
        - Follow DSRM in response to RI verifies
        - Increase floodfill verify timeout
      * Home page: Delay router down message until two consecutive fails
      * RouterInfo: Add method to validate sig during read-in for speed
    
    
    2012-03-27 sponge
      * A hopeful fix to allow SHOUTcast/icecast to work over the http proxy.
      * A little more code clean up
    
    
    2012-03-26 zzz
      * Code cleanups:
        - Remove unused imports
        - Remove unused local variables
        - Remove unused private fields
        - Remove unnecessary casts
      * Console:
    
    zzz's avatar
    24  
    zzz committed
        - Try again to fix console on Windows w/o IPv6 (ticket #621)
    
        - Move oldconsole rendering from Router to OldConsoleHelper
    
    
    2012-03-24 zzz
      * GarlicConfig: Remove more unused methods
      * i2psnark:
        - Fix dup torrent msg with magnets (tickets #433 and #504)
        - Fix state when storage dies during transition out of magnet mode
        - Fix NPE in magnet mode
        - Error logging improvements
        - Support add-torrent with infohash alone
        - CSS tweaks
    
    
    2012-03-22 zzz
      * Home page: CSS tweaks
      * Reseeder: Get rid of static instance, root in netDB,
                  don't use system properties for status
    
      * RetransmissionTimer: Instantiate per-destination
    
      * Router: When removing a config setting, remove from context also
      * SimpleScheduler, SimpleTimer, SimpleTimer2: Replace static instances
        with I2PAppContext-rooted references
    
    
    zzz's avatar
    zzz committed
    2012-03-20 zzz
      * i2psnark: Message area tweaks and clear link
      * NetDB:
        - Don't reread RI if netdb date is recent
        - Prevent LS/RI overwrites
        - Disallow hash mismatches in RI files
        - Reseed won't fetch our own RI
        - Reseed won't overwrite recent RIs
      * Router: Make runRouter() public
    
    
      * Plugins: Less confusing message, fix CNFE by catch and ignore on delete.
                 Order and reverse order plugin names for start/stop all cases.
    
    zzz's avatar
    zzz committed
    2012-03-18 zzz
      * Jetty: Fix check alias override
    
    
    zzz's avatar
    zzz committed
    2012-03-17 zzz
      * BuildHandler: Implement restart and shutdown to stop the thread
      * Jetty: Don't extract wars
      * FileUtil: Better logging of weird unpack200 errors
      * I2PTunnel: Make CLI-only methods private, and static where possible
      * Streaming: Scheduler cleanup
    
    
    2012-03-16 zzz
      * FragmentHandler: Zero-copy read of unfragmented messages
                         for speed and to reduce object churn
      * Home page: Tag tooltip; CSS tweaks; news tweak
      * HTTP Proxy: Jump and addresshelper page tweaks
      * Jetty: Add I2P mime types to default eepsite config
      * OCMOSJ: Refactor cache to its own class, make non-static
      * TransportManager: Fix fatal exception on soft restart caused by DHSKB refactoring
      * TrustedUpdate: Preserve default key names even when keys are set
                       in advanced config
    
    
    sponge's avatar
    sponge committed
    2012-03-15 sponge
      * Plugins:
        - String.isEmpty() [ java 6 ] -> (String.length() == 0) [ java 5 ]
        - for a file: URL, use "Attempting to copy plugin from" message
        - s/{0}// on non-translated string
        - grammar: "File copy failed {0}" -> "Failed to copy file from {0}"
        - use the context provided to get startup time
        - getCanonicalPath() -> getAbsolutePath()
        - install != update. Don't change the user's settings, and don't restart
          it on an update if "dont-start-at-install". This gives the same
          functionality as before.
    
    
    zzz's avatar
    zzz committed
    2012-03-14 zzz
      * Blockfile, i2psnark: Remove static logs
      * DHSessionKeyBuilder:
        - Move from core to router/transport
        - Make non-static, instantiate in TransportManager
        - Generate keypair in constructor and make final
          to move more processing to the precalc thread
          and eliminate races
        - Synchronize getSessionKey() to eliminate races
        - Comment out unused methods
      * Jetty:
        - Set default cache-control for webapps and eepsite
        - Disable dir listing for console webapps
      * UDPTransport:
        - Make key builder final in InboundEstablishState to
          eliminate rare NPE (ticket #406)
        - Remove unused static instance
      * YKGenerator: Make non-static, instantiate in ElGamalEngine
    
    
    sponge's avatar
    sponge committed
    2012-03-13 sponge
      * Add sponge.i2p :-D bump version.
    
    
    2012-03-13 sponge
      * Plugins:
        - Fix a bug in the updater. It was not comparing the correct name.
        - Plugin updates can now be deferred if router-restart-required is set.
          The update happens at the next router restart.
    
    
    zzz's avatar
    zzz committed
         - Handle 'file://' URLs for installation and updates (ticket #429).
    
           You must specify the entire path, e.g.
           file:///home/someone/magicplugin.xpi2p
           - This works for updates too!
           - Only tested on Linux, needs to be tested on Windows.
    
    
    zzz's avatar
    zzz committed
    2012-03-12 zzz
      * Console:
        - Better IPv6 test, hopefully will work on Windows
        - Hide home page flags once language is selected
        - Home page shrinkage and other CSS tweaks
    
    
    sponge's avatar
    sponge committed
    2012-03-11 sponge
      * Slackware package script updates
    
    
    zzz's avatar
    zzz committed
    2012-03-11 zzz
      * Build:
        - Include old commons logging classes in commons-logging.jar
        - Preserve manifests in Jetty/Tomcat jars
    
    zzz's avatar
    zzz committed
      * Jetty Logger: Promote warns to errors when a Throwable is the second arg
    
    zzz's avatar
    zzz committed
    
    
    sponge's avatar
    sponge committed
    2012-03-11 sponge
      * fix broken comment in jetty.xml
    
    
    zzz's avatar
    zzz committed
    2012-03-10 zzz
      * Build: Add new jetty jars to router.jar classpath so it works
        on very old installs with individual jars specified in the
        wrapper.config classpath
      * configloggging: Fix clearing log overrides
      * Console: Test if IPv6 addresses will work before instantiating
                 connectors, so Jetty will still start without them
      * HTTP Proxy: Fix generation of jump links (ticket #616),
                    broken by refactoring in -1
      * Jetty Logger: Put a note in wrapper log saying where the logs went
    
    
    zzz's avatar
    zzz committed
    2012-03-09 zzz
    
      * Update default eepsite base context to use DefaultServlet
        instead of ResourceHandler, to provide resume, directory
        indexes, caching, etc.
    
      * Simplify default eepsite base and CGI contexts to use a Context
        instead of a ContextHolder, ServletHandler, and ServletHolder
    
    zzz's avatar
    zzz committed
      * GarlicConfig: Remove unused reply block methods
      * SessionKeyManager:
        - Don't use unacked tagsets after consecutive ack failures
          and revert to full ElGamal if necessary (ticket #574)
        - Synchronize creation of new sessions to prevent dups
        - Don't remove an unacked session until it's really out of tags
        - Failsafe removal of old unacked tagsets
        - Cleanups, final, comments, log tweaks, debug.jsp tweaks, synchronization tweaks
    
    
    2012-03-06 kytv
     * German and Spanish translation updates from Transifex
    
    
    2012-03-06 zzz
      * i2psnark: Fix NPE on magnet link addition
      * Jetty logger: Fix stack trace logging
      * viewstat.jsp: Properly close the ImageOutputStream to fix
        NPEs in the finalizer, probably was the root cause of
        what we blamed on Jetty
      * Webapp class loader: Fix dup classes in classpath
        caused by last checkin (symptom: i2psnark in wrong directory)
    
    
    zzz's avatar
    zzz committed
    2012-03-05 zzz
      * Build: Make windows and non-windows installers for release
      * configclients: Tweaks
      * Graphs: Add time interval to legend
      * NetDB: Increase min ff to 250
      * Plugins: Fix setting webapp classpath on Jetty 6
      * UDP: Log tweaks
      * viewstat.jsp: Set Connection: Close to work around Jetty bug
        http://jira.codehaus.org/browse/JETTY-1346
    
    
    zzz's avatar
    zzz committed
    2012-03-04 zzz
      * Jetty: Upgrade to Jetty 6.1.26, Tomcat 6.0.35, and JSTL 1.2.
        - Supports Servlet 2.5 / JSP 2.1 standards
        - Jetty and Tomcat jars are checked in, no more need to
          download Jetty in the build process.
        - Bundle Jetty 6 rewrite handler and JMX
        - Bundle sample Jetty config files for rewrite, JMX, and SSL