- Add support for hostname lookups over I2CP with new
HostLookup and HostReply messages.
- Move username / password from CreateSession
to GetDate for early authentication;
this is an incompatible chage.
Outside router context with authentication enabled,
new clients will not work with old routers.
Early authentication is not yet enforced, enable with
i2cp.strictAuth=true. Will change default to true in a later release.
- Block all actions before authentication.
- Better disconnect messages to clients for diagnostics
- Improve lookup command, add auth command in i2ptunnel CLI for testing
- Don't start ClientWriterRunner thread in constructor
- Don't flush in ClientWriterRunner unless necessary
- Send GetDate even in SimpleSession outside of RouterContext
- Improve SetDate wait logic to reduce locks and break out when
Disconnect received
- Add Disconnect handler to SimpleSession
- I2Ping cleanups
- Javadocs
- Just before midnight, flood to new location too so lookups
don't fail after keyspace rotation (ticket #510)
- Refactor RoutingKeyGenerator and UpdateRoutingKeyModifierJob
in support of the above
- Display next key on LS debug page
- Increase new kad size to K=24, B=4
- Fix router count by counting in the data store, not the kbuckets
- Randomize the order we load router infos at startup so we
don't bias the kbuckets
- Move KBucketSetTest to new directory
- Fix testSelf() as new implementation will never include myself
- Delete KBucketImplTest, not applicable/useful now
Next todo: port KBSTest from i2p.zzz.kademlia branch
- Move net.i2p.kademlia package from i2psnark to core, and convert
netdb to use it.
- Delete old implementation in netdb
- Fixups in netdb for generics
- Add debug output to /debug
This is the next step in the development plan, in which we previously:
- Copied the code from netdb to the i2p.zzz.kademlia branch, fixed it,
and made it generic for hash size (June 2012);
- Moved it from the i2p.zzz.kademlia branch to the i2p.i2p.zzz.dhtsnark
branch, and implemented KRPC with it (June 2012);
- Propped it from i2p.i2p.zzz.dhtsnark to trunk for 0.9.2 (July-Sept. 2012);
- Proved it out in 0.9.2 - 0.9.9 (Oct. 2012 - Nov. 2013)
The plan was to maintain the KBucketSet public methods throughout the development
so we could drop the new version back into netdb, so here we drop it in.
Setting of K=16, B=3 is just an initial guess, to be reviewed.
This moves about 18 KB from i2psnark.jar to i2p.jar and removes about 12 KB from router.jar.
Unit test fixup: todo.
This will improve network capacity.
Apparent problems with lower limits were actually due to
unrelated bugs that were fixed by 0.9.8.1-22.
This can go lower still; I've been testing 33% without issues.