arvidn
3f3b366ed5
be a bit more strict about when the STL containers need complete types (to make it build under GCC with concept checks enabled). add proper assignment operator to types used in STL containers
2016-02-21 11:29:01 -05:00
arvidn
3ff4c0e348
add start of a tutorial
2016-02-20 17:28:41 -05:00
arvidn
5817db01e7
documentation fix
2016-02-20 15:57:20 -05:00
arvidn
a5d131b1bb
post fastresume_reject_alerts when building with deprecated functions enabled
2016-02-20 13:26:21 -05:00
arvidn
cc49b876bb
add flag for initializing m_need_save_resume_data when adding torrent
2016-02-20 13:26:21 -05:00
arvidn
c9d7e54d7b
make tests pass
2016-02-20 12:50:52 -05:00
arvidn
8135ea326f
rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data
2016-02-20 02:00:07 -05:00
arvidn
4ef55073e3
transition mapped_files over to the new add_torrent_params
2016-02-20 02:00:07 -05:00
arvidn
6e88771981
transition merkle tree support over to the new read_resume_data()
2016-02-20 02:00:07 -05:00
arvidn
6223057b1e
added support for pieces, verified pieces and piece_priorities in new resume data scheme
2016-02-20 02:00:07 -05:00
arvidn
a60bbe0a1c
fix loading of peers and banned_peers from resume_data
2016-02-20 02:00:07 -05:00
arvidn
35b998f90d
introduce backwards-compatibility, of loading resume data and merging it with the add_torrent_params. add some more missing fields. deprecate some more flags in add_torrent_params
2016-02-20 02:00:07 -05:00
arvidn
e0ee12d4f3
remove m_resume_data and m_resume_data_loaded members from torrent
2016-02-20 02:00:06 -05:00
arvidn
59da9f35a8
extend some documentation
2016-02-20 02:00:06 -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
9f45156b5a
Merge branch 'RC_1_1'
2016-02-18 21:46:46 -05:00
arvidn
2e5e11859f
soft deprecate support for adding torrents by HTTP URL (remove from documentation)
2016-02-18 18:34:45 -05:00
arvidn
07bee1f690
fix typo in include makefile
2016-02-17 17:12:47 -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
Arvid Norberg
6b87c4dff2
Merge pull request #476 from ssiloti/RC_1_1
...
Fix note in listen_interfaces docs
2016-02-12 02:00:13 -05:00
Steven Siloti
7d5a3bf4ee
Fix note in listen_interfaces docs
...
Apparently rst2html doesn't appreciate tabs. Also make the note a proper rst
directive, I think this was the intention.
2016-02-11 20:29:07 -08:00
Alden Torres
feb2fd34d6
Documentation typos and new lines
2016-02-11 19:53:43 -05:00
arvidn
58f8fb164e
Merge branch 'RC_1_1'
2016-02-10 18:28:54 -05:00
arvidn
ee14337894
revert listen_failed_alert::port
2016-02-10 18:28:34 -05:00
arvidn
126ce22cb9
Merge branch 'RC_1_1'
2016-02-10 02:10:02 -05:00
arvidn
6ad2b0709e
correct the documentation for listen_interfaces
2016-02-10 02:07:41 -05:00
arvidn
d1e4b57ad4
rename a few members of session_impl to be more descriptive
2016-02-08 18:15:47 -05:00
arvidn
e7a0a9f49a
fix properly deprecating resolve-countries feature
2016-02-08 17:56:59 -05:00
arvidn
4f40f84a7e
Merge branch 'RC_1_1'
2016-02-08 15:28:34 -05:00
Arvid Norberg
7b1a8ff6f1
Merge pull request #465 from arvidn/got-tracker-1.1
...
removed unused field in torrent
2016-02-07 14:50:08 -05:00
arvidn
f4627db97f
removed unused field in torrent
2016-02-07 02:37:32 -05:00
arvidn
f8a53d17ec
un-deprecate the endpoint field in listen_failed_alert
2016-02-07 02:12:58 -05:00
arvidn
660647b590
improve abstraction level of stats cache and fix test
2016-02-06 15:51: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
Alden Torres
930a33b59c
Fix compilation with BOOST_NO_IOSTREAM
2016-02-03 13:35:23 -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
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
Alden Torres
9f3d13281f
Documentation typos
2016-02-01 15:00:46 -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
efe32c6a0e
rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files
2016-01-28 01:58:33 -05:00
arvidn
f31d17c9c5
allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker
2016-01-26 18:14:32 -05:00
arvidn
2a0e64df46
add run-time check to file_storage::map_block and improve its documentation
2016-01-22 17:17:35 -05:00
arvidn
3153521367
merged RC_1_1 into master
2016-01-21 23:59:30 -05:00
Alden Torres
5c94b286b0
Removed file::m_path windows specific field
...
Removed default_storage::sparse_end
Typos
2016-01-21 12:11:33 -05:00
Alden Torres
218d33c545
Documentation typos and minor cleanup
2016-01-20 20:48:23 -05:00
Arvid Norberg
c984ea807d
Merge pull request #409 from arvidn/RC_1_1
...
merge RC 1 1
2016-01-19 01:24:34 -05:00
arvidn
b7b7ae199a
fix msvc build
2016-01-19 01:19:16 -05:00
arvidn
2262a3dcaf
Merge branch 'RC_1_1'
2016-01-18 20:51:37 -05:00
arvidn
9231af24b4
update changelog
2016-01-18 15:36:04 -05:00
arvidn
d5203c67d9
add DHT rate limit test (simulation). introduce a new counter for dropped incoming dht messages.
2016-01-18 14:34:42 -05:00
arvidn
06b52f1421
some cleanup of the dht_socket_interface and fix tests and simulations to build with the dht disabled
2016-01-18 14:34:42 -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
651b473908
add unit test for routing_table::update_node_id
2016-01-11 23:47:27 -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
20d8f4e3f7
Removed unused fields in field class
2016-01-11 12:07:36 -05:00
Arvid Norberg
4e86c2257a
Merge pull request #376 from arvidn/discardable-alerts
...
remove the concept of non-discardable alerts
2016-01-10 19:59:05 -05:00
arvidn
c16e49ec43
remove the concept of non-discardable alerts
2016-01-10 16:12:16 -05:00
Jan Berkel
7c7ad60df6
Update comment
2016-01-10 15:09:28 +00:00
Alden Torres
0f442f59f3
Avoid pass IPv6 address to current implementation of DHT while adding a node
2016-01-09 18:46:19 -05:00
Alden Torres
7b34379c87
Doc typos
2016-01-05 08:31:04 -05:00
arvidn
a0678240f3
forward port fixes from RC_1_0
2016-01-03 23:34:57 -05:00
Alden Torres
b20096f0db
Comments typos
2016-01-02 11:46:10 -05:00
arvidn
e3ba811ae4
improve name of m_timer in dht_tracker
2016-01-01 16:42:44 -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
Arvid Norberg
ffb78f0378
Merge pull request #312 from ssiloti/export-verify-message
...
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
Steven Siloti
30076218f8
entry is a class not a struct
2015-12-30 17:25:00 -08:00
Steven Siloti
ac01ccc43a
add templated wrapper around verify_message
...
It was too easy to forget to update the ret and size parameters
when the size of desec changed. With this change we now automatically
get the size of desc and enforce that ret has the same size.
It would be nice if we could use bdecode_node ret[static Size] from C99
but that is not widely supported.
2015-12-29 20:35:36 -08:00
Arvid Norberg
03e90d45d8
Merge pull request #339 from arvidn/dht-storage-test
...
extend the unit test of dht_storage
2015-12-20 02:02:56 -05:00
arvidn
3460f203f3
extend testing of sanitize_append_path_element
2015-12-19 20:11:22 -05:00
arvidn
15ec839d33
extend the unit test of dht_storage
2015-12-19 02:09:06 -05:00
arvidn
645b121df6
deprecate resolve-countries
2015-12-14 21:32:30 -05:00
Arvid Norberg
87dcd690d8
Merge pull request #327 from arvidn/stop-when-ready-fix
...
polish the stop-when-ready flag and improve documentation
2015-12-14 00:42:57 -05:00
Arvid Norberg
3516e53fa2
Merge pull request #329 from arvidn/warnings-fix
...
mark up some override functions and fix other clang warnings
2015-12-13 22:12:52 -05:00
arvidn
1712a8e4b4
polish the stop-when-ready flag and improve documentation
2015-12-13 20:31:28 -05:00
arvidn
505ae508f4
mark up some override functions and fix other clang warnings
2015-12-13 19:44:42 -05:00
arvidn
4b6e11cc07
deprecate set_tracker_login
2015-12-13 15:14:19 -05:00
arvidn
8416bcdd10
web_seed_entry needs to be exported
2015-12-12 21:46:05 -05:00
arvidn
121b686a39
add set_web_seeds to torrent_info
2015-12-12 18:36:15 -05:00
Arvid Norberg
550b0bb047
Merge pull request #313 from arvidn/setup-swarm-cleanup
...
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn
d505f93d7a
port sim tests to use the new setup_swarm API
2015-12-12 00:41:47 -05:00
arvidn
54bf83739d
fix assert in bdecode assert for strings with prefixes of 6 or more digits
2015-12-12 00:19:13 -05:00
Alden Torres
e3fc859754
A few documentation typos.
2015-12-11 08:45:08 -05:00
Steven Siloti
c6f1e0bd7b
export verify_message and incoming_error
...
Also move these functions to a new msg.cpp. They are useful for plugins
which implement DHT extensions.
2015-12-05 18:20:08 -08:00
arvidn
cc3b064cff
fix graceful pause issue. peers regularly check whether they should disconnect or not
2015-12-04 23:27:43 -05:00
Alden Torres
1290bf5228
A few typos in documentation.
2015-12-04 18:15:11 -05:00
Alden Torres
409cfaccc1
Fix num_alert_types.
2015-12-03 22:04:32 -05:00
arvidn
98c9ac0448
fix msvc build
2015-12-03 19:28:57 -05:00
arvidn
69f4e94995
null_observer is used in a test now
2015-12-03 07:51:53 -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
Arvid Norberg
d0da753fb8
Merge pull request #302 from arvidn/fix-save-resume
...
fix save_resume_data in client_test
2015-11-30 17:17:57 -05:00
arvidn
60df41cd85
fix save_resume_data in client_test and make torrent a bit more instrumentable. This could be greatly simplified if resume data would not have file_sizes and timestamps
2015-11-29 20:31:57 -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
fd3b53604c
add new piece picker logging alert category
2015-11-29 08:25:55 -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
Arvid Norberg
359fc5648b
Merge pull request #296 from arvidn/udp-read-handler
...
more efficient handler allocation for udp and second_tick
2015-11-28 01:06:10 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -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
arvidn
e3dad98fbe
fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage
2015-11-24 00:39:02 -05:00
arvidn
92236a9923
clean up error_code use, and use error_condition to test for errors in test_http_connection
2015-11-24 00:39:01 -05:00
arvidn
174e0aeb46
fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection
2015-11-24 00:39:01 -05:00
Steven Siloti
9c7edf803e
add override and a TODO
2015-11-22 18:58:32 -08:00
Steven Siloti
9f7aa7f3a6
fix segfault in put_data
...
If less than three nodes are found to put an item to then traversal_algorithm::start
will add router nodes. This leads to a crash in put_data::invoke when it tries to
read a token from uninitialized memory in a null_observer.
2015-11-22 16:05:24 -08:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08:00
Arvid Norberg
ddddce6e2a
Merge pull request #280 from arvidn/stop-start-test
...
stop-start test
2015-11-21 02:31:11 -05:00
Arvid Norberg
42b129b9d5
Merge pull request #178 from thomas-yuan/put
...
Make dht_put_alert more accurate.
2015-11-21 02:30:45 -05:00
arvidn
c0d6b20634
extend swarm simulation test to include stopping and starting and graceful pause
2015-11-20 22:27:12 -05:00
Arvid Norberg
2eabf99307
Merge pull request #276 from arvidn/msvc-warnings
...
attempt to fix some msvc warnings
2015-11-20 08:04:38 -05:00
arvidn
f03cefceb6
fix documentation bugs
2015-11-20 01:00:39 -05:00
Thomas Yuan
ab70ad3e05
fix comments and unit test
2015-11-20 00:06:08 -05:00
Thomas Yuan
194ad410dc
Make dht_put_alert more accurate.
2015-11-20 00:06:08 -05:00
arvidn
c9c5496f1c
lower alignment requirement of socket_type to silence msvc warning (it was probably not warranted in the first place anyway)
2015-11-19 22:50:40 -05:00
arvidn
fba0762353
fix some msvc warnings
2015-11-19 19:01:54 -05:00
arvidn
964031c070
factor out readwritev to a free function, to allow unit testing of it
2015-11-19 17:58:55 -05:00
arvidn
cec6748e0c
remove the concept of slots, and just talk about pieces (since we don't do compact allocation anymore). Remove the section about compact allocation
2015-11-19 01:38:04 -05:00
Arvid Norberg
bdfed667e3
Merge pull request #267 from arvidn/storage-fix
...
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn
fb2f2731cf
fix support for incomplete reads/writes from disk
2015-11-14 00:21:03 -05:00
Alden Torres
611d0c1c6e
Fixed to make it compatible with mingw-w64 and generic linux
2015-11-13 07:55:28 -05:00
arvidn
2626159abe
use a consistent random number generator to make simulations deterministic
2015-11-12 00:21:56 -05:00
Arvid Norberg
bae2b3394f
Merge pull request #258 from arvidn/version
...
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
arvidn
fbf152abc0
attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust
2015-11-11 01:30:28 -05:00
arvidn
d0dcf82612
fix bug in set_version and update version hash
2015-11-11 01:25:30 -05:00
arvidn
4c0b00c390
forward-port version function from RC_1_0
2015-11-11 00:57:51 -05:00
Steven Siloti
c2277b3ea5
fix traversal_algorithm::done() being invoked more than once
...
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.
When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.
The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.
This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
arvidn
4814855933
update cache_size docs and raise the cap for 32 bit builds
2015-11-08 10:49:38 -05:00
arvidn
2592acfd8c
fix c++98 build
2015-11-07 21:14:52 -05:00
arvidn
a48cb785d0
forward port piece_block patch from RC_1_0
2015-11-07 18:50:54 -05:00
arvidn
00090b8284
fix typo in test_checking, introduced by recent error_code in torrent_status patch
2015-11-07 01:01:07 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
f5da27ba9e
support large info-sections in torrent_info
2015-10-31 10:53:39 -04: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
arvidn
3cc464805f
update libsimulator submodule
2015-10-25 10:55:20 -04:00
Calum Lind
8f244868a5
Remove leftover TORRENT_COMPACT_PICKER definition
2015-10-20 12:12:44 +01:00
arvidn
76821f138f
fix gcc attribute order issue
2015-10-18 00:46:01 -04:00
arvidn
08e2bf7835
mark up some more functions with override and silence a few more warnings in boost headers
2015-10-17 10:02:37 -04:00
arvidn
74ee06bff7
add more override annotation
2015-10-17 02:20:38 -04:00
arvidn
81ee9d5d4e
make appveyor build the python binding installer for windows
2015-10-12 21:09:19 -04:00
Alden Torres
cf4c8d0058
Minor refactor in direct_traversal and some typos in bdecode header.
2015-10-08 09:15:16 -04:00
arvidn
41b8429cd1
clean up documentation makefile and documentation generation script
2015-10-07 00:48:43 -04:00
arvidn
6a7b9d1c4c
typo
2015-10-07 00:46:28 -04:00
arvidn
16661fb67c
fix documentation bug
2015-10-07 00:41:31 -04:00
arvidn
51c6079c42
add stop-when-ready feature, to support checking torrents without starting the download afterwards
2015-10-04 13:08:23 -04:00
arvidn
c798e388a9
forward port fix to proxy_peer_connections to master
2015-10-03 11:20:10 -04:00
Alden Torres
62b24d8b67
Add set_dht_storage to session API.
2015-10-02 09:00:07 -04:00
arvidn
a00e5aa6c7
forward port patch to have resume data web seeds override .torrent file web seeds, and a flag to merge them
2015-09-30 00:41:41 -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
arvidn
8b30e78d69
forward port fix for bug where dont_count_slow_torrents could not be disabled, into master
2015-09-25 14:22:38 -07:00
Alden Torres
197a443465
Fix of dht_storage_counters::peers counter.
2015-09-24 10:50:04 -04:00
Thomas Yuan
f9fa8ffdec
Use ping instead of get_peers if current bucket is full.
2015-09-22 10:35:10 -04:00
Arvid Norberg
50ccce6eed
Merge pull request #174 from arvidn/fallocate-hack
...
remove fallocate hack (in master)
2015-09-22 07:18:07 -07:00
arvidn
5bdb583162
remove fallocate hack (in master)
2015-09-21 20:22:19 -07:00
Arvid Norberg
3e37785280
Merge pull request #152 from thomas-yuan/mutable-expiration
...
make immutable/mutable items lifetime configurable.
2015-09-21 20:20:53 -07:00
arvidn
dc77da5630
fix build
2015-09-21 20:19:05 -07:00
Thomas Yuan
7fec9e488d
make immutable/mutable items lifetime configurable.
2015-09-21 20:32:37 -04:00
Arvid Norberg
01193fcf7c
Merge pull request #163 from aldenml/dht-storage-counters
...
Create dht_storage_counters to avoid internal counter in future public API
2015-09-21 13:51:39 -07: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
fb2f659a31
fix bug in time keeping of active_time, seeding_time, finished_time etc.
2015-09-21 00:38:56 -07:00
arvidn
2715ae475c
expose whether torrents are announcing to trackers, lsd and dht. these can be disabled by the queuing logic
2015-09-19 01:54:47 -04:00
arvidn
b628692223
separate out announce_entry and torrent_status into their own headers
2015-09-18 08:08:08 -04:00
Alden Torres
e2d682275a
Implementing and using new dht storage interface
2015-09-16 08:30:27 -04:00
Thomas Yuan
bee620b4f1
Fix routing_table bucket_size(int bucket) out_of_range logic error.
2015-09-10 17:19:00 -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
d6bb387ab9
Use dht_settings directly instead of add a read_only member variable.
...
Since rpc_manager has a reference of dht_settings, needn't pass it
as a parameter for incoming().
2015-09-08 10:35:30 -04:00
arvidn
ee3cb6cf86
move some internal headers to aux_ to fix documentation
2015-09-07 17:00:27 -04:00
Thomas Yuan
3d4ed9f37f
Add read-only support in dht_settings and outgoing query messages.
2015-09-07 14:24:46 -04:00
arvidn
113e84e7f6
fix appveyor build
2015-09-07 02:34:14 -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
b45c585a78
use gcc on linux and clang on osx
2015-09-06 22:55:41 -04:00
arvidn
536a5f897a
update queuing documentation and regenerate html
2015-09-06 18:14:06 -04:00
arvidn
cb65694578
fix const correctness in xml_parse(). update unit tests rss and upnp to use new signature for parser callback
2015-09-06 00:38:33 -04:00
arvidn
a344c659e5
Revert "use handler allocator for UDP socket read handler"
...
This reverts commit 3ccb4f7dca
.
2015-09-03 07:29:24 -04:00
arvidn
918aca9083
fix typo
2015-09-03 00:16:52 -04:00
randy-waterhouse
693586f23e
Fix makefile.am allocating_handler.hpp call.
2015-09-03 08:48:59 +12:00
arvidn
3ccb4f7dca
use handler allocator for UDP socket read handler
2015-09-02 01:15:02 -04:00
Arvid Norberg
915e56022b
Merge pull request #127 from thomas-yuan/master
...
Fix dht_immutable/mutable_item_alert category.
2015-09-01 20:54:52 -04:00
Thomas Yuan
90e13e05f5
Fix dht_immutable/mutable_item_alert category.
2015-09-01 11:31:46 -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
arvidn
f719b95f64
fix build issue
2015-08-31 00:54:16 -04:00
arvidn
4536f2c293
fix typo
2015-08-31 00:36:43 -04:00
arvidn
a0c9fafd39
factor out handler_storage and allocating handler helper classes for allocating asio handlers in-place in peer objects
2015-08-31 00:17:42 -04:00
arvidn
b4381aa646
add unit test for linked_list
2015-08-30 23:34:49 -04:00
arvidn
2382dd8d61
remove TODO comment
2015-08-30 20:41:21 -04:00
arvidn
0d9d632465
initial support for disabling proxy for tracker connections
2015-08-29 19:44:54 -04:00
arvidn
0ee4e46b49
attempt to fix tracker test
2015-08-29 17:57:49 -04:00
arvidn
ba95aa27d6
cleanup unused code
2015-08-29 16:07:19 -04:00
arvidn
0f760d3fb4
expand tracker unit test to assert the session correctly receives the right peers
2015-08-29 16:04:35 -04:00
arvidn
5757b0ad13
polish some behavior when setting piece and file priorities for torrents with no metadata. Fix the initialization order of peers once we do get the metadata
2015-08-29 10:21:15 -04:00
Thomas Yuan
b26d08c66a
Remove unnecessary selection statements.
2015-08-26 11:26:21 -04:00
Steven Siloti
4b702701b2
exclude obsolete compatibility code on msvc-14 and later
2015-08-24 07:28:16 +02:00
arvidn
82a3683f7d
polish removal of web seeds logic
2015-08-23 11:01:55 +02:00
arvidn
d43af6e3b7
remove functionality to initiate MTU based on the MTU on the nic (this is error prone and has questionable value)
2015-08-22 08:09:09 +02:00
arvidn
a42f9e0c63
fix more warnings
2015-08-22 00:28:12 +02:00
arvidn
42fdd0f896
fix some more warnings
2015-08-21 22:56:57 +02:00
arvidn
4873004df7
warnings as errors
2015-08-21 14:52:07 +02:00
arvidn
904da120d7
fixed some warnings
2015-08-20 22:28:00 +02:00
arvidn
40a67ecbc8
fix unknown pragma warning on msvc
2015-08-20 21:14:39 +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
ffa870d280
fixed some GCC warnings
2015-08-20 01:33:20 +02:00
arvidn
bd177a857f
make tailequeue a template, introduce type safety, remove old-style casts
2015-08-19 15:22:05 +02:00
arvidn
a3608a39fe
fix some warnings
2015-08-19 02:00:46 +02:00
Arvid Norberg
6bcac425f1
Merge pull request #95 from arvidn/postpone_dht_start
...
DHT router name lookups
2015-08-19 01:44:26 +02:00
arvidn
5c8fc818c1
fix more warnings
2015-08-19 01:39:01 +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
a3c4a0a3e6
attempt to fix msvc build
2015-08-18 21:40:22 +02:00
arvidn
8d8c049d9e
fix warnings and invalid defines in disk_io_thread.cpp
2015-08-18 07:55:50 -04:00
arvidn
f6b86dc4b5
add typesafety to piece_picker torrent_peer pointers. and fix a few incorrect uses
2015-08-18 04:25:13 -04:00
arvidn
eecdd3121d
fix some build warnings
2015-08-17 09:01:43 -04:00
arvidn
b1a3a36eae
remove some old leftover code from upnp
2015-08-16 12:21:39 -04:00
arvidn
16bb2de6ed
fix some warnings
2015-08-13 23:52:25 -04:00
arvidn
225b82d9a0
move test_trackers_extensions over to a simulation and some minor metadata extension and tracker re-announce fixes
2015-08-13 23:07:04 -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
d60ddf6786
Minor change: #ifdef -> #if
2015-08-13 18:43:58 -04:00
Alden Torres
9e29eb9978
Introduced TORRENT_UTP_LOG_ENABLE macro to guarantee that TORRENT_UTP_LOG and TORRENT_VERBOSE_UTP_LOG are always defined (no need to change a lot of macro if).
2015-08-13 18:43:58 -04:00
Alden Torres
12fb68e8e3
Refactor of utp stream logging functions.
...
Renamed utp-stats option to utp-log.
2015-08-13 18:43:58 -04:00
Alden Torres
02afc8b640
Added utp-stats bjam option to enable utp stream log (utp.log file).
2015-08-13 18:43:58 -04:00
arvidn
d2819cd1b9
fix uninitialized variable in test_pe_crypto simulation
2015-08-12 20:18:47 -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
Alden Torres
2457b16d09
Documented that portmap_log_alert is only posted if port_mapping_log_notification is enabled.
2015-08-12 00:10:32 -04:00
Alden Torres
1805c96f44
Created a new port_mapping_log_notification alert category to separate portmap_log_alert.
2015-08-12 00:07:08 -04:00
Steven Siloti
1b4b1c4403
fix error handling for DHT direct requests
2015-08-10 20:33:05 -07:00
Steven Siloti
135f4761e1
add more comments about DHT direct requests
2015-08-10 20:33:04 -07:00
Steven Siloti
8e00172af7
return a bdecode_node rather than taking one by reference
2015-08-10 20:33:04 -07:00
Steven Siloti
43dc784cf2
add direct_request.hpp to Makefile.am
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
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
Steven Siloti
a29e64965c
add some basic operators to peer_connection_handle
2015-08-10 20:33:04 -07:00
arvidn
a81ca2391b
fix some warnings
2015-08-10 20:03:24 -04:00
arvidn
d977f2e68f
attempt to make appveyor happy
2015-08-09 17:54:10 -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
6068418def
fix and re-enable simulations
2015-08-09 00:56:37 -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
arvidn
72286eb0dc
minor asio.ssl abstraction cleanup. update libsimulator with build fix. only run simulator on one of the build variants on travis, since the simulator does not support ssl
2015-08-08 16:19:44 -04:00
arvidn
50925d7652
fix some more warnings
2015-08-08 02:48:01 -04:00
arvidn
46803b75f8
support building libtorrent in simulation mode (using libsimulator, which is a git submodule)
2015-08-07 21:31:59 -04:00
arvidn
a91e7ce25d
fix warnings
2015-08-06 02:30:06 -04:00
Alden Torres
eef9f16b3b
Removed unused flag bandwidth-limit-logging and related code.
2015-08-04 01:47:15 -04:00
Alden Torres
cd8a4d2511
Moved TORRENT_DISK_STATS to default_storage with the option of enable/disable at runtime.
2015-08-03 18:16:43 -04:00
arvidn
e0c3d28321
fix some warnings
2015-08-02 15:55:05 -04:00
arvidn
bb64887f30
merge total wanted fix from RC_1_0
2015-08-02 15:18:21 -04:00
arvidn
655a3ae019
fix some warnings
2015-08-01 23:57:11 -04:00
arvidn
990aabe36f
fix warnings and no-deprecated functions build
2015-08-01 19:55:36 -04:00
Steven Siloti
30e43a6595
add default NULL ctor to session_handle
2015-08-01 15:48:32 -07:00
arvidn
52b4aed466
merge bdecode patch from RC_1_0. an empty string now produces an error rather than an empty bdecoded struct
2015-07-30 21:29:22 -04:00
arvidn
75dc8b7997
fix python binding build with no deprecated functions
2015-07-27 23:09:24 -07:00
arvidn
7f695f05d5
use boost.asio as headers only library again (simplify builds and hopefully fix shared linking of python module on gcc linux)
2015-07-27 23:09:24 -07:00
arvidn
1a4c017ec5
merged torrent_info constructor fix (python bindings) from RC_1_0
2015-07-25 16:40:07 -07:00
Arvid Norberg
742548b69c
Merge pull request #49 from ssiloti/plugin-exported-api
...
Only use exported types in the plugin api
2015-07-25 15:53:22 -07:00
Steven Siloti
e6b3df3696
pass torrent_handle by const ref in the plugin api
2015-07-25 09:57:55 -07:00
Steven Siloti
72dcc20073
pass peer_connection_handle by const ref in the plugin api
2015-07-25 09:15:24 -07:00
Steven Siloti
e0e06bc87a
switch to peer_connection_handle for optimistic unchoking
...
This is necessary to enable external plugins since the vector is passed to
plugins via on_optimistic_unchoke.
2015-07-23 20:48:35 -07:00
Steven Siloti
2c1f24c036
switch to session_handle in plugin api
2015-07-23 20:13:32 -07:00
Steven Siloti
fbc67b4e21
switch to torrent_handle in plugin api
2015-07-23 19:52:23 -07:00
arvidn
bb705e9a52
improved seed-mode handling (seed-mode will now automatically be left when performing operations implying it's not a seed). fixed issue with file priorities and override resume data
2015-07-21 10:12:37 -07:00
Arvid Norberg
a1b73317ce
Merge pull request #37 from jpetso/master
...
Progress towards a workable CMake build
2015-07-20 09:49:37 -07:00
arvidn
6c5aec3476
fix request queue size performance issue
2015-07-20 08:20:17 -07:00
arvidn
9231476ac6
employ variadic templates and perfect forwarding for peer connection asio handler allocator
2015-07-20 06:44:58 -07:00
arvidn
2439ec55c1
clean up in utp_stream.hpp
2015-07-17 22:01:45 -04:00
arvidn
7b379b1740
improve documentation for protocol encryption
2015-07-17 21:59:10 -04:00
Jakob Petsovits
2a22ecfcce
Remove unused mentions of non-existent class.
2015-07-17 20:13:14 -04:00
arvidn
7a3cabfe12
fixed some resume issues, specifically around file priorities and override resume data
2015-07-16 21:56:06 -04:00
arvidn
a65b71b855
improve logging of adding peers and the state of torrents. the default flags for the external connect_peer() call now assumes encryption, uTP and holepunch support
2015-07-16 21:53:31 -04:00
Mikhail Titov
70a99e6f62
Don't attempt to resolve base64 destination for i2p tracker
2015-07-14 14:13:15 -05:00
Mikhail Titov
3f2e660fcf
Wait for i2p acceptor before announcing
...
This somewhat closes #1 in an ugly way
2015-07-14 14:13:13 -05:00
Mikhail Titov
df21a7e8ce
Use scrape & i2p bitset flags for request
2015-07-14 14:13:10 -05:00
Mikhail Titov
5d3938b39b
Parse compact response from I2P tracker
...
This fixes #2
2015-07-14 14:13:09 -05:00
Mikhail Titov
007a580207
Options to use lowercase base32 encoding without padding
2015-07-14 12:41:12 -05:00
Steven Siloti
d911ed456a
stub out disabled functions rather than removing them
2015-07-12 20:17:45 -07:00
Steven Siloti
825fd22c1e
cut down on the size of the peer_connection_handle interface
2015-07-12 16:31:29 -07:00
Steven Siloti
9bf1d6c5e9
peer_connection_handle
2015-07-12 14:40:03 -07:00
Alden Torres
73e5f795cb
Merge with master.
2015-07-12 10:37:16 -04:00
Alden Torres
a856ae6e9b
Added dht_get_peers and dht_announce at session level.
...
Refactored dht_put_item to dht_put_immutable_item in session_impl since the get operations are not overloaded (consistency).
Added allow_threading_guard to add_dht_node python binding.
Making dht_put_item in session returns a zeroed hash if TORRENT_DISABLE_DHT (avoid unnecessary calculation and it's more consistent).
Added missing DHT operations to the python binding.
Added missing allow_threading_guard to add_dht_node in the python binding.
2015-07-12 10:37:16 -04:00
arvidn
2739def57f
minor cleanups. use libtorrent typedefs for asio. failing to bind IPv6 UDP socket is no longer fatal. removed some redundant listen_failed_alerts
2015-07-11 23:01:27 -04:00
Steven Siloti
189afdd5e3
add session_handle.hpp to Makefile.am
2015-07-11 11:17:28 -07:00
Steven Siloti
1d55bcba72
make session inherit from session_handle and remove wrapper functions
2015-07-11 11:17:28 -07:00
Steven Siloti
b072b0ca5f
create session_handle
...
The session_handle class exposes the same public interface to session_impl as
the session class. The difference being that session_handle does not own the
underlying session_impl so multiple session_handle instances can be created
and copied about as needed.
The intent is to chenge the plugin API to pass an instance of session_handle
instead of a pointer to session_impl. This change will be made in a separate
patch.
To maintain ABI compatibilty, the type signature of session was not changed.
The relevent functions have been modified to forward to session_handle and
all enums have been left in session.
2015-07-11 11:17:28 -07:00
arvidn
c5614b691f
export file_progress class when building unit tests. fix to web_server.py (used for unit tests)
2015-07-07 23:46:33 -04:00
arvidn
3b3a23a87a
whitespace
2015-07-05 18:33:47 -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
cc67c60938
hide cx keyword from winrt
...
instead of a hacky undef that break the keyword
2015-07-04 06:04:06 +02:00
Alden Torres
e7ee3590fa
Simplified dht_get_peers_reply_alert memory handling to work with only one allocation and return all peers at once.
2015-07-03 22:59:44 -04:00
John Sebastian Peterson
30142e35ac
conform crypt api detection to coding standard
2015-07-04 01:42:33 +02:00
John Sebastian Peterson
7f160e42a5
fix c++/cx interface name conflict in alerts
2015-07-02 09:58:12 +02:00
John Sebastian Peterson
02cee0e96e
add winrt detection
2015-07-02 09:55:29 +02:00
Alden Torres
d9246d12c4
Re-implemented dht_get_peers_reply_alert using the stack_allocator for peers vector storage.
2015-07-01 15:30:09 -04:00