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

Skip to content
Snippets Groups Projects
history.txt 645 KiB
Newer Older
     at least one OB tunnel, so the client waits until we are ready.
   - Fixes to prevent multiple pending LS requests
   - Move client-side implementation classes to
     new package net.i2p.client.impl, leaving only the
     factories and interfaces in net.i2p.client
 * Update: Add language param to news fetch for translated news (ticket #1425)

zzz's avatar
zzz committed
2015-06-17 zzz
Prop from i2p.i2p.zzz.multisess:
 * Router, I2CP, Streaming, i2ptunnel:
   - Multisession support and multiple destinations in one tunnel pool
   - Connections to Hardcoded blacklist of destinations that do not
     support ECDSA will use the DSA session
   - Change shared clients to ECDSA by default, with a DSA subsession
   - Add support for 'aliased' local destinations that use the same tunnel pools
   - No UI or config support, no server support, may be added later
   - Catch uncaught exceptions in ClientConnectionRunner and stop connection
   - When socket is closed, set sessionID and LS to null,
     close subsession and set its sessionID and LS to null
   - Checks on client side for null session ID
   - Check for null session in Destroy Session message
zzz's avatar
zzz committed

2015-06-13 zzz
 * i2psnark: Fix NPE (ticket #1602)
 * NetDB:
   - Improve routing of DatabaseStoreMessage acks
   - Send our own RI unsolicited in reply if we aren't floodfill
   - Don't ack or flood a store of an unknown type
   - Don't say we stored, and don't flood if we're shutting down
 * PeerTestJob: Don't generate zero reply token
zzz's avatar
zzz committed
 * Timestamper: Reduce NTP timeouts to shorten startup time
   when NTP is blocked
 * Tunnels: More checks of messages received down exploratory tunnels

dg2-new's avatar
dg2-new committed
2015-06-08 dg
 * Language fixes
 * Make netDb.storeFloodNew graphable for testing (#1195)
 * Directly connect to nearby floodfills to share our RI
   to speed up integration of new floodfills (#1195)
dg2-new's avatar
dg2-new committed
 * Silence Irc{Inbound,Outbound}Filter warnings about 'no streams'
   when we can't connect to an IRC server. Change to WARN.
dg2-new's avatar
dg2-new committed

2015-06-07 zzz
 * Logs: Correct wrapper.config location when running as a service
 * NetDB: Fix early NPE
 * SSU: Possible fix for NPE in establisher

2015-06-06 zzz
 * Console: Add indication of current ff status on /configadvanced,
   change immediately when config changes, force republish

2015-06-06 str4d
 * newsxml: Don't use XXX for parsing dates on Android

2015-06-04 str4d
 * i2ptunnel:
   - Don't connect manager to router in constructor (ticket #815)
   - Don't call startup() in chained constructor (ticket #1593)
zzz's avatar
zzz committed
2015-06-03 zzz
Prop from i2p.i2p.zzz.sam:
 * I2CP: Set keepalive on sockets (ticket #1573)
 * SAM:
   - Close sockets and stop tunnels when router-side SAM stops (ticket #1572)
   - Better checks for quoting status message strings (ticket #1488)
   - Set encoding for sam.keys file
   - Don't throw NPE on rare stream errors
   - Comment out unused dumpProperties()
   - Cleanups, log tweaks, thread name tweaks
   - Set keepalive on sockets (ticket #1573)
Prop from i2p.i2p.zzz.test2:
 * Console:
   -  Don't allow unbanning of all-zero hash
   -  Nicer "move" icons on /configsidebar, add tooltips
   -  Prevent bad line-wrap of very long menu items
 * HTTP Client: Greatly simplify decompression by using InflaterOutputStream
 * I2CP: Prevent sending messages before handshake with router is complete
 * i2psnark:
   - Add support for fast extensions (BEP 6)
   - Don't say 'download finished' unless we downloaded something
   - Don't lose sort param when hiding peers
 * i2ptunnel: Strip top-level supercookies too
 * LogWriter: Write dup message to wrapper log and crit buf also (ticket #1585)
 * Reseed: Only log reseed network disconnected warning once
 * Router: Add gzip and translate caches to clearCaches()
 * Susidns, addressbook: Don't attempt to fetch subscriptions if
   HTTP proxy is down (ticket #1530)
 * SSU: More synchronization in PeerState
 * Stats: Reduce number of rates in required stats to save memory
 * UPnP: Only log network disconnected warning once

zzz's avatar
zzz committed
* 2015-06-02 0.9.20 released

2015-05-31 zzz
 * Fortuna: Catch AIOOBE (ticket #1576)

2015-05-30 zzz
 * i2ptunnel: Fix +/- variance config (ticket #1587)

2015-05-29 zzz
 * HTTP client: Fix occasional truncation of compressed responses

2015-05-27 zzz
 * Banlist: Ban all-zero hash
 * DataHelper: Add year output to formatDuration()
 * Graphs: prevent NaNs if we are skewed ahead of system time
 * NetDb: Drop all-zero lookups and stores, add stats
 * SSU:
   - Fix debug logging of dumped packets
   - Drop sessions with bad clock skew, banlist peer, add stats
   - Drop sessions with corrupt DSM, banlist peer, add stats

2015-05-23 zzz
 * I2CP: Add an INIT state for session, so a newly created session
   isn't treated as CLOSED and immediately replaced by i2ptunnel,
   which caused dup shared clients in a race at startup
   (possible related tickets #642, #650, #815, #1545)

2015-05-21 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-05-06.
 * Translation updates

2015-05-13 zzz
 * Console: Fix URLs caught in XSS filter on /confighome (ticket #1569)
 * i2psnark: Fix deletion of single-file torrent outside snark dir (ticket #1544)
 * NTCP: Catch race in Reader (ticket #1534)

2015-02-12 dg
 * Job Queue/stats: add stat/graph for amount of scheduled jobs (router.tunnelBacklog)
 * FloodfillMonitorJob:
   - Use avg of router.tunnelBacklog instead of current backlog
 * Some language/spelling fixes

2015-05-11 zzz
 * Util: Fix corruption of cached ReusableGZIPInputStreams

 * i2ptunnel: Improve error handling in UDP tunnels
 * Plugins: Add support for custom icons (ticket #1550)

2015-05-08 zzz
 * Reseed: Don't reseed while shutting down (ticket #1565)

 * SAM: Close datagram or raw session when underlying
   I2P session closes (tickets #1455, #1563)
 * Update: Add support for su3-signed development builds (ticket #1381)

2015-05-06 zzz
 * Datagram: Convert IOE to DFE and throw on error (ticket #1562)
 * Naming services: Export address books with Windows
   line endings on Windows (ticket #1557)
 * Transport: Add config to force IPv4 (only) to firewalled (ticket #1541)

2015-05-04 zzz
 * i2ptunnel:
   - Close input stream when HTTP client decompressor
     terminates (ticket #1506)
   - Add Connection: close headers to errors and proxy.i2p responses
     where it was missing (ticket #1531)

zzz's avatar
zzz committed
2015-05-03 zzz
 * Console: Add floodfill configuration form to /configadvanced
 * Router: Allow class M to become floodfill;
   add bandwidth classes P and X (ticket #1447)
zzz's avatar
zzz committed
 * SusiDNS: Add export button

2015-05-02 zzz
 * Console: Fix Indonesian translations
 * Jetty 8.1.17.v20150415
 * Transports: Cleanup of ticket #1458 fixes

zzz's avatar
zzz committed
2015-04-30 zzz
zzz's avatar
zzz committed
 * Transports: Correctly handle IPv4 firewalled, IPv6 not (ticket #1458)
zzz's avatar
zzz committed

2015-04-29 zzz
 * Clock: Make forward slewing work better
zzz's avatar
zzz committed
 * I2CP: Periodically send a SetDate message to external clients
 * Transports:
   - Fix clock skew calculations
   - Track IPv4/v6 reachability separately (ticket #1458)

2015-04-28 zzz
 * JobQueueRunner: Don't call System.exit() on OOM,
   let the shutdown progress normally;
   Make it an I2PThread instead of a Runner so we can
   call fireOOM() for consistent logging (ticket #1549)
 * Router: Don't add OOM listener on Android so
   we don't hang onto the context

2015-04-27 zzz
 * NamingService: Add export methods
 * SusiDNS: Add export support, no UI yet
 * Transports:
   - Convert internal state to enums, prep for tracking
     IPv4/v6 reachability separately (ticket #1458)
   - Don't set TCP keepalive for IPv6

2015-04-26 zzz
 * i2ptunnel: Reduce sleep time in runners to reduce latency

zzz's avatar
zzz committed
2015-04-25 zzz
 * I2PSSLSocketFactory: Add hostname verification
 * SSLEepGet:
   - Rework recent setSoTimeout code changes, as they broke SNI
   - Add option to save certs even if no errors
   - Add option to disable hostname verification

zzz's avatar
zzz committed
 * Util: Catch and convert OOM in I2PThread.start()
 * i2ptunnel:
   - Fix Socks and SocksIRC tunnels not starting
   - Fix shutdown of client tunnels on server socket errors,
 * Updates: Fail fast if HTTP proxy is not running (ticket #1530)

2015-04-23 zzz
 * Streaming:
   - Reduce min RTO for quicker recovery after packet loss
   - Reduce default initial ack delay
   - More efficient checking for input buffer overflow

2015-04-22 zzz
 * i2psnark: Fix deletion of config files, cleanup old ones (ticket #1498)
 * I2PSocketEepGet: Fix i2psnark NPE caused by -6 (ticket #1543)
 * NTCP: Reduce min send finisher threads to 1
 * PortMapper: Status output for /debug

2015-04-21 zzz
 * i2ptunnel: Log uncaught errors in thread pool
 * Reseed: Disable non-su3 reseeding
 * Router timestamper:
   - Add country-to-continent mapping
   - Add continent zones as fallback
   - Don't start threads in constructors
 * Transports: Reduce idle timeouts

2015-04-20 zzz
 * Blockfile: Unroll recursive initialization
 * EepGet: Set soTimeout for non-proxied fetches to enforce
   header timeout and prevent long reseed hangs
 * Reseed:
   - Honor SSL/non-SSL setting when custom reseed list is set (ticket #1136)
   - Remove all default HTTP URLs (ticket #1514)

zzz's avatar
zzz committed
2015-04-17 zzz
Prop from i2p.i2p.zzz.test2:
 * Console: Set session cookies to HttpOnly
 * i2psnark: Remove extra mime types in i2psnark web.xml;
   added to Jetty's default by now, or in our mime.properties file
 * i2ptunnel:
   - Send HTTP server port 443 traffic to the server
     transparently, to support HTTPS over the same tunnel, if so configured
   - Add check for total header size in HTTP server
   - Return specific error pages to client on errors
     in HTTP header processing in the HTTP server (ticket #1507)
 * Jetty:
   -  Add extensive help to jetty-ssl.xml
   -  Set session cookies to HttpOnly in all webapps
 * JobQueue: Make number of runners configurable
 * Router: Move update extraction code to new class in tasks/
 * Tunnels:
   - Add bloom filter warning if high bandwidth but low memory
   - Add new Bloom filter size, increase bandwidth limit (ticket #1505)
   - Add config to disable Bloom filter for testing

2015-04-16 zzz
 * I2CP: Run DistributeLocal jobs inline (ticket #1506)
 * i2psnark: Increase max tunnels to 10
zzz's avatar
zzz committed
 * i2ptunnel: Don't start tunnels in constructors (ticket #815)
 * NetDB: Reduce max search depth
 * Transport: Fix active peer count for NTCP

 * SimpleScheduler: Deprecated, functionality moved to SimpleTimer2 (ticket #1069)
zzz's avatar
zzz committed

2015-04-13 zzz
 * Router: Fix NPE on bad share bandwidth config (ticket #1524)
 * Streaming: Handle reset packets without a FROM field, validate
              signature using connection's destination
 * Update: Don't log an error for the "dummy" updater (ticket #1525)
zzz's avatar
zzz committed
* 2015-04-12 0.9.19 released

zzz's avatar
zzz committed
2015-04-11 zzz
 * Updates after review

2015-04-09 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-04-07.
 * Translation updates

2015-04-05 zzz
 * IRC Server: Better timeout handling reading initial lines (ticket #723)

zzz's avatar
zzz committed
2015-04-04 zzz
 * i2ptunnel:
   - Better timeout handling when reading headers in HTTP server (ticket #723)
   - Fix NoSuchElementException processing proxyList caused by 03-31 checkin
 * Streaming:
   - Fix read timeout on input stream (ticket #723)
   - Fix read() returning 0 instead of -1 on read timeout (ticket #335)

2015-04-03 zzz
 * i2ptunnel: Fix stopping tunnel on bad args when starting
 * wrapper.config: Remove old mortbay Jetty parameters

2015-04-01 zzz
 * I2CP: Allow larger client clock skew (ticket #1503)
 * i2psnark: Fix changing data directory on Windows (ticket #1503)

 * API: Fix some client-side APIs to honor defaults in Properties;
   add javadocs to specify where we do and don't (ticket #1491)
 * i2ptunnel: Fix multiple SSL outproxies in HTTP client

2015-03-29 zzz
 * I2CP: Prevent NPE (ticket #1503)

2015-03-25 zzz
 * i2ptunnel HTTP client: Replace all getBytes() calls
   with a Writer or getBytes("UTF-8") (ticket #457)

2015-03-24 zzz
 * Streaming: Throw I2PSocketException when connection is reset,
   display new error page in HTTP client (ticket #643)

2015-03-23 zzz
 * Javadoc: Add missing package.html files (ticket #1109)
 * Summary bar: linkify news headings, remove 'show news' link

2015-03-22 zzz
 * Console: Better status feedback on manual reseed from URL
 * NetDB: Don't become floodfill w/o ECDSA support
 * Reseed: Better status feedback and cleanup in summary bar

2015-03-21 zzz
 * Console: Support plugin installation from local file

zzz's avatar
zzz committed
2015-03-20 zzz
 * Reseed:
  - Move multipart form support from susimail to jetty-i2p.jar
    so console can use it
  - Finish manual reseed from local file

zzz's avatar
zzz committed
2015-03-19 zzz
 * Reseed (ticket #1369):
zzz's avatar
zzz committed
  - Add form to manually reseed from zip or su3 URL
  - Add form to manually reseed from local zip or su3 file
  - Add form to create reseed zip file to share
  - Backend support and refactoring in reseed code

zzz's avatar
zzz committed
2015-03-18 zzz
 * NetDB:
  - Send exploratory lookups directly to the floodfill if
    we are already connected to him
  - Don't encrypt RI lookups when overloaded
  - Don't explore when overloaded
zzz's avatar
zzz committed
  - Don't publish non-ff RI on exit if we are coming right back
 * Router: Allow disabling the setting of some System properties, for embedded applications
 * StatisticsManager: Publish dummy LS count if we just started
 * Streaming: Reduce min RTO again
zzz's avatar
zzz committed
 * Tunnels: Drop instead of reject requests on high job lag
 * UPnP: Update to cyberlink 3.0

2015-03-16 zzz
zzz's avatar
zzz committed
 * Apache Tomcat 6.0.43
 * NetDB: Send RI lookups directly to the floodfill if
   we are already connected to him
 * Router:
   - Republish RI early if capabilities change
   - Increase exploratory tunnel quantity if floodfill
 * Throttle: Reject tunnels based on job lag

zzz's avatar
zzz committed
2015-03-15 zzz
 * Job Queue:
   - Fix overload dropping
   - Add drop count to job stats
   - Decrease overload threshold again
 * NetDb: Track flood success
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2015-03-13 zzz
 * i2psnark:
   - Auto-reduce tunnel quantity based on peer count
   - Increase max tunnels
 * Job Queue:
   - Drop garlic message decryption jobs on overload
   - Decrease overload threshold

2015-03-13 dg
 * Router: create router.integratedPeers (floodfills) stat, and 
   allow graphing of it.

2015-03-08 zzz
 * i2psnark: Increase min and default bandwidth
 * Throttle: Tweak messages during probabalistic rejection
 * Transport: Add missing bogons to IP validity check

zzz's avatar
zzz committed
* 2015-02-22 0.9.18 released

2015-02-18 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
kytv's avatar
kytv committed
   database from 2015-02-04.
dg2-new's avatar
dg2-new committed
2015-02-15 dg
 * FloodfillMonitorJob: 
   - Use lifetime average value for job lag
   - Change the job lag limit to less than 25ms
   - Consider and set the limit of backlogged tunnels to less than 5

2015-02-10 dg
 * I2PSnark, Jetty, SAM, crypto: findbugs resource leaks.

2015-02-07 zzz
 * SSU: Limit range for valid clock skew
 * Transport: Ban routers if they are too old and we are non-DSA

2015-02-06 zzz
 * NetDB: Reduce max job lag for floodfill
 * NTCP: Block IP for a while when incoming connection is dropped before
   receiving a message. Possible workaround for tickets #551, #1075, #1411.
 * Transport:
   - Decrease DH refiller initial delay and increase buffer size
     to reduce chance of running out on high-bandwidth routers
   - Add event log for reachability change

2015-02-01 zzz
 * Crypto: Catch IAE in generateCertificate()
 * NetDB: Don't flood an RI back to itself. While Java ffs self-flood,
   other implementations may not.
 * OCMOSJ: Pick a OB tunnel at random, not with the OBEP closest
   to the lease, as that may be hurting connection reliability.
 * Router: Call warmupCrypto() earlier in the initialization

zzz's avatar
zzz committed
2015-01-31 zzz
 * Console:
   - Don't display invalid IPv6 addresses as options on /confignet
   - Disable changing log path
 * NetDb:
   - Encrypt lookups for 32-bit x86 also
   - Disable floodfill in laptop mode
 * PRNG: Don't hang forever at startup waiting for SecureRandom init
zzz's avatar
zzz committed
 * Transport: Set 4 MBps max bw due to bloom filter

2015-01-30 zzz
 * HTTP Proxy: More error page changes
 * NTCP: Throttle event pumper if looping too fast (tickets #551, #1075, #1411)

zzz's avatar
zzz committed
 * SSU:
   - Fix replaceExternalAddress churn when firewalled
   - Sort introducers in router address, so we won't force a republish
     due to a different ordering of the same introducers
   - Don't publish an address if we need introducers but don't have any,
     so the user won't see a 'firewalled with inbound NTCP enabled' message
   - Fix transition from firewalled to non-firewalled
zzz's avatar
zzz committed
2015-01-28 zzz
 * UPnP:
  - Rescan for devices periodically and when reachability changes (tickets #661, #959)
  - Callback when device removed
  - Consolidate callbacks
  - Clear ignored devices after primary device removed
    to allow one to be promoted on rescan
zzz's avatar
zzz committed
  - Don't put "I2P" in registered protocol name
  - Add uptime to UPnP info
  - HTML escaping
  - Remove static log on Android

2015-01-11 zzz
 * i2psnark: Skip incompatible welterde tracker if we are ECDSA
 * I2PTunnel: Add option for multihoming optimization

2015-01-10 zzz
 * NetDB: Stubs for bandwidth estimation during reseed (ticket #935)

2015-01-09 zzz
 * NetDB: Publish RI faster when costs change (ticket #1437)

2015-01-08 zzz
 * Console, i2ptunnel, proxy: Renaming of various things to "hidden services"

2015-01-07 zzz
 * ClientAppConfig: Start i2ptunnel sooner (ticket #1162)
 * NetDB: Possible fixes for reseed completion not recognized (ticket #1384)
 * Router:
   - Add startup/shutdown state machine
   - Don't reset uptime after a soft restart
 * Startup: Accept tunnels after 10 minutes instead of 20 (ticket #1152)
 * Tunnels:
   - Cleanup, catch more cases of zero-hop configuration
   - Temporarily increase exploratory tunnel quantity at startup,
     so that netdb refresh will work better
zzz's avatar
zzz committed
2015-01-05 zzz
 * Blocklist:
   - Rewrite to read and merge multiple files
   - Include in update, use version in base dir too
   - Increase limits
   - Bug fixes
zzz's avatar
zzz committed
 * EepGet: Change command line default to 0 retries
zzz's avatar
zzz committed
 * Latency reduction all over:
   - SSU: Reduce ack delay
   - Streaming: Reduce min RTO and flusher delay
   - Tunnels: Reduce GW batching time
zzz's avatar
zzz committed
 * Streaming:
   - Add API for sending/receiving payload in ping/pong
   - Fix PcapWriter
zzz's avatar
zzz committed
 * UrlLauncher:
   - Configure browser with routerconsole.browser (ticket #1159)
   - Convert to ClientApp interface

zzz's avatar
zzz committed
2015-01-03 zzz
 * I2CP: Use configured leaseset keys if available
 * I2PTunnel: Persist leaseset keys

zzz's avatar
zzz committed
2014-12-15 zzz
 * Console: Prevent two-word translations from splitting across lines in summary bar
zzz's avatar
zzz committed
 * Crypto: EdDSA cleanups
zzz's avatar
zzz committed
 * i2psnark: Unchoke new peer sooner
 * SSU: reduce log level of uncaught errors processing I2NP message
 * SU3:
   - Don't require specification of sig type when signing
   - Implement 'extract -k'
   - Fix getContentOffset()
   - Fail on excess data after signature
 * Tunnels: Raise concurrent build limit

2014-12-08 zzz
 * HTTP Proxy: Fix parsing of ECDSA address helper
 * NetDB: Increase lookup throttle time

zzz's avatar
zzz committed
2014-12-05 zzz
Prop from i2p.i2p.zzz.test2:
 * Console:
   - Show b32 for local leasesets also on netdb LS tab
 * Data:
   - Disallow duplicate keys in a Mapping
   - Add RouterInfo.getVersion()
 * I2NP:
   - Move some data structures away from ByteArray; offsets were always zero
     - New BuildRequestRecord constructors
     - BuildRequestRecord field becomes final byte[222]
     - IV becomes byte[16]
     - Build record becomes EncryptedBuildRecord
   - Remove extra copy in BuildRequestRecord.encryptRecord()
   - Remove unused BuildRequestRecord.readOurIdentityMatches()
   - DatabaseStoreMessage: Mask the unused bits in the type field for future use
 * i2psnark: Reduce auto-stop threshold for update torrent
 * I2PTunnel: Reduce i2ptunnel threads, more thread pooling.
   - Move client pool from static inI2PTunnelClientBase to TCG.
   - Use client pool for some server threads
   - Run some things inline that were formerly threads
 * KeyGenerator: main() test improvements
 * Logger: Configurable flush interval
 * Plugins: Another fix for restarting a ClientApp plugin
 * Profiles: Change slice selection argument from an int to an enum for clarity
 * SusiMail:
   - Add save-as button
   - Fix encoding for filename in Content-Disposition header
 * Transport:
   - Disallow standard I2P application ports as the router port
   - Increase default class O conn. limits to 350 NTCP, 1050 SSU
 * Update: Use last-modified instead of last-checked for the next
   if-modified-since fetch, to fix failing to fetch the latest news

zzz's avatar
zzz committed
* 2014-11-30 0.9.17 released

kytv's avatar
kytv committed
2014-11-28 kytv
 * Updated PO files from Transifex
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-11-05.

2014-11-26 zzz
 * BuildRequestor: Reduce delay when client build can't find
   a paired tunnel (ticket #1412)
 * Data:
   - Fix NPE on unknown sig type in destination
   - Fix hashcode and equals for typed data
 * Tunnels: Disallow changing allowZeroHop setting for exploratory

2014-11-24 zzz
 * i2ptunnel: Fix automatic setting of random key
 * PrivateKeyFile: Don't rewrite file in main() if no options

2014-11-23 zzz
 * Reseed hosts update

2014-11-22 zzz
 * PeerSelector: If non-DSA, don't use incompatible peers
   for exploratory tunnels or closest-hop in client tunnels
 * SAM: Fix v3 bug accepting incoming connections

2014-11-17 zzz
 * NetDB: Exclude A1/A2 "countries" from auto-floodfill

2014-11-15 zzz
 * I2NP:
   - Set lookup type flags even if no reply tunnel specified
   - Reduce object churn when writing some messages

zzz's avatar
zzz committed
2014-11-13 zzz
 * I2PTunnel:
   - Fix bug that left server acceptor thread running after close
   - Add destroy() methods to release all resources when closing a tunnel for good,
     particularly the streaming timer threads
   - Use COWAL to prevent concurrency problems
 * PluginStarter: Simplify detection of active threads
 * Streaming:
   - Don't return null from accept() any more; actually throw
     ConnectException as the Javadocs have always specified
   - Throw ConnectException from accept() if interrupted; previously caught and ignored
   - Throw exceptions from ConnectionHandler.accept(), not higher up
   - Close ServerSocket when ConnectionManager is shut down
   - Synchronize setActive(), clear queue when starting to accept,
     better handling of calls that don't change state

 * Data: Clear more caches when under memory pressure and at shutdown
 * Plugins: Fix bug in stopping a ClientApp plugin with $parameters in the args

zzz's avatar
zzz committed
2014-11-09 zzz
 * i2psnark: Fix tracker config form issues
 * Router, i2ptunnel: Add option for per-pool persistent random key,
   so peer ordering does not change across restarts

2014-11-08 zzz
 * EdDSA: Bump minimum router version to 0.9.17
 * i2psnark: Add support for specifying data dir in add form (ticket #1028)
 * ProfileOrganizer: More efficient slice calculation
 * SSU: Fix bug preventing inbound connection from non-DSA router (ticket #1408)
 * Transports: If non-DSA, check for compatibility before connecting out

2014-11-06 zzz
Prop from i2p.i2p.zzz.test2:
 * Blockfile:
   - Add block size to superblock
   - Add span size to skiplist block
   - Bump version to 1.2
 * Console:
   - Log warnings for Java 6 or no Pack200
   - Add ECDSA warning to sidebar
   - Don't disable updates when restarting from /configupdate
   - Recognize router.newsRefreshFrequency=0 as "never"
 * Crypto: Drop dummy crypto stubs
 * i2psnark:
   - Convert '+' to ' ' in magnet dn param
   - Fix NPE when deleting torrent if the data directory
     was deleted out from under us (ticket #1407)
   - Add new opentrackers, remove welterde
   - Support multiple default opentrackers
   - Don't link to opentrackers at the top
 * i2ptunnel:
   - ECDSA default for all new server tunnels
   - ECDSA default for streamr client tunnels
   - Fix display of server destination on edit page when not running (privkey file path wasn't absolute)
   - Fix display of persistent client key b32 on edit page when not running
   - Fix display of server sig type on edit page when we have a privkey file
 * jbigi: Save and report extracted library name
 * Reseed: SSL-only by default
 * Router:
   - Make recognition of a hidden router consistent,
     whether specified in the caps or the cert
   - Job Queue: Only drop lookup jobs if lagged
 * SSU:
   - Don't resend ACKS that are too old (ticket #772)
   - Dont OOM if ACK sender dies
   - Don't publish direct info if introducers are required
 * SU3File: Show content and file types in showversion
 * Transports:
   - Consolidate port checking code
   - Disallow SSDP port
 * Update: Implement signed news in su3 format with trusted signers,
   wrapping an Atom XML format
 * Util:
   - Use write-sync-close-rename for config file writing
   - Null check in zip entry name

2014-11-04 zzz
 * SSU: Fix corruption of ack-only packets containing bitfields

zzz's avatar
zzz committed
* 2014-11-01 0.9.16 released

kytv's avatar
kytv committed
2014-10-30 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-10-07.
 * Arabic, Chinese, Czech, Dutch, French, German, Russian, and Spanish
   translation updates from Transifex

2014-10-30 zzz
 * Router: Fix rare NPE building garlic message (ticket #1403)

2014-10-26 zzz
 * SSU: Fix ACK Sender thread dying on corrupt packet

2014-10-24 zzz
 * i2ptunnel: Fix description entered via wizard

2014-10-23 zzz
 * SessionKeyManager:
   - Raise inbound limit
   - Delete oldest tagsets when limit is hit
   - Don't delete recent tagsets when limit is hit
 * SSL: Don't prohibit SSLv3 ciphers if that's all we have

zzz's avatar
zzz committed
2014-10-20 zzz
 * Console: Fix lockups (ticket #1395)
 * Eepsite Jetty: Switch back to QueuedThreadPool (ticket #1395)

2014-10-17 zzz
 * NTCP: Deadlock fix 3rd try (ticket #1394)

2014-10-16 zzz
 * NTCP: Deadlock fix 2nd try (ticket #1394)

2014-10-15 zzz
 * Console, I2CP, i2ptunnel, SSLEepGet: Set allowed SSL
   protocols and ciphers. Disable SSLv3 and older ciphers.
   Enable TLSv1.1 and TLSv1.2 on Java 7,
   where it is disabled by default client-side.
2014-10-14 zzz
 * I2NP: Implement DatabaseLookupMessage search type field

2014-10-13 zzz
 * i2ptunnel: Set default sig type to ECDSA-P256 for client types
   Standard, IRC, and Socks IRC, if non-shared.

zzz's avatar
zzz committed
2014-10-10 zzz
 * Banlist: Remove unused banlist tracking in the profile
   causing deadlock (ticket #1394)
 * GeoIP:
   - Don't rate peers in some countries as high capacity
   - Don't enable auto-floodfill in some countries
   - Don't prefer floodfills in some countries

2014-10-08 zzz
 * UPnP: Comment out unused parsers

2014-10-07 zzz
 * CPUID: Remove Intel model 2 again, this is spoofed in the VM
 * Graphs: Catch an error caused by missing fonts
 * i2ptunnel: Handle named sig types from i2ptunnel.config in the GUI
 * SSU: Improve handling of socket that gets closed (ticket #1385)
 * Startup: Delay ReadConfigJob another minute

2014-10-05 zzz
 * Crypto: EdDSA cleanup

2014-10-04 zzz
 * i2psnark: Disable changing types for predefined trackers
 * i2ptunnel: Fix js confirm for delete button

2014-10-03 zzz
 * Console: New add-to-addressbook links on leaseset page
 * CPUID: Fix Intel processor identification
 * i2psnark: Fix adding magnet links with % encoding (ticket #1391)

2014-09-30 zzz
 * Logs: Fix displayed filename when empty (ticket #1386)
 * SAM: Fix v3 LS publish, broken in -4 (ticket #1390)

2014-09-29 zzz
 * CPUID:
   - Fix main() model and family calculation
   - Add model string fetch from processor
   - AMD model string tweaks
 * i2psnark: Show subdirectory in table header on details page

zzz's avatar
zzz committed
2014-09-27 zzz
zzz's avatar
zzz committed
 * CPUID:
   - Fix model and family calculations
   - Fix most AMD family 15 IDs
   - Add AMD Llano, Jaguar, Bulldozer 2
   - Add Intel Ivy Bridge, Haswell, Broadwell, Penryn,
     Pineview, Cedarview, Bay Trail, Avoton, and others
   - Set best-guess capabilities for most Intel processors
   - Supply best-guess model string in most cases
   - Processors listed above, and some others, may see crypto speedups as a result

2014-09-26 zzz
zzz's avatar
zzz committed
 * EdDSA: Use our PRNG by default for keygen
 * i2psnark:
   - Increase default to 3 hops (ticket #966)
   - Show info hash on details page
 * NetDB: Increase max age of RIs to reduce number refreshed after restart
zzz's avatar
zzz committed
 * SAM:
   - Don't publish LS for DIRECTION=CREATE
   - Set default tunnel name
zzz's avatar
zzz committed
 * Tests: Fix junit compile fails due to data structure moves
 * Transport: Hooks for pluggable transports (ticket #1170)

zzz's avatar
zzz committed
2014-09-23 zzz
Prop from i2p.i2p.zzz.test2:
 * Addressbook: Improve parser efficiency
 * Data structures: Move several router-only classes from i2p.jar to
   net.i2p.data.router in router.jar. This will break existing
zzz's avatar
zzz committed
   versions of the i2pcontrol plugin.
zzz's avatar
zzz committed
 * HTTP Client: Add error page for unsupported encryption
 * I2CP:
   - Verify crypto key pair in LS
   - Verfiy same dest as before in LS
   - Enforce strict authorization when auth is enabled
 * i2psnark:
   - Set-all priority buttons (ticket #1376)
   - Comment out command-line code
   - Consolidate and clean up parameters code
   - Click to sort by column
   - Display upload ratio when sorted by ratio, and on details page (ticket #1298)
   - Consolidate code for creating img entities
   - Switch from checkbox to radio for tracker configuration form
   - Sort themes in config form
   - Consolidate HTML header code
   - Set no-cache headers
   - Don't set HTML headers for redirects
 * I2PTunnelGUI: Test tool deleted, moved to i2p.scripts
 * Jetty 8.1.16.v20140903
 * KeyGenerator: Add support for converting
   all signing key types from private to public
 * NetDB:
   - Encrypt RI lookups and request encrypted reply on
     faster boxes, to prevent scraping by OBEPs and IBGWs
   - Encrypt exploratory lookups too
   - Better handling of unsupported encryption in destinations
   - Implement handling of unsupported encryption in router identities
   - Banlist forever all RIs with unsupported encryption
   - New negative cache of all dests with unsupported encryption
   - New methods for destination lookup that will succeed even if
     the LS is expired or encryption is unsupported
   - Use new dest lookup so client will get the right error code
     later, rather than failing with no LS when we really got it
     but just couldn't verify it.
   - Don't auto-enable floodfill if ARM or if ElG decrypt is too slow
 * NTCP EstablishState:
   - Prep for future enhancements by refactoring to a state machine model
   - Reduce object churn; use SimpleByteCache
   - Synchronization
 * OCMOSJ: Detect unsupported encryption on dest and return the correct failure code
     through I2CP to streaming to i2ptunnel
 * PrivateKeyFile:
   - New constructor with padding
   - New router extension to add getRouterIdentity()
   - Add validateKeyPairs()
 * Router:
   - New router.sigType config
   - Generate / regenerate router keys based on config
   - New router.keys.dat file in PKF format for sig types and padding
   - Fix RouterInfo.readBytes() signature verification with sig types
   - Catch unset padding in KeysAndCert.writeBytes()
   - Catch key errors in ReadRouterJob
   - Show RI sig type on /netdb in console
   - Move some things from Router to startup classes
   - Startup classes package private
   - Buffer readin of key files
   - Remove configurability of router.info and router.keys file locations
   - Consolidate router keys readin code
   - Update killKeys file list
   - Validate router key pairs read in from file
   - Don't try to use an unavailable sig type for the router,
     even if it's the default
 * RoutingKeyGenerator:
   - Move from core to RouterKeyGenerator in router.jar
   - Leave RoutingKeyGenerator as a simple abstract class
   - DatabaseEntry now uses timestamp instead of mod data
     to determine if mod data has changed. Don't expose
     mod data to DatabaseEntry any more.
   - I2PAppContext.routingKeyGenerator() now returns null;
     you must be in RouterContext to get a generator.
 * SSU:
   - Implement bundling of multiple fragments in a single data message.
     This has always been in the spec and implemented in the receive side
     since the beginning, so it is compatible with all versions.
   - OutboundMessageState: Fix SSU Output Queue errors in PacketBuilder:
     Remove all buffer caching as it can't be made thread-safe.
     Just allocate buffer in constructor and let GC handle it
     Do fragmenting in constructor and make all fragment fields final
     Don't track per-fragment retransmissions as it wasn't used
     Move ack tracking from an array to a long
     Sync all ack methods; Entire class now thread-safe
   - InboundMessageState: Rewrite PartialBitfield for efficiency, less space and object churn
   - PeerState.fetchPartialACKs() improvements
   - Don't allow more than 10 bytes when reading in bitfield
   - Don't send a corrupt ack packet if the partial ack got completed (race)
 * Streaming: Re-enable message status override, but treat LS lookup failure
     as a soft failure for now.
 * Transports:
   - Handle RI sig types
   - Banlist unsupported RI sig types
   - Return unused DH keypairs to the pool
 * Tunnels:
   - Enforce request record timestamp
   - Randomize timestamp to prevent hop detection at top of hour

2014-09-22 zzz
 * SSU: Fix 100% CPU after socket failure
 * UPnP: Catch reported error on FreeBSD

zzz's avatar
zzz committed
* 2014-09-20 0.9.15 released

kytv's avatar
kytv committed
2014-09-17 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-09-04.
 * Translations:
   - updates pulled from Transifex (cs, es, fi, fr, ja, nb, pl, ro, ru, uk)
   - en po files updated and pushed to Transifex
kytv's avatar
kytv committed

2014-09-16 zzz
 * i2psnark: Don't send HTML-only headers for icons (2nd try)

zzz's avatar
zzz committed
2014-09-13 zzz
 * i2ptunnel:
   - Fixes for stopping client tunnels
   - Fix status display for shared clients

2014-09-12 zzz
 * i2psnark: Escape fixes
 * i2ptunnel: Fix updating session options on a running delay-open client tunnel

zzz's avatar
zzz committed
2014-09-09 zzz
 * i2psnark: Escape fixes

2014-08-31 zzz
 * Build: Add support for bundling router infos in the package
 * I2PTunnel: Allow changing of spoof host and target host/port without
              restarting server tunnel

zzz's avatar
zzz committed
2014-08-30 zzz
 * Console:
  - Re-enable plugin installation by default
  - Don't show configuration section or update-all button if no plugins installed
  - Show unavailable crypto on /logs
 * Router: Log warnings for unavailable crypto at startup
 * RouterInfo: Backport fix for verification of EdDSA RI sig type

2014-08-28 zzz
 * Streaming: Fix verify of Ed25519 signatures in CLOSE packets

zzz's avatar
zzz committed
2014-08-27 zzz
 * i2psnark:
   - Persist uploaded count (tickets #1034, #1298)
   - Don't retry announce if we get back HTML
   - Recognize Vuze tracker rejections
   - Don't retry rejected announces unless seeding
   - Better UI handling of announces with ports or full destination
 * NetDB: Don't abort initialization on an unsupported RI sig type
 * Streaming: Fix P521 and RSA sig types
zzz's avatar
zzz committed

2014-08-23 zzz
 * Console, i2psnark, i2ptunnel: Escape fixes and cleanups
 * SSU: Drop peer tests as Bob from unestablished Alices

zzz's avatar
zzz committed
2014-08-22 zzz
 * SigTypes:
   - Add isSupportedSince(), use in floodfill selection
   - Handle mixed-case 25519 enum
   - Fix 25519 type code
   - Add dup type code check

2014-08-21 str4d
 * Add Ed25519 SigType

zzz's avatar
zzz committed
2014-08-21 zzz
 * i2psnark:
   - Escape control chars in encodePath()
   - Increase max piece size to 8 MB (ticket #1347)
 * i2ptunnel: Add local SSL support for std. and IRC client tunnels (ticket #1107)

zzz's avatar
zzz committed
2014-08-19 zzz
 * i2psnark:
   - Don't filter create torrent form, and
     fix exception on ':' in file names (ticket #1342)
   - Don't remap file names on torrents we created, and
     save remap setting in torrent config file (tickets #571, 771)
   - Escaping fixes since names may not be remapped
   - Use better encodePath() from Jetty
   - Don't say create torrent succeeded when it didn't
   - Add more sanity checks for base path of created torrent

2014-08-18 zzz
 * i2psnark:
   - Don't send HTML-only headers for icons
   - Catch IllegalStateException for icons
 * Tunnels: Use consistent tunnel pair for Delivery Status Message
   to reduce network connections (ticket #1350)

2014-08-15 zzz
 * Console: Escaping fix (ticket #1348)
 * I2CP: Lookup synch cleanups

2014-08-13 dg
 * Console, EventLog: add BECAME_FLOODFILL and NOT_FLOODFILL, they are now shown
   at the /events page when the router changes its floodfill state

2014-08-13 zzz
zzz's avatar
zzz committed
 * Console: Escaping fix (ticket #1346)
 * i2psnark: Fix add torrent NPE

zzz's avatar
zzz committed
2014-08-10 zzz
Prop from i2p.i2p.zzz.snarkconfig:
 * i2psnark: