Commit Graph

639 Commits

Author SHA1 Message Date
arvidn 17c5759829 disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings 2015-09-06 22:55:41 -04:00
Arvid Norberg d7c6a3b3ea Merge pull request #130 from thomas-yuan/invalid_node_id
A node with an invalid node_id, shouldn't be added to routing table.
2015-09-05 13:30:40 -04:00
Thomas Yuan 97217a1fd6 A node with an invalid node_id, shouldn't be added to routing table. 2015-09-04 14:04:49 -04:00
Arvid Norberg 7285520521 Merge pull request #117 from thomas-yuan/master
Fix bug caused by RP #96.
2015-08-31 23:49:08 -04:00
Thomas Yuan ef16ae4e27 Handle response with unexpected format. 2015-08-31 22:37:46 -04:00
Thomas Yuan 71b6b3c262 Fix bug caused by RP #96. 2015-08-31 18:13:47 -04:00
Thomas Yuan 314f134e35 reorganize code to make it straightforward. 2015-08-31 13:53:49 -04:00
Alden Torres 5be9dfb6db Removed unnecessary call to node_id copy constructor. 2015-08-22 16:01:53 -04:00
arvidn e7b8b6da49 forward port DHT routing table fix from RC_1_0 2015-08-22 15:51:28 +02:00
Arvid Norberg 746cd4c1a6 Merge pull request #96 from thomas-yuan/master
Parsing message correctly when message type is error.
2015-08-22 10:42:01 +02:00
Thomas dbfc2fd5ea Parsing message correctly when message type is error.
Also, an error response should call reply() of observer, instead of timeout().

Reference: http://www.libtorrent.org/dht_store.html#errors
2015-08-19 22:20:48 -04:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn a3608a39fe fix some warnings 2015-08-19 02:00:46 +02:00
arvidn 347d976a70 since starting the DHT can be delayed now, also cache dht nodes added while waiting 2015-08-18 23:35:27 +02:00
arvidn 8d8c049d9e fix warnings and invalid defines in disk_io_thread.cpp 2015-08-18 07:55:50 -04:00
Alden Torres b303a36ac2 Removed unnecessary full namespace reference to udp::endpoint in new dht_direct_request feature.
Add default value to userdata argument in dht_direct_request.
Minor spelling fix.
2015-08-12 00:49:09 -04:00
Steven Siloti 182c30f2d6 fix typo in class name 2015-08-10 20:33:04 -07:00
Steven Siloti 86fd8c3048 enable arbitrary direct dht requests and extension dht requests
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
arvidn a81ca2391b fix some warnings 2015-08-10 20:03:24 -04:00
Arvid Norberg 27c5a28637 Merge pull request #70 from thomas-yuan/master
Call callback function immediately when get data for mutable data.
2015-08-08 21:51:18 -04:00
Thomas e51b61870a Call callback function immediately when get mutable data. 2015-08-08 20:28:53 -04:00
arvidn 97571b4ad4 fixed more warnings 2015-08-07 00:30:29 -04:00
arvidn a91e7ce25d fix warnings 2015-08-06 02:30:06 -04:00
arvidn 655a3ae019 fix some warnings 2015-08-01 23:57:11 -04:00
arvidn 5657772114 limit how often the DHT can wake up 2015-07-28 23:04:15 -04:00
arvidn f85d62b601 merged DHT update of /8 blocks form RC_1_0 2015-07-16 21:56:06 -04:00
Alden Torres 761486ce43 Using PRId64 macro for portability. 2015-07-12 13:05:29 -04:00
Alden Torres 89f3b3bee3 Using the standard log method for round trip time in rcp_manager. 2015-07-12 12:59:38 -04:00
Arvid Norberg 41eff1801e Merge pull request #13 from aldenml/more-dht-api
Added dht_get_peers and dht_announce at session_impl level.
2015-07-04 10:08:14 -04:00
John Sebastian Peterson bb25acd661 use a better windows.foundation.collections.h(462) conflict fix 2015-07-04 05:59:38 +02:00
John Sebastian Peterson e7caa2d20f fix winrt compile error in windows.foundation.collections.h(428) 2015-07-02 09:58:17 +02:00
Alden Torres fcac7140f8 Added dht_get_peers and dht_announce at session_impl level. 2015-07-01 15:30:08 -04:00
Alden Torres 5c8c9cd653 Refactor to expose a more convenient get_peers function as part of the DHT api.
Now announce (a particular case of get_peers DHT operation) uses the function get_peers.
2015-06-24 21:22:24 -04:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg 0aca01543b simplify dht logging 2015-05-30 06:31:03 +00:00
Arvid Norberg 945eef4c4d some dht_tracker clean up 2015-05-30 04:37:12 +00:00
Arvid Norberg e44c8e9002 optimize logging of DHT packets by deferring copying and printing, to only do it if the alert category is enabled 2015-05-28 20:36:22 +00:00
Arvid Norberg 0052fa6c19 some cleanup to dht observers (don't expose internals) 2015-05-22 02:42:26 +00:00
Arvid Norberg d18495eb39 support a NULL dht_observer again 2015-05-19 00:48:04 +00:00
Arvid Norberg e7d369646d fix gcc warnings 2015-05-18 01:30:32 +00:00
Arvid Norberg 71ee44ae5e fix build issue, some warnings 2015-05-17 23:32:13 +00:00
Arvid Norberg 88fe6eba9c fix issues introduced in dht logging patch 2015-05-17 20:59:18 +00:00
Arvid Norberg 99de70604a remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled 2015-05-16 19:29:49 +00:00
Arvid Norberg 494b425ea1 fix warnings and a peer logging bug 2015-05-10 18:38:10 +00:00
Arvid Norberg 242dad0743 fix dht build 2015-05-10 18:24:09 +00:00
Arvid Norberg 2819d5f68e remove the remains of the dht logging 2015-05-10 05:28:50 +00:00
Arvid Norberg b60934288b turn DHT logging into alerts instead of writing to a file 2015-05-10 04:54:02 +00:00
Arvid Norberg ca581f2258 rename dht::node_impl -> dht::node, since this hasn't been a pimpl for quite a while 2015-05-09 19:00:22 +00:00
Arvid Norberg 6557910c7f remove the DHT's last dependency on session_impl 2015-05-09 18:06:02 +00:00
Arvid Norberg ddfef97696 don't use iostream in dht routing table debug logging 2015-05-08 05:21:26 +00:00
Arvid Norberg 4b585dcc0e minor cleanup and fix no-deprecated build 2015-05-06 01:11:54 +00:00
Arvid Norberg 2fff222235 silence some warnings on msvc 2015-04-27 02:21:12 +00:00
Arvid Norberg f97168241f build fix 2015-04-27 00:56:58 +00:00
Arvid Norberg a15bc13392 build fixes 2015-04-26 13:38:56 +00:00
Arvid Norberg 93a19b44c0 fix another format string issue and add comments to kademlia 2015-04-26 06:25:08 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 31a87c26f0 move another unused time function into the one place it was used from (which will be removed) 2015-04-24 04:08:08 +00:00
Arvid Norberg 3ea67e2bf5 move time_now_string out to the unit test library (basically unused in libtorrent itself) 2015-04-24 03:48:08 +00:00
Arvid Norberg 87c46a144d fix more warnings and some build issues 2015-04-22 04:24:45 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg a516bf46e5 merged changes from RC_1_0 2015-03-22 04:34:11 +00:00
Arvid Norberg 3f21a846f6 fix build without deprecated function. extend test_coverage script. comment out DHT sanity check assert that fires in the wild 2015-03-21 00:50:28 +00:00
Arvid Norberg 1b07ec491d fix build issue out of recent changes of exported functions 2015-03-16 04:38:28 +00:00
Arvid Norberg 794de25212 moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp 2015-03-14 23:10:20 +00:00
Arvid Norberg 37225b71ae const static -> static const (thanks gubatron). helps swigs parser 2015-03-14 00:42:27 +00:00
Arvid Norberg 65a9d76938 fix dht logging build 2015-03-13 05:53:22 +00:00
Arvid Norberg 6c1df7eb55 landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node 2015-03-12 05:20:12 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 678d4f3a82 fix warning 2015-01-26 03:09:32 +00:00
Arvid Norberg 609b5eb4ba fix dht logging build 2015-01-18 15:03:18 +00:00
Arvid Norberg 8614ed795a attempt to fix build 2015-01-18 04:40:01 +00:00
Arvid Norberg 0afea4bb3e move some DHT verbose stats logging over to performance counters 2015-01-18 01:06:36 +00:00
Arvid Norberg 22a02f4a1f make dht_tracker be held by shared_ptr instead of intrusive_ptr. remove redundant performance counter (total dht sent/received). report DHT IP overhead to the IP overhead counters 2015-01-17 22:06:30 +00:00
Arvid Norberg 58d93e5aa1 add new (non-deprecated) access to dht stats, asynchronously via an alert 2015-01-17 17:02:58 +00:00
Arvid Norberg a462f58372 use hardware optimized CRC32C function in DHT 2015-01-05 13:50:42 +00:00
Arvid Norberg 35b41858cf deprecated session_status and session::status() in favor of performance counters 2015-01-04 21:31:02 +00:00
Arvid Norberg 55e51ab57c merged changes from RC_1_0 2015-01-04 21:18:00 +00:00
Arvid Norberg dbf461ac23 make DHT dos mitigation parameters configurable via dht_settings 2015-01-01 23:24:21 +00:00
Arvid Norberg 1039d4ae86 tweak some TODO comments and fix one 2014-12-31 14:41:35 +00:00
Arvid Norberg 0977d94dbc merged changes from RC_1_0 2014-12-25 11:24:02 +00:00
Arvid Norberg 333a13c957 a bit more conservative block request timeouts. promote some invariant checks in the DHT as expensive (to disable them for regular debug builds) 2014-12-10 07:13:57 +00:00
Arvid Norberg 1ed1963f29 remove size_type typedef in favor of boost::int64_t 2014-12-03 04:32:50 +00:00
Arvid Norberg edade10561 merged fix from RC_1_0 2014-11-26 03:58:55 +00:00
Arvid Norberg 8ec7cff993 merged changes from RC_1_0 2014-11-26 02:02:32 +00:00
Arvid Norberg 179df62379 merged changes from RC_1_0 2014-11-20 05:53:12 +00:00
Arvid Norberg aae56c991c merged changes from RC_1_0 2014-11-08 16:58:18 +00:00
Arvid Norberg 601f0dc434 merged changes from RC_1_0 2014-11-03 06:15:51 +00:00
Arvid Norberg 3742fd2699 merged changes from RC_1_0 2014-11-02 09:41:29 +00:00
Arvid Norberg 34af25beaa merged chagnes from RC_1_0 2014-11-01 22:47:56 +00:00
Arvid Norberg a91848962a merge changes from RC_1_0 2014-10-12 04:18:34 +00:00
Arvid Norberg b55778a847 some DHT logging and parsing 2014-10-07 07:23:20 +00:00
Arvid Norberg 3c7a932aee update comments 2014-10-04 20:06:46 +00:00
Arvid Norberg 7830081585 merged changes from RC_1_0 2014-10-01 18:19:44 +00:00
Arvid Norberg 0ed0bdc50c remove pointless DHT extension (for IPv6) 2014-10-01 16:21:29 +00:00
Arvid Norberg ba3ffe52f8 improve DHT logging a bit 2014-10-01 09:14:49 +00:00
Arvid Norberg 8cbef3876a post alert on outgoing get_peers 2014-09-22 19:49:32 +00:00
Arvid Norberg 645d3cdb32 merge fixes from RC_1_0 2014-09-20 19:27:29 +00:00
Arvid Norberg 44021c99e1 add todo comment 2014-08-28 08:06:11 +00:00
Arvid Norberg 98c4c9327b merged change from RC_1_0 2014-08-28 02:06:21 +00:00
Arvid Norberg 48ea42c990 merged changes from RC_1_0 2014-08-27 05:57:37 +00:00
Arvid Norberg 51f2aafb43 clean up some time_t and srand() uses 2014-08-16 20:55:44 +00:00
Arvid Norberg 524384045c transition to use boost.random instead of rand() and custom pseudo random generator 2014-08-16 20:26:00 +00:00
Arvid Norberg 3f88389f05 merged changes from RC_1_0 2014-08-16 07:46:06 +00:00
Arvid Norberg 1e48745173 another boost chrono fix 2014-07-25 16:51:13 +00:00
Arvid Norberg b78fdc630d fix another integer overflow issue from switching to chrono 2014-07-25 08:43:52 +00:00
Arvid Norberg f15182a737 merged changes from RC_1_0 2014-07-19 07:12:20 +00:00
Arvid Norberg 24b9101075 merged changes from RC_1_0 2014-07-12 06:20:16 +00:00
Arvid Norberg 9d172a8723 fixed chrono issue in dht 2014-07-08 15:36:47 +00:00
Arvid Norberg c90285df8a restore DHT semantics to fix dht unit test 2014-07-07 00:09:05 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6ef1b98717 merged compiler warning fixes from RC_1_0 2014-07-05 14:10:25 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
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