| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The correct state was returned but not set internally in the
lookup_struct, causing lookup_wait to return a lookup in LU_PENDING if
the wait timedout.
This also unlocks the IRMd during register calls and fixes some
cleanup if lookup_wait gets interrupted.
Fixes #48
|
|
|
|
| |
This fixes several bugs as reported by the clang static analyzer.
|
|
|
|
|
| |
This fixes several memleaks as reported by valgrind. It also fixes
some calls to close() with -1.
|
|
|
|
|
|
|
|
|
|
| |
This revises the build system to have configuration per system
component. System settings can now be set using cmake.
The standard compliance defines were removed from configuration header
and are set in the sources where needed. Also some small code
refactors, such as moving the data for shims out of the ipcp structure
to the respective shims were performed.
|
| |
|
|\
| |
| |
| | |
lib: Fix instability in threadpool manager
|
| |
| |
| |
| |
| |
| | |
The DHT failed when receiving multiple responses in a short
timeframe. The lookup struct now keeps track of the number of
outstanding requests.
|
|/ |
|
|
|
|
| |
This fixes several assignments to the wrong enum type.
|
|
|
|
|
|
|
|
|
| |
The DHT lookup would stop if a node returned no new useful information
(i.e. the value for the key or unknown nodes closer to the key)
without waiting for other pending requests that could still return
useful information. Now it correctly tracks the number of outstanding
requests or returns if it doesn't get a response for KAD_T_RESP
seconds. This fixes multi-hop flow allocation over the normal.
|
| |
|
|
|
|
|
|
|
| |
Fixes a memory leak when the DHT is destroyed during a send_msg. Fixes
a deadlock when destroying the DHT with a pending lookup. Removes some
debug logs that clutter output due to expected redundant FIND_VALUE
responses.
|
|
|
|
|
|
|
| |
This will make the remote retry sending responses when the DT
component can't send the message. This is most useful at enrollment,
when the remote's routing table may need to wait a bit on the routing
component for a path to the new member,
|
|
|
|
|
| |
Not all returned contacts were processed when a FIND_NODE or
FIND_VALUE message was returned.
|
|
This implements a Distributed Hash Table (DHT) based on the Kademlia
protocol, with default parameters set as used in the BitTorrent
Mainline DHT. This initial implementation is almost feature complete,
except for some things to be done after a testing period: caching and
stale peer bumping, and setting the expiration timeout via the IRM
tool.
|