opendht

OpenDHT: a C++17 Distributed Hash Table implementation

GPL-3.0 License

Downloads
455
Stars
1K
Committers
52

Bot releases are hidden (Show)

opendht - 1.7.3

Published by aberaud about 6 years ago

  • many proxy server/client fixes
  • performance improvements
  • improved behavior in case of CPU contention
  • added more unit tests
opendht - 1.7.2

Published by aberaud over 6 years ago

  • dht: prevent unavailable address family (ie. IPv6) to block a search indefinitely in some network conditions.
  • dht: fix the put() operation occasionally never completing or taking a long time to complete.
  • proxy client: set the dht state to connected on push notification reception to allow proper handing of the notification.
  • dhtrunner: fix null pointer access when retreiving the public address of a stopped/uninitialised node.
opendht - 1.7.1

Published by aberaud over 6 years ago

  • dht proxy: various fixes
  • cleanup
opendht - 1.7.0

Published by aberaud over 6 years ago

  • Dht: automatic listen multiplexing,
    resulting in reduction of network usage when performing
    multiple listen operations on the same key.
  • Dht, DhtRunner: new listen() API method with callback argument
    allowing to be informed of value expiration.
    The callback has the following signature:
bool(const std::vector<std::shared_ptr<dht::Value>& values, bool expired>)
  • Dht: added value cache used by above features
  • network: added value expiration and refresh signals for listen operations
  • tests: added automated unit tests using CppUnit

Since 1.7.0rc7:

  • proxy server: fix deadlock
  • proxy server: improve performance
opendht - 1.7.0rc7

Published by aberaud over 6 years ago

  • proxy client: catch exception in case of name resolution error
  • proxy client: properly reschedule persistent put on refresh notification
  • proxy server: catch exceptions during request handling
opendht - 1.7.0rc6

Published by aberaud over 6 years ago

  • proxy client: make behavior consistent with the dht node during shutdown
    and network disruption
  • proxy: add permanent put push notification refresh
  • proxy: allow one push listener per token.key.client combinaison
  • proxy: other minor bug fixes and adjustements
  • dht: fix occasional use-after-free on network failure
opendht - 1.7.0rc5

Published by aberaud over 6 years ago

  • proxy client: fix potential use-after-free
  • proxy REST API: remove duplicate token
  • value cache: cleanup
  • crypto: add more checks
opendht - 1.7.0rc4

Published by aberaud over 6 years ago

scheduler: avoid possible integer overflow with buggy stdlib

opendht - 1.7.0rc3

Published by aberaud over 6 years ago

  • fix potential memory leak in the value cache
  • multiple proxy-related fixes
  • improve IP address reflexion when using the proxy
opendht - 1.7.0rc2

Published by aberaud over 6 years ago

  • fix use-after-free in cancelListen when using the proxy
opendht - 1.7.0rc1

Published by aberaud over 6 years ago

  • Dht: automatic listen multiplexing,
    resulting in reduction of network usage when performing
    multiple listen operations on the same key.
  • Dht, DhtRunner: new listen() API method with callback argument
    allowing to be informed of value expiration.
    The callback has the following signature:
bool(const std::vector<std::shared_ptr<dht::Value>& values, bool expired>)
  • Dht: added value cache used by above features
  • network: added value expiration and refresh signals for listen operations
  • tests: added automated unit tests using CppUnit
opendht - 1.6.1

Published by aberaud over 6 years ago

  • multiple proxy client/server fixes
  • building indexation is now optional (enabled by default)
  • update included argon2
  • minor cleanups
opendht - 1.6.0

Published by aberaud over 6 years ago

  • push notification related fixes
  • reduced CPU usage
  • reduced memory usage
opendht - 1.6.0rc2

Published by aberaud over 6 years ago

  • crypto: don't try to generate certificates expiring after 2038 on 32bits platforms
  • crypto: reduce default certificates expiration time to 10 years
  • dhtnode: fix cancelListen
  • dhtnode: generate RSA key to allow receiving encrypted messages
  • fix build on clang clang-802.0.42
opendht - 1.6.0rc1

Published by aberaud over 6 years ago

  • added REST proxy client implementing the DHT API
  • added optional support for push notifications through the proxy server,
    using the gorush REST API: https://github.com/appleboy/gorush#web-api
  • DhtRunner: now able to use DhtProxyClient as a DHT node
  • DhtRunner: can switch between local or proxy node during runtime
  • SockAddr: added methods to handle IPv6-mapped IPv4 addresses
  • iOS: handle SIGPIPE on UDP sockets by recreating sockets
  • fixed occasional crash during packet processing
opendht - 1.5.0

Published by aberaud almost 7 years ago

  • added REST server implementing OpenDHT proxy API
  • tools: added simple Web client using the proxy server
  • tools: allow dhtnode to run a proxy server
  • tools: allow dhtnode to use any string as key
  • InfoHash: added operator bool()
  • minor performance improvement
  • SockAddr: fix endianness issue
  • net: fix incorrect reported address parsing
  • minor memory leak fixes
opendht - 1.4.1

Published by aberaud about 7 years ago

  • updated MSVC project
  • bug fixes
opendht - 1.4.0

Published by aberaud about 7 years ago

  • improved Doxygen documentation
  • cmake: add support to build documentation
  • cmake: improve build on macOS
  • API change: storage policies, getPublicAddress now use SockAddr
  • NodeExport: added msgpack serialization
  • fixed issue that could cause occasional request failures
  • minor bug fixes
  • minor performance improvements
opendht - 1.3.6

Published by aberaud about 7 years ago

  • cmake: fix build on macOS when using brew
  • fix value expiration time
  • python wrapper: fix invalid pointer access
opendht - 1.3.5

Published by aberaud over 7 years ago

  • Decrease default MTU to 1280
  • Better handling of slow connections
  • Faster connectivity state change in case of connectivity loss on a protocol
  • Reduce ICE candidate lifetime to 1min