Commits
- Commit:
08f93dead1349baf90feec44722032cee6e6fc42- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.4
- Fix query/ping flood from timeout retry loops
- Owner-only delete and TTL reduction protection
- NAT rebind handling (clear bans on port change)
- Ban threshold 3 -> 10 for UDP/NAT tolerance
- delete_callback for application-level notification
- lookups_started metric
- Commit:
15c4eb2a119a29e3d1fc610bbd76e0e1a3f3db46- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Update Cargo.lock for 0.1.3
- Commit:
6389bcb607f07c2d203e77f9fe8c858a0a95c58f- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.3
- Fix find_value_reply serialization offsets (ID_LEN=20 vs 32)
- Chunked find_value replies to avoid IP fragmentation
- Increase UDP recv buffer to 65535
- Debug logging for signature failures and send results
- Commit:
08a262b9bd8293d8bae147e81383fb4ed17c728b- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Fix find_value_reply offset bug and increase recv buffer
The find_value_reply handler used hardcoded offsets (off+24, off+26,
off+28) that assumed ID_LEN=20, but ID_LEN is 32. This corrupted
the NodeId field and left the flag byte as zero, causing receivers
to reject the reply with "invalid message".
Also increase the UDP recv buffer from 4096 to 65535 to prevent
truncation of large value replies (which invalidates the Ed25519
signature). Promote signature verification failure log to DEBUG.
- Commit:
557852ef3b2a4388f135fa0182adf7b84fc320b5- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.2
- Commit:
1cc0f3b34c7ff29675d5130a1c17fe5ab7f16ac6- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add unban() to BanList and expose it on Node
Allows callers to clear bans for specific addresses, needed
for re-join logic where bootstrap peers may have been banned
after transient failures.
- Commit:
97cc9c29c3017c7d72d304e4206aefcdf4839c85- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Update Cargo.lock for 0.1.1
- Commit:
b097d0e4d93c7338dea619e4a088c96b41701498- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.1
- Commit:
4cff87560ba238ba6eebd16b1465c0ebae2f6ac2- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Remove stale peers without replacement from routing table
When a peer exceeds STALE_THRESHOLD failures and the replacement
cache is empty, remove it outright instead of leaving it in the
bucket indefinitely. Prevents phantom peer accumulation in small
clusters where the cache rarely fills.
- Commit:
c4076f54c9e66afb73081fd33b4176ba4407a8a5- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Update repository URL and reset version to 0.1.0
- Commit:
a156b6d104d846cc6d438a6d1368485e7eafd7e0- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add brief project description to README
- Commit:
9821aabf0b50d2487b07502d3d2cd89e7d62bdbe- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Initial commit
NAT-aware Kademlia DHT library for peer-to-peer networks.
Features:
- Distributed key-value storage (iterative FIND_NODE, FIND_VALUE, STORE)
- NAT traversal via DTUN hole-punching and proxy relay
- Reliable Datagram Protocol (RDP) with 7-state connection machine
- Datagram transport with automatic fragmentation/reassembly
- Ed25519 packet authentication
- 256-bit node IDs (Ed25519 public keys)
- Rate limiting, ban list, and eclipse attack mitigation
- Persistence and metrics
- OpenBSD and Linux support
