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
|
b621f3f00a
|
merged DHT fix from RC_0_16
|
2014-01-17 04:49:04 +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
|
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
|
5d822706e1
|
add invariant check to dht routing_table
|
2013-12-20 04:54:52 +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
|
d03d50b6a8
|
reorder some more fields to reduce padding
|
2013-11-26 02:23:33 +00:00 |
Arvid Norberg
|
8f2683fe5d
|
improve routing_table::depth() performance
|
2013-11-13 02:17:33 +00:00 |
Arvid Norberg
|
1d55894bef
|
improve obfuscated get_peers
|
2013-10-26 22:59:55 +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
|
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
|
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
|
919bc46422
|
fix key length issue
|
2013-08-19 08:07:54 +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
|
7ad58eba93
|
renamed big_number -> sha1_hash
|
2013-08-02 05:26:13 +00:00 |
Arvid Norberg
|
1df950df1d
|
documentation: hide internal functions, include inline functions, support section overviews, hide detail namespace
|
2013-07-21 21:23:21 +00:00 |
Arvid Norberg
|
8e3bb75cf1
|
fix build
|
2013-07-21 17:23:56 +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
|
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
|
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
|
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
|
f12e1c1a3f
|
merged DHT fix from RC_0_16
|
2012-11-16 22:25:39 +00:00 |
Arvid Norberg
|
16630f94d1
|
merged fixes from RC_0_16
|
2012-10-21 20:24:14 +00:00 |
Arvid Norberg
|
bff648a89e
|
update copyright dates and add tool to do so
|
2012-10-02 03:16:33 +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
|
96aa1f162b
|
fix for udp_socket observers and some dht warning fixes
|
2012-06-30 15:30:38 +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
|
cf49986e1a
|
one more uninitialized member
|
2012-05-03 03:56:40 +00:00 |
Arvid Norberg
|
93b1a3478f
|
added missing file
|
2012-05-01 05:45:05 +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
|
cafbf2ca1d
|
more work on minimizing shared object export symbol table
|
2012-03-20 03:53:07 +00:00 |
Arvid Norberg
|
a2521bd23c
|
fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost
|
2012-03-18 23:31:04 +00:00 |
Arvid Norberg
|
ef61b32d9e
|
fix unit test build on windows
|
2012-01-19 08:01:38 +00:00 |
Arvid Norberg
|
c4dded04ca
|
fixed small memory leak in DHT
|
2011-11-28 11:11:29 +00:00 |
Arvid Norberg
|
e6640de205
|
updated IP->ID formula for DHT
|
2011-05-26 17:04:53 +00:00 |
Arvid Norberg
|
6fa1827c39
|
add support for mutable put/get functions in DHT
|
2011-05-25 02:26:07 +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
|
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
|
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
|
4fcfceb087
|
DHT optimizations and fixes. Fixed routing table bucket splitting
|
2010-12-12 20:36:42 +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
|
f21251cba8
|
limit number of torrents tracked by DHT and support DHT name lookups
|
2010-11-27 03:09:28 +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
|
e72d95384b
|
added missing include
|
2010-10-04 16:12:51 +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
|
631cd17ebf
|
renamed union hack
|
2010-03-12 18:30:18 +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
|
11cd7af4e7
|
optimized DHT routing table memory usage
|
2010-01-03 11:08:39 +00:00 |
Arvid Norberg
|
bd881ac154
|
fixed more link issues on windows. examples build with shared linking on windows
|
2009-12-02 17:46:25 +00:00 |
Arvid Norberg
|
ddceb1487d
|
fixed building with no IPv6 support
|
2009-11-27 18:46:29 +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
|
cd0fc85b5f
|
fixed msvc warning
|
2009-10-29 22:55:00 +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
|
3dc190da6e
|
dht fix
|
2009-10-23 20:29:26 +00:00 |
Arvid Norberg
|
8a5b7d5d36
|
got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones).
|
2009-10-20 02:49:56 +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
|
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
|
f36688a364
|
initial support for torrent tag store in DHT
|
2009-09-27 03:38:41 +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
|
6078dd06b0
|
removed the last dependency on iostream and lexical cast
|
2009-08-25 18:13:46 +00:00 |
Arvid Norberg
|
310b9d0e51
|
windows build fixes (and one msvc warning fix)
|
2009-07-20 01:54:51 +00:00 |
Arvid Norberg
|
7d32c3b2b0
|
fix missing boost:: qualifier
|
2009-05-24 19:38:27 +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
|
641abc6c4a
|
slight memory optimization and some header cleanup
|
2009-05-03 20:21:24 +00:00 |
Arvid Norberg
|
aba5b2e9d0
|
dropped some iostream dependencies
|
2009-04-04 09:52:25 +00:00 |
Arvid Norberg
|
2b4a49ea19
|
small dht status cleanup
|
2009-01-23 10:36:07 +00:00 |
Arvid Norberg
|
d2e8ae03d3
|
added default constructor to node_entry to make it build with vs 2008 sp1
|
2008-12-25 22:29:06 +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
|
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
|
1b10a3b15f
|
DHT instrumentation changes
|
2008-11-12 03:56:56 +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
|
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
|
18d269dd62
|
DHT optimizations
|
2008-11-10 02:08:42 +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
|
399c4d6ac4
|
mutex fix for dht status reporting
|
2008-10-09 03:32:57 +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
|
a62ce3bc1a
|
made routing table support safe iterators on gcc
|
2008-09-16 17:21:24 +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 |
Andrew Resch
|
aed8f355b0
|
Make libtorrent build with boost <1.35
|
2008-05-20 06:03:46 +00:00 |
Arvid Norberg
|
aa626f1422
|
logs node uptime and parses it for the DHT
|
2008-05-10 05:51:58 +00:00 |
Arvid Norberg
|
bbf9c83edc
|
initial support for icmp errors in the DHT
|
2008-05-08 00:22:17 +00:00 |
Arvid Norberg
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
1d8edc0722
|
fixed race condition in dht
|
2008-03-24 04:38:43 +00:00 |
Arvid Norberg
|
211ae62d33
|
fixes #295
|
2008-03-24 02:19:47 +00:00 |
Arvid Norberg
|
fece6e9300
|
fixed #289 in trunk, 0.12 and 0.13
|
2008-03-19 22:44:55 +00:00 |
Arvid Norberg
|
af6c0a73c5
|
fixed dht asserts
|
2008-02-10 02:26:45 +00:00 |
Arvid Norberg
|
99eed299cd
|
asserts in dht
|
2008-02-09 21:04:24 +00:00 |
Arvid Norberg
|
97511f2819
|
removed stray space
|
2008-01-14 17:25:08 +00:00 |
Arvid Norberg
|
56210c1687
|
added asserts to make sure the pool allocator for dht messages allocates blocks of correct size
|
2008-01-13 04:24:10 +00:00 |
Arvid Norberg
|
501611173e
|
removed unused header 'packet_iterator.hpp'
|
2007-12-28 19:46:08 +00:00 |
Arvid Norberg
|
8c3f9571de
|
socks5 support for udp messages
|
2007-12-09 04:15:24 +00:00 |
Arvid Norberg
|
a7f6e3bccb
|
added abuse protection to DHT. nodes that hammer will be ignored
|
2007-12-04 02:53:10 +00:00 |
Arvid Norberg
|
966800cd5b
|
replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert.
|
2007-10-05 00:30:00 +00:00 |
Arvid Norberg
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +00:00 |
Arvid Norberg
|
fd42f3232b
|
upnp more logging and error recovery
|
2007-09-01 04:08:39 +00:00 |
Arvid Norberg
|
99a22dcae4
|
made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses
|
2007-05-23 08:45:12 +00:00 |
Arvid Norberg
|
b386aa23e9
|
DHT bugfix, more logging and less frequent private key generation. Fixed typo in identify_client
|
2007-05-14 17:49:36 +00:00 |
Arvid Norberg
|
573d9f55d6
|
fixed compilation error when not using boost.date_time. Fixed compilation error when not having DHT logging enabled
|
2007-05-12 18:24:14 +00:00 |
Arvid Norberg
|
9f902e7b9f
|
the DHT now refreshes buckets properly.
|
2007-05-12 01:52:25 +00:00 |
Arvid Norberg
|
122841fc5e
|
attempt to memory optimization in DHT routing table
|
2007-05-08 08:49:07 +00:00 |
Arvid Norberg
|
306d015924
|
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
|
2007-04-04 22:27:36 +00:00 |
Arvid Norberg
|
2dbfa156d3
|
client test now always uses dht. fixed problem with the dht logging and updated dht extension docs.
|
2007-03-08 21:42:37 +00:00 |
Arvid Norberg
|
7e3a415d0b
|
made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics.
|
2007-03-02 18:40:02 +00:00 |
Arvid Norberg
|
7888b72e12
|
fix for crashes when stopping or restarting DHT
|
2007-02-25 09:42:43 +00:00 |
Arvid Norberg
|
b0ae8d3a14
|
tracker fixes for trackerless torrents
|
2007-02-21 17:15:47 +00:00 |
Arvid Norberg
|
f14c84b01e
|
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
|
2007-01-29 07:39:33 +00:00 |
Arvid Norberg
|
13facbdb83
|
added a strand for all async operations for thread safety
|
2006-12-15 17:47:21 +00:00 |
Arvid Norberg
|
e35fc5c4be
|
refactored extensions and added a plugin interface. fixed file.cpp for windows
|
2006-11-14 00:08:16 +00:00 |
Arvid Norberg
|
37541d4676
|
fixed incorrect include of standard header with .hpp-sufix
|
2006-10-12 20:42:58 +00:00 |
Arvid Norberg
|
40741a1626
|
added missing include of set.hpp
|
2006-10-12 19:24:38 +00:00 |
Arvid Norberg
|
910733f29e
|
added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table)
|
2006-09-27 17:20:18 +00:00 |
Arvid Norberg
|
f92b6cd90c
|
fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio.
|
2006-09-11 23:34:07 +00:00 |
Arvid Norberg
|
dc2e25141c
|
changed sequencial download threshold api, it is now per torrent
|
2006-09-04 23:22:21 +00:00 |
Arvid Norberg
|
b1411fcdf7
|
the DHT can now change listen port runtime, and the same listen interface will be used for the DHT as is used for the torrent listen port. The DHT buckets are refreshed slightly more evenly distributed over time.
|
2006-08-30 00:09:58 +00:00 |
Arvid Norberg
|
3574458b44
|
fixed comparison of invalid iterators
|
2006-08-11 06:05:16 +00:00 |
Arvid Norberg
|
8227b160ea
|
fixed missing header include. added todo comment at a reported bug
|
2006-08-10 23:36:58 +00:00 |
Arvid Norberg
|
2daaa9f8d2
|
fixed bug in allocate_resources, made the refresh timers more accurate and tries to even out the load bu not refreshing more than one bucket at a time
|
2006-08-06 16:36:00 +00:00 |
Arvid Norberg
|
2d83cdfa59
|
fixed runtime-check that msvc adds if that option is checked. Fixed problem that occured if the max_transactions limit was reached.
|
2006-08-01 22:23:05 +00:00 |
Arvid Norberg
|
5ef57265bf
|
first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD.
|
2006-08-01 15:27:08 +00:00 |