Newer
Older
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
* 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)
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)

zzz
committed
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
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"
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
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
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
* 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
* 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
2013-02-06 kytv
* 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
* Add Norwegian Bokmål language to the router console
* Add Bokmål translations from Transifex
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
2013-01-29 zzz
* Console: Catch IllegalStateException storing nonces (tickets #836, #852, #858)
* Translations:
- Use JVM language name if available
- Correct Estonian language code from ee to et
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
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)
- Added a link to the summary bar for mobile users on /home
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
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.
- Linux x86, Linux x64, Linux ARMv5, Linux-PPC32, MacOSX & Solaris: Binares
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)
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)
2012-12-24 kytv
* 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.
* 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

kytv
committed
2012-12-22 kytv

kytv
committed
2012-12-19 zzz
* Update: Hide the update buttons when router.updateDisabled=true, as is the case
* German and Swedish translation updates from Transifex
* Update geoip.txt based on Maxmind GeoLite Country database from 2012-12-04
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)
2012-11-28 kytv
* 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
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
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)
2012-11-16 zzz
* i2psnark: Fix rare IOOBE (ticket #777)
* NetDB:
- Implement automatic reseeding (ticket #521)
- Increase minimum routers
- Log reseeds in event log
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
2012-11-10 kytv
* 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
2012-11-02 kytv
* German, Portuguese, and Swedish translation updates from Transifex
* Refreshed English po files to push to TX.
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
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
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
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)
- 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
2012-10-25 zzz
* BuildHandler: Fix "too slow" rejections due to internal clock skew
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
* 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
* EventLog: Add more events
* 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
2012-10-08 zzz
* SSU:
- Fix relay request handling bug from -10
- Fix peer test reply handling bug from -10
- Fix NPE from -6
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)
2012-10-06 zzz
* configlogging.jsp: Fix IAE
* error500.jsp: Fix whitespace
* i2psnark:
- Add allocating and checking indications (ticket #695)
- Add bandwidth message at startup
- More checks at torrent creation
* SSU:
- Throttle outbound destroys on shutdown
- Limit outbound introduction offers
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)
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
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
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
* 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
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
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
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
- Replace ident log with new, general-purpose event log;
use for stops, starts, and updates, and others.
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
- 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
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)
2012-09-13 kytv
* Update geoip.txt based on Maxmind GeoLite Country database from 2012-09-05
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
* 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)
* i2psnark:
- Notify threads awaiting DHT replies at shutdown
- Fix cases where we weren't using the session for b32 lookup
* 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)
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
* SSU:
- Don't relay or introduce to/from privileged ports
- Various spoof detections
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
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
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)
- Queue outbound msgs during inbound establish
- IntroManager cleanups
- More synchronization
2012-08-17 sponge
* BOB: just some cleanup of old, dead meaningless commentedout code
and a little reformatting.
2012-08-16 zzz
* Utils: Drop unused BufferedRandomSource, PooledRandomSource,
EepGetScheduler, EepPost and HTTPSendData, moved to i2p.scripts
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
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
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
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
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
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
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.
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
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)
2012-07-28 str4d
* Console: theme fixes
2012-07-26 kytv
* Update geoip.txt based on Maxmind GeoLite Country database from 2012-07-04
* Finnish, French, German, Spanish and Swedish translation updates from TX
* BOB Fix static references to Log
2012-07-24 sponge
* BOB reset spin flag to enable restart from zap command
* Summary bar: disable fallback iframe in summary.jsi (so when JS is disabled
the summary bar will not refresh at all)
* Home page:
- Replaced 16x16 icons with 32x32 ones
- Updated icon for git.repo.i2p
2012-07-24 zzz
* LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android
* Router: Don't create router.ping file on Android
2012-07-21 zzz
* i2psnark: Remove dark theme
* SSU: Remove exception creation (ticket #665)
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:
- 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
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
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)
2012-07-12 kytv
* Translations from Transifex:
- Add new Greek translation
- Dutch translation update
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
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
* 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
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
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
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
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
- Reduce TrackerClient threads
- Reduce delay between peer adds for faster startup
- Thread the announces and reduce timeout when stopping
* NativeBigInteger: Workaround for Raspberry Pi to load the correct lib
* Router: Don't let shutdown tasks hang the shutdown (tickets #564, #566)
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
* 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
2012-05-31 zzz
* i2psnark:
- Add per-hour conn limit
- Blacklist peer after two bad handshakes
- Reduce connect timeout
- Close connection immediately if bad protocol
- Stop adding peers when we hit the limit
- Lower limit for outbound connections so we give
new peers a better chance in large swarms
2012-05-30 zzz
* Graphs: Reduce log EOF error to warn
* i2psnark:
- Increase max upload (ticket #645)
- Increase per-minute conn limit from 6 to 8
- Improve rarest-first behavior
- Handle URI encoding, UTF-8, and multiple trackers in magnet links
* Timestamper:
- Move from core to router, leave stub in core
so it doesn't break compatibility. This removes a
thread in app context and prevents any app context from
running NTP; external clients must use the time
received from the router.
- Increase query interval
* i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
* jbigi/jcpuid scripts: Improve support for ArchLinux
* German, Italian, Spanish, and Swedish translation updates from Transifex
2012-05-23 zzz
* i2psnark:
- Fixes when complete except for skipped files
(ticket #447) status in UI, don't connect outbound,
disconnect seeds when done
- More classes pkg private
* jobs.jsp: Add more queue diagnostics
2012-05-22 zzz
* i2psnark:
- Refactor tracker map
- Prevent torrent shutdown when changing file priority to skip
- Fix deadlock when changing file priorities
2012-05-20 zzz
* Console: Add full file path to thread dump message
* i2psnark:
- Create sparse files at torrent creation and delay
"ballooning" until first write (ticket #641, #447)
- Redo clear messages button
- Concurrent message queue
* Profiles: reduce same-country bonus
* RoutingKeyModifier: Several changes to ensure the routing key
is correctly changed just after midnight.
2012-05-19 zzz
* i2psnark:
- Store received chunks in temp files
- Don't allocate from heap for unneeded chunks
- Remove peer count restriction for torrents with large pieces
- Use priorities and rarest calculations to sort partials
- Preserve p parameter in clear messages link
2012-05-13 zzz
* Console: Add X-Frame-Options to headers,
disable with routerconsole.disableXFrame=true
2012-04-26 kytv
* German, Spanish, and Swedish Translation updates
from Transifex
2012-04-20 zzz
* Remove search box
* Fix i2psnark dir when started from Windows no-wrapper
(ticket #627)
2012-04-14 kytv
* Update wrapper to v3.5.14
* Update geoip.txt from Maxmind's April 2012 database
2012-04-12 kytv
* German, Spanish, and Swedish translation updates from Transifex
2012-04-12 zzz
* Console:
- Try again to fix console on Windows w/o IPv6
by starting connectors individually
- Fix whitespace issues on several pages
- Prevent rare early NPE
- Non-default theme cleanups
- Theme and translate home page logo
2012-03-28 zzz
* RouterInfo: Fix fatal NPE in last checkin
2012-03-27 zzz
* FloodfillVerify:
- Fix verifies stuck on one peer by blamimg the verify peer on failure
- Follow DSRM in response to RI verifies
- Increase floodfill verify timeout
* Home page: Delay router down message until two consecutive fails
* RouterInfo: Add method to validate sig during read-in for speed
2012-03-27 sponge
* A hopeful fix to allow SHOUTcast/icecast to work over the http proxy.
* A little more code clean up
2012-03-26 zzz
* Code cleanups:
- Remove unused imports
- Remove unused local variables
- Remove unused private fields
- Remove unnecessary casts
* Console:
- Move oldconsole rendering from Router to OldConsoleHelper
2012-03-24 zzz
* GarlicConfig: Remove more unused methods
* i2psnark:
- Fix dup torrent msg with magnets (tickets #433 and #504)
- Fix state when storage dies during transition out of magnet mode
- Fix NPE in magnet mode
- Error logging improvements
- Support add-torrent with infohash alone
- CSS tweaks
2012-03-22 zzz
* Home page: CSS tweaks
* Reseeder: Get rid of static instance, root in netDB,
don't use system properties for status
* RetransmissionTimer: Instantiate per-destination
* Router: When removing a config setting, remove from context also
* SimpleScheduler, SimpleTimer, SimpleTimer2: Replace static instances
with I2PAppContext-rooted references
2012-03-20 zzz
* i2psnark: Message area tweaks and clear link
* NetDB:
- Don't reread RI if netdb date is recent
- Prevent LS/RI overwrites
- Disallow hash mismatches in RI files
- Reseed won't fetch our own RI
- Reseed won't overwrite recent RIs
* Router: Make runRouter() public
2012-03-19 sponge
* Plugins: Less confusing message, fix CNFE by catch and ignore on delete.
Order and reverse order plugin names for start/stop all cases.
2012-03-17 zzz
* BuildHandler: Implement restart and shutdown to stop the thread
* Jetty: Don't extract wars
* FileUtil: Better logging of weird unpack200 errors
* I2PTunnel: Make CLI-only methods private, and static where possible
* Streaming: Scheduler cleanup
2012-03-16 zzz
* FragmentHandler: Zero-copy read of unfragmented messages
for speed and to reduce object churn
* Home page: Tag tooltip; CSS tweaks; news tweak
* HTTP Proxy: Jump and addresshelper page tweaks
* Jetty: Add I2P mime types to default eepsite config
* OCMOSJ: Refactor cache to its own class, make non-static
* TransportManager: Fix fatal exception on soft restart caused by DHSKB refactoring
* TrustedUpdate: Preserve default key names even when keys are set
in advanced config
2012-03-15 sponge
* Plugins:
- String.isEmpty() [ java 6 ] -> (String.length() == 0) [ java 5 ]
- for a file: URL, use "Attempting to copy plugin from" message
- s/{0}// on non-translated string
- grammar: "File copy failed {0}" -> "Failed to copy file from {0}"
- use the context provided to get startup time
- getCanonicalPath() -> getAbsolutePath()
- install != update. Don't change the user's settings, and don't restart
it on an update if "dont-start-at-install". This gives the same
functionality as before.
2012-03-14 zzz
* Blockfile, i2psnark: Remove static logs
* DHSessionKeyBuilder:
- Move from core to router/transport
- Make non-static, instantiate in TransportManager
- Generate keypair in constructor and make final
to move more processing to the precalc thread
and eliminate races
- Synchronize getSessionKey() to eliminate races
- Comment out unused methods
* Jetty:
- Set default cache-control for webapps and eepsite
- Disable dir listing for console webapps
* UDPTransport:
- Make key builder final in InboundEstablishState to
eliminate rare NPE (ticket #406)
- Remove unused static instance
* YKGenerator: Make non-static, instantiate in ElGamalEngine
2012-03-13 sponge
* Add sponge.i2p :-D bump version.
2012-03-13 sponge
* Plugins:
- Fix a bug in the updater. It was not comparing the correct name.
- Plugin updates can now be deferred if router-restart-required is set.
The update happens at the next router restart.
2012-03-13 sponge
- Handle 'file://' URLs for installation and updates (ticket #429).
You must specify the entire path, e.g.
file:///home/someone/magicplugin.xpi2p
- This works for updates too!
- Only tested on Linux, needs to be tested on Windows.
2012-03-12 zzz
* Console:
- Better IPv6 test, hopefully will work on Windows
- Hide home page flags once language is selected
- Home page shrinkage and other CSS tweaks
2012-03-11 sponge
* Slackware package script updates
2012-03-11 zzz
* Build:
- Include old commons logging classes in commons-logging.jar
- Preserve manifests in Jetty/Tomcat jars
* Jetty Logger: Promote warns to errors when a Throwable is the second arg
2012-03-11 sponge
* fix broken comment in jetty.xml
2012-03-10 zzz
* Build: Add new jetty jars to router.jar classpath so it works
on very old installs with individual jars specified in the
wrapper.config classpath
* configloggging: Fix clearing log overrides
* Console: Test if IPv6 addresses will work before instantiating
connectors, so Jetty will still start without them
* HTTP Proxy: Fix generation of jump links (ticket #616),
broken by refactoring in -1
* Jetty Logger: Put a note in wrapper log saying where the logs went
* Update default eepsite base context to use DefaultServlet
instead of ResourceHandler, to provide resume, directory
indexes, caching, etc.
* Simplify default eepsite base and CGI contexts to use a Context
instead of a ContextHolder, ServletHandler, and ServletHolder
* GarlicConfig: Remove unused reply block methods
* SessionKeyManager:
- Don't use unacked tagsets after consecutive ack failures
and revert to full ElGamal if necessary (ticket #574)
- Synchronize creation of new sessions to prevent dups
- Don't remove an unacked session until it's really out of tags
- Failsafe removal of old unacked tagsets
- Cleanups, final, comments, log tweaks, debug.jsp tweaks, synchronization tweaks
2012-03-06 kytv
* German and Spanish translation updates from Transifex
2012-03-06 zzz
* i2psnark: Fix NPE on magnet link addition
* Jetty logger: Fix stack trace logging
* viewstat.jsp: Properly close the ImageOutputStream to fix
NPEs in the finalizer, probably was the root cause of
what we blamed on Jetty
* Webapp class loader: Fix dup classes in classpath
caused by last checkin (symptom: i2psnark in wrong directory)
2012-03-05 zzz
* Build: Make windows and non-windows installers for release
* configclients: Tweaks
* Graphs: Add time interval to legend
* NetDB: Increase min ff to 250
* Plugins: Fix setting webapp classpath on Jetty 6
* UDP: Log tweaks
* viewstat.jsp: Set Connection: Close to work around Jetty bug
http://jira.codehaus.org/browse/JETTY-1346
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
2012-03-04 zzz
* Jetty: Upgrade to Jetty 6.1.26, Tomcat 6.0.35, and JSTL 1.2.
- Supports Servlet 2.5 / JSP 2.1 standards
- Jetty and Tomcat jars are checked in, no more need to
download Jetty in the build process.
- Bundle Jetty 6 rewrite handler and JMX
- Bundle sample Jetty config files for rewrite, JMX, and SSL
- Use ant's ant.jar instead of the one from Jetty
- Port router console, i2psnark, and I2PRequestLog code to Jetty 6
- Remove all old Jetty 5 patches and the custom Server() constructor,
this will break Seedless use of the custom constructor
- Fix up all .jsps to JSP 2.1 standards
- Include automatic migration of clients.config,
and of jetty.xml files for an eepsite at port 7658.
New config includes files in eepsite/contexts and eepsite/etc
Any other Jetty-hosted eepsites,
or an eepsite not at port 7658 or with custom
modifications of the jetty.xml file, will require
manual editing of the new Jetty config files.
This includes modifications for the seedless server in jetty.xml.
- The following plugins are not compatible with Jetty 6
and will be disabled until updates are available:
i2pcontrol, pebble, and zzzot
- Users updating must use the updaterWithJetty build target once,
to get the new Jetty and Tomcat.
- Put I2PRequestLog in its own jetty-i2p.jar
- Jetty logging moved from wrapper to I2P log using the new I2PLogger class,
also in jetty-i2p.jar
* Console: Start all wars after the main console war,
for faster startup and to prevent one failed war from preventing
startup of the entire console
* i2psnark: Disable i2psnark RunStandalone, unused and instantiated Jetty 5
* i2ptunnel: Move i2ptunnel Bean classes from the jar to the war.
These were deprecated for external use long ago.
This will break very old seedless plugins; updates have
been available for months.
* susimail: Copy MultiPartRequest and other required classes from Jetty 5.1.15
and add it to susimail, as the replacement MultiPartFilter in
Jetty 6 is difficult to migrate to, and does not support content-type
2012-03-03 zzz
* Console:
- New simplified home page, refreshing with AJAX
- New home configuration page
* i2psnark:
- CSS tweaks
- Ajax and link fixes
- Move js to console in prep for merging w/ homepage
* NetDB: Remove bw stats (effective next release)
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
2012-03-02 zzz
* BlockfileNamingService: Add negative cache
* Build: Add built-by to jars; check for corrupt jars on debug page
* configstats.jsp: Hide log settings unless already enabled
* DataStructures:
- Remove static logs
- Sort addresses in RouterInfo at initialization only;
change from Set to List to save space
- Remove unused counters in Lease to save space
- Increase max leases to 16
* Graphs:
- New single graph page with easy resizing
- Support graphing of previous intervals
* i2pinstall.exe: Add icon
* i2psnark:
- Add tracker configuration form
- Remove custom tracker option from create form
- Add private torrent option
- More icons in buttons
- Use js for refresh
* I2PTunnelHTTPClient:
- Refactoring to use Java URI parser to better handle
escapes, IPv6 addresses, ports
- Rewrite i2paddresshelper scanning/removal
- Refactor out local server code
- Nicer address helper error page
* NetDB:
- Reenable verify of RI stores, disabled in 0.7.9,
checkin comments claim reenabled in 0.7.10 but didn't happen.
- Synchronize StoreJob.sendNext() to avoid dups
* netdb.jsp: Fix debug leaseset count again
* susidns: Add b64 hash to details page
2012-02-22 kytv
* Updated German, Italian, Spanish, Swedish, and Ukrainian translations
from Transifex.
2012-02-22 zzz
* ExploratoryPeerSelector: Use fast peers if hidden for
inbound tunnels to improve success
* NetDB:
- Don't publish our RI if it has no addresses
- Publish our RI sooner after startup
to facilitate our IB tunnel builds
* i2ptunnel:
- Fix streamr session registration
- Don't delete privkey file for a non-persistent client tunnel
(ticket #599)
* Streaming: Fix race NPE (thx echelon)
2012-02-17 zzz
* i2psnark: Escape fixes
* netdb.jsp: Fix debug median calculation
20112-02-17 kytv
* Add Czech language from Transifex (thanks Waseihou)
2012-02-12 str4d
* i2ptunnel: Tunnel creation wizard
2012-02-10 zzz
* WorkingDir: Fix detection of migrated directory
2012-02-09 zzz
* i2psnark: Escape semicolons
2012-02-04 zzz
* Deprecate util classes used only by installer
* ProfileOrganizer: Add profileOrganizer.sameCountryBonus config
* WorkingDir: Reset dates of eepsite files while migrating
to avoid exposing install time (thx Z6)
* Wrapper files:
- Move PID and status files to config dir in i2prouter
- Don't set PID files in wrapper.config as Windows doesn't need them
and the wrapper won't start if the dir doesn't exist
- Move wrapper.log to config dir using override in i2prouter,
Windows stays in system temp dir
- Move wrapper.log to config dir for no wrapper
- Move wrapper.log setup for no wrapper from RouterLaunch
to WorkingDir
- Redirect stderr too when no wrapper
- Create config dir in i2prouter for Linux/Mac
2012-02-02 kytv
* Ukrainian and Polish translation updates from Transifex
2012-01-30 zzz
* i2psnark: More illegal chars
* LogWriter: Don't rotate and open file until first message
* SusiDNS: Reduce listings to 50/page
2012-01-27 zzz
* Build: Repack release jars with pack200 -r, saves about 1% and
might save a little memory at runtime too
* confignet: Add UDP disable option
* SAM: Remove client demo classes from sam.jar
2012-01-26 zzz
* configclients: Fix form action default
* NetDB: Increase min ff to 200
* Plugins: Fix updated count
* SusiDNS: Make UI 1-based
2012-01-24 zzz
* Addresses: Fix NPE if no interfaces found http://forum.i2p/viewtopic.php?t=6365
* i2ptunnel: Fix white-on-white buttons on hover
* Plugins: Add completion message after all-update check
* susidns, susimail: Add icons to buttons
2012-01-22 zzz
* Transports: Bind only to a single interface if specified
as the host address and it's available (ticket #591)
* VMCommSystem: Move to dummy directory
2012-01-21 zzz
* Build: Fix Windows build, version checking for release
* Console summary bar: Move some code around

sponge
committed
2012-01-20 sponge
* Fix too short of delay for http. It is up to the browser to time out
in a shorter time, not the proxy. This is wreaking havoc on large
downloads, similar to the issues that we had in the distant past with
jetty's default timeout being too short.
2012-01-18 zzz
* I2PTunnel: Register ports with the PortMapper
* Router:
- Use new synchronized change-and-save-config methods
to eliminate races with ReadConfigJob
* Tunnels:
- When a peer is shitlisted, fail all our tunnels where
that peer is the adjacent hop. In particular this
will remove outbound tunnels when we can't contact
the first hop, and enable quicker recovery.
* Update: Find the proxy port in the PortMapper
2012-01-16 hottuna
* Router:
- Don't throttle tunnel creation if using a higher
- than default router.maxParticipatingTunnels setting.
2012-01-16 zzz
* Build: Put Implementation-Version in manifests
* NetDB: Hopefully fix rare NPE (ticket #589)
* Plugins:
- Only stop a plugin before update if it was running
- Only stop a plugin at shutdown if it was running
- Don't start a plugin after update if it was disabled
- Disable plugin if it fails version checks at startup
- Auto-update plugins after a router update
- Add update-all button and more cancel buttons
* Router:
- Add synchronized change-and-save-config methods to avoid races
- Save previous version in config so we know when we updated
* Transport: Revert change from -2, put addresses back in RouterInfo
when hidden, broke inbound tunnel building
2012-01-14 zzz
* i2ptunnel: Partial fix for dest formatting (ticket #581)
* jars.jsp: New debug page
* logs.jsp: Use wrapper method to find wrapper log if available
* Stats:
- Cleanups
- Remove some locking
- Change some longs to ints to save space
- Remove static logs
2012-01-13 zzz
* i2prouter: Add translation infrastructure
2012-01-10 zzz
* Console:
- Add info to error 500 page
- Add indication on summary bar when in VM comm system
- Make graceful the default for HUP (ticket #580)
- Fix class error on wrapper 3.1.1
* i2prouter: Don't attempt to translate strings from script
* Router:
- Auto-hidden mode for bad countries
- Don't put addresses in our RouterInfo when hidden
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
2012-01-08 zzz
* Plugins:
- Enforce min and max Jetty versions at plugin installation
- Enforce I2P, Java, and Jetty versions at plugin startup too
* Router:
- No longer check for updates or start any threads in the Router constructor,
- for ease in building multiple routers in the JVM,
- and also because starting threads in a constructor is bad practice.
- All threads now start in runRouter().
- Installation of updates now only happens via Router.main().
* RouterInfo, RouterAddress: Optimizations and integrity checks
- Remove synchronization
- Do not allow contents to change after being set, throw IllegalStateException
- Do not copy contents out in getters
- Make options final
- Add getOption() and getOptionsMap() methods
* Router shutdown:
- Fix failsafe shutdown hook broken in 0.8.8;
HUP, INT, and TERM signals should now shut down cleanly.
- Shutdown hook no longer prevents other hooks from running
- Trap HUP, if router.gracefulHUP=true, and do graceful shutdown.
Only under wrapper, non-Windows.
- i2prouter stop now uses SIGTERM
- Implement i2prouter graceful using SIGHUP (ticket #580)
- Configure wrapper to ignore SIGUSR1 and SIGUSR2 as they will shut down
or crash the JVM
* Update geoip.txt based on Maxmind GeoLite Country database from 2011-12-08
* Fix webapp PortMapper lookup for SSL-only console
* Wrapper 3.5.13 for arm v7

zzz
committed
2011-12-31 zzz

zzz
committed
(backport from jetty6 branch)
2011-12-30 zzz

zzz
committed
2011-12-23 zzz
* Logging: Eliminate LogWriter/LogManager deadlock
2011-12-18 zzz
* Addresses: Add utility toString() methods
* Blocklist: Buffer input to speed lookup
* PersistentDataStore: Buffer file writes and reads
* Router: Cleanup startup jobs and router.config reading; javadocs
* Transport: Log tweaks
2011-12-17 kytv
* Ukrainian translation updates from Transifex
2011-12-17 zzz
* i2psnark:
- Replace file name characters not supported in default charset
- Add torrent file name to local details page
* GeoIP: Reduce thread priority during lookup
* ProfileManager: Make some methods non-blocking to reduce
lock contention in transports
2011-12-15 kytv
* Swedish translation updates from Transifex
2011-12-14 zzz
* BuildHandler: Increase next hop timeout again
* DataHelper:
- Speed up heavily used long/byte[] converters
- Add little endian versions of the converters
- Cache common properties keys
* GarlicMessageParser: Use cached cert
* GeoIP: Buffer input to speed lookup by 10x
* I2NP: Disable pass-through checksum debugging
* MessageHistory:
- Flush at shutdown
- Fix file location, only delete if enabled
- Cleanups, concurrent
* ResettableGZIPInputStream: Better footer log errors
* RouterAddress: Cache transport names
* TransportBid: Remove unused stuff
2011-12-13 kytv
* Don't require that full stats are enabled to be able to graph
router.highCapacityPeers. (closes #450)
2011-12-12 kytv
* German and Spanish translation updates from Transifex
2011-12-12 zzz
* ExploreJob: Tweaks to handle DatabaseLookupMessage changes
* I2NP:
- Deprecate unused stream methods and I2NPMessageReader since
all transports provide encapsulation.
- Don't throw IOE from byte array methods
- Use cached null cert in GarlicClove
- Add method to limit size of buffer to read
- Don't check checksum at input, in most cases
(but recalculating it now and logging on a mismatch for testing)
- Fix DatabaseLookupMessage to internally store the don't include peers as
a List, not a Set, so it doesn't get reordered and break the checksum
- Log cleanup
* NTCP:
- Zero-copy and limit size when handing buffer to I2NP
- Log hex dump message on I2NPMessageException, like in SSU
- Don't close connection on I2NPMessageException
* PortMapper: New service for registering application ports in the context
* ReusableGZIPInputStream: Fix 3 major bugs, all present since 2005:
- Payloads an exact multiple of 512 bytes failed to decompress
- Data at the end of the stream could be lost
- read() returned -1 when the data was 0xff
* SearchState: generics and cleanups
2011-12-11 sponge
* HTTP server tunnel, use log.WARN for 3 first minutes. (closes #460)

kytv
committed
2011-12-10 kytv
* Replace eepget's whitelist of accepted characters with the
blacklist from i2psnark. (closes #562)
2011-12-09 zzz
* Base64: Add decodestring command in main()
* Console, i2psnark: More button CSS tweaks
* I2NP:
- Earlier detection and better logging of
truncated TunnelGatewayMessage and DatabaseStoreMessage
- Fix and enhance UnknownI2NPMessage implementation
- Don't deserialize or verify the checksum of the
embeddedI2NP message in the TunnelGatewayMessage
at the IBGW, just use UnknownI2NPMessage and pass it along,
except if zero hop; Still to do: similar thing at OBEP
- Cleanups and javadoc
* LeaseSet: Fix size calculations
* UDP:
- Fix major bug from 2005 that corrupted outbound messages
that were an exact multiple of the fragment size.
- Round expiration times when converting to seconds
- Zero-copy of single-fragment messages in MessageReceiver
- Optimizations, log tweaks, comments
2011-12-06 zzz
* Router:
- More refactoring tasks to their own files
- Adjust some thread priorities
* Susimail: Adjust login form sizes
* Tunnels: Increase next hop send timeout
* UDP: Fix major MTU bug introduced in 0.8.9.
- Change large MTU from 1492 to 1484 and small from 608 to 620
for encryption padding efficiency
- Enforce sent MTU limit
- Increase receive buffer size from 1536 to 1572 so that excessive-sized
packets sent by 0.8.9-0.8.11 routers aren't dropped
- Limit the max acks in a data packet
- Limit the duplicate acks in successive data packets
- Only include acks that will fit in the mtu in a data packet
- Correctly remove acks from the pending set after they are sent,
so they aren't sent repeatedly
- Don't pad data packets unless necessary
- Debug logging and javadocs
2011-12-04 zzz
* Console:
- Less icons on configclients.jsp
- Fix some browsers breaking line on negative numbers
- Tab CSS tweaks
* i2psnark: Fix directories not always deleted when torrent is deleted
* IRC Client: Lower log level for connect error to warn (thx echelon/sponge)
* Tunnel RED:
- Complete rework of participating traffic RED.
Implement an accurate bandwidth tracker in FIFOBandwidthRefiller.
- Fix drop priority of VTBM at OBEP
- Lower drop priority of VTBRM at IBGW
- Raise threshold from 95% to 120%
- Remove unused things in HopConfig
* UDP: Fix i2np.udp.allowLocal operation (thx Quizzers)
2011-12-02 zzz
* Console:
- Summary bar tweaks
- Config nav CSS tabs
- CSS cleanups from last checkin
* Susimail:
- Login screen tweaks
- Cleanups, generics, static
2011-12-01 zzz
* Console:
- Split up config network page
- CSS tweaks in summary bar
- Spiff up the buttons
* i2psnark:
- Retry link on torrent download fail
- Clear URL after clicking 'add torrent'
- Message tweaks
- CSS tweaks
* IRC Server: Fix IOOBE (ticket #559)
* Throttle: Update throttle status immediately on shutdown request;
clear starting-up message after 20 minutes
2011-11-29 zzz
* Random: Use new nextBytes(buf, off, len) for efficiency
* Router: Refactor periodic tasks to their own files
2011-11-28 zzz
* Specify locale in all toLowerCase() and toUpperCase() calls to
avoid the "Turkish four i problem";
replace most equalsIgnoreCase() calls too.
* Update: Files listed in deletelist.txt will be deleted
2011-11-28 kytv
* IRCClient: Add IRCop commands (and other safe commands) to the whitelist
2011-11-27 zzz
* IRCClient: Outbound whitelist optimization
* Reseed:
- Restore i2pbote (ticket #516)
- Remove r31453 (cert expiring, host soon to be shut down permanently)
2011-11-23 zzz
* CryptixAESEngine: Fix bogus bounds checks
* NTCP:
- More optimizations in recvEncrypted()
- More efficient XOR
- Reduce bandwidth stat update frequency
- Check for repeated zero-length reads
* RandomSource: Add new method getBytes(buf, offset, length)
* Tunnel encryption: More efficient XOR
2011-11-21 zzz
* NTCP Pumper:
- Ensure failsafe pumper code gets run on schedule
- Don't copy the read buffers
- Adjust minimum read buffers based on memory
- New i2np.ntcp.useDirectBuffer option (default false)
- Mark peer unreachable when read failure is during establishment
- Change some Reader Lists to Sets to avoid linear search
- Log tweaks, debugging, new loop stats
2011-11-18 zzz
* NTCP:
- First cut at improving EventPumper performance (ticket #551)
- Establishment timeout cleanup/concurrent
- Remove some logging and stats
- Switch some Queues from LBQ to CLQ
- Static ByteBuffer cache
2011-11-16 zzz
* Console: Add Jetty version to logs page
* NTCP: Reduce log level for race (ticket #392)
* NTCPConnection: Concurrent PrepBufs
* OutNetMessage: Remove some fields and methods used only in NTCP debugging
* Router: Move router.ping file from temp directory to config directory
2011-11-14 zzz
* Console: Remove % chart at bottom of tunnels.jsp
* Profiles: Only use same-country metric for countries with
lots of I2P users
* SusiDNS: Remove .jsp suffixes
2011-11-12 zzz
* Installer: Fix Ukrainian translation (ticket #550) thx rndnick
2011-11-11 zzz
* Console:
- Less magic and fix img sizes, for speed and less artifacts while rendering
- CSS tweaks
2011-11-09 zzz
* Console: Add ability to hide news
* I2PTunnel IRC Client: Don't filter PASS (ticket #549)
* Licenses: Update information
* Router: Clean up config map methods and uses
* wrapper.config: Increase shutdown timeout
2011-11-05 kytv
* Update geoip.txt based on Maxmind GeoLite Country
database from 2011-11-02
2011-11-02 zzz
* HTTP Proxy: Error page tweak
* Reseed:
- Add new host
- Handle % escaping in file URLs
- Do basic validation of router hash
- Add some more sanity checks
2011-11-01 kytv
* Update Ukrainian translations from Transifex
* Update i2prouter script for better compatibility with Gentoo
2011-10-31 zzz
* NetDB: Reduce max RI publish interval
* ProfileOrganizer:
- Fix expiration of old profiles
- Don't exceed high cap limit between reorgs
- Reduce max reorg cycle time
- Reduce new bonus values
* Tunnels:
- Restore and implement lengthOverride()
- Adjust quantity override
2011-10-29 zzz
* BuildHandler: Add router.buildHandlerThreads config setting
* CapacityCalculator: Small adjustment for XOR distance to
break ties and encourage closeness
* ProfileOrganizer: Reduce min expire time
* SSU: Limit max peers to use as introducers
2011-10-28 zzz
* BuildHandler: Move inbound request handling to its own thread(s)
(ticket #542, see also http://zzz.i2p/topics/996)
* CapacityCalculator: Small boost for connected peers, new peers, and
same-country peers; deduct for recently-unreachable peers
* DecayingBloomFilter: Whups fix NPE from previous checkin if log=INFO
* NTCP: Reduce min idle time
* SSU:
- Increase default max connections again
- Reduce min idle time
- Separate out introducer pinger from introducer selection
so it can be run separately and more often
- Only ping introducers if we need them
* Tunnels:
- Reduce exploratory tunnel quantity if build success rate
is very low, but may disable this later
- Try rebuilding same tunnel (some of the time)
2011-10-25 zzz
* BloomSHA1, DecayingBloomFilter:
- Refactor for concurrent, at some small risk of false negatives
- Optimizations to cache objects and reuse offsets
* Tunnels:
- Make most classes package private
- Final, static, logs, cleanups
- Consolideate createRateStat calls
- Add getTotalLength()
- Remove unused lengthOverride()
* UDP: Mark only first fragment as a duplicate
* Update Italian translation from Transifex (thanks danimoth)
2011-10-19 zzz
* I2PTunnel: Fix timeout message on POST (ticket #531)
* StoreJob: Ensure nonzero token
* Tunnels: Connection limit mitigation:
- Disable tunnel testing
- Implement closest-to-the-key tunnel selection
- Use closest-selection in NetDB lookups, stores, and verifies;
OCMOSJ; and in BuildRequestor
* BuildExecutor: Efficiency tweak
* Console: Hide tunnel lag if tunnel testing is disabled
* NetDB: Fix rare NPE from netdb.jsp (ticket #539)
* Router: Change all shutdown CRITs to ERRORs; shutdown
the stat manager last to reduce chance of NPEs
(similar to that in tickets #534,535)
* SSU: Increase max concurrent outbound attempts;
fix udp.establishRejected stat
* BuildExecutor: Add tunnel.buildConfigTime stat
* configupdate.jsp:
- Fix setting to 'never' (ticket #523)
- Fix always saying trusted keys changed
- Parameterize tags
* EepGet:
- Add gunzip support (nonproxied only)
- Clean up progress formatting
* FloodfillMonitorJob: Log tweak (ticket #533)
* I2CP: Improve error message (ticket #533)
* JobQueue:
- Log error when queue is out of order
- Log tweaks
* FloodfillPeerSelector: Fix stat NPE (tickets #534,535)
* RouterThrottle:
- Fix stat NPE (tickets #534,535)
- Increase max tunnels and max delay again
* OutNetMessagePool: Log tweak (ticket #533)
* Router:
- Add OOM help (ticket #533)
- Prevent parallel shutdowns after multiple OOMs (tickets #534,535)
* Stats: Add API methods for zero duration
* SSLEepGet:
- Add gunzip support
- Increase buffer size
* Updated translations from Transifex
- Swedish: debconf and i2psnark
- Finnish: router console
2011-10-10 zzz
* Lower max netdb RI expiration again
* Increase default max tunnels
* Cleanups after review
* Exorcism (ticket #476)
2011-10-07 kytv
* GeoIP:
- Switch to Maxmind's GeoIP service (it's better maintained
than our old provider)
- Update based on Maxmind GeoLite Country database from 2011-10-07
* Translation updates from Transifex:
- I2PSnark: de, es, and pt
- I2PTunnel: de and es
- RouterConsole: de and es
- SusiDNS: de and es
- SusiMail: de and es
* Reseed:
- Add an https reseed, thx h2ik
- Restore ovh reseeds, thx mathiasdm
* Tunnels:
- For expl. tunnels, fall back to high cap sooner
- Tweak build rejections for class N
2011-10-06 kytv
* Add diftracker.i2p to I2PSnark
2011-10-06 zzz
* RepublishLeaseSetJob:
- Out-of-order JobQueue 3nd try to fix
- Lower timeouts
* Reseed:
- Update host lists
- Switch back to https by default
* Throttle: Increase max message delay
* Transport:
- Add per-style send processing time stat
- Increase default SSU conn limit
2011-10-05 zzz
* Streaming: Fix build
* UDP: Catch address without key sooner
2011-09-30 zzz
* logs.jsp: Add wrapper version
* Shitlist: Shorten time
* Wrapper: Update armv7 to 3.5.12
2011-09-30 kytv
* fix umask bug by upgrading to wrapper v3.5.12. Binaries are from Tanuki's
delta pack for the community edition, except:
- Win64: not available from Tanuki--compiled with VS2010
- FreeBSD: Tanuki's binaries are compiled in FBSD v6. I compiled the
wrapper in FreeBSD 7.4 to eliminate the dependency on the compat6x port.
- Linux ARM: not available from Tanuki
- OSX: Tanuki offers separate binaries for 32bit VS 64bit. Our
wrapper is quad-fat supporting PPC32/PPC64 and x86/x86_64.
2011-09-29 zzz
* Bandwidth refiller: Reinitialize at restart, avoid
issues from clock skews
2011-09-27 kytv
* Remove exotrack.i2p from i2psnark
2011-09-24 zzz
* HTTPClient: Fix error page not appearing, broken by
StreamForwarder change
* HTTPServer: More mime types not to compress
2011-09-23 kytv
* Update Italian, Spanish, and Swedish translations
from Transifex
2011-09-20 zzz
* Crypto: Comment out some main()
* ClientMessage: Remove unused MessageReceptionInfo
* i2psnark: File allocation cleanup to use less heap
* i2ptunnel HTTPResponseOutputStream:
- Use reusable gunzipper and a larger pipe for efficiency
- Close output stream in StreamForwarder to prevent lost data,
existing bug but made worse by larger pipe
* I2PTunnelHTTPServer: Don't compress small responses or images
* I2PTunnel, NTCP: Catch unchecked exceptions from GNU NIO (ticket # 519)
* JobQueue, RepublishLeaseSetJob, StartExplorerJob:
Out-of-order JobQueue 2nd try to fix
* NetDB: Limit max explore queue
* RouterContext: Remove unused MessageStateMonitor
2011-09-16 zzz
* Console: Home page flag spacing
* EepGet: Add some new command line options
* JobQueue:
- Add warning to setStartAfter() as queue is no longer
continuously sorted
- Fix StartExplorerJob not calling requeue()
- More pumper cleanups
* Reseed:
- Add HTTP proxy authorization support
- Stub out SSL proxy support
- Disable i2pbote reseed
* Router: Fix router changing client-side tunnel options,
causing original tunnel quantity to not be restored
(ticket #513)
2011-09-14 zzz
* Console: Verify valid host/IP before saving on net config form
* i2psnark:
- Add refresh time option
- Add public file permissions option (ticket #501)
- Fix configuration of tunnel parameters (ticket #524)
- Allow changing I2CP parameters while tunnel is open
- Remove duplicated options in I2CP options string
- Don't open tunnel when saving config
* IRC DCC: Fix conn limit options
* Router: Set permissions on router.ping file
2011-09-13 kytv
* Update i2prouter script
* Build Executor:
- Limit max parallel builds on really slow machines (ticket #519)
- Slow down build loop when network is apparently disconnected (ticket #519)
* i2psnark: Fix inaccuracy in the completed bytes display
* NetDB: Disable floodfill at shutdown time if enabled
2011-09-09 zzz
* TunnelDispatcher: Fix bug in -13 preventing participating
tunnels from being expired and causing high CPU usage
2011-09-08 zzz
* Blocklist: Include IP in shitlist reason
* Ministreaming: Drop old classes replaced by streaming
years ago.
* NTCP: Hopefully fix race NPE, thx devzero
* Tunnels: Limit Bloom filter size based on max memory
2011-09-07 zzz
* Console: Limit max displayed participating tunnels
* JobQueue: Change queue from a Set to a TreeSet for more efficiency
* TunnelDispatcher: Change participant expire List to a Queue for
efficiency and to remove global lock. Also remove separate
time List for space savings.
* Console: Move jobs.jsp rendering code from
the router to the console
* Crypto: Rework use of SHA256 for efficiency and
to avoid clogging the Hash cache with one-time hashes,
and avoiding the global cache lock.
This also greatly increases Hash cache hit rates.
Also use SimpleByteCache for temporary byte buffers.
* I2PTunnel: Save keys to privkey file when enabling
persistent key after tunnel creation (ticket #480)
* JobQueue: Change queue from a List to a Set for efficiency
* PrivateKeyFile: Add more constructors
* SDSCache: Use weak refs; increase size for pub keys
* NetDB:
- Try again to fix ISJ deadlock, thx devzero
- Lower RI expiration again
- Expire RIs with SSU only and no introducers sooner
* Transport: Remove one global lock in OutboundMessageRegistry.
2011-09-03 zzz
* i2psnark: Fix "eject" button in certain browsers (ticket #511)
* UDP Inbound:
- Hopefully fix race NPE, thx devzero
- Catch some more fragment errors
- Exception and log tweaks
- Cleanups and javadocs
2011-09-02 zzz
* Console: Cache user-agent processing
* NetDB: Hopefully fix ISJ deadlock, thx devzero
2011-09-02 sponge
* I2PSnark: Fix GUI html tag for adding a torrent, it was missing a space.
2011-09-01 zzz
* Console: Enable color logs
* GeoIP: Cache country codes
* NetDB: Explore more aggressively if hidden or K
* UDP: Cleanups and introduction fixes
2011-08-31 zzz
* OCMOSJ: Remove some global cache locks, other cleanups
2011-08-30 zzz
* I2CP: Cache b32 lookups client-side
* I2PTunnelHTTPClient: Use existing session for b32 lookups
rather than a new SimpleSession
* Naming: Increase b32 lookup timeout to 15 sec.
2011-08-29 zzz
* NetDB:
- Replace the old parallel lookup method with a true
Kademlia lookup that iteratively queries additional floodfill
peers returned in DatabaseSearchReplyMessages. This is a more
efficient and reliable lookup that will work much better
when not all floodfill peers are known, and it removes a serious
limitation to network growth.
- Limit max number of DSRM entries to look up
- Cleanups, javadocs, log tweaks
* Tunnels:
- Increase timeouts on all deferred netdb lookups to 15s; add lookup stats
- Cleanups, javadocs, log tweaks
2011-08-28 zzz
* checkcerts.sh: New test
* Console: Remove 'firewalled and fast' message, just say 'firewalled'
* I2PTunnelRunner: Fix logging
* Log: Fix level stuck at DEBUG when using public constructor
* OutboundMessageRegistry: Cleanups
* Stats: Restore pre-0.8.8 API to not create a new Rate if it does not
exist in RateStat.getRate()
* UPnP: Lower some log levels
2011-08-26 kytv
* Debian: Bugfix: Avoid overwriting preseeded debconf values
upon package installation (ticket #514).
* Windows: Fix bug in fixperms.bat that occurred when installing on
non-English versions of Windows 7 and Vista.
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2011-08-25 zzz
* Blockfile:
- Avoid NPE after corruption (ticket #515)
- Add reverse lookup table; bump DB rev to 2
* I2PTunnelIRCClient:
- Big refactoring into multiple class files
- Allow AWAY and CAP messages
- First cut at DCC support - not for SOCKS (yet)
* Streaming:
- Hook I2CP ports through to I2PSocket
- Javadocs, init cleanups, final
* UDP:
- Complete rewrite of OutboundMessageFragments for
concurrent and for efficiency to avoid O(n**2) behavior
- Don't delay in OutboundMessageFragments at the end
of the loop if we have more to send now, this should
speed things up
- Queue a new send immediately after a packet is acked
- Send session destroy message when dropping connection
- Increase large MTU to 1492 (was 1350)
- Cleanups, log tweaks, javadocs, final
* 2011-08-23 0.8.8 released
2011-08-23 zzz
* Tweaks after review
2011-08-21 zzz
* RateStat: Cleanups and javadoc fixes
* susimail: Fix page encoding
* Translations:
- New Danish and Ukranian translations from transifex
- Update Italian, Chinese, Spanish, Polish, Swedish,
and Vietnamese translations from transifex
- Update .tx/config
2011-08-19 zzz
* Soft restart:
- Allow NTP to reinitialize clock after the comm system
in the first minute of uptime
- Fix i2ptunnels not restarting
- Increase minimum forward clock shift for soft restart
- Reduce minimum backward clock shift for soft restart
- Signal the I2CP client with a different message when restarting
- I2CP client reconnects when receiving restart message
2011-08-17 kytv
* Fix #506: Don't attempt to load systray4j when using a 64bit JVM
in Windows.
* Console: Tweak logs page CSS
* Graphs: Delete corrupt rrd file (ticket #483)
* UPnP: Fix bug causing failure when the PC has multiple interfaces
2011-08-06 kytv
* Fix #473 (wrapper.logfile set to the wrong path in Windows).
2011-07-31 zzz
* Crypto: Implement and then comment out an alternate
AES-256/CBC implementation using the JVM crypto libs,
and tests, it isn't faster
* Netdb: Add a job to refresh all the old router infos at startup,
to speed integration
- add libjbigi*core*jnilib, libjbigi-osx-none_64.jnilib, and
libjbigi-linux-ppc.so
- Add Linux PPC wrapper
* Add linux-ppc to NBI.
* Remove unused lock
2011-07-29 zzz
* Netdb Search:
- Follow all DSRM's, not just the last one, by moving the code
from the match job to the selector
- Update peer profile after SingleSearchJob
- Cleanups, javadocs, log tweaks, final
* ProfileOrganizer: Tweak fast tier size
2011-07-28 zzz
* Context: Split up big lock to avoid deadlocks
* Streaming: Avoid a rare exception on race
* TunnelPoolManager: Reduce race window for restarting a tunnel pool
2011-07-27 kytv
* Add armel (armv5tejl) wrapper. Compiled and tested in Debian Squeeze.
* Installer: The previous wrapper files only work on armv7
* NativeBigInteger: Move libjbigi-linux-arm.so to libjbigi-linux-armv7.so,
do ARM version detection in NBI.
* NetDB:
- Explore even more aggressively at startup
- Increase SingleSearchJob timeout
- Increase time at startup for processing DSRM
- Cleanups, final, javadoc, concurrent
* OutNetMessage: Cleanups
* Tunnels: Change another log error to a warn
* Watchdog: Improve the way it calls for a thread dump
2011-07-22 kytv
* Add a 64bit wrapper to OSX. With 0.8.7 came a fat Mac wrapper with i386 and PPC.
The included wrapper is now quad-fat (i386, ppc, x86_64, and ppc64).
2011-07-21 zzz
* Atalk: Remove this terrible example
* Console: Use capability method for counting integrated peers
* i2psnark: Don't let connection problem crash the DirMonitor (ticket #495)
* Netdb: Speed up collection of all the floodfill peers by using
PeerManager.getPeersByCapability()
* PeerManager: Capability cleanups
* Tunnel TestJob:
- Don't continue testing after the pool is dead
- Tweak test intervals
* TunnelPool: Make more methods package private
2011-07-18 zzz
* FileUtil: Add a rename method and a new copy method
* I2PTunnel: Rename privkey file when deleting tunnel to prevent inadvertent reuse
* Netdb: Update reseed lists
* Streaming: Improve conn limit log message
* UDP: Lower max port below 31000 since wrapper uses that
2011-07-15 zzz
* Shutdown:
- Cancel our JVM shutdown hook when shutting down
- Run a spinner task so shutdown always completes
- exit() instead of halt() so other JVM shutdown hooks run
- Prevent duplicate wrapper notifier hooks
- Notify the wrapper twice, once for stopping and once for stopped
2011-07-13 zzz
* Blocklist:
- Fix delayed lookup of reason from file
- Tag strings for translation
- Sort IPs on configpeer.jsp correctly
* SummaryHelper: Fix NPE at startup (ticket #493)
2011-07-10 zzz
* DH, YK:
- Improve YK speed test
- Shut down thread faster
- Refiller keeps going until full
- Cleanups
* I2PTunnel: Fix a shutdown hang
* Message Registry: Clear pending messages at restart / shutdown
* OCMOSJ: Clear caches at restart
* Router Clock: First cut at recognizing and reacting to large system
clock shifts by partially restarting the router. Also improve
restarts initiated from config.jsp
Tickets #465, #468, #494
* UPnP:
- Wait for a while to ensure port removal at shutdown or restart
- Fix device rediscovery and port opening after restart
* I2NP: Consolidate common code from TunnelBuildMessage and
TunnelBuildReplyMessage into a common base class
* Sha256Standalone:
- Use system SHA-256 MessageDigest instead of Sha256Standalone in PRNG
- Deprecate DataHelper functions using Sha256Standalone arguments;
used only by Syndie
- Note deprecation in javadocs
2011-07-07 zzz
* Blockfile:
- Log error on out-of-order spans
- Log error on corrupt level and discard
- Fix SkipSpan non-flush bug causing null levels
- Add level fixer that repairs nulls and out-of-order levels
- Fix bug on backwards span construction, not hit in practice
- Lots of log level changes
2011-07-06 zzz
* EepGet: Add method to add extra headers to request
* Floodfills: Increase again
* HTTP Proxy: Fix error on shutdown
* NamingService: Use HostsTxtNamingService if default fails to initialize
* Netdb: Catch exception on dup netdb entries
* Netdb exploration:
- Remove floodfills from dont-include list in exploration
DatabaseLookupMessage, as the dont-include-floodfills flag
has been supported since release 0.7.9.
This will make exploration work better, as there is room for
non-floodfills in the don't-include list now.
- Reduce min and max exploration intervals
- Explore aggressively at startup and if known routers is low
- Explore slowly if known routers is high
* PeerManager: Load profiles in separate thread to avoid slowing
down the context initAll()
* Tunnels: Use exploratory tunnels to help maintain a minimum number
of connected peers
2011-07-03 zzz
* AppContext: Add hasWrapper() method
* Shutdown:
- Clear more resources in peer manager, netdb, stat manager,
session key manager, naming service, tunnel dispatcher,
OCMOSJ (result of testing with jvisualvm)
- Don't call wrapper on shutdown (starting two threads) if we
were started with runplain
2011-07-01 zzz
* EepGet:
- Fix error output bug
- Output error data for 504 too
* I2PThread: Remove logging, too many issues with extra contexts
* Router, console, i2psnark: Change three errors to warns (tickets #479, #482, #487)
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2011-06-30 zzz
* BlockfileNamingService:
- Support readonly blockfiles
- Open blockfile readonly if not in router context
- Log warning if blockfile is locked
- Set as default
* DataHelper: Throw IOE if uncompressed data too big,
instead of silently truncating
* EepGet:
- Add method to get response code
- Add method to write error data to the output
- Increase buffer size to 8 KB
- Trim content type
* IRC Server: Send a message back if the tunnel is up but the server is down
* NewsFetcher: Change default interval to 36 hours
* Random: Refactor refiller for concurrent
* Shutdown:
- Register shutdown hooks for caches, in the first step of cleaning up
resources on shutdown, which is important in Android as the JVM
isn't going away.
- Clear profiles from memory on shutdown
- Add shutdown hook for AsyncFortunaRandomSource
- Implement and call shutdown for BandwidthRefiller
- Implement and register shutdown hook for i2ptunnel
- Implement and register shutdown hook for Jetty console server
- Implement and register shutdown hook for Timestamper
- Fix UPnP-SSDPNotifySocket thread not stopping
- Fix all but one UDP PacketHandler threads not stopping
- Fix i2psnark DirMonitor not stopping
- Fix UPnP-Disposer not stopping quickly
- Implement and call YKGenerator and DHSessionKeyBuilder shutdown
- Implement and call shutdown for RouterWatchdog
- Kill the global app context
- Recognize multi-router case
- Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
hanging on to old context
- Fix DHBuilder thread not stopping
- Stop I2PThread from starting a new App context at shutdown
- Stop LogWriter from starting a new App context at shutdown
- Have router kill any leftover App context at startup
- Fix I2PThread hanging on to old context
* Updates:
- Add the router version to the zip file comment in the updater
- Add a class to extract the zip file comment
- Require the sud version header to match the zip file comment
to prevent spoofing of the version number, since the version
number in the header is not covered by the sud signature.
2011-06-26 zzz
* Fixes after review:
- Fix Polish po file
- Install as a service by default on Windows again
- Change CPUID getters to package private
- Split new jbigi install messages into two lines
- Test script updates
- Javadocs
2011-06-21 kytv
* Make the i2prouter script fail more gracefully if there's
a problem loading the wrapper.
* Build: New targets for including jbigi in the updater
* Console: CSS tweak for flag box
* i2psnark: Recognize ktorrent
* Jbigi / NBI / wrapper / installer:
jbigi and wrapper files for arm.
Compiled on trimslice with gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
* NetDB: Increase floodfills and better adjustment based on available memory
* Router: Delete old libjbigi.so and libjcpuid.so at startup if jbigi.jar is newer.
This will force a reextraction by CPUID and NBI.
2011-06-13 duck
* Finnish, Italian, Polish and Vietnamese translations, thanks Transifex teams.
2011-06-13 zzz
* To ensure we don't release bad packages, fail the build
if gettext fails. Change property at top of build.xml if
you don't have gettext and want the build to continue.
2011-06-12 kytv
* Add jcpuid files (32 & 64bit) for Intel Macs
* Compile jbigi-osx-none for Intel Macs. libjbigi-osx-none.jnilib
is now a fat binary combining the already existing PPC
2011-06-11 zzz
* i2psnark Polish translation, thanks polacco
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2011-06-10 zzz
* CPUID, NativeBigI: Add support for atom, core2, corei, nano, pentiumm, geode
* Random: Add config setting prng.bufferSize to override the default 256 KB
* JBigI:
- Add new libjbigi-linux-xxx.so files built by sponge, now that we have
CPUID.java support for them (thanks hottuna).
See http://zzz.i2p/topics/306 for discussion and test results.
64-bit processors (atom, core2, corei, nano):
Built with GMP 5.0.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-5.0.2/
For 64-bit processors, both performance testing and
the GMP changelog http://gmplib.org/gmp5.0.html led us to use 5.0.2
for both the 32- and 64-bit versions, even though the files are twice as big.
5.0.x contains specific optimizations for atom and nano.
All 64-bit libs have _64 appended.
32-bit processors (pentiumm, geode):
Built with GMP 4.3.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-4.3.2/
The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
little or no performance difference between the two versions for 32 bit processors.
* Profiles: Skip and delete a corrupt profile read from disk
2011-06-10 kytv
* jcpuid & jbigi added for 64bit Windows (only used with a 64bit jvm).
2011-06-09 kytv
* Added an x64 wrapper for Windows. This is needed because a 32bit wrapper
cannot start a 64bit JVM.
* Build:
- Add standard manifest to jbigi.jar
- Don't do 'mtn list changed' if not in a workspace or not needed
* LogManager: Use DataHelper methods for loading and storing config
2011-06-08 kytv
* Update jbigi/jcpuid Windows dlls. As was done for FreeBSD and Linux, the
libraries for 32bit CPUs were linked against gmp-4.3.2 and those for the
64bit CPUs were linked against gmp-5.0.2.
2011-06-07 kytv
* Upgrade the wrapper to 3.5.9. Noticable changes include:
- FreeBSD amd64 is now a supported arch along with i386. To use the wrapper
with the most recent version of FreeBSD the port 'misc/compat6x' will need
to be installed.
- OSX: Both Intel and PPC Macs are supported. 32-bit support. If you'd like 64-bit
support, please file a bug in trac with the output of "uname -m".
* Upgrade jbigi/jcpuid for FreeBSD i386 and add support for amd64. As was done with
the Linux compiles, 32bit compiles were linked with gmp 4.3.2 and 64 bit builds
(as well as 32bit builds for 64bit cpus) were linked against gmp 5.0.2.
2011-06-06 zzz
* Drop andorid/ directory; further development will happen in
an android-only branch.
2011-06-05 zzz
* Console: Tag stat descriptions at declaration rather than in Strings.java
* Data: Remove duplicate signature verification code
in RouterInfo and LeaseSet
* DSAEngine: Add code for alternate implementation using Java libs;
disabled by default. Add test code to verify identical results
and compare speed.
* JBigI:
- Replace old non-PIC 32-bit linux libs (GMP 4.1.3 built in 2004)
with PIC libs built with GMP 4.3.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-4.3.2/
The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
little or no performance difference between the two versions for 32 bit processors.
See http://zzz.i2p/topics/306 for discussion and test results.
- Replace old non-PIC 64-bit linux libs (GMP 4.1.4 built in 2005)
with PIC libs built with GMP 5.0.2. License is LGPLv3.
Built by sponge with GCC 4.4.4, downloaded from
http://sponge.i2p/files/jbigi/gmp-5.0.2/
For 64-bit processors, both performance testing and
the GMP changelog led us to use 5.0.2 for both the 32- and 64-bit versions,
even though the files are twice as big.
See http://zzz.i2p/topics/306 for discussion and test results.
libjbigi-linux-athlon64.so was a 64 bit file; by the new naming standard
supported by NativeBigInteger, it is now a 32-bit file and the
64-bit one is libjbigi-linux-athlon64_64.so.
All new 64-bit libs will have _64 appended.
- Remove libjbigi-windows-athlon64.dll which was a duplicate of libjbigi-windows-athlon.dll;
NBI now tries athlon as a fallback for all 64-bit processors.
- Update build docs
2011-06-04 zzz
* NBigI: Recognize Android
* KeyGenerator: Restore old return type to not break ABI (thx kytv)
* Router:
- Add a lock for reading/writing the router.info file
- Check our RouterInfo validity after reading and before saving,
to catch fatal errors sooner
2011-06-03 zzz
* Android: More build updates, start working on JNI for GMP
* Build: Fix dependency issue cause by misspelled file name
2011-06-02 zzz
* Android: Build fixes
* Crypto:
- HMAC Javadocs and cleanups
- HMAC Use SimpleByteCache
* ElGamalAESEngine: Fixups required after SessionKey enforcement
* Reseed: Give up on a seed after 90% of fetches fail
* SessionKey: Enforce data size and prevent reuse
2011-06-02 sponge
* Remove txt file in BOB.jar as per zzz's request.
2011-06-01 zzz
* Crypto:
- Use java.security.MessageDigest instead of bundled GNU SHA-256 code
if available, which it should always be.
5 to 20% faster on Oracle JVM; 40 to 60% on Harmony;
5 to 15% on JamVM; 20x (!) on GIJ.
- Use java.security.MessageDigest instead of bundled Bitzi SHA-1 code
if available on non-Oracle JVMs, which it should always be.
Not faster on Oracle JVM; 30 to 60% faster on Harmony;
15 to 20% on JamVM; 10-15x (!) on GIJ.
2011-06-01 sponge
* ConfigClients stopClient stubbed out.
2011-06-01 sponge
* Re the below, using better way that kytv suggested.
There is more than one way to peel a pineapple...
2011-06-01 sponge
* Remove the one little html file that ends up in BOB.jar.
The file is NOT a javadoc file, it is a package file.
Still, it is zapped.
2011-05-31 zzz
* HTTP Proxy: Don't send redirect for POST (thx kytv)
2011-05-30 zzz
* I2CP:
- Append I2CP Version information to the Get/Set Date Messages,
so that both the router and client are aware of the other side's version,
and future protocol changes will be easier to implement.
Previously, router version information was not available to the client,
so when router and client were in different JVMs,
old clients would work with new routers
but new clients would not work with old routers.
After this change, we can design future changes so that new clients
will work with old routers.
This is an enhancement to the old protocol version byte sent by the client,
which we have never changed and probably never will.
- Prevent a client from setting the router's clock
- Javadocs
* i2psnark: Restrict swarm size for small torrents
* netDb: Don't refetch expiring router infos if we have enough
2011-05-28 zzz
* i2psnark: Fix bug preventing Robert from connecting to snark (thx sponge)
2011-05-27 zzz
* Console: Fix router.updateThroughProxy being set to false after saving
change on /configupdate when install dir is read-only.
(ticket #466)
* EepGet:
- Fix redirect loop (thx kytv)
- Reset redirect counter when retrying
* JBigI:
- Refactor to handle 64 bit libs and a list of fallback libs
- Logging tweaks
- Only check for one file name in library path
* CPUID:
- Recognize amd64 as x86
- Only check for one file name in library path
2011-05-25 zzz
* CPUID: Load 64-bit libcpuid if available
* HTTP Proxy: Address helper refactoring, address book add form
* JBigI:
- Start updating NativeBigInteger
- Remove k63 libs that are dup of k62; handle in NBI
* Naming: B32 fixes
* NetDB: Increase floodfills again
2011-05-23 zzz
* Console:
- Disable zh translation in graphs on windows due to font issues
- Force news refetch after URL change
- Fix NPE at startup
- Graph tweaks

sponge
committed
2011-05-23 sponge
* mbuild.sh fixups
* add new jcpuid/mbuild.sh -- pedantic naming
* jbigi/mbuild-all.sh -- pedantic naming
* see also http://zzz.i2p/topics/306?page=1#p3341
2011-05-22 zzz
* GeoIP: Read countries.txt in UTF-8
* Jetty: Fix build error that omitted local jetty patches from org.mortbay.jetty.jar;
affected 0.8.4 and 0.8.6 installers. Include jar in the updater for the next release.
2011-05-21 sponge
* mbuild.sh document and fixes
* mbuild-all.sh add cpu types
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
2011-05-20 zzz
* Certificate: Fix creation bug; improve router cert generation
* DataHelper:
- Undeprecate fromProperties() and toProperties()
- Undeprecate BOOLEAN_FALSE and BOOLEAN_TRUE
- Fix fromProperties() and toProperties() to correctly throw DataFormatExceptions
- Add sort option
- Efficiency improvements in writeProperties(), toProperties(), storeProps(), and toString()
- Fix encoding issues (ticket #436)
* i2ptunnel: Fix server-side stripping of X-Accept-encoding
* Jbigi / JCPUID:
- Remove nativeDoubleValue(), update jbigi README
- Unbundle jbigi.jar, create at build time
- Add support for new Intel family/model names.
- Add proper support for using Core2 machines as P4.
- Add support for identifying SSE 3/4.1/4.2/4A support on CPU.
- Rewrite cpuid.c so it builds with PIC (source only, binary not updated yet)
* LogManager: Try to prevent out-of-order logging at shutdown
* Naming Services, Addressbook, and SusiDNS:
- Add new API for Naming Services to support modifications
- Redesign HostsTxt NS as an interface to three
SingleFile NSs, one for each text file
- Add locking to SingleFile NS
- Redesign SusiDNS and addressbook to interface to the API
instead of accessing files directly
- SusiDNS requests addressbook update via the NS API
- Redesign addressbook to reduce memory usage when processing subscriptions
- Redesign SusiDNS to use much less memory by not loading in the whole
addressbook where possible
- Add new Blockfile NS for an on-disk database of hosts
Based on the BlockFile database:
http://www.metanotion.net/software/sandbox/block.html
with substantial enhancements to lower memory usage
and improve exception handling
- Remove old unused AddressDB NS, FilesystemAddress NS, and PetName NS.
- Restructure Dummy NS and Meta NS
- Redesign NS caching to use an LRU map
- SusiDNS checks for invalid host names
- SusiDNS IDN conversion and better support for non-ASCII host names
- Add b32 links in SusiDNS
- HTML fixes and cleanups in SusiDNS
- SusiDNS message and tagging cleanups
- SusiDNS new details page
* Stats and Graphs:
- Update to JRobin 1.5.9.1
- Major rework required for 1.5.9 API
- Disable graphs in JVMs that crash with 1.5.9 (gij, JamVM, Harmony)
- Make graph data persistent (3 month RRD on disk),
with option to disable
- Improve error handling
- Disable graph page refresh when appropriate
- Fix HTML errors
- Add restart marker on graphs
- Restore zh text on graphs
- Improve form save messages
- Add expires directive to graphs
- Refactor handling of required stats
- Clean up / shorten description for required stats
- Change bw.sendBps and bw.receiveBps from KBps to Bps
2011-05-13 zzz
* Increase min floodfills; decrease min routerinfo expiration
2011-05-11 zzz
* Use partitions of fast tier for various hops of client tunnels
2011-05-06 zzz
* Tunnels and profiles:
- Increase max fast and high-cap tier sizes
- Slow profile eval cycle after sufficient uptime
- Fix bug which started a new build after a successful build
- Misc. cleanups
2011-04-28 zzz
* Console: Try to prevent cascaded IllegalStateExceptions in .jsp code;
add logging for original error
* peers.jsp: Tag UPnP strings
* UPnP: Strip trailing nulls from incoming XML to prevent
"content not allowed in trailing section" exceptions
2011-04-11 zzz
* Console: Hide iframe on mobile browsers
* DataHelper: Speed up eq() (Ticket #437)
* HTTPServer: Strip inbound X-Accept-Encoding header
* netdb.jsp: HTML fixes
* Plugins: Log error when console server not found
* Reseed: Log tweak
2011-04-02 m1xxy
* routerconsole, i2psnark, ... I2P ahora también en español: ¡Bienvenidos los hispanohablantes!
- routerconsole, i2ptunnel, i2psnark, SusiDNS, Susimail fully translated into Spanish
(thx to PunkiBastardo and user)
* routerconsole, i2psnark, ...
2011-03-22 zzz
* Handle GNU JRE returning Long.MAX_VALUE for max memory
* i2ptunnel: HTML fixes
2011-03-20 zzz
* Console: Remove cache directives
* i2psnark: Fix peers stuck at uninteresting after metainfo fetch
* i2ptunnel: Change all clients to 3 hops by default (new installs only)
* Profiles:
- Nicer profile dump
- More efficient profile lookup for display
- Fix dumpprofile NPE
- Change file suffix from .dat to .txt.gz
- Set firstHeardAbout on creation
* Rate: Fix equals()
* Recognize links and links2 as text browsers
2011-03-12 zzz
* Blocklist: Add bogons since they won't change any more
* BuildHandler: Loop double-check
* Console:
- Fix HTML errors in form message box,
logs.jsp, netdb.jsp, profiles.jsp, stats.jsp,
configpeer.jsp, configtunnels.jsp, configupdate.jsp
- ngettext cleanups
* LogWriter: Prevent NPE after permissions fail
2011-03-11 duck
* Susimail: translation support, including dutch translation.
2011-03-10 zzz
* configclients.jsp: Split form up, fix HTML warnings
* configui.jsp: Fix lang setting broken by previous nonce change
* Console: Consolidate nonce handling
* eepget: Don't send X-Accept-Encoding header to proxy (ticket #422)
* logs.jsp: Fix NPE (ticket #430)
* netdb.jsp: Fix table alignment
* Tunnel Preprocessor: Use entropy for padding more efficiently
* Console:
- Parameterize download button tags (ticket #425)
- Clean up summary bar HTML warnings
- Just display a summary bar link for text browsers
- Move welcome div from the readme files to index.jsp
- Require a nonce to change language
* i2psnark:
- More efficient metainfo handling, reduce instantiations
- Improved handling of storage errors
- Improved handling of duplicate file names
- More metainfo sanity checks
- Metadata transfer error handling improvements
- Code cleanup, remove dead and duplicated code
2011-03-02 zzz
* BuildHandler:
- Limit request queue size
- Concurrent request queue
* OutNetMessage: Remove dead code
* Tunnel cleanups, final, javadoc
2011-02-27 zzz
* Console:
- Fix numerous readme HTML errors
- Fix flag locations in readmes
- desktopgui.enable now defaults to false; run systray if false
- Start icon app before console
- Restore systray form in configservice.jsp
- Only save lang when clicking on flags if desktopgui is running
- Only allow two-letter lang code from cgi parameter
* Reseed: Disable HTTPS until we have enough working hosts again
2011-02-24 zzz
* i2psnark:
- Fix delete and remove buttons for Opera and w3m
- Stop torrent if no valid trackers
- Fix war build dependencies
* BuildHandler:
- Lower participating throttler max limit
- Cleanups and loop checks
* Console: Fix summary bar HTML error
2011-02-22 zzz
* BuildHandler: Prelmiinary participating tunnel throttler
* I2PTunnel:
- Add spellcheck=false to textareas
- Fix HTML error in 503 error page
2011-02-19 zzz
* I2PTunnel: Fix standalone server tunnels
http://forum.i2p/viewtopic.php?t=5376
* Plugins: Fix signature verification if router.config specifies
trustedUpdateKeys (ticket #416)
2011-02-18 Mathiasdm
* Desktopgui now has an option to be disabled (desktopgui.enabled)
2011-02-17 zzz
* Build:
- Add includeAntRuntime=false to all javac targets
- Add build date, mtn rev, and changed file list to all manifests
- Add unless=uptodate to all jar and war targets
(bob and dtg still todo)
* Console: Add Arabic
* i2ptunnel: outproxy2 -> outproxyng (Ticket #394 take 2)
2011-02-15 zzz
* i2psnark: Details link shuffle, mostly restore 0.8.3 behavior
* Profiles: Punish rejections more, in an attempt to spread the
load more through the network
* Timers: Log cleanup
2011-02-14 Mathiasdm
* Fix headless issue without reboot
2011-02-13 zzz
* Connect Client: Minor NPE fix cleanup
* GeoIP: Prevent startup NPE (ticket #413, thanks RN)
* NetDB: Prevent ExpireLeaseJob NPE (thanks sponge)
2011-02-11 Mathiasdm
* routerconsole: fixed graphs using jrobin; and headless issue
in general: no more switches between headless and non-headless.
2011-02-11 sponge
* I2PTunnel: fix NPE in I2PTunnelConnectClient
2011-02-10 sponge
* I2CP: fix NPE in QueuedClientConnectionRunner
2011-02-10 zzz
* I2CP: Correctly close internal connections on the router side
when closed by the client, was causing massive memory leak
for internal clients using lots of sessions (thanks sponge)
* i2psnark:
- Improved magnet link parsing, use tr parameter if present
* i2ptunnel: Change shared clients default for new clients to false
* Streaming: Don't use iter.remove() on a COWAS
2011-02-09 sponge
* BOB: fixup delivery in config, adds config file versioning.
* I2CP: Fix most of the I2CP leaks. Two leaks remain, but they are small.
net.i2p.internal.QueuedI2CPMessageReader and
net.i2p.router.client.I2CPMessageQueueImpl
are the two remaining leaks.
2011-02-07 zzz
* i2psnark:
- Check for dup magnet torrent when adding torrent file
- Add exotrack.i2p (ticket #403)
- Disable spellcheck in textarea
* i2ptunnel: Generate error message when i2ptunnel.config save fails
(ticket #404)
2011-02-06 zzz
* i2psnark: Fix maggot links, and magnet links with trailing parameters (thx user)
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
2011-02-05 zzz
* .mtn-ignore: New, to make it harder to check in stuff you shouldn't
* BOB: Drop checked-in build dir
* i2psnark:
- Big refactor to support torrents where only the infohash is known
(i.e., added by magnet links)
- Big refactor to use accessors instead of public fields
- Add support for metadata transfer (BEP 9) via the
extension protocol (BEP 10)
- Add support for adding torrents via standard magnet links (BEP 9)
and "maggot" links (http://sponge.i2p/files/maggotspec.txt)
- Add support for peer exchange (i2p_pex)
- Add stubs for future DHT support (BEP 5)
- Add more information on torrent details page;
add details page for single-file torrents
- Make filename filtering consistent (ticket #368)
- Fix add-torrent locking (ticket #371)
- Fix opentracker configuration
- Add several connect-to-self checks
- Add support for using new I2CP bandwidth limiter
- Add support for using new in-session I2CP naming lookups
- Don't expire outbound Piece messages, since we now defer loading the
data from disk
* i2ptunnel:
- Change connect proxy default to outproxy2.h2ik.i2p (ticket #394)
- IRCClient: Use tunnel log instance
- Server: Full queue log tweak
* Build:
- Remove dup flag files (ticket #316)
- Remove BOB dependency on i2ptunnel
* Console: Add DTG to classpath for old installs
* I2PTunnel: Fix NPE
* RandomSource: Fix seeding from /dev/urandom
* Reseed: Limit time spent downloading from a single source
2011-02-02 sponge
* BOB: Revise lookup code, bump BOB version
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
2011-01-31 zzz
* Console: Put all socket handlers in same thread pool,
set min/max threads and idle timeout
* Context: Fix properties init
* DataStructures:
- Cleanups
* DecayingBloomFilter, DecayingHashSet: Cleanups and speedups
* Findbugs: Lots of cleanups
* I2CP:
- Add experimental bandwidth limiter
- Add I2PSession API method to update tunnel and bandwidth
configuration on an existing session
- Filter more system properties before passing them to the router
- Start work on passing per-message flags to the router via I2CP
* I2PAppContext: New getProperties() method
* i2ptunnel:
- Use context properties as defaults
* NetDB, DatabaseStoreMessage:
- Convert everything from DataStructure to the
new DatabaseEntry superclass
- Optimizations made possible by DatabaseEntry
- Don't rescan netDb directory unless changed
* OCMOSJ:
- Don't send expired messages
- Clean up stat init
* PeerManager: Make calculators static, take out of router context
* Router:
- Add new RandomIterator, use in UDP, peer selector,
profile organizer
- Add a stat to monitor peer selector run time
* RouterContext: Clean up clock overrides
* Streaming:
- Add new real sockets for easier porting of apps.
See http://zzz.i2p/topics/792 for info. Untested.
- Case cleanups
- Javadoc
2011-01-16 zzz
* Console: Allow editing of console args
* UDP: Prevent rare startup NPE
* UPnP:
- Change all log errors to warns (tickets #76, #95, #120)
- Double socket soTimeout to 2 seconds
2011-01-15 zzz
* Console: Add some HTTP headers in the view servlets
2011-01-12 zzz
* Log: Fix rare initialization problem
* PrivateKey: Fix hashCode()
2011-01-09 zzz
* DataHelper: Speed up and annotate sortStructures()
* Data Structures: More caching improvements, don't cache where we shouldn't
* NetDB: Don't rescan netDb directory unless changed,
to reduce Hash cache thrash (backport from test4)
* RouterInfo:
- Don't cache byteified data by default, to save ~1.5 MB
- Don't create empty peers Set, to save ~100KB
2011-01-07 zzz
* Data Structures: More caching
* i2psnark: Improve request tracking to reduce memory usage
2011-01-05 zzz
* build.xml: Fix findbugs target
* Fix some miscellaneous findbugs bugs
* i2psnark: Refactor request tracking to prevent possible deadlocks
* OCMOSJ: Fix cache bug
* TrustedUpdate: Fix key store bug
2011-01-02 zzz
* Console: Disable spellcheck in textareas
* Data Structures: More tweaks
* I2CP: Fix BWLimits Message reply in standard session
2010-12-31 zzz
* Console:
- Make themes and history.txt return 403 on error,
not 500, to avoid the new error page
- Add logging, enable with routerconsole.log=filename
- Link to full history.txt on help page
* Data Structures: Caching cleanups
* Datagram Dissector: Fix RuntimeException caused by reuse,
preventing iMule from connecting on UDP
(thanks devzero)
* i2psnark:
- Send cache directive for in-war icons
* OCMOSJ: Refactor cache keys for efficiency
2010-12-30 zzz
* Data Structures:
- New SDSCache for SimpleDataStructures
- New SimpleByteCache for byte[]
- Cache Hash, PublicKey, and SigningPublicKey
- Remove global lock in ByteCache
* I2CP: Missing piece of parallel naming lookup
* i2psnark: Fix buttons on Firefox 4.0b
* i2ptunnel:
- Use dropdown box to select interface for clients
- Warn on index page if required fields not set
* DSAEngine: Restore variants of methods using a Hash argument,
required by Syndie, removed in 0.8.1
* Reseed:
- Add new configreseed page
- Add StartCom CA cert required for www.i2pbote.net
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
2010-12-27 zzz
* Crypto: Cleanups and fixups
* Console:
- Add SSL support - To enable, change clients.config. Examples:
## Change to SSL only: just add a '-s'
clientApp.0.args=-s 7657 ::1,127.0.0.1 ./webapps/
## Use both non-SSL and SSL: add '-s port interface'
clientApp.0.args=7657 ::1,127.0.0.1 -s 7667 ::1,127.0.0.1 ./webapps/
## ...and change URLLauncher args further down for the browser to open https:// at startup if you like.
- Add a simple history.txt servlet
- Add form for I2CP options on configclients.jsp
* Context:
- Add hook for internal I2CP
- Change temp file random to Base64 http://zzz.i2p/topics/804
* Data structure caching:
- Use a single static null certificate in place of
tens of thousands of them
* graphs.jsp: Form tweaks, fix setting delay to 'Never'
* I2CP:
- Change from the internal pseudo-socket that was
implemented in 0.7.9 to an internal Queue that directly
passes I2CPMessage objects. For in-JVM clients,
this eliminates two writer threads per client and
avoids the serialization/deserialization of I2CP messages.
- New option i2cp.disableInterface to turn off external I2CP port
(7654) and allow internal clients only
- I2CP over SSL, enable with i2cp.SSL=true
- Bypass authorization for internal accesses
- Move BWLimits and DestLookup message support from
I2PSimpleSession to I2PSessionImpl
- Include the Hash in the DestReplyMessage on a failed lookup
so the client may correlate replies
- Add support for parallel lookups and BWLimits requests
- Add support for specifying the timeout for DestLookups
(can only be smaller than the router timeout for now)
- Extend dest lookup router timeout from 10s to 15s
* i2psnark:
- Backport TrackerClient NPE fix
- Fix last piece length calculation for torrents > 2GB (ticket #361)
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
* i2ptunnel:
- Get Log from the logManager instead of instantiating,
so we may adjust the levels on the fly
- Better logging of server errors
- Return 503 to client before closing i2p socket if server is not there
- Extend header timeouts for HTTP and IRC server tunnels
- Limit server blockingHandle threads
- Run standard server blockingHandles inline
- For clients, use a common thread pool that expires idle threads
rather than keeping 5 accept() threads for each client.
- Use pool for HTTP decompression also.
- Disable router host/port options when in router context
- Add blacklist, connection limit, and jump list options to edit form
* Pack200: Find and use either Oracle or Apache library at runtime;
neither required at compile time.
* Router: Convert 'mark router liveliness' thread to SimpleScheduler
* Stats: Change stat.full default to false
* Threads:
- Reduce thread pool sizes based on memory and/or bandwidth limits
- Tweak some thread names for clarity
* Update:
- Change the UpdateHandler to try all sources in a loop, rather than one,
so the user need not retry manually
- For each source, fetch the first 56 bytes and check the version
before downloading the whole thing, so we need not wait for every
host to have the latest before updating the news.
2010-12-26 sponge
* URI resource fixes from pre-review time from upstream prior merge
* Evolve URI fixs another step.
* Document how the URI path fix works.
* Fix 302 redirects so they URL encode properly.
* bump to -1
2010-12-13 dr|z3d
* Console themes: Midnight & Classic renovations.
2010-12-12 zzz
* i2psnark:
- Fix end-game deadlock
- Fix last-modified check for multifile torrents, causing
apparent loss of data after abnormal exit
- Tweaks
* I2CP: Change a log error to a warning (ticket #353)
* i2psnark:
- Restore text (ticket #273)
- Fix several HTML errors (ticket #273)
- Fix HTML error causing info links to be unclickable in dillo (tiicket #273)
- Fix alt text duplicated or looking bad in text browsers (ticket #273)
- Fix Opera button errors (ticket #332)
- Fix POST resubmission errors (ticket #334)
- Catch FetchAndAdd copy error (ticket #352)
- Set permissions on downloaded torrent files
- Hide some columns when not running
- Lots of spacing cleanups
- Rename images so users don't end up with unused files
- Remove ~15 unused images
- Clean up theme selection speed-coding exercise
- Indent fixes
* Log: Don't double-timestamp CRITS in wrapper.log
* News: XML fixes (ticket #350)
* Plugins: Better handling of signing keys (Ticket #351)
* TunnelPoolManager: Fix rare startup NPE (http://forum.i2p/viewtopic.php?t=5192)
2010-12-10 Mathiasdm
* I2PTunnel: Fixed up security fix.
2010-12-07 Mathiasdm
* I2PTunnel: Security fix: change server reply
to return 'I2PServer' instead of the actual servername.
- Resolve table header wrapping issue.
- Vanilla/Ubergine theme enhancements.
2010-12-05 zzz
* DataHelper: Have readLong() and readString() throw an
EOFException instead of a DataFormatException on EOF,
which should lower the log severity in I2CP and I2NP
when a client or peer disconnects.
* I2NP: Allow message to be written more than once,
instead of throwing an IllegalStateException
* Streaming: Restore I2PSocketManagerFull as public
(broke jwebcahe ticket #345)
* Transport: Hamachi address block 5/8 assigned by IANA
- Extensive reworking of ieshim.css for classic theme/Internet Explorer.
- Additional console_big.css files for other themes to enhance doublebyte glyph support.
- Make show/hide peers and stop/start all torrent buttons more obvious.
- Rework Vanilla icons to bring in line with color scheme.
2010-11-30 zzz
* I2CP: Try to hide Pipe closed messages (several tickets)
* i2psnark: Move PeerCheckerTask from Timer to SimpleTimer2
to save some threads
* Logging:
- Limit buffer size; block and wakeup writer when full
- Limit errors written to system log
- Add method to force a log below the current level
* Streaming: Change some logged errors to warnings
(tickets 76, 341 and others)
2010-11-29 zzz
* i2psnark:
- Don't timeout queued piece messages
* Logging:
- Use System locale and time zone for default date/time format,
so it matches the wrapper log time (we can't set the wrapper log time zone).
(existing installs must remove logger.dateFormat line
in logger.config to get system default format)
- Force RuntimeExceptions to CRIT level
- Don't have log() count buffer size
* Streaming: Make all classes outside the API package private
* UDP:
- Fix bug causing PacketPusher to loop quickly instead of sleeping
- Fix udp.sendCycleTime stat
- Fix speed values on peers.jsp
- Try to fix rare NPE (ticket 298)
2010-11-28 zzz
* Build: Move all dependencies to top-level build.xml,
so each sub-build.xml is only executed once
* i2psnark:
- Fix NPE and other partials bugs
- More extension message stubbing
- Log tweaks
* I2PTunnel: Deprecate destFromName()
2010-11-27 zzz
* Build:
- Add man pages to package
- New updaterWithJavadoc target
* configstats.jsp: Fix NPE
* Console:
- Linkify "plugin installed and started" message
- Add link to javadocs if installed
* i2psnark:
- Drop queued outbound requests when choked
- Redo some data structures and locking to hopefully prevent deadlock
- Memory reduction part 3: Return partial pieces to PeerCoordinator when choked
* Streaming: Fix race NPE at stream close
* I2PSnark: New alternative theme: "Vanilla".
* Big thanks to sponge for implementing the theme changer!
2010-11-27 sponge
* Plugin: ticket 336 fix NPE
2010-11-27 sponge
* Slackware: bump i2p-base version, so that it can be upgraded with the new
base code fixes.
2010-11-26 sponge
* i2psnark: Don't save theme parameter if it has not changed.
2010-11-26 sponge
* i2psnark: Add theme change and theme selection storage abilities.
* Console: Split initialNews.xml into a file for each language
don't copy to config dir at install.
* i2psnark: Clean up and enhance the PeerCoordinator's partial piece handling,
in preparation for more improvements
* LogManager: When not in router context, delay creating log file until required
* NetDb: Lower RouterInfo expiration time again
* Router: Prevent NCDFE after unzipping update file
2010-11-25 dr|z3d
* Console themes: Classic and Dark theme refresh.
* Fix langbox overflow issue in all themes.
2010-11-24 zzz
* configui: Add .pt
* configtunnels: Log cleanup
* graphs: Synch to conserve memory; cleanup
* i2psnark:
- Prevent dup requests during end game
(ticket 331 - thanks sponge and Oct!)
- POST parameter tweaks
- Message cleanup
* logs: Add trac login hint
* Router:
- Save some info to config file when installing or updating
- Remove global lock on accessing config
- Add global lock on reading/writing config file
* SimpleDataStructure: Fix problem in fromBase64() that
manifested itself as a configtunnels.jsp bug
2010-11-24 sponge
* Slackware, fix rc.i2p, bad logic.
2010-11-24 sponge
* Plugin: ticket 104 Fix webapp isRunning to check ALL webapps.
The only defecency is that if one is running, that it considers the
entire pliugin to be running. I'm not sure if that is a good thing
or a bad thing, but the other code checks threads that way.
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
2010-11-22 zzz
* Addressbook: Fix rename error on Windows (tkt 323 - thanks RN!)
* build.xml: Cleanup, fix distclean error in older ants.
* Console:
- Convert GraphHelper to a FormHandler
- Require POST for all forms
- Change the way we store the Writer to prevent problems
- Fix bonus setting on configpeer.jsp
- More ".jsp" removal
* i2psnark:
- Defer piece loading until required
- Stub out Extension message support
- Convert GET to POST, require POST
* NTCP: Log tweak
* SSLEepGet, Reseeder:
- Implement additional CA loading
- Provide facility to reuse SSL state for speed
- Provide facility to store previously untrusted certificates
- Add www.cacert.org cert to the installer and updater so
SSL on a.netdb.i2p2.de and c.netdb.i2p2.de will work
- Add SSL reseed hosts, prefer them by default
- Reseed message cleanup
2010-11-19 zzz
* Addressbook
- Store last-fetched time so we don't always fetch subscriptions after restart
- Randomize first fetch time
- Make most classes package private
* Console: Rewrite URLs so we don't need .jsp
* i2psnark: Recognize postman b32, recognize ogv and oga.
* i2ptunnel:
- More work on error propagation and improving log messages
- Increase nonce queue size again
* News:
- Store news last-fetched time so we don't always fetch news after restart
- Don't include news in the updater
* peers.jsp fixups
* PrivateKeyFile: Speedups and better messages
* SecureFile: New class, catch places that were missed,
add i2p.insecureFiles option to disable (default false)
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
2010-11-17 zzz
* Addressbook: Try to save files safely
* Console: Display durations with new tagged formatDuration2()
* DataStructures:
- Shim in 3 new abstract classes
SimpleDataStructure, KeysAndCert, and DatabaseEntry
* I2CP:
- Send DisconnectMessage at router shutdown
- Add username/password authorization
* I2PTunnel:
- Improve messages when starting and stopping tunnels
- Index page outproxy display cleanup
* I2PTunnel HTTP and Connect clients:
- Shim in a new abstract superclass I2PTunnelHTTPClientBase for common code
- Add local proxy username/password authorization
- Add outproxy username/password authorization
- Filter hop-by-hop Proxy headers appropriately
* I2PTunnel SOCKS and SOCKS IRC clients:
- Add local proxy username/password authorization
- Add SOCKS 5 outproxy support, with username/password authorization
* logs.jsp: Format multiline messages better
* Stats: Improve Frequency, enable coalescing; cleanup and javadocs
* stats.jsp: Cleanup, more tagging, hide obscure stuff unless ?f=1
* Streaming: Fix bug causing read() to incorrectly return EOF
2010-11-08 zzz
* I2CP: Fix NPE caused by null session options (seen in i2pbote)
2010-11-06 HungryHobo
* New Ant target: debianrepo
* Rename debian target to debian-binary
* New debian target generates binary and source packages
* Debian tweaks
2010-11-03 zzz
* Merge and snark fixups
2010-11-01 zzz
* ClientConnectionRunner: Add synch to fix race causing AIOOBE
(http://forum.i2p/viewtopic.php?t=5061)
* configlogging.jsp: Parse log limit with current locale
(ticket #118)
* i2psnark:
- Limit number of parallel requests of a single piece when in the end game
- Shorten and weight the speed tracker so the display is more
reflective of current speed
* logs.jsp: Add message if wrapper log not found
(ticket #103)
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
2010-10-30 zzz
* i2psnark:
- Priority mapping bugfix
- Close files as we go when creating/checking
so we don't run out of file descriptors
- Update request queues after priority change
- Only add wanted pieces to wanted list at startup
- Make sure lastRequest is null when it should be
- Delay during StopAll so we don't close the tunnel before the
stopped announces go out and reopen it
- Logging tweaks
2010-10-27 zzz
* i2psnark:
- Don't stay interested if we run out of pieces
to request (thanks sponge)
- Enhance debug mode to show requests
- Priority mapping bugfix
* Transport: Avoid rare NPE at startup
2010-10-24 zzz
* FileUtil: Make it easier to compile without Pack200, or with
Apache Harmony's Pack200, add unzip to main()
* i2psnark: Catch a race after disconnect()
* NTCP: Catch a race after stop()
* Router: Set permissions on wrapper.log when not called by RouterLaunch
* Systray: New doc and main()
2010-10-22 sponge
* Sanity and some fixs for slackware package
2010-10-22 sponge
* Fix rc.i2p for slackware package
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
2010-10-19 zzz
* Escape & in logs and i2psnark (much more to do)
* JobImpl: Deprecate two debugging methods
* replaceAll() -> replace() when we don't need regex
2010-10-15 zzz
* i2psnark: Add file priority feature
* I2PSocketEepGet: Set connect delay to save a RTT, will
speed announces in i2psnark
2010-10-12 zzz
*** 1.6 or higher JDK now required to build
* configlogging.jsp:
- Add easy way to add an override
- Make file size specifier more flexible
* Console:
- Sort RouterAddress options on netdb.jsp and peers.jsp
- Remove unused web-*.xml file from war
* Crypto:
- Convert all ArrayList caching to LBQs in YKGenerator,
HMACGenerator, and AESKeyCache.
- Change DSAEngine params from Hash to new SHA1Hash, since
these were really 20 byte hashes, not 32 byte Hashes.
- Add stats to track YKGenerator caching success
- Fix YKGenerator precalculation to be much more useful by
increasing the cache size and dramatically shortening the delay
- Option cleanups
- YKGenerator cleanups
- Mark HMAC256Generator unused
* EepGet: Reset length variable on redirect
* Files: Change permissions to 600/700 for all written files/directories.
Now requires Java 1.6 to build, but only 1.5+ to run.
(requires 1.6 to set permissiomns)
* GeoIP: Fix locking bug causing lookups to stop
* Hash: Throw IAE if data length is not 32 bytes,
now that DSAEngine abuse is gone
* HTTPResponseOutputStream:
- More caching
- Stats cleanup
- Max header length check
- Catch OOM
- Initializer cleanup
- Javadoc
* I2CP:
- Add new option i2cp.messageReliability=none, which prevents the
router from sending MessageStatusMessages back in reply to an
outbound SendMessageMessage. Since the streaming lib always ignored
the MSMs anyway, make it the default for streaming.
This will reduce the I2CP traffic significantly.
MSM handling now avoided, but it is still fairly broken, see
comments in I2PSessionImpl2.
- Cleanups to replace method calls with fields
- More cleanups, javadoc, rate reduction
* i2psnark:
- Compact response format
- Add link to finished torrent in message box
- Don't let one bad torrent prevent others from
starting or stopping
- Sort peers by completion %
- Add some missing mime types to web.xml
- shouldLog() cleanup
* i2ptunnel:
- Now that streaming flush() is fixed, use it in IRCClient, and
for initial data in I2PTunnel runner, to avoid the 250 ms
passive flush delay
- Add hostname DSA signature field, to be used for addkey forms.
Experimental, may be commented out later.
- More header blocking (thanks telecomix!)
- Remove unused web-*.xml file from war
* Installer: Add startup hint for non-x86
* Javadoc updates all over the place
* LogConsoleBuffer: Java 5
* Naming:
- Increase cache size and expiration time
- Add clearCache() method
- Don't use EepGet or Exec for b32
- Javadoc updates
* NetDB:
- Expire unreachable routers quickly, even if they don't have introducers,
so we don't have old data on routers that ran out of introducers.
- Fix rare NPEs at shutdown
* NTCP:
- Cleanups
* Streaming:
- Make flush() block less, by waiting only for "accept" into the
streaming queue rather than "completion" (i.e. ACK from the far end).
This prevents complete stalls when flushing, and should help performance
of apps that use flush(), like i2psnark (and SAM?).
close() still does a flush that waits for completion, as i2ptunnel
doesn't like a fast return from close().
- cleanups
* SusiDNS:
- Remove unused web-*.xml file from war
* TransportManager: Convert _transports from a List to a CHM
to prevent a rare concurrent exception
* Tunnels:
- Don't use peers < 0.7.9 for tunnels due to the old
message corruption bugs
- Javadoc
- Cleanups
* UDP:
- Beginnings of destroy message support
- Try to avoid running out of introducers by relaxing selection criteria
and increasing minimum number of potential introducers
- Avoid rare AIOOBE
- PacketBuilder refactor
- Make most classes package private
- Comments
- Logging cleanup
- Comment out a main()
2010-10-10 sponge
* Fulfill Request for name resolving in BOB
* I2PSnark: Overhaul UI, implement new theme.
2010-07-08 zzz
* I2PTunnel: More error propagation fixes
2010-07-07 duck
* RouterConsole: Add Help & FAQ link, minor label improvements.
2010-07-05 zzz
* i2psnark: Fix transition to end game
* I2PTunnelIRCClient: Filter PART messages like we do for QUIT
2010-07-04 duck
* RouterConsole: Dutch translation (thanks to monkeybrains)
2010-07-03 zzz
* Build: Fix poupdate dependencies
* I2PTunnel: More error propagation fixes
* I2PTunnelHTTPClient: Don't use BufferedReader
2010-07-01 zzz
* EventDispatcher: Minor cleanups and comments
* I2PTunnel: Don't start a tunnel if no valid destinations;
cleanups, logging, and error propagation fixes
* Transport: Fix NTCP address generation when host is specified but port is auto
2010-06-29 sponge
* 25%-50% cpu savings in BOB. The remainder of the fix is in streaming
lib, which aparently keeps running and does not sleep according to
profiling.
2010-06-29 zzz
* CapacityCalculator: Cleanup
* I2PTunnel: Add default HTTPS outproxy
* Jetty: Disable TRACE and OPTIONS in console and eepsite
* RouterInfo: Add main() to dump RI files
* Scale prng.buffers based on max memory, reduce default from 16 to 9
* SOCKS: Better HTTP error message
2010-06-26 zzz
* I2PTunnel:
- Move connection profile and delay connect to advanced config section
- Add persistent client key support to SOCKS IRC
- Fix display of interactive setting
* jbigi, jcpuid: Suppress log messages when not in router context
* jetty.xml: Add info on how to configure for following symlinks
* logs.jsp: Add more JVM version info so we can distinguish OpenJDK from Sun
2010-06-16 zzz
* Console: Sort countries with selected locale
* FileUtil: Try to handle lack of unpack200 support more gracefully
* Update: Select old update URL if no unpack200 available
2010-06-13 zzz
* Console: Add some divs for languages to news and readmes
* HTTP Proxy: Pass different User Agent to outproxy
* i2psnark:
- Move config to separate page
- Icon tweaks
* Translation: zh fix
2010-06-12 welterde
* fixed possible race-condition and improved code style in ObjectCounter utility class
* 2010-06-07 0.7.14 released
2010-06-07 zzz
* Misc tweaks after code review
2010-06-05 zzz
* Netdb:
- Use new receivedAsReply flag in LeaseSet to mark
those received as response to a query
- Mark which methods in FloodfillPeerSelector may return
our own hash
- Redefine selectNearest() so it may return our own hash,
so it can be used for closeness measurement
- Redefine findNearestRouters() to return Hashes
instead of RouterInfos
- Fix LeaseSet response decisions for floodfills, based
on partial keyspace and closeness measurements
- List only count of published leasesets in netdb
2010-06-03 zzz
* NewsFetcher: Delay a minimum amount at startup
* Update: Fix multiple updates after manually
starting update - caused by refreshing summary bar
(thx 'backup'!)
2010-06-02 zzz
* graphs.jsp: Tag some more
* Translation: Set xgettext add-comments option
* UDP: Fix a bug from a blank i2np.udp.host config
causing frequent RouterInfo updates and incorrect
addition of introducers, caused by config.jsp handling
* Update: Change default update URLs to .su2 for pack200
2010-06-01 zzz
* i2psnark:
- More listing fixes
- Revert choker change
* Installer: Disable pack200 in updater again, doesn't work
on Java 1.5
* Remove jetty from updater - it's been in for a few
releases, and i2psnark now has its own listHTML method
2010-05-27 zzz
* Translate: Add GNU ngettext (plurals) support
2010-05-26 zzz
* i2psnark: Listing fixes and cleanups;
icons on front page; tweak bw choker again
2010-05-23 welterde
* core:
- fixed major security hole in DatagramDissector
* I2PTunnelServer: Implemented WEBIRC support in IRC server tunnel
2010-05-23 zzz
* i2psnark:
- Choke slower when at bandwidth limit
- Fix completion % for small files
- Use Random from context
* NewsFetcher:
- Add backup URL
- Change to 0 retries (was 2)
2010-05-21 zzz
* i2psnark:
- Spiff up dir listings
- Urlify some messages
- Only go into end game at the end
2010-05-19 zzz
* Data: Remove lots of unnecessary initializers
* susidns: More validatation when adding entry
2010-05-15 zzz
* Console:
- Tag text in graphs
- Move SummaryRenderer to its own file
* Eepsite: Set no-cache in redirecting page
* Hash: Move caching XOR methods only used by KBucket
into netdb
* i2psnark: CSS tweaks
* Log: Translate priority
2010-05-13 zzz
* netdb.jsp debug tweaks
* Plugins: Try to prevent ZipErrors after upgrade
2010-05-10 zzz
* Console:
- Summary bar tweaks
- Add monthly bw estimate
* DataHelper: Deprecate inefficient eq() methods
* i2psnark:
- Add tunnel config dropdowns
- Comment out old proxy stuff
* NetDB:
- Handle old and duplicate stores more efficiently
- Have DataStore put() return success
- Move getDistance() to its own class
* Router: Add router.forceBandwidthClass advanced config for testing
* Streaming: Add support for connection throttling
* TunnelPoolManager: Concurrent
* UDP: To help limit connections, don't offer to introduce
when floodfill
2010-05-10 sponge
* PluginStarter: If there is some delay, there may be a really good reason for it.
Loading a class would be one of them!
So we do a quick check first, If it bombs out, we delay and try again.
If it bombs after that, then we throw the ClassNotFoundException.
2010-05-05 zzz
* build.xml: Create packed sud in release
* Console:
- Print stack trace if exception on startup
- IllegalStateException rather than NPE if no context
* EepGet: Limit max times to fail completely even if numRetries is higher
* i2psnark: Skip 'the' when sorting snarks
* I2PTunnelHTTPClient: Reject 192.168.*
* Plugins:
- Set classpath for specific client only, not for the whole JVM
- Use ConfigDir() not AppDir()
* Replace size() <= 0 with isEmpty() everywhere, ditto > 0 -> !isEmpty()
* RouterInfo: Clean up use of sortStructures()
2010-05-02 zzz
* ByteCache:
- Add a per-cache stat
- Limit each cache based on max memory
- Disable in UDP MessageReceiver
- Add clearAll() method to be called when under
severe memory pressure; call from Router
* Plugins: Fix version checker bug
2010-04-27 zzz
* i2psnark: Serve downloaded files from the servlet rather
than with a file: link
* Jetty: Backport directory listing bugfix from jetty 6
* peers.jsp: Cleanup and tag
2010-04-21 zzz
* EepGet: Don't convert a MalformedURLException into
* ReusableGZIPStreams:
- Concurrent
- Workaround for Apache Harmony 5.0M13 Deflater bug
* TrustedUpdate: Increase buf size for extraction
2010-04-18 zzz
* configclients.jsp: Start button logic for clients was inverted
* Console: IRC links in readmes and initialNews
* I2PTunnelServer: Debug log incoming conns
* Transport: Reduce floodfill max NTCP conns to 425 (was 500)
2010-04-16 sponge
* BOB early session destroy to speed up tunnel tare-down.
2010-04-15 zzz
* DataHelper: Limit max length in readline()
* Floodfills: Increase max to 100 (was 60) and min to 60 (was 45)
* i2ptunnel: Log tweaks
* I2PTunnelHTTPServer: Limit max header lines
2010-04-15 sponge
* I2PTunnelHTTPClient: Test for "http://:/" and output error page.
This avoids an ArrayIndexOutOfBoundsException, which can eventually
cause the eepproxy to stop functioning.
2010-04-12 zzz
* configstats.jsp: Fix full stats checkbox default
* i2psnark:
- Concurrent, limit, display, log tweaks
* i2ptunnel: Implement access lists for TCP servers.
Enter b32 or b64 hash or dest into list box, and
check enable for whitelist. Uncheck enable and enter
i2cp.enableBlackList=true in advanced i2cp options for
blacklist. Todo: make black/whitelists radio buttons.
* LogManager: Concurrent
2010-04-10 zzz
* i2psnark:
- Disconnect seeds that connect to a seed
- Lower per-torrent conn limits for large pieces
* Startup:
- Don't die horribly if there is a router.info file
but no router.keys file
http://forum.i2p/viewtopic.php?t=4424
- Log tweaks
* Streaming:
- Fix the window size increment logic so it
does it much more often
2010-04-08 zzz
* Key Manager: Hopefully avoid some races at startup
http://forum.i2p/viewtopic.php?t=4424
* OCMOSJ:
- Increase min timeout
- Logging tweaks
* Streaming:
- Detect and drop dup SYNs rather than create
a duplicate connection - will hopefully fix
"Received a syn with the wrong IDs"
- Send reset for a SYN ACK with the wrong IDs
- Don't send a reset to a null dest
- Logging tweaks
- Cleanups
2010-04-05 zzz
* Console:
- Add tooltip support for plugin links
- Make target=_blank for plugin links
- More HTML transitional fixes
- Standardize on 'save' to the right of 'cancel'
2010-04-02 zzz
* FloodfillPeerSelector: Adjust rankings again
2010-03-31 zzz
* FloodfillPeerSelector: Adjust rankings to try to
improve LeaseSet lookups
* HostsTxtNamingService: Don't load the whole hosts.txt
into memory for every lookup
* configclients.jsp:
- Always show start button for webapps and plugins
* configclients.jsp, configupdate.jsp:
- Fix submission when entering CR in a text box
* EepGet: Don't retry after a MalformedURLException
* HTTPResponseOutputStream: More static
* Plugins:
- Stop all plugins at shutdown
- Log tweaks
* WebApps:
- Remove the WAC after stopping it
- Stop a WAC before starting it to prevent dups
- Implement destroy() in addressbook to prevent dups
- Implement destroy() in i2psnark to prevent dups
Loading
Loading full blame...