Change from 60s DHS to 60m DBF
Use reply key as filter key, not first part of
encrypted data, to match the specs and hopefully reduce dups
BuildMessageProcessor cleanups
log and stat tweaks
remove deprecated methods
remove some timing measurements
javadocs
eliminate caching previously enabled for routers with high memory limits
Log tweak on sig verify fail
DataHelper.writeLong() to write(byte) conversion
DatabaseEntry: Remove deprecated, unused setRoutingKey()
- Change addCapabilities() to getCapabilities()
- Add netdb family sign/verify utility (ticket #1510)
(verify not yet used)
RouterInfo:
- Remove addCapability() and delCapability()
StatPublisher:
- Remove Service interface, not required
- Consolidate getCapabilities() and network ID here
- Add family signatures
- Remove unused coreVersion and stat_uptime (as of 0.9.24)
NetDb: Drop all-zero lookups and stores, add stats
SSU:
- Fix debug logging of dumped packets
- Drop sessions with bad clock skew, banlist peer, add stats
- Drop sessions with corrupt DSM, banlist peer, add stats
Log tweaks
to reduce object churn, we only need one
Add DeliveryInstructions.create() to return immmutable
local instructions, to reduce object churn
Minor cleanups
Move some data structures away from ByteArray; offsets were always zero
- New BuildRequestRecord constructors
- BuildRequestRecord field becomes final byte[222]
- IV becomes byte[16]
- Build record becomes EncryptedBuildRecord
Remove extra copy in BuildRequestRecord.encryptRecord()
Remove unused BuildRequestRecord.readOurIdentityMatches()
- Move from core to RouterKeyGenerator in router.jar
- Leave RoutingKeyGenerator as a simple abstract class
- DatabaseEntry now uses timestamp instead of mod data
to determine if mod data has changed. Don't expose
mod data to DatabaseEntry any more.
- I2PAppContext.routingKeyGenerator() now returns null;
you must be in RouterContext to get a generator.
- Verify crypto key pair in LS
- Verfiy same dest as before in LS
Router: Don't try to use an unavailable sig type for the router,
even if it's the default
RouterInfo: Work around unsupported raw signatures for
RI Ed25519 sig type
Router:
- Use eepPriv.dat format for router keys file (thx orignal)
- Consolidate router keys readin code
- Update killKeys file list
RouterPrivateKeyFile: New extension to add getRouterIdentity()
- New router.sigType config
- Generate / regenerate router keys based on config
- New router.keys2 file format for sig types and padding
- Fix RouterInfo.readBytes() signature verification with sig types
- Catch unset padding in KeysAndCert.writeBytes()
- Catch key errors in ReadRouterJob
- Show RI sig type on /netdb in console
- Move some things from Router to startup classes
- Startup classes package private
- Buffer readin of key files
- Remove configurability of router.info and router.keys file locations