Newer
Older
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)
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
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
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
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
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
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
* 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)
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
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
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
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
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
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)
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
* 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)