- Ignore padding beyond last multiple of 16 (prep for obfuscation)
- Comment out xor with 0 (version)
- Don't need to zero IV buf before overwriting
* AES:
- Decrypt speedup by XOR in place
- Log if decrypt not mod 16
- Add new I2CP RequestVariableLeaseSetMessage
- Send RVLSM if client supports it; handle on client side;
disabled by default for the moment.
- Add LeaseSet.getLatestLeaseDate()
- Check latest, not earliest, date too far in future in KNDF.validate()
- Check latest date too far in past in KNDF.validate()
- Only check gateway and tunnel ID for equality in OCMOSJ lease caching to reduce churn
- Split up KNDF.validate(RI) for efficiency, don't need to check
signature, netid, etc. before lookups, only on store
- Remove enforeNetID config
- Fix major bug causing newer leasesets to be treated as older, and not stored or published
- Increase max adjustment time of earliest lease
- TransientDataStore cleanups
- RouterInfo and LeaseSet equals() speedups
- Fix bug that kept reverse index from being updated
- Bump DB version to 3 to trigger repopulation of the reverse index
- Make metaindex final
- Add freelist check to the main() test
- Fix debug netDb.alwaysQuery setting so it works again, and always
sends to that router first (move from FNDF to IterativeSearchJob)
- Don't reuse DLM reply key/tag
- FloodfillPeerSelector: Note unused kbucket param in javadocs
- Debug logging for encrypted DSRM/DSM
- 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
- 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
support for Solaris (tested with Solaris 11 x86)
mbuild-all.sh:
- output correctly formatted file names (tested in Solaris x86, FreeBSD (x86 and x64) and Linux (x86 & x64))
- switch from echo -e to the more portable printf
- more error checking, comments
debian/patches: refreshed based on changes to core/c/*
libjcpuid-x86_64-solaris.so: built in solaris 11 x86 with
java 1.7.0_07 and gcc 4.5.2, stripped
- 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()
- 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