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

Skip to content
Snippets Groups Projects
history.txt 512 KiB
Newer Older
2014-01-12 zzz
 * NetDB: Fix handling of DSRM down client tunnels

zzz's avatar
zzz committed
2014-01-11 zzz
 * NetDB:
   - Reduce min part tunnels for ffs to 35
   - Use client tunnels for LS lookups from OCMOSJ (ticket #1166)

2014-01-11 str4d
 * BOB: Pass through I2CP host/port (ticket #827)

2014-01-10 str4d
 * BOB: Implement ClientApp interface (ticket #347)

zzz's avatar
zzz committed
2014-01-09 zzz
 * Kademila: Fix NPE in remove()

2014-01-09 kytv
 * Translations
  - Updates to French, German, Romanian, and Russian
  - New Brazilian Portuguese translation
  - Mass pull of translations from Transifex
  - Update of English strings

str4d's avatar
str4d committed
2014-01-09 str4d
 * susimail:
  - Fixed pagination with zero entries (ticket #1168)
  - UTF-8 support from wockenfuss (ticket #508)
str4d's avatar
str4d committed
 * Console: Fixed overlapping text issue in midnight theme

zzz's avatar
zzz committed
2014-01-07 zzz
 * Streaming: Fix StandardServerSocket.close() and isClosed()

zzz's avatar
zzz committed
2014-01-04 zzz
 * Peermanager: Disable small same-country bonus
 * Tunnels: Change client default to 3 hops in router;
   change expl. default to 2+0 IB and 2 + 0-1 OB

2014-01-04 dg
 * Streaming: Move streaming to new package (ticket #1135)
 * Console: Change /configclients 'advanced warning' to include 'toopie, no red
dg2-new's avatar
dg2-new committed
 * Console: Add 'advanced warning' to /configclients
 * SOCKS5Server: Remove redundant, commented out line from my previous findbugs

zzz's avatar
zzz committed
2013-12-19 zzz
 * NetDB: Fixes for ExpireRoutersJob
  - Don't expire if too few routers
  - Don't expire if net is disconnected
  - Don't run in VMCommSystem

2013-12-15 zzz
* EepGet: Allow override of the User-Agent
* i2psnark: Set User-Agent

zzz's avatar
zzz committed
2013-12-14 zzz
* NetDB:
 - Just before midnight, flood to new location too so lookups
   don't fail after keyspace rotation (ticket #510)
 - Refactor RoutingKeyGenerator and UpdateRoutingKeyModifierJob
   in support of the above

zzz's avatar
zzz committed
2013-12-13 zzz
 * i2ptunnel: Show destination for persistent client key only if available;
              show b32 for the key as well
 * NetDB:
   - Increase new kad size to K=24, B=4
   - Fix router count by counting in the data store, not the kbuckets
   - Randomize the order we load router infos at startup so we
     don't bias the kbuckets

zzz's avatar
zzz committed
2013-12-10 zzz
Prop from i2p.i2p.zzz.test2:
 * Config files: Allow empty values
 * Data: Deprecate Signature.FAKE_SIGNATURE
 * GeoIP: Thread the periodic lookup so it doesn't clog the timer queue
 * I2CP router-side: Disconnect client on attempt to publish invalid leaseset
 * i2psnark:
   - Make a set of the default trackers so the config array
     can be private and the lookup for the form is more efficient.
   - Disable streaming pings (ticket #1142)
 * i2ptunnel: Disable streaming pings for clients (ticket #1142)
 * i2ptunnel IRC client: Do not filter server PING or client PONG (ticket #1141)
 * Jetty 7.6.14.v20131031
 * PeerManager: Thread the periodic reorg so it doesn't clog the timer queue
 * PrivateKeyFile: Fix ISE (ticket #1145)
 * Startup: Wait a while and recheck if a recent ping file is there,
            so that a crashed router doesn't prevent a restart (ticket #633)
 * Transport: Reduce target connections from 60% to 45% of limit
   to improve network capacity. Apparent problems with lower limits were
   actually due to unrelated bugs, fixed in 0.9.8.1-22.
 * Translations:
   - Add support for country variants (ticket #1133)
   - Refactor data in ConfigUIHelper
 * UDP PeerState: findbugs volatile/atomic/synch
Prop from i2p.i2p.zzz.netdbkad:
 * NetDB:
   - Move net.i2p.kademlia package from i2psnark to core, and convert
     netdb to use it.
   - Delete old implementation in netdb
   - Fixups in netdb for generics
   - Add debug output to /debug
 * Kad unit tests:
   - Move KBucketSetTest to new directory
   - Fix testSelf() as new implementation will never include myself
   - Delete KBucketImplTest, not applicable/useful now
   - Port KBSTest from i2p.zzz.kademlia branch
   - Fix RandomTrimmer so it always returns true, so it may be used
     as the trimmer in the unit tests

zzz's avatar
zzz committed
* 2013-12-07 0.9.9 released

zzz's avatar
zzz committed
2013-12-04 zzz
i2psnark: Fix ConnectionAcceptor not restarting after tunnel
  restart, preventing incoming connections

2013-12-01 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-11-05.
 * French, Italian, Romanian, Spanish, and Swedish translation updates from transifex

 * I2PTunnel: Don't send 'X-Powered-By' on HTTP server tunnels for anonymity reasons.
2013-11-25 str4d
 * Reseed: Listen to "Require SSL" config option

zzz's avatar
zzz committed
2013-11-23 zzz
 * i2ptunnel: Clean up old timer threads

2013-11-23 str4d
 * susimail: Fix NPE when deleting last message (ticket #414)

2013-11-19 kytv
 * Translation updates and start of Japanese translation pulled from Transifex

2013-11-14 kytv
 * Update Java Service Wrapper to v3.5.22
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.

zzz's avatar
zzz committed
2013-11-14 zzz
 * Tunnels: Fix reception of encrypted responses to LS lookups (ticket #1125)

2013-11-07 zzz
 * i2psnark: Fix file links, broken in -12 (ticket #1114)
 * Logging: Track duplicates across flush interval (ticket #1110)
 * NetDB: Fix RI publish interval, broken in -7

2013-11-03 zzz
 * NetDB: Allow store of leaseset as long as one lease has not expired
 * Transport:
   - Expire wasUnreachable entries, so inbound tunnel build failures
     don't escalate
   - Add network status to event log

2013-11-01 zzz
 * Transport: Fix GeoIPv6 (ticket #1096)

zzz's avatar
zzz committed
2013-10-31 zzz
 * i2psnark: Always verify file lengths at startup (ticket #1099)
 * Transports: Increase threshold for idle timeout reduction
   (partially back out change from -10)

2013-10-29 dg
 * i2psnark: Start torrents by default (ticket #1072)

zzz's avatar
zzz committed
2013-10-29 zzz
 * i2psnark: Fix start and start-all buttons on text-mode browsers
   and Opera (ticket #1093)
zzz's avatar
zzz committed
 * InboundMessageDistributor:
   - Don't discard an encrypted DSRM received
     down a tunnel, just strip the hashes like we do for unencrypted
   - Send a store of our own encrypted LS received down a tunnel to
     the InNetMessagePool so the FloodfillVerifyStoreJob will see it.
 * NetDB: Fix LS store verifies with encrypted replies
   by storing the tagset with the correct SKM for the inbound tunnel used.
   Broken since 0.9.7 when it was introduced.
 * Tunnels:
   - Build a new exploratory fallback tunnel in the BuildExecutor
     loop if we run out.
   - Don't use closest expl. tunnel as the paired tunnel for a build,
     use a random one instead (partially back out change from -12)

meeh's avatar
meeh committed
2013-10-29 meeh
 * Adding no.i2p registrar

dg2-new's avatar
dg2-new committed
2013-10-28 dg
 * I2PTunnel: Enable persistent keying for SOCKS tunnels (ticket #1088)

2013-10-27 zzz
 * Streaming; Fix crash caused by previous blacklist fix (ticket #1070)

zzz's avatar
zzz committed
2013-10-26 zzz
zzz's avatar
zzz committed
 * i2psnark: Display base name, not torrent file name (ticket #985)
zzz's avatar
zzz committed
 * I2PTunnel HTTP server: New POST limiter
zzz's avatar
zzz committed
 * Profiles: Ensure we select random peers even before the first reorganization
 * Streaming: Randomize end of first conn limit period
 * Tunnels:
   - Don't use fallback expl. tunnels as the paired tunnel
     for a client tunnel build.
   - Fix selection of an expl. tunnel close to a hash
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2013-10-25 zzz
zzz's avatar
zzz committed
 * Router: Only log ping file error once (ticket #1086)
zzz's avatar
zzz committed
 * Streaming:
   - Check blacklist/whitelist before connection limits, so
     a blacklisted peer does not increment the counters
   - Don't increment total throttle if peer is throttled
   - Fix blacklist NPE after config change (ticket #1070)
 * Transports: Reduce connection idle time sooner

2013-10-24 zzz
zzz's avatar
zzz committed
 * i2psnark: Drop incoming connections on HTTP port
 * I2PTunnel: Don't let uncaught exception kill server acceptor (ticket #1070)
 * I2PTunnel standard, HTTP, and IRC servers:
   Route connections to specific targets based on incoming I2P port
   with custom option targetForPort.xxxx=myserver:yyyy
   This allows multiple services on a single server tunnel (ticket #1066)

zzz's avatar
zzz committed
2013-10-23 zzz
 * I2PTunnel standard and IRC clients:
   - Allow host:port targets; set defaults in i2ptunnel.config (ticket #1066)
   - Don't fail start if hostname is unresolvable; retry at connect time (ticket #946)
   - Output IRC message on connect exception
   - Update target list on-the-fly when configuration changes
zzz's avatar
zzz committed
 * NetDB:
   - Increase RI publish interval to reduce the connection load on ffs
   - Save RI-last-published time; check it before publishing

2013-10-19 zzz
 * NetDB:
   - Reinstate ExpireRoutersJob
   - Reduce min part. tunnels for floodfill
   - Reduce floodfill redundancy

2013-10-17 zzz
 * I2CP: Move SSL client socket code to util,
   move cert location to certificates/i2cp.
 * I2PTunnel: Support SSL for connection to local server
   for Standard, HTTP, and IRC server tunnels.
   Put server cert in certificates/i2ptunnel if necessary.
 * Streaming: Throw IOE if socket is closed (ticket #1077)

2013-10-14 kytv
 * French translation updates from Transifex

2013-10-14 zzz
 * Translations: Move country names to a new resource bundle

 Prop from branch i2p.i2p.zzz.test2:
 * Console:
   - Implement webapp state detection and stop button for webapps
     on /configclients (Ticket #1025)
   - Set per-connector acceptors back to 1, Jetty default changed to 2?
   - Tag strings on /jobs (ticket #969)
 * Data Structures:
   - Make Destination and RouterIdentity keys and cert immutable
   - Add Destination cache
 * i2psnark:
   - Combine getPeers and announce into a single method, as we must announce to
     the closest from the getPeers, not the closest from the kbuckets
   - Stop getPeers when nothing closer is found
   - Increase DHT dest lookup, search timeouts, and max search depth
   - Loop tracker client faster when in magnet mode or if DHT announce fails
   - Don't return an empty peers list in DHT if we only know about the requestor
   - Refactor Storage file data structures
   - Sort files when creating torrents
   - Add torrent auto-stop support; enable for update file
   - Add tunnel auto-close when no torrents are running
   - Close socket before closing output stream to avoid blocking in
     Peer.disconnect(), and prevent Peer.disconnect() loop
 * I2PTunnelHTTPServer: Don't thread a receiver for GET or HEAD
 * Jetty 7.6.13.v20130916
 * Logging:
   - Require strict match of class name component
   - parseLimits() cleanup
 * SSU: More efficient InboundMessageState
 * Streaming:
   - Fix active stream counting so it doesn't count streams
     that are closed and in TIME-WAIT state. Also, break out of the
     counting loop as soon as we know the answer. (Ticket #1039)
   - Consolidate scheduling of DisconnectEvent, and ensure
     we only do it once. (Ticket #1041)
   - Atomics for close/reset send/receive
     so we only do things once. (Ticket #1041)
   - Remove setCloseReceivedOn(), unused outside Connection
   - OR the isFlagSet parameter instead of multiple calls
   - Remove acked packets from _outboundPackets inside synced iterator
   - Short-circuit _outboundPackets iterator if empty
   - Small optimization if not logging in ConnectionPacketHandler
   - Stub out processing of close ack (ticket #1042)
   - Don't queue a message for an unknown connection on the SYN queue
     if it has a send ID set, it must be for a recently closed connection
   - Major rework of connection disconnect process. Tickets 1040-1042.
   - Prevent multiple calls or reentrancy in disconnect() (ticket #1041)
   - Implement processing of close to skip TIME-WAIT, and
     wait for all packets to be acked (not just the CLOSE) before
     doing so, if possible (ticket #1042)
   - Don't call disconnect() or disconnectComplete() from I2PSocketFull.destroy()
     so retransmissions and acks can still happen (removes some close loops)
   - Don't call disconnect() until we have both sent and received a CLOSE (ticket #1040)
   - Don't reset the connection from CPH just because we sent a CLOSE
     and it was acked (ticket #1040)
   - Ack packets even if we sent a CLOSE  (ticket #1040)
   - Retransmit CLOSE if not acked (ticket #1040)
   - Send received packets to the MessageInputStream even if we haven't received a SYN
   - Don't call MessageInputStream.messageReceived() for ack-only packets, that was pointless
   - Don't send a RESET after timeout of an outbound connection
   - Work around bugs on other end by limiting retransmission of CLOSE packets
   - Make I2PSocketFull.close() nonblocking; it will now cause any user-side
     writes blocked in I/O (Connection.packetSendChoke()) to throw
     an exception (tickets #629, #1041)
   - Don't ignore InterruptedExceptions; throw InterruptedIOException
   - MessageInputStream locking fixes
   - Make _isInbound final
   - More cleanups, javadocs, log tweaks
 * Transport: Treat more IPs as local
   - 25/8 Hamachi (moved from 5/8 Nov. 2012)
   - 2620:9b::/32 Hamachi
   - 3ffc::/16 6bone
   - 2001:db8::/32 example (RFC 3849)
   - 0::/8 Includes IPv4 compatibility addresses ::xxxx:xxxx
 * Update:
   - Support notification of updates that cannot be downloaded
     due to "constraints". Add constraint checks for java version,
     router version, configuration, and base permissions. (ticket #1024)
   - Thread news fetcher so it doesn't clog the scheduler
 * Watchdog: Format messages better

zzz's avatar
zzz committed
2013-10-06 zzz
 Prop from branch i2p.i2p.zzz.ecdsa:
 * Build:
   - Generate su3 file in release target
   - Add zzz's new RSA 4096 pubkey cert for updates
   - Fix checkcerts.sh
 * Console: Move advanced setting to HelperBase
 * DSAEngine changes:
   - Implement raw sign/verify for other SigTypes
   - Add sign/verify methods using Java keys
 * ECDSA Support:
   - Add ECConstants which looks for named curves and falls back to
     explicitly defining the curves
   - Add support for ECDSA to SigType, DSAEngine and KeyGenerator
   - Attempt to add BC as a Provider
   - genSpec: fallback to BC provider
 * EepGet:
   - Fix non-proxied PartialEepGet
   - Prevent non-proxied eepget for an I2P host
 * KeyGenerator changes:
   - Generate key pairs for all supported SigTypes
   - KeyPairGen: Catch ProviderException, fallback to BC provider
   - Add KeyGenerator main() tests
 * KeyRing and DirKeyRing added: simple backend for storing X.509 certs
 * KeyStoreUtil added:
   - Consolidate KeyStore code from SSLEepGet, I2CPSSLSocketFactory,
     SSLClientListenerRunner, and RouterConsoleRunner into new
     KeyStoreUtil and CertUtil classes in net.i2p.crypto (ticket #744)
   - Change default to RSA 2048 (ticket #1017)
   - Set file modes on written keys
   - Overwrite check in createKeys()
   - New getCert(), getKey()
   - Extend keygen max wait
   - Read back private key to verify after keygen
   - Validate cert after reading from file
   - Validate CN in cert
   - Specify cert signature algorithm when generating keys
 * NativeBigInteger: Tweak to prevent early context instantiation
 * RSA support added: constants, parameters, sig types, support in DSAEngine, KeyGenerator, SigUtil
 * SHA1Hash: Add no-arg constructor
 * SigType changes:
   - Add parameters (curve specs) to SigTypes
   - Add getHashInstance()
   - Add RSA, fix ECDSA
   - Renumber, rename, comment out types that are too short.
 * SigUtil added:
   - Converters from Java formats (ASN.1, X.509, PKCS#8)
     to I2P formats for Signatures and SigningKeys
   - Move ASN.1 converter from DSAEngine to SigUtil, generalize
     for variable length, add support for longer sequences,
     add more sanity checks, add more exceptions
   - Move I2P-to-Java DSA key conversion from DSAEngine to SigUtil
   - Add Java-to-I2P DSA key conversion
   - Add Java key import
   - New split() and combine() methods
 * SSLEepGet: Move all certificates to certificates/ssl, in preparation
   for other certificate uses by SU3File
 * SU3File changes:
   - Support all SigTypes
   - Implement keygen
   - Readahead to get sigtype on verify, as we need the hash type
   - Enum for content type
   - Add unknown content type, make default
   - Fix NPE if private key not found or sign fails
   - Store generated keys in keystore, and get private key from keystore
     for signing, in Java format
   - Use Java keys to sign and verify so we don't
     lose the key parameters in the conversion to I2P keys
   - Type checking of Java private key vs. type when signing
   - Use certs instead of public keys for verification
   - Fix arg processing
   - Improve validate-without-extract
   - New extract command
   - Change static fields to avoid early context init
   - Reduce PRNG buffer size for faster signing
 * Update: Preliminary work for su3 router updates:
   - New ROUTER_SIGNED_SU3 UpdateType
   - Add support for torrent and HTTP
   - Refactor UpdateRunners to return actual UpdateType
   - Deal with signed/su3 conflicts
   - Verify and extract su3 files.
   - Stub out support for clearnet su3 updating
   - New config for proxying news, separate from proxying update
   - PartialEepGet and SSLEepGet tweaks to support clearnet update
   - Remove proxy, key, and url config from /configupdate
   - More URI checks in UpdateRunner
   - Add https support for news fetch
   - Add su3 mime type
   - Reset found version in update loop so we don't fetch from
     the next host too.
   - Prevent NPE on version after SSL fetch

zzz's avatar
zzz committed
* 2013-10-02 0.9.8.1 released

2013-10-01 zzz
 * Startup: Fix rekeying on Windows (tickets #1056, 1057)

zzz's avatar
zzz committed
* 2013-09-30 0.9.8 released

2013-09-26 kytv
 * French, German, Russian, and Swedish translation updates from Transifex
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-09-03

2013-09-23 zzz
 * Console: Add /proof page which can copied to prove you run a router

kytv's avatar
kytv committed
2013-09-20 kytv
 * Chinese, French, German, Russian, and Swedish translation updates from
   Transifex
 * Revert expl. default back to 2 hops, wait for next release
2013-09-07 zzz
 * Crypto: Don't use "short exponent" on faster platforms.
   Rebuild router identity if key length doesn't match setting.

2013-09-03 zzz
 * configui: Change pw restart warning to error so people dont miss it
 * Data: deprecate most of LeaseSetKeys
 * i2ptunnel: Reduce buffer size and use cache in HTTPServer
 * Jetty: Increase maxIdleTime
 * profiles: use different sort for floodfill profiles display
 * Utils: Consolidate maxMemory() calls

zab2's avatar
zab2 committed
2013-08-31 zab
 * Streaming: Use only non-retransmitted packets when sampling RTT
zab2's avatar
zab2 committed
   (Ticket 1007, RFC 6298)
zab2's avatar
zab2 committed

 * Addressbook: Don't write to log file on Android (ticket #859)
 * Addresses: Treat Teredo addresses 2001:0::/32 as local
 * Console: Display "accepting tunnels" instead of "rejecting tunnels"
            after 20 minutes (ticket #902)
 * i2psnark: Highlight table rows on hover
 * NTCP: Handle race where peer's NTCP address goes away
 * SSU, confignet: Add support for specifiying multiple addresses
 * SusiDNS: Don't require last subscription to be terminated by newline (ticket #1000)

zzz's avatar
zzz committed
2013-08-11 zzz
 * Jetty 7.6.12.v20130726

2013-08-11 kytv
 * Update Java Service Wrapper to v3.5.20
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.
 * Translations
   - French, Portugeuse, Russian, Spanish, and Turkish updates from Transifex
   - Start of Romanian translation from Transifex
zab2's avatar
zab2 committed
2013-08-11 zab
 * Streaming:
   - reduce initial ack delay 2000->1000
   - rework the logic of acking duplicate packets

zzz's avatar
zzz committed
* 2013-08-10 0.9.7.1 released

zzz's avatar
zzz committed
2013-08-10 zzz
zzz's avatar
zzz committed
 * Prop from i2p.i2p.0971
 * Update:
   - New update hosts, thanks Meeh and dg
   - Increase update-via-torrent to 30%

zzz's avatar
zzz committed
2013-07-30 zzz
 * i2psnark: Increase max piece size to 4 MB (ticket #993)
 * Tunnels: Extend local expiration of IB tunnels, to allow for
   more clock skew and not drop valid messages at their destination

zzz's avatar
zzz committed
2013-07-29 zzz
zzz's avatar
zzz committed
 * Signatures:
   - Prep for new signature algorithms; new SigType enum;
     Signature, SigningPublicKey, SigningPrivateKey store type
   - New Hash384 and Hash512 classes
   - Remove length field in SimpleDataStructure
   - New SU3File generator/verifier/extractor
zzz's avatar
zzz committed
 * GeoIPv6: Fix NPE (ticket #992)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2013-07-28 zzz
 * Addresses: Treat RFC 4193 addresses fc00::/7 as local
 * NetDB: Disable RI verifies for now

zzz's avatar
zzz committed
2013-07-26 zzz
 * Transports:
   - Fix IPv6-only option 2nd try
   - Treat RFC 4193 addresses fc00::/7 as local

zzz's avatar
zzz committed
2013-07-25 zzz
zzz's avatar
zzz committed
 * Transports:
   - Prefer IPv6 by default
   - Fix IPv6-only option
   - Don't try NTCP IPv6 addresses unless we have one
   - Fix non-%16 SSU padding; enable by default
 * Tunnels:
   - Make expl. default 3 hops  (ticket #966)
   - Allow expl. fallback up to -2 hops

zzz's avatar
zzz committed
2013-07-24 zzz
 * GeoIP: Fix lookups, broken in IPv6 branch
 * UPnP:
   - main() tweaks for debugging
   - Fix for devices that return base URLs with trailing '/' (ticket #986)
zzz's avatar
zzz committed
2013-07-22 zzz
 * BuildReplyHandler:
   - Make non-static
   - Don't pollute Hash cache with build response record hashes
   - Use SimpleByteCache
   - cleanups
 * HashComparator:
   - Don't pollute Hash cache with hashes
   - cleanups

zzz's avatar
zzz committed
2013-07-21 zzz
 * I2CP:
   - Don't NPE when loglevel=warn
   - Don't enforce property length limits when inside router JVM
 * I2PSnark: Log uncaught error in ThreadedStarter to router log
 * I2PThread: Log uncaught error to wrapper log

zzz's avatar
zzz committed
2013-07-20 zzz
 Prop from i2p.i2p.zzz.ipv6:
 * Addresses:
   - blocklist 192.88.88.0/24 6to4 anycast
   - invalidate 2002::/16
   - Strip scope from returned IPv6 addresses
 * Blocklist:
   - Add IPv6 in-memory single list
   - Limit in-memory single list size
   - Fix dup check in getAddresses()
 * CSFI: Pass TransportManager instead of CSFI to GetBidsJob; remove unused methods
 * Console:
   - Add IPv6 column on /peers
   - Other minor /peers cleanup
 * FloodfillPeerSelector, ProfileOrganizer: Use 8 bytes for IPv6 check
 * GeoIP:
   - Use cached IP in RouterAddresses
   - Use both NTCP and SSU addresses
 * GeoIPv6:
   - Handle gzipped input data in merge tool
   - Add script to generate compressed data
   - Add local additions
   - Add compressed data file, generated from Maxmind data fetched 2013-05-24
   - Include data in installer and updater
   - Update Maxmind license info, now CC-SA 3.0
   - Enable GeoIPv6 lookup in CSFI
 * NetDb:
   - Add floodfillEnabled() to NetworkDatabaseFacade so callers don't
     have to cast to FNDF, and Dummy NDF will work
   - Remove static FNDF.floodfillEnabled()
 * NTCP:
   - Move SSU address notification handling from CSFI to NTCPTransport
   - Drop NTCPAddress, just use RouterAddress
   - Drop _myAddress field, use super's currentAddress
   - Bad bind config not fatal
   - Fix publishing address when host specified but interface is not
   - Republish even if only changing cost
 * PacketPusher: Minor optimization
 * Peer tests:
   - Use only IPv4 peer for Alice and Bob in peer tests; Charlie may be an IPv6 peer.
   - Enforce IPv4 (Alice's) address inside PeerTest packet
 * RouterAddress and RouterInfo toString() cleanups; don't cache RI in _stringified
 * RouterAddress:
   - hashCode/equals tweaks
   - Add new constructor
   - Add add getHost() and deepEquals()
   - Compare host string, not IP, in equals()
   - Deprecate some setters
   - Add warning about setCost()
   - Change cost storage from int to short
   - Cost range checks
 * RouterContext: Fix disabling client manager with i2p.dummyClientFacade=true
 * SSU:
   - Change from single UDPEndpoint to a List of UDPEndpoints
   - Move (single) receive queue from UDPReceiver to PacketHandler
   - Multiple transmit queues (one for each UDPEndpoint/UDPSender),
     select queue in PacketPusher
   - Throw exception on UDPEndpoint.startup() failure
   - Remove all _external* fields; use _currentAddresses in super
   - Big rework of externalAddressReceived(), rebuildExternalAddress(),
     needsRebuild(), and replaceAddress() for multiple addresses and IPv6
   - Add caching in UDPAddress
   - More IPv6 flavors of utility methods
   - Remove two-arg replaceAddress()
   - Fixes for i2np.udp.allowLocal, log tweaks, sender/receiver thread name tweaks
   - Handle IPv6 in too-close checks
   - IPv6 SSU MTU adjustments
   - Hash IPv6 addresses in IPThrottler
 * SSU Introduction:
   - Document that Alice-Bob RelayRequest/RelayResponse may be IPv4 or IPv6,
     but don't implement IPv6 yet.
     Changes required in IntroductionManager and PacketBuilder to send Alice's
     IPv4 address in the RelayRequest packet over IPv6, and to publish
     IPv6 introducer IPs.
   - Bob-Charlie RelayIntro must be IPv4
   - Only offer/accept relay tags as Bob or Charlie if the Bob-Charlie session is IPv4
   - Alice-Charlie communication must be IPv4
 * SSUDemo:
   - Configuration fixes, delete RI on exit, log tweaks, cleanups
   - Use IPv6; don't use System properties
   - Adapt for NTCP testing too
 * Tests:
   - New buildTest and prepTest targets
   - Fix UDPEndpoint usage in unit tests: Restore receive(); Handle null UDPTransport
   - Fix UDPEndpointTestStandalone: init context; Add unit test buildPacket() method to PacketBuilder;
     Fix NPE in MessageHistory
 * Transports:
   - Add new TransportUtil for getting/setting IPv6 config
   - Prep for supporting multiple RouterAddresses per-transport
   - Prep for multiple address discovery
   - Fix multiple-detection code in externalAddressReceived()
   - Synchronize tracking of last IP/port
   - Don't accept IPv6 address changes from peers
   - Remove unused getLocalAddress()
   - Pkg private getLocalPort()
   - Start transports in a standard order to make testing easier
   - When transports learn of interface addresses before being started, save them
     and use them at startup
   - Pick SSU random port before startListening() and have the TransportManager
     pass it to NTCP before starting
   - Only restart NTCP after changing addresses when necessary;
     prevent thrashing at startup (ticket #459)
   - Always bind NTCP if we have port; not just when not firewalled
   - Only call rebuildRouterInfo() once at startup
   - More checking of min/max SSU port config
   - Invalid SSU bind config no longer fatal
   - Allow "true" for ipv6 config
   - SSU fixes for per-address and IPv6 MTU
   - MTU.main() print all interfaces
   - Add i2np.disable property for testing
 * Transports:
   - Sort multiple peer addresses by cost, with adjustment for local IPv6 preference
   - Add default IPv6Config for ease of changing later
   - Only treat IPv6 addresses as valid if we have a public IPv6 address
 * Tunnel GW pumper: Limit threads when testing
 * UDPAddress:
   - Reduce object churn, check intro key length,
     don't look for ihost3, reject ports < 1024, cleanups
   - Remove dependency in console; make package private
 * UPnP:
   - Fix UPnP address received before startListening(), broken by isAlive() check
   - Pass device IP back in forward port callback
   - Only declare success if forwarded IP is public

zzz's avatar
zzz committed
2013-07-20 zzz
 Prop from i2p.i2p.zzz.test2:
zzz's avatar
zzz committed
 * DHSessionKeyBuilder: Fix for session and mac keys if DH key is between 32 and 63 bytes.
   Was: NPE. Now: mac key is hash of session key. Won't ever happen. (Ticket #963)
 * I2CP/I2PTunnel locking fixes (partial fixes for tickets 650. 722, 815, 946, 947, 953):
   - I2PSocketManagerFactory: New createDisconnectedManager(), javadocs
   - I2PSessionImpl: Rewrite state management and locking, prevent multiple
     connect() calls, but allow disconnect() to interrupt connect()
   - I2PSimpleSession: Changes to match I2PSessionImpl
   - I2PTunnelServer: Don't connect in constructor, use createDisconnectedManager()
     for a final manager, finals and cleanups
 * ClientManager:
   - Make classes extensible for router-side test stubs
   - Add router-side local-only test implementation, no full router required.
     Only tested with external clients, probably doesn't work in-JVM.
   - Don't start threads in ClientManager constructor
   - Remove unused Reader param in ClientMessageEventListener methods
   - Cleanups, volatiles, finals, javadocs
 * Translations:
   - New varargs method in Translate
   - New TranslateReader to translate static files on-the-fly using _("") tagging
   - Tag proxy error pages for TranslateReader
   - Drop static translated proxy error pages
   - Add new i2ptunnel bundle for the proxy alone, shipped in the jar.
   - Use TranslateReader in HTTP proxy for error pages
   - Move HTTP proxy strings from the web (war) to proxy (jar) bundle so they will be loaded
     Fixes translations for the lower half of the proxy pages that weren't accessible in the war.
   - Initial translations created by msgmerge from i2ptunnel and routerconsole po files, un-fuzzied
   - Tag initialNews.xml for TranslateReader
   - Drop static translated initialNews pages
   - Add new routerconsole bundle for the news alone, shipped in the jar
   - Use TranslateReader in HTTP proxy for initial news
   - Initial translations created manually from translated xml filesx
   - Add translated proxy error pages and initial news to deletelist.txt
 * Transports: Consolidate translation methods in TransportImpl;
   ngettext fix for "peers" string


zzz's avatar
zzz committed
2013-07-19 zzz
zzz's avatar
zzz committed
 * PRNG:
   - Don't delay the refiller if we need more (don't limit max output)
   - Add FortunaRandomSource.main() to output to stdout for testing e.g. with dieharder

zzz's avatar
zzz committed
2013-07-19 zab
zzz's avatar
zzz committed
 * Streaming:
   - initialize streaming RTT from sample, trac #979, RFC 6298
   - store rttDev in TCBCache
zab2's avatar
zab2 committed

zzz's avatar
zzz committed
* 2013-07-15 0.9.7 released

2013-07-11 kytv
 * Chinese, Russian, Spanish, and Turkish updates from Transifex
kytv's avatar
kytv committed
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-07-02
2013-07-11 str4d
 * susimail: Improvements to layout in mobile browsers

2013-07-06 zzz
 * TunnelPool: Don't reuse peers for exploratory tunnels

zzz's avatar
zzz committed
2013-07-04 zzz
 * Streaming:
   - Don't stop timers when session disconnects (tickets #644, #810)
   - Throw exception on attempt to use destroyed socket manager

 * Console: Hide dead tunnel pools on /tunnels
 * Updater: Fix plugin update checker (ticket #897)
 * Utils: Reduce logging in wrapper log when extracting zip files

zzz's avatar
zzz committed
2013-06-30 zzz
 * BuildHandler: Drop build request with bad flags

2013-06-28 zzz
 * i2psnark:
   - Show more metadata on details page
   - Fix rar icon
   - More URL escaping

2013-06-23 zzz
 * i2psnark: When receiving a metainfo via magnet and saving it to disk,
   preserve all non-standard fields (such as those created by Robert) so the
   infohash doesn't change on restart and split the swarm.

2013-06-22 zzz
zzz's avatar
zzz committed
 * SSU:
   - Pad messages with random data instead of zeros
   - Implement non-mod-16 padding, disabled for now
2013-06-22 meeh
 * I2PTunnel: Change connect proxy default to outproxy-tor.meeh.i2p after h2ik's AWOL

2013-06-21 zzz
 * Crypto: AES decrypt speedups
 * NetDB, i2psnark: Speed up XORComparators
 * SSU: Ignore non-mod-16 padding

2013-06-20 zzz
 * i2psnark: Show start-all button even if tunnel is open,
   if at least one torrent is stopped (ticket #808)

2013-06-17 zzz
 * Console: Don't display 'unsupported' message when restart button clicked
 * I2CP: Don't send SendMessageEndMessages from client to router if
         in fast receive mode and the router doesn't require them.
 * NetDB:
   - Don't instantiate unused success job for republish LS
   - Add debug setting to encrypt RI lookups
 * NTCP: Extend interval for sending time sync messages
 * SusiMail: Fix classpath problem when started manually (ticket #957)

2013-06-14 zzz
 * I2CP: Fix deserialization of new RVLSM; enable by default
 * i2psnark: Fix bug creating torrent with a single file in a directory

2013-06-12 zzz
 * Console: Add missing jetty jars to classpath (ticket #952)
 * I2PTunnel: Add advanced quantity options

2013-06-10 kytv
 * Translations (from Transifex)
   - Start of Turkish language translation
   - Update to French translation

zzz's avatar
zzz committed
2013-06-10 zzz
 * Installer: Don't install Windows service by default
 * NetDB: Let class N routers become floodfill; scale max connections for non-O floodfills
 * Transports: Reduce idle timeouts to mitigate conn limit issues

2013-06-09 zzz
 * NetDB: Prep for leasesets with different expire times
   - Add new I2CP RequestVariableLeaseSetMessage
   - Send RVLSM if client supports it; handle on client side;
     disabled by default for the moment.
   - Add LeaseSet.getLatestLeaseDate()
   - Check latest, not earliest, date too far in future in KNDF.validate()
   - Check latest date too far in past in KNDF.validate()
   - Only check gateway and tunnel ID for equality in OCMOSJ lease caching to reduce churn
   - Split up KNDF.validate(RI) for efficiency, don't need to check
     signature, netid, etc. before lookups, only on store
   - Remove enforeNetID config
   - Fix major bug causing newer leasesets to be treated as older, and not stored or published
   - Increase max adjustment time of earliest lease
   - TransientDataStore cleanups
   - RouterInfo and LeaseSet equals() speedups

zzz's avatar
zzz committed
2013-06-07 zzz
 * BlockfileNamingService:
   - Fix bug that kept reverse index from being updated
   - Bump DB version to 3 to trigger repopulation of the reverse index
   - Make metaindex final
   - Add freelist check to the main() test

2013-06-06 zzz
 * BuildRequestRecord: Don't waste entropy on bytes we will overwrite

2013-06-05 zzz
 * DatabaseLookupMessage: Change format for encrypted reply request
   to allow multiple bundled reply tags
 * I2CP: Save client version for future reference
 * InboundMessageDistributor: Cleanups
 * LeaseSet: Don't allow changes after signature added
 * NetDB:
   - Debugging option for encrypting RI lookups
   - Remove unused classes

2013-06-01 zzz
 * EepGet: Used cached byte array in uncompressor
 * i2psnark:
   - Add idle detector, reduce tunnel count when idle (prep for torrent updates)
   - Cancel CoordinatorAcceptor cleaner when halted
   - Make PeerCoordinatorSet an Iterable
   - Reduce max protocol errors to 1
   - Disable unused PeerMonitorTask

zzz's avatar
zzz committed
 * configtunnels.jsp: Allow more hops and tunnels when routerconsole.advanced=true
 * i2psnark: Fix details page on Windows
 * NetDB:
   - Add DLM fields for requesting an encrypted reply
   - Add support for encrypted DSRM and DSM in response to a DLM
   - Fix netDb.alwaysQuery debug setting so it works again, and always
     sends to that router first (move from FNDF to IterativeSearchJob)
 * PRNG: Cleanups using Collections.singletonMap()
 * Router utils: New RemovableSingletonSet
 * TransientSessionKeyManager:
   - Support variable expiration for inbound tag sets
   - Several efficiency improvements
 * VersionComparator: Add static method, use most places

2013-05-30 kytv
kytv's avatar
kytv committed
 * Update Java Service Wrapper to v3.5.19
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.
 * Allow themes to be used in IE >= 10

2013-05-29 zzz
 * Console: Remove I2PDigestAuthenticator workaround, as Jetty 7.6.11 has the fix
 * i2ptunnel: Default to 3 hops (ticket #936)
 * Jetty 7.6.11
 * Tomcat 6.0.37

zzz's avatar
zzz committed
* 2013-05-28 0.9.6 released

kytv's avatar
kytv committed
2013-05-24 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-05-08

2013-05-13 kytv
 * Misc. fixes to i2prouter script
 * German translation updates from Transifex

2013-05-13 zzz
 * i2psnark:
   - Adjust target piece size calculation
   - Tweak to make it easier for new peers to connect
 * NetDB: Increase floodfill count for good
 * UPnP: Detect devices without port forwarding capability (ticket #930)

2013-05-07 zzz
 * Streaming: Chain stored IOE to get correct location

 * Console: Fix Jetty thread pool policy and thread name
 * Transports: Clean up internal/external port confusion (ticket #873)
   - Bind SSU to configured internal, not external, port at startup
   - Use only internal ports for UPnP (getRequestedPort() fixups)
   - Don't have NTCP follow frequent SSU port changes
   - Don't use external SSU port for internal NTCP port
   - Display internal SSU port on /confignet

2013-05-01 zzz
 * BuildRequestor: Slow down build loop if we have no exploratory tunnels
                   (ticket #926)
 * IRC Server tunnel: Reject bad protocols immediately

2013-04-30 str4d
 * Console: Updates to readme_ar and a CSS tweak from hamada (ticket #489)

zzz's avatar
zzz committed
2013-04-29 zzz
 * Transports:
   - Initial prep for multiple addresses per style
   - Simplify NTCP send pool

2013-04-28 zzz
 * i2psnark:
   - Improve page nav
   - Ensure current stats and correct event delivered in announce
   - Only show lower section on first page
   - Dir page CSS tweaks
   - Parameter fixes
   - Support HTTP request ranges

2013-04-26 zzz
 * Console: Show log location on /logs even if not opened yet (ticket #905)
 * HTTP proxy: Verify nonce count in digest auth
 * i2psnark: Use smaller piece size for small torrents
 * installer: Fix DOS line endings on misc. files (ticket #872)
 * Plugins: Track pending plugin clients better, don't hold references,
            start delayed clients from SimpleTimer2 instead of Job queue (ticket #670)
 * SusiDNS:
   - Trim and sort config form data
   - Fix DOS line endings on config files in Linux (ticket #872)
kytv's avatar
kytv committed
2013-04-25 kytv
 * Portuguese, Russian, Spanish, and Swedish translation updates from Transifex

2013-04-25 str4d
 * i2ptunnel: Allow the "AUTHENTICATE" command in IRC tunnels to enable SASL
              authentication (ticket #904)

2013-04-24 zzz
 * Console, i2ptunnel: Don't register shutdown hook if ClientAppManager is present
 * JettyStart: Fixes for use by plugins
 * RouterAppManager: Add shutdown hook

2013-04-23 zzz
 * Console: Fix Jetty digest auth bug causing repeated password requests
 * i2ptunnel: Block b32.i2p supercookies

zzz's avatar
zzz committed
2013-04-21 zzz
 * AppManager: Add HTML debug output
 * Installer: Fix installations to a different drive on Windows
   (prop from i2p.i2p.zzz.winfix095; ticket #912)
 * Streaming: Pcap window size fixes

2013-04-21 str4d
 * i2ptunnel: Return "Invalid Request URI" instead of "Non-HTTP Protocol" for
              URIs with illegal characters (ticket #891)

2013-04-19 kytv
 * Installer: Run fixperms.bat under any version of Windows that's not XP or
   2003 to ensure it's run under Vista, 7, 8, and the upcoming "Blue"

zzz's avatar
zzz committed
2013-04-19 zzz
 * AppManager: Register jetty, console, and SAM with manager
 * i2psnark: Disable spellcheck in more form fields
 * LogManager: Add support for saving properties added in recent releases
 * Updates:
   - Notify manager about all available update methods at once, so the priority
     system works and it doesn't only update via HTTP
   - Start router update download at startup if available
   - Only check plugins when core version increases, not decreases, so we
     don't update plugins when downgrading
   - Limit length of URL shown on summary bar
 * WorkingDir: Correctly strip DOS line endings while migrating,
               to fix eepsite location on 0.9.5 Windows installs (ticket #919)

2013-04-18 zzz
 * i2psnark: Fix params after P-R-G
 * i2ptunnel: Set target=_top in all external links to break out of console iframe
 * SusiMail: Fix loading of Jetty classes

2013-04-17 zzz
 * Console: Better handling of missing font for graphing (ticket #915)
 * Eepsite: Fix jetty.xml configuration of ThreadPool
 * i2ptunnel: Fix default form action (ticket #882)
 * SusiDNS: Set target=_top in all external links to break out of console iframe
 * Systray: Better detection of 64-bit Windows (tickets #756, #912)

2013-04-16 zzz
 * ClientAppManager: Add method to look up clients by class and args
 * Console: Implement stopping of clients using the ClientApp interface
            (ticket #347)
 * SAM: Implement ClientApp interface (ticket #347)

2013-04-15 zzz
 * Console: Move from deprecated Jetty SSL methods to SslContextFactory
 * i2psnark:
   - Add data directory configuration to GUI (ticket #768)
   - Add page size configuration to GUI
   - Multiple instance DHT file cleanup
   - Mime type fixes
   - Remove web classes from jar

2013-04-14 zzz
 * i2psnark:
   - Set unique tunnel nickname for additional instances
   - Increase page size to 50
 * Jetty logging: Fix logging using I2PLogger class;
   log ignored messages at debug level

2013-04-13 zzz
 * Console: Add /graph support for bw.combined, consolidate
            rendering code (ticket #890)
 * i2psnark:
   - Limit number of torrents displayed; add previous/next page buttons
   - Only register one instance with UpdateManager

zzz's avatar
zzz committed
2013-04-10 zzz
 * Jetty: Upgrade to Jetty 7.6.10.v20130312
    - Jetty build.xml improvements
    - MigrateJetty improvements
    - Lots of changes in RouterConsoleRunner and WebApp classes
    - Lots of eepsite config file changes
    - Changes to I2PLogger and I2PRequestLog
    - Use JettyStart class to start Jetty from clients.config
 * i2psnark: Eliminate Jetty dependencies in i2psnark for good.
    Required due to webapp classloader changes in Jetty 7,
    we can no longer access or extend Jetty classes.
    - Extend javax HttpServlet instead of Jetty's DefaultServlet
    - Implement BasicServlet to replace functions of DefaultServlet
    - Add MimeTypes implementation to add to servlet's defaults
    - Add local mime.properties file, remove checks in I2PSnarkServlet for those
      we were missing
    - Eliminate all use of Jetty utility classes including MimeType, Resource,
      Buffer, Cache, URIUtil, ...
    - Use servlet path everywhere, so the war can be renamed
    - Use servlet path as base for config file and data directory names,
      so we may have multiple instances running together
    - Don't override service(), use doGet() and doPost() instead
 * I2NP: Ignore unused 7 bits of the Database Lookup Message,
   so we can use them later

zzz's avatar
zzz committed
* 2013-03-08 0.9.5 released

2013-03-03 zzz
 * graphs.jsp: Fix saving settings (ticket #857)

2013-03-03 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-02-19

2013-02-22 kytv
 * French, German, Norwegian, and Portuguese translation updates from
   transifex.

2013-02-13 kytv
 * Flag for Curaçao (CW), public domain

2013-02-12 zzz
 * NetDB: Randomize delay before floodfill store verify

zzz's avatar
zzz committed
2013-02-10 zzz
 * Logs: Again fix setting log filename (ticket #805)
 * Update: Bump torrent update to 3% of routers
 * Wrapper: Update ARMv6 Java Service Wrapper to v3.5.17 (ticket #826).

2013-02-09 zzz
zzz's avatar
zzz committed
 * NetDB:
   - Encrypt DatabaseLookup messages out exploratory tunnels
     when we already have the RI of the ff
   - Don't use multiple routers from the same /16 in lookups or stores

zzz's avatar
zzz committed
 * German, Polish, Portuguese, Spanish, and Swedish translation updates
   from Transifex
2013-02-04 str4d
 * i2ptunnel:
   - IP -> domain name mapping in SOCKS client tunnel:
     - Change SOCKS5 addressType on a successful mapping
     - Allow any domain name to be mapped, not just .i2p

kytv's avatar
kytv committed
2013-01-31 kytv
zzz's avatar
zzz committed
 * Add Norwegian Bokmål language to the router console
 * Add Bokmål translations from Transifex
kytv's avatar
kytv committed

zzz's avatar
zzz committed
2013-01-31 zzz
 * EepGet:
   - Fix URL when not proxied to conform to RFC 2616
   - Add port to Host header to conform to RFC 2616

zzz's avatar
zzz committed
 * Console: Catch IllegalStateException storing nonces (tickets #836, #852, #858)
 * Translations:
   - Use JVM language name if available
   - Correct Estonian language code from ee to et

zzz's avatar
zzz committed
2013-01-27 zzz
 * BuildHandler:
   - Add early throttler based on previous hop
   - Limit concurrent next-hop lookups
 * NetDB: Increase floodfills again
 * RandomSource: Seed from SecureRandom too

str4d's avatar
str4d committed
2013-01-23 str4d
 * i2ptunnel: Added IP -> I2P URL mapping to SOCKS client tunnel
   (via custom option ipmapping.IP=URL)

2013-01-21 str4d
 * Console:
   - Added option to /configui to force the mobile console to be used
     (for cases where the UserAgent matching fails)
str4d's avatar
str4d committed
   - Added Opera Mobile to list of mobile UserAgents
   - Added a link to the summary bar for mobile users on /home
str4d's avatar
str4d committed
2013-01-19 str4d
 * Console:
   - Added proper support for mobile browsers with a CSS override file
     for each theme
   - Tweaked UserAgent detection so Android tablets get normal console

kytv's avatar
kytv committed
2013-01-17 kytv
* Hungrarian, Italian, Portuguese, Russian, and Swedish translation updates
  from Transifex

2013-01-12 zzz
 * EepGet: Don't retry if proxy isn't there
 * I2CP: Failsafe check for delivery job requeueing forever (ticket #819)
 * jobs.jsp: Add table of pending jobs
 * NetDB: Split up files into subdirectories
 * SAM: Force i2cp.messageReliability=None (ticket #819)

2013-01-02 zzz
 * DataHelper: new getASCII() method
 * DataStructures:
   - Convert SessionTag.hashCode() to SipHash to prevent collision attacks
   - Improve equals()
 * I2CP:
   - Remove unused equals() methods for message classes
   - Remove static logs
   - Fix leak if nonce = 0 but reliability != none (ticket #819)
   - More work on failure codes (ticket #788)
 * Logs: Fix setting log filename (ticket #805)
 * SAM: Synchronize dissector
 * Transport: Fix early NPE (ticket #824)

2013-01-01 kytv
 * Update Java Service Wrapper to v3.5.17 (ticket #826).
    - 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.
kytv's avatar
kytv committed
    - Linux x86, Linux x64, Linux ARMv5, Linux-PPC32, MacOSX & Solaris: Binaries
      are from the "community edition" deltapack offered by Tanuki. The Linux
      binaries have been stripped.

2012-12-29 zzz
 * i2psnark: Redirect after post
 * Javadocs: Fix javax links
 * Tunnels: Handle duplicate tunnel IDs (ticket #812)

zzz's avatar
zzz committed
2012-12-26 zzz
 * I2CP:
   - Prep for delivery of detailed failure codes to the client (ticket #788)
   - Minor optimizations and cleanups
 * i2psnark: Create torrent form tweaks
 * NetDB: Split routerInfo files into subdirectories, disabled for now,
   enable with router.networkDatabase.flat=false
 * Stats: Clean up some duplicate createRateStat calls (ticket #787 comment 2)
 * Tunnels: Catch rare BuildExecutor IAE only in Java 7 (ticket #811)

zzz's avatar
zzz committed
 * Javadocs: Fix javadoc errors in the cybergarage package. Upstream bug #3598391 has been
   filed for this issue.  If these javadoc fixes need to be reverted in the future,
   MTN rev 5bdb7fc27e35f174001bd6105a502fd5094842e5 covers it.
zzz's avatar
zzz committed
2012-12-22 zzz
zzz's avatar
zzz committed
 * i2psnark: Add announce list support (BEP 12) (ticket #778)
 * i2ptunnel: Add more tunnel quantity options for servers
 * Jetty: Update to Apache Tomcat 6.0.36
zzz's avatar
zzz committed

zzz's avatar
zzz committed
 * French language translation update from Transifex
2012-12-19 zzz
 * Update: Hide the update buttons when router.updateDisabled=true, as is the case
zzz's avatar
zzz committed
   for Debian packages. Broken in 0.9.4. (Ticket #817)
zzz's avatar
zzz committed
* 2012-12-17 0.9.4 released

zzz's avatar
zzz committed
 * German and Swedish translation updates from Transifex
 * Update geoip.txt based on Maxmind GeoLite Country database from 2012-12-04
zzz's avatar
zzz committed
2012-12-11 zzz
 * Wrapper: Use Tanuki's binary for armv7

2012-12-08 zzz
 * susimail: Button CSS tweak

2012-12-07 zzz
 * RouterClock: Reduce log level (ticket #790)

2012-12-05 zzz
 * GarlicMessage: Fix notes and log in GarlicMessageHandler and HandleGarlicMessageJob,
   they are used for netdb messages received by floodfills http://zzz.i2p/topics/1282
 * I2CP: Fix external I2CP apps, including i2ping, caused by 0 nonce value,
   broken in 0.9.2 (tickets #799, #801). Allow nonces == 0.
 * Reseed: Don't go on to the next host if we have enough http://zzz.i2p/topics/1287
 * SSU: Fix rare NPE (ticket #798)

 * Chinese, French, Italian, Polish, and Ukrainian translation updates from
   Transifex.
2012-11-24 zzz
 * Addressbook: Disable unused wakeup via http
 * Codel: Make stats non-required (ticket #786)
 * Profiles: Small optimization in coalesceOnly() (ticket #765)

2012-11-21 zzz
 * Wrapper: Add armv6 files for Raspberry Pi

kytv's avatar
kytv committed
2012-11-21 kytv
 * Update Java Service Wrapper to v3.5.16.
    - 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 PPC32: Self-compiled in Debian Squeeze
    - Linux x86, Linux x64, Linux ARMv5, MacOSX & Solaris: Binares are from the
      "community edition" deltapack offered by Tanuki. The Linux binaries have
      been stripped.

2012-11-20 zzz
 * Transport: Fix bug that inadvertently reduced default max
   SSU connections in 0.9.2, thus reducing tunnel build success rates

kytv's avatar
kytv committed
2012-11-19 kytv
 * Add support for kFreeBSD to NBI and CPUID
 * Improve kFreeBSD support in jcupid/jbigi scripts

2012-11-19 zzz
 * BuildHandler: Disable CoDel, wasn't helping
 * NetDB: Add negative lookup cache
 * Profiles: Split up files into subdirectories

2012-11-17 zzz
 * error500.jsp: Add servlet version
 * i2psnark: Clear PEX peers set after use, cause of bad peer counts
 * Tunnels: Set default priorities for tunnels (ticket #719)

zzz's avatar
zzz committed
2012-11-16 zzz
 * i2psnark: Fix rare IOOBE (ticket #777)
 * NetDB:
   - Implement automatic reseeding (ticket #521)
   - Increase minimum routers
   - Log reseeds in event log
zzz's avatar
zzz committed
 * Tunnels: Fix outbound tunnel message priority (ticket #719)

2012-11-13 zzz
 * Bandwidth Limiter: Fix stats broken in -1
 * HTTP Proxy: Store referrer of new addresses in address book
 * NTCP:
   - Fix NPE (ticket #770)
   - Use ByteCache for buffers
 * SOCKS: Reduce log level of connect errors
 * SSU: Fix bug that would drop 512 byte messages
 * stats.jsp: Link to graph page, not single image

 * eepget: Add logic to figure out the path to java.exe (java isn't always added to the system path
   in Windows) (ticket #769)
2012-11-05 zzz
 * Console:
   - Fix NPE after restart (ticket #763)
   - Move more nonces out of system properties
 * i2psnark:
   - More DHT limits
   - Announce to backup trackers if DHT is empty
   - Use PEX and DHT info in torrent peer count
   - Don't use temp files for announces
 * PeerManager: Don't reorganize as often if it takes too long (ticket #765)
 * RequestLeaseSetJob: Only disconnect client after multiple dropped
   lease set requests; reduce timeout, other cleanups
 * Unsigned Update: Fix notification on failure

 * German, Portuguese, and Swedish translation updates from Transifex
 * Refreshed English po files to push to TX.
zzz's avatar
zzz committed
2012-11-02 zzz
 * configstats: Fix group sorting, translate groups
 * I2CP:
   - Better fix for logging dropped messages (ticket #758)
   - Implement fast receive to reduce per-message handshakes
   - Make messageReliability=none the default
 * i2psnark:
   - Split buckets correctly
   - More exploration fixes
 * i2ptunnel:
   - Better privkey backup file name
   - Revert increment of privkey tunnel name
   - Move deleted privkeys to backup dir
   - Fix jsp build dependencies
   - Fix layout issue on Chrome (ticket #757)
 * KeyManager: Eliminate races, buffer I/O, eliminate periodic syncing

2012-10-31 zzz
 * FIFOBandwidthRefiller: Reduce refill interval to smooth output
 * I2CP: Reduce log level when outbound queue is full (ticket #758)
 * i2ptunnel: Fix NPE in zzzot plugin
 * PriBlockingQueue: Enforce max size
 * Streaming: New disableRejectLogging option (default false), enable for snark

zzz's avatar
zzz committed
2012-10-30 zzz
 * i2psnark:
   - Add kbucket debugging
   - Eliminate redundant explore keys
   - Add more limits to DHT tracker
   - Delay expiration at startup
   - Only enable updates for dev builds and 1% of release builds
 * i2ptunnel:
   - Create backup privkey files (ticket #752)
   - Fix NPE in Android startup
 * Installer: Drop news.xml and old certs
 * logs.jsp:
   - Don't display dup message if last
   - Spacing tweaks
 * OutNetMessage: Properly clean up when dropped by codel (but unused for now
   since codel is disabled for ONM)
 * SSU:
   - Adjust RTT/RTO calculations
   - Better bandwidth tracking
   - Cleanup of OutboundMessageState
   - Stat tweaks
 * StatisticsManager: Publish stats less often
 * Transports: Increase min peer port to 1024
 * Tunnels: Implement per-client outbound tunnel message priority (ticket #719)
 * Update Manager: Warn on dup registration

sponge's avatar
sponge committed
2012-10-30 sponge
 * cleanups as requested

zzz's avatar
zzz committed
2012-10-28 zzz
 * Addresses:
   - Add methods for connectivity detection
   - Remove Hamachi restriction
 * Banlist: renamed
 * Clients: New interface for clients started via clients.config, and a new
   manager to track the lifecycle and start/stop clients on demand.
   (ticket #347)
 * Console:
   - Add console password form to configui.jsp
   - Consolidate all the jsp formhandler boilerplate in the new formhandler.jsi
   - Store form handler nonces in the servlet session instead of system properties,
     to prevent cross-session interference
   - Bypass nonces if console password enabled
   - Remove ports from port mapper on shutdown, other changes to
     track actual ports better (ticket #731)
   - Prep for RouterApp interface by storing context in a field,
     shuffle around what's static and what's not (ticket #347)
   - Convert to RouterApp interface
   - Convert from basic to digest authentication (ticket #652)
zzz's avatar
zzz committed
   - Use new password manager (ticket #731)
 * Core: New password manager for storing passwords in router.config
   in consistent ways, including salting and hashing if possible.
   (ticket #731)
 * i2ptunnel:
   - Convert HTTP and CONNECT proxies from basic to digest authentication
   - Bypass nonces if console password enabled
   - Convert to ClientApp interface
   - Synchronization improvements
 * Streaming: Add pcap debug facility, from i2p.i2p.zzz.pcap
 * Transport:
   - Add a simple network monitor
   - Add new reachability state for network disconnected
   - Prevent any tunnel building when disconnected (ticket #519)
   - Don't unleash watchdog when disconnected
   - Split up NTCPConnection's single _bwRequests Set into inbound and outbound,
     make FIFOBandwithLimiter.Request unidirectional (ticket #719)
 * Update: Major redesign of the update facilities:
   - Generic interfaces for updating and checking things
   - Allow checkers and updaters outside router context
   - Hide update buttons after downloading update (ticket #484)
   - Add update-via-i2psnark facility
   - Don't hold references to updaters after completion

zzz's avatar
zzz committed
* 2012-10-27 0.9.3 released

2012-10-25 zzz
 * BuildHandler: Fix "too slow" rejections due to internal clock skew

zzz's avatar
zzz committed
2012-10-24 zzz
 * I2PSnark:
   - Fix several partial piece (temp file) leaks
   - Don't lose all DHT peers if we stop quickly	
   - Explore a kbucket if it's less than 3/4 full

2012-10-24 str4d
 * i2ptunnel: Truncate long client destinations (ticket #581)

2012-10-21 zzz
 * Watchdog: Don't dump threads too often (ticket #519)

2012-10-20 zzz
 * Transport: Back out CoDel for SSU PeerState and NTCP

2012-10-19 zzz
 * UDP: Fix peer test NPE (ticket # 748)

2012-10-18 kytv
* Portuguese and Spanish updates from Transifex
kytv's avatar
kytv committed
 * Update geoip.txt based on Maxmind GeoLite Country database from 2012-10-02
2012-10-15 kytv
* Italian and Swedish updates from Transifex

2012-10-14 zzz
 * Console: Use non-nio connector for Java 5 and JamVM/gij
            (tickets #715 and #743)
 * i2psnark: Fix request tracking bug preventing piece requests

2012-10-11 kytv
* Italian translation updates from Transifex
* i2prouter:
  - Support for installing as a daemon with systemd on Arch Linux and Suse
  - Support installing as a daemon on Slackware

2012-10-10 zzz
 * ShellCommand: Fix launching all browsers at startup (ticket #453)
 * stats.jsp: Sort groups by translated name

zzz's avatar
zzz committed
2012-10-09 zzz
 * Console, i2ptunnel: Warn on low ports
 * EventLog: Add more events
zzz's avatar
zzz committed
 * NetDB: Increase floodfills again
 * RouterInfo: Exit 1 on error in main()
 * SSU:
   - Add peer test throttling
   - Peer test packet count fixes
   - Adjust peer test timeouts and add backoff
   - Reject relays and peer tests from same /16
   - More peer test cleanup and log tweaks
 * Transports:
   - Enforce minimum peer port
   - Warn on low router ports

zzz's avatar
zzz committed
2012-10-08 zzz
 * SSU:
   - Fix relay request handling bug from -10
   - Fix peer test reply handling bug from -10
   - Fix NPE from -6

zzz's avatar
zzz committed
2012-10-07 zzz
 * I2PAppContext: Improved synching in constructor
 * i2ptunnel:
   - Set default read timeout in standard server
   - Reduce header timeout, enforce total header timeout
     in IRC and HTTP servers (ticket #723)
 * Logs:
   - Flush buffers in logs.jsp
   - Add dup message to buffers, was in file only
 * Streaming: Don't ignore option or force connect timeout to 5 minutes
 * UPnP: Workaround NPE (ticket #728)

zzz's avatar
zzz committed
2012-10-06 zzz
 * configlogging.jsp: Fix IAE
 * error500.jsp: Fix whitespace
 * i2psnark:
zzz's avatar
zzz committed
   - Add allocating and checking indications (ticket #695)
zzz's avatar
zzz committed
   - Add bandwidth message at startup
   - More checks at torrent creation
 * SSU:
   - Throttle outbound destroys on shutdown
   - Limit outbound introduction offers
   - Validate port/IP in received peer tests
zzz's avatar
zzz committed

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
Loading
Loading full blame...