- Add support for requesting an encrypted reply
* NetDB:
- Add support for encrypted DatabaseSearchReplyMessage and DatabaseStoreMessage
in response to a DatabaseLookupMessage
* PRNG: Cleanups using Collections.singletonMap()
* Router utils: New RemovableSingletonSet
* TransientSessionKeyManager:
- Support variable expiration for inbound tag sets
- Several efficiency improvements
* VersionComparator: Add static method, use most places
- Handle gzipped input data in merge tool
- Add script to generate compressed data
- Add local additions
- Add compressed data file, generated from Maxmind data fetched 2013-05-24
- Include data in installer and updater
- Update Maxmind license info, now CC-SA 3.0
- Deprecate some setters
- Add warning about setCost()
- Change cost storage from int to short
- Cost range checks
* NTCP:
- Republish even if only changing cost
* Transports:
- Sort multiple peer addresses by cost, with adjustment for local IPv6 preference
- Add default IPv6Config for ease of changing later
* RouterAddress and RouterInfo toString() cleanups; don't cache RI in _stringified
* NTCP: Fix publishing address when host specified but interface is not
* log tweaks
- Add floodfillEnabled() to NetworkDatabaseFacade so callers don't
have to cast to FNDF, and Dummy NDF will work
- Remove static FNDF.floodfillEnabled()
* SSUDemo: cleanups
- Pass device IP back in forward port callback
- Only declare success if forwarded IP is public
NTCP: Bad bind config not fatal
GeoIP:
- Use cached IP in RouterAddresses
- Use both NTCP and SSU addresses
- Skip IPv6 for now
Blocklist:
- Add IPv6 in-memory single list
- Limit in-memory single list size
- Fix dup check in getAddresses()
* Start transports in a standard order to make testing easier
* When transports learn of interface addresses before being started, save them
and use them at startup
* Pick SSU random port before startListening() and have the TransportManager
pass it to NTCP before starting
* Only restart NTCP after changing addresses when necessary;
prevent thrashing at startup (ticket #459)
* Only call rebuildRouterInfo() once at startup
* More checking of min/max SSU port config
* Invalid SSU bind config no longer fatal
* Allow "true" for ipv6 config
* log tweaks
* javadocs
- Add new constructor
- Add add getHost() and deepEquals()
- Compare host string, not IP, in equals()
SSU:
- Remove all _external* fields; use _currentAddresses in super
- Big rework of externalAddressReceived(), rebuildExternalAddress(),
needsRebuild(), and replaceAddress() for multiple addresses and IPv6
- Add caching in UDPAddress
- More IPv6 flavors of utility methods
- Remove two-art replaceAddress()
* SSU Introduction:
- Document that Alice-Bob RelayRequest/RelayResponse may be IPv4 or IPv6,
but don't implement IPv6 yet.
Changes required in IntroductionManager and PacketBuilder to send Alice's
IPv4 address in the RelayRequest packet over IPv6, and to publish
IPv6 introducer IPs.
- Bob-Charlie RelayIntro must be IPv4
- Only offer/accept relay tags as Bob or Charlie if the Bob-Charlie session is IPv4
- Alice-Charlie communication must be IPv4
- javadocs