Commit Graph

291 Commits

Author SHA1 Message Date
Arvid Norberg d6b1aa4c36 DHT refactoring and support for storing arbitrary data with put 2013-12-27 04:28:25 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 11a584991b fix bug in dht logging build 2013-12-21 09:22:10 +00:00
Arvid Norberg 70735a0a67 minor ifdef tweaks and DHT logging 2013-12-21 07:18:49 +00:00
Arvid Norberg 5d822706e1 add invariant check to dht routing_table 2013-12-20 04:54:52 +00:00
Arvid Norberg ce99fd47f2 enable all DHT logging (when building with dht logging enabled) 2013-12-20 04:54:27 +00:00
Arvid Norberg 412842365a add backwards compatible reading of IP field in DHT messages 2013-12-20 04:47:41 +00:00
Arvid Norberg 93d7d89ced fix issue with obfuscated_get_peers where peers in responses to obfuscated requests would still be returned. slight refactoring to move traversal algorithm level logic to traversal_observer class 2013-12-14 23:25:38 +00:00
Arvid Norberg f11959b235 fix initialization order warnings 2013-11-28 08:48:17 +00:00
Arvid Norberg d03d50b6a8 reorder some more fields to reduce padding 2013-11-26 02:23:33 +00:00
Arvid Norberg f9d3571915 merged fix from RC_0_16 2013-11-23 11:06:35 +00:00
Arvid Norberg 8f2683fe5d improve routing_table::depth() performance 2013-11-13 02:17:33 +00:00
Arvid Norberg 0f298dbe88 make the definition of routing table depth a bit more reliaxed in the DHT 2013-11-02 16:07:47 +00:00
Arvid Norberg b911129a12 merged fixes from RC_0_16 2013-11-02 03:35:45 +00:00
Arvid Norberg 1d55894bef improve obfuscated get_peers 2013-10-26 22:59:55 +00:00
Arvid Norberg dd55082321 fixed typo in dht put signature parsing 2013-10-22 07:12:31 +00:00
Arvid Norberg 1a2226b8f0 fix test_dht to take into account the slightly more relaxed semantics of routing_table::find_node 2013-10-22 05:20:00 +00:00
Arvid Norberg a627a4e156 add negative test for put/get DHT feature. fix bug in signature verification and in DHT unit test 2013-10-22 01:24:33 +00:00
Arvid Norberg 1b888eeec6 optimize DHT 2013-10-20 07:06:42 +00:00
Arvid Norberg 17d276e060 move dht_flood.py into tools. only reveal 3 bits passed the shared target prefix when doing obfuscated dht lookups 2013-10-16 23:19:18 +00:00
Arvid Norberg 5388f0af74 improve valgrind runs of test_dht 2013-10-14 07:43:18 +00:00
Arvid Norberg afd80cffb7 add option to enforce node ID in the DHT 2013-10-14 01:03:43 +00:00
Arvid Norberg 50f051433a merged DHT change from RC_0_16 2013-10-13 23:04:40 +00:00
Arvid Norberg f2e3e613b2 merged dht fix from libtorrent_aio 2013-10-06 01:48:57 +00:00
Arvid Norberg 4ec97bfaaa make verbose dht logging work again 2013-09-14 22:00:41 +00:00
Arvid Norberg 40941608a9 improve DHT routing table some, by replacing high RTT nodes within a node ID prefix 2013-09-14 21:49:08 +00:00
Arvid Norberg f1f89123e8 don't count pad-files as partial download pieces in the piece picker. prioritize which immutable dht items to keep also based on distance from our ID. remove some todo comments that probably should not be done 2013-09-14 10:08:31 +00:00
Arvid Norberg 39264c5ad3 introduce new, optional, get_peers mechanism that is more privacy preserving (doesn't leak the info-hash to as many DHT nodes) 2013-09-09 07:08:02 +00:00
Arvid Norberg 8ab8172cb7 improve DHT routing table to return better nodes (lower RTT and closer to target) 2013-09-09 04:16:52 +00:00
Arvid Norberg 12fd5be372 fix bug in ed25519 DHT signature verification. removed RSA code as it's no longer used. add CAS feature (compare and swap) to DHT put command. update dht_store documentation 2013-09-03 00:45:48 +00:00
Arvid Norberg b431ef7836 use crc32 for node ID restriction scheme 2013-08-19 05:24:35 +00:00
Arvid Norberg 6bd07fd65f pull in an ed25519 implementation and replace use of RSA in the DHT with ECC. fix up makefiles 2013-08-18 16:01:20 +00:00
Arvid Norberg 329ed1bdde moved declaration of time_now() into time.hpp 2013-07-21 05:05:00 +00:00
Arvid Norberg a401aa0337 cleaned up public interface by removing some symbols from the exported set 2013-07-19 19:06:27 +00:00
Arvid Norberg 465bbbf406 fix dht issue for platforms where char is unsigned. introduce assert 2013-06-23 08:07:39 +00:00
Arvid Norberg 2aa1981ae3 fix link issue on windows 2013-06-18 16:01:37 +00:00
Arvid Norberg 50ecb07d19 merged silencing of warnings from RC_0_16 2013-06-14 16:41:47 +00:00
Arvid Norberg 1ad2bc42a1 fix assert 2013-05-17 05:03:33 +00:00
Arvid Norberg b6eb5d7476 debug invariant checks for DHT observer allocator 2013-05-17 03:19:57 +00:00
Arvid Norberg 8bc8c1abe8 merged implied_port from RC_0_16 2013-03-25 07:26:39 +00:00
Arvid Norberg f73fa778d6 slight refactoring to remove a dependency on session_impl in rpc_manager 2013-02-05 04:18:44 +00:00
Arvid Norberg 7223bf17e5 DHT memory optimization 2013-01-28 04:00:23 +00:00
Arvid Norberg e8a53fceb2 merged assert fix 2013-01-22 04:50:18 +00:00
Arvid Norberg 29c17c123e fix traversal algorithm leak in DHT 2013-01-22 02:04:58 +00:00
Arvid Norberg 652bf8323b prioritize some more todo mark-ups 2013-01-21 01:40:59 +00:00
Arvid Norberg f1b8582a95 add gen_todo.py script. include todo.html and mark up some todos in the code with priority 2013-01-20 23:21:53 +00:00
Arvid Norberg 9c7f685313 improve debug logging of dht routing table 2013-01-20 19:51:57 +00:00
Arvid Norberg ab7369fee9 implement a sligthtly more aggressive DHT lookup mechanism 2013-01-20 07:54:54 +00:00
Arvid Norberg 51e99ba3e5 extend DHT unit test and fix bug in routing_table bucket splitting 2013-01-18 06:17:30 +00:00
Arvid Norberg 903efa1a9f merged DHT config fromRC_0_16 2013-01-14 02:42:44 +00:00