arvidn
e851b79865
fix issue when shutting down a torrent with outstanding async operations
2016-03-02 01:16:08 -05:00
Steven Siloti
b52027a02a
set enable_dht to true in session::start_dht(entry)
...
This function needs to enable the dht to match its semantics in pre 1.1 versions
2016-02-26 19:22:28 -08:00
arvidn
2fd8047308
merged RC_1_1
2016-02-24 21:22:39 -05:00
arvidn
e5ccb63375
fix build with openssl and deprecated functions disabled
2016-02-24 02:07:27 -05:00
arvidn
dcd6af6473
more fixing of test_transfer proxy tests
2016-02-24 00:03:56 -05:00
arvidn
0b173c6651
merged RC_1_1
2016-02-23 23:48:29 -05:00
arvidn
72a3771b87
attempt to fix logic around around actually closing udp sockets (specifically the SSL UDP socket)
2016-02-21 20:00:55 -05:00
arvidn
d8b88ba381
include protocol in portmap_alert
2016-02-21 19:16:00 -05:00
arvidn
61a67ece4a
fix non-openssl build
2016-02-21 18:40:06 -05:00
arvidn
cdfdbfd6aa
fix port mapping for SSL UDP socket
2016-02-21 17:40:27 -05:00
arvidn
cc8066bf11
properly deprecated adding torrents by http url
2016-02-21 11:31:42 -05:00
arvidn
67dbca14b7
move logic that loads torrent files from resume data into read_resume_data()
2016-02-20 13:26:20 -05:00
arvidn
c9d7e54d7b
make tests pass
2016-02-20 12:50:52 -05:00
arvidn
197ded5a0d
revamp the way resume data is read, by providing a function for the client to parse resume data, capturing it in add_torrent_params
2016-02-20 02:00:06 -05:00
arvidn
9d1f2b18ed
fix upnp mapping typo
2016-02-14 17:19:29 -08:00
arvidn
72a24b63ba
use bind_to_device for listen sockets
2016-02-12 15:46:18 -05:00
arvidn
6d77000ab0
deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces.
2016-02-12 15:46:12 -05:00
arvidn
887e79eb22
improve support for listening on multiple sockets and interfaces, with the listen_interfaces setting
2016-02-12 15:44:17 -05:00
arvidn
3842a0a197
Merge branch 'RC_1_1'
2016-02-12 15:43:13 -05:00
arvidn
ceb0ac6148
fix issue in socket binding and back-port ssl test reliability fix
2016-02-10 02:09:12 -05:00
arvidn
d1e4b57ad4
rename a few members of session_impl to be more descriptive
2016-02-08 18:15:47 -05:00
arvidn
4f40f84a7e
Merge branch 'RC_1_1'
2016-02-08 15:28:34 -05:00
arvidn
44abd1a59b
forward port fix to post torrent_added_alert earlier, from RC_1_0
2016-02-08 15:28:13 -05:00
arvidn
dd48faa8d4
minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription
2016-02-08 02:05:00 -05:00
arvidn
ae7058e119
remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent.
2016-02-06 15:50:55 -05:00
arvidn
6b63016b05
Merge branch 'RC_1_1'
2016-02-05 01:09:11 -05:00
arvidn
b0cc0f84ab
support NULL being passed as the listen interface to session constructor
2016-02-02 23:17:51 -05:00
arvidn
3a4f957b63
Merge branch 'RC_1_1'
2016-02-02 02:02:24 -05:00
arvidn
0f747695b7
fix error handling bug in logging
2016-02-02 01:57:56 -05:00
arvidn
e3fc6083bb
fix typo in listen_failed_alert
2016-02-01 20:53:58 -05:00
arvidn
88b7e3768f
add sim test for optimistic unchoke round-robin distribution
2016-02-01 20:28:30 -05:00
arvidn
f2ce2284da
optimize the optimistic unchoke logic. extend the API for extensions to be able to affect the order of optimistic unchokes
2016-02-01 20:28:22 -05:00
arvidn
e113e8cdf3
minor cleanup of listen sockets
2016-01-31 19:40:31 -05:00
arvidn
e584c30b29
forward-port reuse address patch for windows
2016-01-31 18:16:26 -05:00
arvidn
acd929381e
restore the endpoint field in listen_failed_alert (but deprecated) and add a port field
2016-01-31 10:20:10 -05:00
arvidn
9f1b27cf5f
Merge branch 'RC_1_1'
2016-01-30 01:47:19 -05:00
arvidn
f31d17c9c5
allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker
2016-01-26 18:14:32 -05:00
arvidn
3153521367
merged RC_1_1 into master
2016-01-21 23:59:30 -05:00
arvidn
784f8806a4
fix asio debugging feature
2016-01-18 23:13:50 -05:00
arvidn
2262a3dcaf
Merge branch 'RC_1_1'
2016-01-18 20:51:37 -05:00
arvidn
595fe157a9
fix shutdown issue
2016-01-18 20:48:27 -05:00
arvidn
297b8943d0
move the DHT rate limiter into the dht_tracker class and remove the rate_limited_udp_socket type. This further simplifies the udp socket (preparing for moving it into the listen_socket structure)
2016-01-18 14:34:41 -05:00
arvidn
1f9f588e75
merge copyright year update and changelog from RC_1_0
2016-01-17 18:57:46 -05:00
arvidn
3cd57b59e0
when a tracker is force announced or scraped by the user/client, the resulting response or failure alert is now posted regardless of the alert mask. Since it's user initiated, it's reasonable to expect the user to be interested in the response
2016-01-16 21:24:04 -05:00
arvidn
13f03ce38a
print the actual stats in session_stats_alert::message() and make parse_session_stats.py parse the alert output. add stats_metric objects for all performance counters
2016-01-12 23:34:37 -05:00
arvidn
f4d643bd2d
instead of restarting the whole DHT when changing external IP, just rebuild the routing table and change the node IDs
2016-01-11 21:17:25 -05:00
Alden Torres
b9a5525ab2
Store dht_settings::max_peers in session state
2016-01-02 11:49:07 -05:00
arvidn
01e6b93854
simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit
2016-01-01 16:42:37 -05:00
arvidn
1698dc75dc
remove redundant boost::bind
2015-12-25 15:59:50 -05:00
arvidn
2acb3dcb24
clean up use of getrlimit() by wrapping it and move it to platform_util.cpp. Also take the opportunity to make it simulator friendly (consistent in simulation)
2015-12-02 00:45:34 -05:00
arvidn
12dde0f415
actually add a test to the unit test
2015-11-30 19:07:35 -05:00
arvidn
87b64f083a
fix python build
2015-11-29 11:12:58 -05:00
arvidn
332799bff2
make alert types declared final and disable the log alert declarations when logging is disabled
2015-11-29 10:16:02 -05:00
arvidn
2c3d7ee0ef
fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well)
2015-11-28 14:14:49 -05:00
arvidn
98c3b75b55
use more efficient (in-place) handler allocation for udp async_read and session second_tick
2015-11-28 00:57:44 -05:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08:00
Thomas Yuan
194ad410dc
Make dht_put_alert more accurate.
2015-11-20 00:06:08 -05:00
Arvid Norberg
ef1f399fd3
Merge pull request #259 from arvidn/deterministic-rand
...
use a consistent random number generator
2015-11-12 21:45:09 -05:00
arvidn
2626159abe
use a consistent random number generator to make simulations deterministic
2015-11-12 00:21:56 -05:00
arvidn
8fa6863e15
fix IP filter bug when adding a torrent after setting the filter
2015-11-11 20:43:42 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
729a8e9152
update libsimulator. add simulation/test for announcing twice to trackers over IPv4 and IPv6. fix bugs preventing libtorrent from doing that correctly
2015-10-27 00:21:07 -04:00
Alden Torres
62b24d8b67
Add set_dht_storage to session API.
2015-10-02 09:00:07 -04:00
arvidn
5da511f140
now that force-started torrents aren't affected by the auto-manager, they need to be explicitly kicked when entering checking state (it would be nice if all this could be done through set_state())
2015-09-29 20:49:38 -04:00
arvidn
dab0f8b8d0
simplify the queuing logic for checking torrents. make all non-auto-managed torrents always be exempt from any queuing mechanism (including checking). Extend documentation on how it works
2015-09-29 20:49:37 -04:00
Thomas Yuan
7fec9e488d
make immutable/mutable items lifetime configurable.
2015-09-21 20:32:37 -04:00
Alden Torres
25ed70b977
Create dht_storage_counters to avoid internal counter in future public API.
2015-09-21 07:46:23 -04:00
arvidn
cf15453388
forward port auto-manage fix from RC_1_0
2015-09-19 02:10:50 -04:00
Arvid Norberg
8b6b8240c1
Merge pull request #144 from thomas-yuan/master
...
load_state should restart dht/proxy if there is dht state/proxy.
2015-09-10 00:13:07 -04:00
Thomas Yuan
a06a8fe19e
load_state should restart dht/proxy if there is dht state/proxy.
2015-09-08 21:34:49 -04:00
Arvid Norberg
abe994c191
Merge pull request #128 from thomas-yuan/patch2
...
Add read-only support in dht_settings and outgoing query messages.
2015-09-08 19:47:18 -04:00
Thomas Yuan
4d6de4bcd8
save/load all dht_settings.
2015-09-08 11:03:27 -04:00
arvidn
ee3cb6cf86
move some internal headers to aux_ to fix documentation
2015-09-07 17:00:27 -04:00
arvidn
a2ea8b32db
fix more warnings
2015-09-06 22:55:41 -04:00
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
arvidn
43ee75ce02
only post listen_succeeded_alert once all sockets have succeeded, since we may re-open previously successful ones if a later one fails
2015-09-05 22:14:04 -04:00
arvidn
0d9d632465
initial support for disabling proxy for tracker connections
2015-08-29 19:44:54 -04:00
arvidn
ba95aa27d6
cleanup unused code
2015-08-29 16:07:19 -04:00
arvidn
beb5455331
add disk I/O read asserts and fix i2p issue if a tracker responds with i2p peers when i2p is not configured on the client
2015-08-28 07:20:21 -04:00
arvidn
a42f9e0c63
fix more warnings
2015-08-22 00:28:12 +02:00
arvidn
b7b0dafcca
fix some warnings
2015-08-21 10:05:51 +02:00
arvidn
8cf8e65861
turn linked_list into a template to improve type safety and remove some casts
2015-08-20 02:02:46 +02:00
arvidn
8bc4bf1e1a
remove incorrect check for m_dht
2015-08-19 01:43:44 +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
cc4368b45a
attempt to postpone DHT until all outstanding dht router name lookups complete
2015-08-18 22:56:00 +02:00
arvidn
26fecaf037
fix more warnings
2015-08-18 16:42:03 +02:00
arvidn
eecdd3121d
fix some build warnings
2015-08-17 09:01:43 -04:00
arvidn
9a0092c120
fix some warnings
2015-08-16 12:17:23 -04:00
arvidn
16bb2de6ed
fix some warnings
2015-08-13 23:52:25 -04:00
Arvid Norberg
68bc4f2cf4
Merge pull request #12 from mlt/wip/i2p
...
Few i2p fixes
2015-08-13 21:55:27 -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
1b4b1c4403
fix error handling for DHT direct requests
2015-08-10 20:33:05 -07:00
Steven Siloti
1ff48aef60
add comment
2015-08-10 20:33:04 -07:00
Steven Siloti
3564562dab
pass raw buffer in dht_direct_response_alert
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
arvidn
4fa0aa62da
simulate IP routes, interfaces and page size when building in simulation mode
2015-08-09 15:01:01 -04:00
arvidn
1c1698459c
fix warnings
2015-08-08 22:53:11 -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