Commit Graph

522 Commits

Author SHA1 Message Date
Arvid Norberg 6e275fbe21 removed left-over unused variables 2014-07-02 02:53:10 +00:00
Arvid Norberg 36e8945968 more build fixes 2014-06-29 19:11:15 +00:00
Arvid Norberg 3893a55a57 fix to the fix 2014-05-25 05:28:15 +00:00
Arvid Norberg 96f25d6942 attempt to fix linux build 2014-05-25 05:10:30 +00:00
Arvid Norberg 64c09e7607 support for older boost versions 2014-05-25 00:13:17 +00:00
Arvid Norberg 5b89c3f5f9 merged some of steven siloti's changes. expose optimistic unchoke logic to plugins 2014-05-12 07:28:34 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg 555efd9279 factor out address/endpoint I/O into it's own unit test. merge write_string from bencode and socket_io. extend unit test 2014-05-04 06:46:47 +00:00
Arvid Norberg ab96600ae3 fix dht assert 2014-04-29 21:31:25 +00:00
Arvid Norberg c6b68ab683 fix warning 2014-03-23 01:41:00 +00:00
Arvid Norberg 0e04ab8d72 reorder the node-list in the DHT traversal algorithm if a node updates its ID 2014-03-03 05:09:53 +00:00
Arvid Norberg 8403e58f3c make dht test program able to get and put mutable items. fixed some DHT bugs along the mutable put/get path 2014-03-02 23:35:35 +00:00
Arvid Norberg 86c704a6ff fix dht_bootstrap_alert being posted. add additional alert for dht put completion. add utility to test immutable put/get. fix issue in DHT preventing stores on router nodes (even when they return write tokens). immutable put and get confirmed to be working 2014-02-28 04:02:48 +00:00
Arvid Norberg 1188ec2dcd expose new DHT put/get functionality in the public session API 2014-02-24 00:31:13 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 715b60c8ff attempted windows build fix 2014-02-17 07:24:43 +00:00
Arvid Norberg 6c22d426d4 make all unit tests pass msvc's /RTCc instrumentation (no implicit integer truncation in casts) 2014-02-05 09:38:32 +00:00
Arvid Norberg 6bda2f7430 change peer priority to use crc32c instead of sha1 2014-01-23 02:28:04 +00:00
Arvid Norberg e0644ce8f5 invariant check macro fixes 2014-01-21 19:26:09 +00:00
Arvid Norberg fec7407461 send implied_port in dht announce messages when uTP is enabled 2014-01-20 06:35:06 +00:00
Arvid Norberg 702b68ecc4 clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized 2014-01-19 19:45:50 +00:00
Arvid Norberg a5b5cf0f62 ignore unused parts of the internet on the DHT by default 2014-01-19 07:44:16 +00:00
Arvid Norberg bec02dd953 fix valgrind build 2014-01-19 04:13:46 +00:00
Arvid Norberg 4a7543bdb8 remove a DHT observer right away when the response has an invalid node ID 2014-01-17 05:16:37 +00:00
Arvid Norberg b621f3f00a merged DHT fix from RC_0_16 2014-01-17 04:49:04 +00:00
Arvid Norberg 86b68e65e4 merged dht node ID change from RC_0_16 2014-01-11 08:08:43 +00:00
Arvid Norberg 89d5582560 merged dht fix from RC_0_16 2014-01-07 08:52:53 +00:00
Arvid Norberg ae7bb20170 update node ID generation algorithm from RC_0_16 2014-01-06 05:46:46 +00:00
Arvid Norberg db6a22d5c1 handle DHT error responses correctly 2014-01-03 08:02:53 +00:00
Arvid Norberg 54bbd3cae0 support salt feature in DHT put 2014-01-03 04:18:46 +00:00
Arvid Norberg 260e97c4e0 document salt feature in put and get DHT extensions. include a test vector and add that to the unit test. (salt is not implemented) 2013-12-31 08:37:42 +00:00
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
Arvid Norberg cb0059d952 merged DHT timeouts from RC_0_16 2013-01-13 01:23:00 +00:00
Arvid Norberg aab59d04c7 improve the external IP discovery to work with multiple external IPs (specifically IPv4 and IPv6) 2013-01-01 23:12:16 +00:00
Arvid Norberg 806b7c85eb fix minor issue 2012-12-22 01:29:55 +00:00
Arvid Norberg 27db5e3f49 use random() instead of rand() 2012-12-10 08:08:20 +00:00
Arvid Norberg f12e1c1a3f merged DHT fix from RC_0_16 2012-11-16 22:25:39 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 28e32b57b6 merged UDP socket fix from RC_0_16 2012-09-25 18:57:50 +00:00
Arvid Norberg 56248845ef some DHT fixes + cleanup 2012-09-25 18:47:04 +00:00
Arvid Norberg e77d8cfe7a merged fix from libtorrent_aio 2012-09-23 04:56:08 +00:00
Arvid Norberg 7640414cf2 merged dht fixes from libtorrent_aio 2012-09-23 03:49:04 +00:00
Arvid Norberg d098e49059 merged DHT feature from libtorrent_aio 2012-09-22 21:40:16 +00:00
Arvid Norberg 055f8a0598 merged DHT optimization from libtorrent_aio 2012-09-22 18:15:29 +00:00
Arvid Norberg a66332d66f fix DHT logging build 2012-07-23 13:37:23 +00:00
Arvid Norberg 96aa1f162b fix for udp_socket observers and some dht warning fixes 2012-06-30 15:30:38 +00:00
Arvid Norberg 57769bab11 fix some compiler warnings 2012-06-25 14:17:51 +00:00
Arvid Norberg 24746bf54f release asserts fix 2012-06-24 22:55:48 +00:00
Arvid Norberg 60f501ca5d avoid incorrect assert in the DHT 2012-06-24 22:53:15 +00:00
Arvid Norberg d73bbf5053 clean up the udp socket and its consumers by adding an observer interface and have the udp tracker, utp socket manager and dht tracker subscribe to it instead of going through the session_impl. This probably improves performance a tiny bit but primarily improves modularization and testability 2012-06-22 04:21:20 +00:00
Arvid Norberg 40284b2b99 update dht_sec definition 2012-06-07 16:29:20 +00:00
Arvid Norberg 2be5513be7 and the typo in trunk as well 2012-06-05 04:20:10 +00:00
Arvid Norberg ccfaa0327e merged fix from 0.16 2012-06-05 03:35:15 +00:00
Arvid Norberg 49a1398fe5 update dht_sec specification and the dht code 2012-05-31 02:16:44 +00:00
Arvid Norberg ca6bb805b4 fix possible integer overflow in dht 2012-05-05 18:52:16 +00:00
Arvid Norberg bc34b13366 use random instead of rand() 2012-05-03 03:16:31 +00:00
Arvid Norberg cec9a16cc1 back-ported observer for set_external_ip for DHT 2012-04-30 06:30:35 +00:00
Arvid Norberg 918dce1341 back-ported part of the alert_dispatcher patch for the DHT 2012-04-30 05:39:35 +00:00
Arvid Norberg 8213814102 DHT fix 2012-03-17 19:27:57 +00:00
Arvid Norberg 35ea214124 fix off-by-one bug in DHT node-ID calculation 2012-02-16 03:51:39 +00:00
Arvid Norberg d52eb9ed19 fixed release asserts issue in kademlia code 2012-01-16 22:48:43 +00:00
Arvid Norberg 7ee42393a5 simplified DHT parsing a bit 2011-12-01 04:01:36 +00:00
Arvid Norberg c4dded04ca fixed small memory leak in DHT 2011-11-28 11:11:29 +00:00
Arvid Norberg 44c95ebbc5 fix build error 2011-06-05 23:37:33 +00:00
Arvid Norberg 8190744f0c fix DHT error messages to either not be sent or contain valid transaction IDs 2011-06-01 07:44:33 +00:00
Arvid Norberg e6640de205 updated IP->ID formula for DHT 2011-05-26 17:04:53 +00:00
Arvid Norberg 2bb53ce6e8 fix non-openssl builds and improved error messages for mutable puts 2011-05-25 02:41:48 +00:00
Arvid Norberg 6fa1827c39 add support for mutable put/get functions in DHT 2011-05-25 02:26:07 +00:00
Arvid Norberg f13de88b63 fixed dht logging build 2011-05-23 06:37:43 +00:00
Arvid Norberg 6830eb10a9 remove old search code from DHT. modify announce-item to fit with more recent proposal of get/put. Only immutable entries for now 2011-05-23 05:07:52 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg a73960aa5a support release asserts 2011-05-08 09:04:59 +00:00
Arvid Norberg 61ceaba6de fix shadowed variable warning 2011-04-08 04:47:26 +00:00
Arvid Norberg 0d300cd09a fixed test build and some clang warnings 2011-03-09 07:51:04 +00:00
Arvid Norberg 08c93978a6 clean up some dead code and fix windows build 2011-02-28 00:35:58 +00:00
Arvid Norberg 56937edf56 cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer 2011-02-25 17:00:36 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 8293543862 fix iterator bug in dht rss items 2011-02-24 03:22:24 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg eb47f06ef9 fix DHT cidr check 2011-01-26 03:12:46 +00:00
Arvid Norberg de28a57954 add back version in DHT packets 2011-01-23 02:02:04 +00:00
Arvid Norberg ba0aed2282 initial support for DHT RSS feeds 2011-01-19 05:57:44 +00:00
Arvid Norberg eec2672d26 fixed up some edge cases in DHT routing table and improved unit test of it. Primarily fixed issues where an IP could take over someone elses node ID and where an IP would change its node ID 2011-01-17 07:49:44 +00:00
Arvid Norberg b49999b76e made the DHT implementation slightly more robust against routing table poisoning and node ID spoofing 2011-01-08 08:54:51 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg de3a5784be fix build with IPv6 disabled 2010-12-18 18:46:20 +00:00
Arvid Norberg fbdf76cf5b fix DHT size estimation 2010-12-13 09:24:19 +00:00
Arvid Norberg 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +00:00
Arvid Norberg cc22aca981 DHT routing table tuning 2010-12-12 19:18:23 +00:00
Arvid Norberg 5ee6266e93 more DHT fixes 2010-12-12 09:15:54 +00:00
Arvid Norberg 31d8c7d9b7 fixed non dht-logging build 2010-12-12 03:45:49 +00:00
Arvid Norberg b56a1638ae DHT fixes. fixed bucket refresh issue. re-introduced refreshing our own bucket regularly. added more DHT instrumentation in session_status. added alert for when bootstrap is complete. Fixed bootstrap to ping remaining nodes when search is complete. Completed recent DHT observer rewrite to remove some redundant fields 2010-12-12 03:17:08 +00:00
Arvid Norberg 29ed03f720 first implementation of DHT security implementation. tie the node ID to the external IP 2010-12-11 09:38:07 +00:00
Arvid Norberg 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg f21251cba8 limit number of torrents tracked by DHT and support DHT name lookups 2010-11-27 03:09:28 +00:00
Arvid Norberg 80cfdc4fd8 dht assert fix 2010-11-06 17:01:21 +00:00
Arvid Norberg 1c7e5506e9 report stats on the number of dht request observers that are currently allocated 2010-11-06 07:12:57 +00:00
Arvid Norberg d3a8916f02 further simplify the DHT by getting rid of the result type and just using observers instead. This might save some memory and should fix the assert that would be triggered before 2010-11-05 19:06:50 +00:00
Arvid Norberg 23ac52c164 simplify some DHT code and remove a dependency on boost.mpl 2010-11-05 03:12:57 +00:00
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg 72060e8676 removed DHT mutex since everything is in the network thread now 2010-07-19 05:27:33 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 686fc1a1c7 windows fixes 2010-03-21 02:13:56 +00:00
Arvid Norberg a29928de8b fix DHT bug 2010-03-12 03:18:17 +00:00
Arvid Norberg dcffa55700 some sunPRO compiler support 2010-03-07 06:00:12 +00:00
Arvid Norberg 47f3a18d65 DHT bootstrapping and refresh fix 2010-02-20 16:37:50 +00:00
Arvid Norberg 5c02f3df59 fixed DHT bootstrapping issue 2010-02-14 07:46:57 +00:00
Arvid Norberg 0acfe4a480 dht bugfix 2010-02-14 04:58:21 +00:00
Arvid Norberg c75e38e855 fixed dht logging build 2010-02-08 04:35:46 +00:00
Arvid Norberg 9e98bfd204 build fix 2010-01-20 03:37:34 +00:00
Arvid Norberg 4e62eec9fa fix to the previous dht routing table fix 2010-01-10 04:03:11 +00:00
Arvid Norberg c1ea06f373 another dht routing table fix 2010-01-09 17:49:33 +00:00
Arvid Norberg d25d8d40fe dht routing table fix 2010-01-09 14:49:21 +00:00
Arvid Norberg cb5bad09a4 fixed DHT bug 2010-01-09 00:38:55 +00:00
Arvid Norberg 11cd7af4e7 optimized DHT routing table memory usage 2010-01-03 11:08:39 +00:00
Arvid Norberg a5586d154d more header dependency optimizations 2009-11-25 06:55:34 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 562e2512b9 some vs2010 fixes 2009-11-22 23:55:54 +00:00
Arvid Norberg d6d577627b removed some unnecessary includes 2009-11-22 21:08:44 +00:00
Arvid Norberg 51aa6c4b6b rpc_manager fix 2009-11-13 02:53:34 +00:00
Arvid Norberg b066e4694b fixed DHT state save bug for node-id 2009-11-10 17:01:05 +00:00
Arvid Norberg 1c28444f94 fixed residual references to boost/thread. Removed memdebug (it doesn't work and tcmalloc is better) 2009-11-02 02:00:41 +00:00
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg f2af1d0d1a fix msvc build 2009-10-23 06:41:09 +00:00
Arvid Norberg a8c72b47ab USE_IPV6 fixes 2009-10-19 02:49:20 +00:00
Arvid Norberg 525c8090b7 USE_IPV6 fixes 2009-10-19 02:43:50 +00:00
Arvid Norberg aad0a68dfa removed a few more dependencies on lexical_cast 2009-10-19 00:31:47 +00:00
Arvid Norberg 474566fa21 more DHT fixes and simplifications 2009-10-09 02:34:25 +00:00
Arvid Norberg cee42ff5a1 more DHT simplifications 2009-10-07 20:51:02 +00:00
Arvid Norberg 115a4b1863 fixed msvc build 2009-10-04 23:46:29 +00:00
Arvid Norberg 8dc2865c5d fix DHT build 2009-10-03 18:29:47 +00:00
Arvid Norberg dfccf0b412 some DHT work 2009-09-29 17:06:08 +00:00
Arvid Norberg 138fb8c679 extended DHT unit test to include error reporting 2009-09-27 17:41:51 +00:00
Arvid Norberg 7d4338b7f7 added data triven DHT message parsing and verification 2009-09-27 05:27:43 +00:00
Arvid Norberg f36688a364 initial support for torrent tag store in DHT 2009-09-27 03:38:41 +00:00
Arvid Norberg 5b563d5522 improved forward compatibility in DHT 2009-09-27 00:40:05 +00:00
Georg Rudoy c631c00653 Fixed build: use incoming_error from correct namespace. 2009-09-25 22:03:35 +00:00
Arvid Norberg 6eefa02c56 fixed link error with incoming_error 2009-09-25 16:32:02 +00:00
Arvid Norberg e289b9c6ac build fixes 2009-09-20 15:21:31 +00:00
Arvid Norberg 54cce9da60 simplified and optimized the DHT implementation 2009-09-20 00:23:36 +00:00
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
Arvid Norberg 1f5a722b01 improved sun studio support (it seems to lack a lot of stl) 2009-08-30 07:38:52 +00:00
Arvid Norberg ae3be201c4 reduced the number of floating point operations to better support systems with no FPU 2009-07-19 04:59:27 +00:00
Arvid Norberg c459262c51 exception and IPv6 fixes 2009-05-14 20:38:42 +00:00
Arvid Norberg 00ccf9064e optimized memory usage in the DHT, and added some handling for out-of-memory cases 2009-05-13 22:18:41 +00:00
Arvid Norberg bdd7e21831 replace endpoint with address in DHT node ban list 2009-05-13 21:07:51 +00:00
Arvid Norberg d0786a0fde added BOOST_NO_EXCEPTIONS ifdefs 2009-05-07 07:01:36 +00:00
Arvid Norberg 641abc6c4a slight memory optimization and some header cleanup 2009-05-03 20:21:24 +00:00
Arvid Norberg b5bb51c6af cut out more IPv6 code if not supported 2009-04-04 16:59:53 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 2b4a49ea19 small dht status cleanup 2009-01-23 10:36:07 +00:00
Arvid Norberg 7592ad4aee updated disk IO to support unbuffered files 2009-01-11 02:02:34 +00:00
Arvid Norberg a4dc107658 dht_stats fix (truncates the log file on startup) 2009-01-01 18:29:42 +00:00
Arvid Norberg cf7a6e6029 fixed broken DHT round trip logging 2008-12-31 18:49:28 +00:00
Arvid Norberg 3d2726c523 dht stats now truncates the log from previous run 2008-12-27 03:34:05 +00:00
Arvid Norberg 00d02f7859 improved DHT get_peers code. get_peers always returns nodes now, and announce_peer is always sent to the k closest nodes to the info-hash. This should significantly speed up retrieving peers from the DHT 2008-12-23 20:04:12 +00:00
Arvid Norberg 3b5706c5db fixed index of dht stats log and added/fixed dht log parsing and graphin tools 2008-12-23 18:38:48 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg c3bbf138a4 estimate TCP/IP overhead more accurately 2008-11-14 20:51:49 +00:00
Arvid Norberg 1b10a3b15f DHT instrumentation changes 2008-11-12 03:56:56 +00:00
Arvid Norberg 4eb0df96c2 DHT fix. broke in recent update 2008-11-12 03:33:58 +00:00
Arvid Norberg beb9dbfc03 cleaned up DHT error handling and logging. Made it use lazy_bdecode for improved performance 2008-11-11 17:51:02 +00:00
Arvid Norberg 03593c8b92 typecasting syntax fixes. No longer prints empty buckets in routing table dump 2008-11-11 10:03:43 +00:00
Arvid Norberg 473f75e98a DHT fix where the node_id would get set after it was started and be inconsitent with rpc_manager and routing_table 2008-11-11 08:33:34 +00:00
Arvid Norberg ce8c835ab8 fixed missing member initialization 2008-11-10 04:16:18 +00:00
Arvid Norberg 45de012553 fixed non verbose DHT build 2008-11-10 03:08:29 +00:00
Arvid Norberg 18d269dd62 DHT optimizations 2008-11-10 02:08:42 +00:00
Arvid Norberg 15a8cbcce7 dht fix 2008-11-09 09:02:06 +00:00
Arvid Norberg ce544e2300 DHT rate limiter fixes 2008-11-09 00:37:03 +00:00
Arvid Norberg 9bba20cdb4 first pass at rate limited udp socket (for DHT) 2008-11-08 17:40:06 +00:00
Arvid Norberg f2c9e02994 fixed deadlock in dht code 2008-11-02 10:01:04 +00:00
Arvid Norberg a6ba48a60a removed exception usage in dht implementation and peer_connection 2008-10-21 17:10:11 +00:00
Arvid Norberg 41d5abf0d8 exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown 2008-10-21 08:45:42 +00:00
Arvid Norberg 68a89507bc mutex fix for dht status reporting 2008-10-09 03:33:14 +00:00
Arvid Norberg 0338510b9b added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups 2008-09-20 17:42:25 +00:00
Arvid Norberg 166f761df3 fixed DHT bug where requests that timed out would be treated as transaction_id overflows and would slow down DHT lookups considerably. 2008-09-15 05:05:26 +00:00
Arvid Norberg c88071ae10 fixed race when adding router nodes to the dht (router nodes should be added before it's started) 2008-09-02 06:37:40 +00:00
Arvid Norberg 37147f99c0 fixes bug in kademlia implementation when nodes are unreachable 2008-08-29 23:00:57 +00:00
Arvid Norberg d94f35a75b fix build failure with TORRENT_DHT_VERBOSE_LOGGING 2008-08-19 08:39:21 +00:00
Arvid Norberg 4d380c57d7 made bdecode not throw 2008-06-23 22:00:27 +00:00
Arvid Norberg 0ba85e96d5 fixed kademlia announce bug 2008-05-26 15:23:06 +00:00
Arvid Norberg 07f070868d factored out to_hex into the escape_string header file 2008-05-19 07:36:04 +00:00
Arvid Norberg bae6ff1a10 dht typo fix 2008-05-18 06:02:57 +00:00
Arvid Norberg 498a43c123 streamlined dht log format 2008-05-18 05:09:11 +00:00
Arvid Norberg aa626f1422 logs node uptime and parses it for the DHT 2008-05-10 05:51:58 +00:00
Arvid Norberg 3fe96818d3 dht log fix 2008-05-09 23:42:00 +00:00
Arvid Norberg ae11038495 improved dht logging of transaction ids 2008-05-09 21:20:28 +00:00
Arvid Norberg 11c181873c stripped down the dht log 2008-05-09 17:38:36 +00:00
Arvid Norberg 5202056682 inverted distance log in dht 2008-05-08 03:58:05 +00:00
Arvid Norberg 1522f52db8 logs the distance between key and node when announcing 2008-05-08 01:17:14 +00:00
Arvid Norberg bbf9c83edc initial support for icmp errors in the DHT 2008-05-08 00:22:17 +00:00
Arvid Norberg 7434368652 fixed dht logging error 2008-05-07 23:25:47 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg 1724b1eb75 dht array index out of bound fix 2008-04-16 03:20:35 +00:00
Arvid Norberg 2bd49c4b56 fixed DHT assert 2008-03-29 14:52:18 +00:00
Arvid Norberg 40824d2bb1 minor dht fix 2008-03-28 22:56:33 +00:00
Arvid Norberg a53cd86cae fixed typo in previous dht checkin 2008-03-27 00:46:50 +00:00
Arvid Norberg 10d20f8f4e dht fix 2008-03-26 17:37:31 +00:00
Arvid Norberg 1d8edc0722 fixed race condition in dht 2008-03-24 04:38:43 +00:00