Commit Graph

3472 Commits

Author SHA1 Message Date
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
Alden Torres cbba63ce94 Created new alert category for pure DHT operations. 2015-07-01 15:30:08 -04:00
Alden Torres fcac7140f8 Added dht_get_peers and dht_announce at session_impl level. 2015-07-01 15:30:08 -04:00
arvidn 94d6e06c97 first step in making opening all the listen sockets a bit more reliable 2015-06-29 23:10:09 -04:00
arvidn d1670c72c2 removed sparse-regions support 2015-06-29 20:40:32 -04:00
arvidn d887f5719d it's called peer_list now 2015-06-29 19:56:39 -04:00
arvidn e2784df13c factor out file progress tracking from the torrent class 2015-06-28 22:47:11 -04:00
arvidn 2d1db68ea6 fix diagnostic push/pop issue 2015-06-28 18:44:37 -04:00
Steven Siloti d7a3b05fdc remove inaccurate comment about deadlocking in torrent_handle 2015-06-27 11:22:13 -07:00
Arvid Norberg 8dbef2d32a Merge pull request #11 from aldenml/announce-get_peers-refactor
Refactor to expose a more convenient get_peers function as part of the DHT api.
2015-06-25 00:33:15 -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
Mikhail Titov 3d448402a4 Don't attempt to find_peers in peer_list for i2p
This closes #7
2015-06-24 19:41:32 -05:00
arvidn 6621a1ba1a documentation fix 2015-06-21 22:54:12 -04:00
arvidn 8b66fbe194 fix bug in previous commit 2015-06-20 18:17:49 -04:00
arvidn bc849b8d07 fixed typo in config.hpp 2015-06-20 16:50:44 -04:00
arvidn 3755a77a64 attempt to trouble shoot missing backtraces on linux 2015-06-20 16:36:23 -04:00
arvidn 1450a692e4 fix test_identify_client build with deprecated functions turned off 2015-06-19 23:54:38 -04:00
Alden Torres 5e2e4bbb01 Minor syntactic change to avoid compiler warning about comma at the end of enum element. 2015-06-18 14:50:13 -04:00
arvidn f36d360b8b merged fix from RC_1_0 2015-06-17 17:40:38 -04:00
arvidn 323af56cc2 update interest when changing upload-only mode 2015-06-16 01:24:35 -04:00
arvidn 5cb095f6d2 support using 0 disk threads (to perform disk I/O in network thread) 2015-06-14 16:00:04 -04:00
arvidn db76ba759d improve some tests 2015-06-14 15:48:11 -04:00
arvidn aa6598b2e6 don't return an internal session_settings type from the session, return a settings_pack instead 2015-06-07 00:23:30 -04:00
arvidn a3d397e194 fix python binding build issue 2015-06-06 17:38:46 -04:00
arvidn 9af8841244 remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp 2015-06-06 13:49:18 -04:00
arvidn 41533205be drop support for boost 1.35 and fix some more references to the asio namespace 2015-06-06 02:10:53 -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
arvidn 5841822f73 fix ambiguous session constructor 2015-06-05 02:38:07 -04:00
arvidn 15dd15d0d6 fix no-deprecated build. extend .travis.yml to build the 3 test configurations too. rename README to README.rst 2015-06-05 02:31:52 -04:00
arvidn 086723dd76 attempted glibc build fix 2015-06-04 21:44:24 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg b5a30a65ae merged changes from RC_1_0 2015-06-03 05:12:54 +00:00
Arvid Norberg 4e1e53f066 turn some more members of session_impl to private 2015-06-03 04:33:20 +00:00
Arvid Norberg 0351326add separate the main thread and the io_service from session_impl. The io_service object is now simply run() in the main thread, all initialization is done by posting messages to it. This generalizes session_impl to some degree, enables future expansion to run in multiple threads (although, the peers and torrents don't support this). This patch also makes it possible to pass in a third party io_service to the session, but at this point that's mostly useful for tests, as it's not well supported 2015-06-03 03:04:44 +00:00
Arvid Norberg 5d6cba438d merged changes from RC_1_0 2015-06-02 01:14:52 +00:00
Arvid Norberg 3409c782f8 merged changes from RC_1_0 2015-05-31 21:57:38 +00:00
Arvid Norberg c8443d0c7c msvc fixes 2015-05-31 12:21:16 +00:00
Arvid Norberg 91197005e9 more msvc fixes 2015-05-31 09:02:42 +00:00
Arvid Norberg 84849f3afd some msvc fixes 2015-05-30 21:46:59 +00:00
Arvid Norberg 34f6b1ca19 merged RC_1_0 into trunk 2015-05-30 17:41:38 +00:00
Arvid Norberg f9c9d0ad0d merge small unit tests to make running the tests quicker. expand the test framework a bit. add ax_boost_random.m4 script to link against boost.random correctly from makefile. 2015-05-30 04:31:23 +00:00
Arvid Norberg 9b0313bd8e hold settings_pack by shared_ptr when passing it across thread boundaries. don't allocate it on the heap redundantly 2015-05-29 05:27:53 +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 27cbfa164e minor cleanup 2015-05-28 14:46:12 +00:00
Arvid Norberg 06bf225237 fix release build and tune want_tick 2015-05-26 20:09:19 +00:00
Arvid Norberg 09bc072c31 inactive/auto managed fixes. fix client_test key input 2015-05-26 18:39:49 +00:00
Arvid Norberg c6f8dd408a optimize recalculate auto-managed 2015-05-25 21:46:42 +00:00
Arvid Norberg 9856a1fe0c break out more tests from test_primitives 2015-05-23 01:38:47 +00:00
Arvid Norberg 0052fa6c19 some cleanup to dht observers (don't expose internals) 2015-05-22 02:42:26 +00:00
Arvid Norberg 1b93f1e4b8 fix override function signature on alerts 2015-05-22 02:34:22 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 051ca6b22c fix warnings 2015-05-18 05:32:18 +00:00
Arvid Norberg abf9c83732 whitespace 2015-05-18 05:06:07 +00:00
Arvid Norberg 9ee98b3ed1 fix build warnings 2015-05-18 05:04:55 +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 b480f40a98 fix linux build and update code coverage script 2015-05-17 21:00:47 +00:00
Arvid Norberg 9597dcda87 throw when packet_buffer fails to allocate memory 2015-05-17 15:23:39 +00:00
Arvid Norberg 58ae099cf8 clean up disk_io_job a bit to avoid old-style casts 2015-05-16 20:41:37 +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 12c9d3de26 fix more warnings 2015-05-16 18:35:47 +00:00
Arvid Norberg 259e094316 fix warnings 2015-05-16 07:21:23 +00:00
Arvid Norberg 2bf4519bee make the torrent hold a pointer to the ip_filter instead of relying on a session reference 2015-05-16 06:33:37 +00:00
Arvid Norberg a44731aabb merged fixes from RC_1_0 and regenerated documentation 2015-05-12 06:23:14 +00:00
Arvid Norberg 494b425ea1 fix warnings and a peer logging bug 2015-05-10 18:38:10 +00:00
Arvid Norberg 0029ac62a8 add unit test for extract_peer_info 2015-05-10 18:24:38 +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 1357fd5265 clean up usage of printf attribute (encapsulate it in a macro) 2015-05-10 05:11:51 +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 095b709adb rename bitfield::bytes() -> bitfiele::data() 2015-05-09 19:07:33 +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 b3d7668e7a properly report errors when failing to generate randomness 2015-05-09 04:08:32 +00:00
Arvid Norberg 3218931495 properly throw on failing to allocate memory in buffer and bitfield 2015-05-09 03:56:57 +00:00
Arvid Norberg a83dcbaaf0 removed access-log build option and log parser. added incoming_request_alert. This feature can now be implemented by clients 2015-05-09 03:04:08 +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 202b4921b6 merged changes from RC_1_0 2015-05-08 04:28:24 +00:00
Arvid Norberg 5dc00969f8 fix more warninigs 2015-05-06 02:13:03 +00:00
Arvid Norberg 4b585dcc0e minor cleanup and fix no-deprecated build 2015-05-06 01:11:54 +00:00
Arvid Norberg db4a9962e9 take const references where we can in magnet_uri 2015-05-05 05:44:42 +00:00
Arvid Norberg fce3f77744 override marking of virtual functions 2015-05-05 05:37:01 +00:00
Arvid Norberg f90537c52d fix some more coverity issues and add more todo comments 2015-05-05 02:32:14 +00:00
Arvid Norberg 4a304273fd fix some coverity issues 2015-05-03 03:28:39 +00:00
Arvid Norberg 4f216dece3 factor out strings of peer logs to be enums instead, in peer_log_alert 2015-05-03 02:53:54 +00:00
Arvid Norberg a3a59496d8 fix build issue with non-atomic int64 2015-05-01 22:20:22 +00:00
Arvid Norberg e6049e6c10 fix build when int64 atomics are not lock-free 2015-04-30 22:38:24 +00:00
Arvid Norberg 00e0c7be9c unify performance counter enum for less confusion 2015-04-29 04:49:55 +00:00
Arvid Norberg 73a24ffc0e fix undefined behavior in shift 2015-04-29 04:23:00 +00:00
Arvid Norberg 42120014d0 merged changes from RC_1_0 2015-04-28 04:01:40 +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 d128d36faa fix cpuid use (apparently it's not appropriate to use in an inlined function) 2015-04-26 18:46:45 +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 1dc5a7e63d removed deprecated handle_alert template 2015-04-26 05:57:07 +00:00
Arvid Norberg a0e6b52a3f fix msvc build issues 2015-04-26 01:45:23 +00:00
Arvid Norberg 2fb1a0f3c7 fix msvc build issue 2015-04-26 01:25:45 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 821e34c795 fix examples build. fix print formatting bugs. fix some gcc warnings 2015-04-25 04:22:51 +00:00
Arvid Norberg f7e4f83469 separate out session_stats into its own header. silences warning and cleans up 2015-04-25 02:12:02 +00:00
Arvid Norberg 8e08cd7639 deprecate use of boost.date_time. use boost.chrono instead 2015-04-25 01:40:39 +00:00
Arvid Norberg 3bf9fa8fca move out merkle functions into their own file and test 2015-04-24 06:06:41 +00:00
Arvid Norberg c19c6b2cc1 fix some warnings 2015-04-24 05:37:17 +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 91e66f65d3 removed unused argument (and silence warning) 2015-04-23 06:12:53 +00:00
Arvid Norberg 87c46a144d fix more warnings and some build issues 2015-04-22 04:24:45 +00:00
Arvid Norberg a1f59f6cf1 make puff const correct instead of const-casting 2015-04-22 02:11:12 +00:00
Arvid Norberg 3664c7c137 fix more warnings and bare_bones build 2015-04-22 00:59:35 +00:00
Arvid Norberg 0b063de9ff fix more warnings 2015-04-21 04:30:34 +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 4fd230dbe5 fix build and some warnings 2015-04-20 00:01:27 +00:00
Arvid Norberg 820fde5066 fix typo in config.hpp for gcc build 2015-04-19 13:45:13 +00:00
Arvid Norberg 2e14e413ea build fix 2015-04-19 13:24:10 +00:00
Arvid Norberg bf32895de9 fix asserts=off build 2015-04-19 13:18:54 +00:00
Arvid Norberg 21751347bc more warnings fixes and cleanup 2015-04-19 06:28:21 +00:00
Arvid Norberg 51e86ca2d5 more warning fixes and cleanup 2015-04-18 22:00:27 +00:00
Arvid Norberg 60d1b8fa7c fix gcc build 2015-04-18 21:21:22 +00:00
Arvid Norberg 23536dcc42 fix a few warnings and GCC build 2015-04-18 13:56:36 +00:00
Arvid Norberg cea9564302 add header files to makefile 2015-04-18 03:25:58 +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 8ac5a32548 improve deprecation macros. increase default warning level. fix deprecation warnings while building libtorrent itself (gcc and clang) 2015-04-17 01:49:49 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg 5f0b941a54 add more information to the invalid_request_alert and be more forgiving about requests from peers that have not sent an interested-message first 2015-04-13 01:34:19 +00:00
Arvid Norberg 8200f33925 fix gcc build issue in test_peer_list 2015-04-13 00:50:55 +00:00
Arvid Norberg 208fbe8545 extend test_peer_list 2015-04-12 06:39:16 +00:00
Arvid Norberg baaeac7809 extend some unit tests. primarily test_alert_manager and fixed a bug in alert_manager 2015-04-11 18:44:43 +00:00
Arvid Norberg fb40cb484e merged changes from RC_1_0 2015-04-11 14:17:33 +00:00
Arvid Norberg c47699005f merge fixes from RC_1_0 2015-04-10 03:25:02 +00:00
Arvid Norberg bb48b6e83c eliminate one more session dependency in peer_connection 2015-04-10 01:50:42 +00:00
Arvid Norberg 20aa53953c fix etensions being passed all alerts 2015-04-07 00:50:21 +00:00
Arvid Norberg 23e5fd3d8f fix warnings 2015-04-06 04:31:21 +00:00
Arvid Norberg b07b208a4a rate limit how often recalculate_auto_managed can be called (it's expensive) 2015-04-05 19:35:58 +00:00
Arvid Norberg e1e6c8bdc0 fix python binding backwards compatibility 2015-04-04 22:37:11 +00:00
Arvid Norberg 967379e324 python binding fixes 2015-04-04 19:24:26 +00:00
Arvid Norberg 2a3a34bf8d fix warnings in alert_manager and fix test_resolve_links for windows 2015-04-04 19:11:14 +00:00
Arvid Norberg 8cc9339550 fix makefile 2015-04-04 14:19:30 +00:00
Arvid Norberg fb597ca4b3 symbols export fix and test_ssl fix 2015-04-04 13:31:33 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg 7118387926 merged changes from RC_1_0 2015-03-31 22:27:32 +00:00
Arvid Norberg 837e709628 deprecate RSS API 2015-03-28 17:31:27 +00:00
Arvid Norberg 9af3066b56 fix file collision logic in torrent_info 2015-03-21 16:55:23 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00
Arvid Norberg 32ccf61603 fix test_dht build 2015-03-17 01:30:57 +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 6c67694d22 fix windows and linux build 2015-03-15 04:25:54 +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 fad1c42970 documetation fixes and polish 2015-03-14 21:55:26 +00:00
Arvid Norberg 37225b71ae const static -> static const (thanks gubatron). helps swigs parser 2015-03-14 00:42:27 +00:00
Arvid Norberg 881fa4dce6 remove sleep() from the libtorrent API 2015-03-13 05:52:48 +00:00
Arvid Norberg a76b2a40b0 polish documentation. reference table of content specifically 2015-03-13 05:42:18 +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 0c8aee014c implemented utp extension header to indicate the reason to close the connection 2015-02-28 19:51:15 +00:00
Arvid Norberg 5b58f6efd9 fix build error 2015-02-23 02:05:59 +00:00
Arvid Norberg f364fe7beb include tracker message in tracker_alert 2015-02-21 22:45:45 +00:00
Arvid Norberg 89055c4c7a some more optimizations on loading torrents 2015-02-18 03:32:49 +00:00
Arvid Norberg c4a294e88a deprecate file_base feature in file_storage/torrent_info 2015-02-17 04:53:49 +00:00
Arvid Norberg d49e97afb3 optimized loading and parsing torrents. Specifically detecting duplicate filenames (optimizing the common case of no collisions). Expanded unit test to uncover an unsupported case (not fixed yet). cutting down on memory allocation and copying when parsing torrent files in memory 2015-02-17 02:08:47 +00:00
Arvid Norberg 3d47a1fb81 extend file_storage unit test a bit 2015-02-16 21:53:23 +00:00
Arvid Norberg 5ea0db3145 extend piece_picker unit test and comment out unused function 2015-02-15 22:01:15 +00:00
Arvid Norberg 40980df545 extend storage unit test to cover iovec operations 2015-02-15 07:31:35 +00:00
Arvid Norberg 91270a0c2b make operation_t public and document it. include peer disconnects in client_test log 2015-02-15 05:17:09 +00:00
Arvid Norberg 84fd07e226 extend piece_picker unit test 2015-02-15 02:17:57 +00:00
Arvid Norberg d370ae0b9d merge test_torrent_parse and test_torrent_info (they both exercised torrent_info) 2015-02-15 01:04:50 +00:00
Arvid Norberg a831a78fd5 simplify and clean up utp_stream. fix missing error check in read handler in peer_connection 2015-02-15 00:25:56 +00:00
Arvid Norberg 1dbba7c410 optimize disk buffer allocation when seeding 2015-02-14 23:20:45 +00:00
Arvid Norberg 2fdb7499fa optimize block_info allocation and downloading_piece size in piece_picker 2015-02-14 21:32:41 +00:00
Arvid Norberg 51f1a61d2d more piece_picker unit tests and some fixes 2015-02-13 02:58:21 +00:00
Arvid Norberg 72d015c86a extend piece_picker unit test 2015-02-12 03:16:53 +00:00
Arvid Norberg 7395a91bf4 clean up piece picker interface to make piece_pos private again 2015-02-08 22:15:59 +00:00
Arvid Norberg 9fb98b1151 remove speed affinity feature in piece-picker and peers 2015-02-08 21:17:00 +00:00
Arvid Norberg 497f7a4a27 piece picker fix for random mode 2015-02-08 21:12:10 +00:00
Arvid Norberg a8623a9b23 request partial pieces in rarest-first order 2015-02-08 18:01:29 +00:00
Arvid Norberg 1b9b6f7292 support http basic auth in http_connection passed in from the outside as opposed to part of the url 2015-02-08 16:03:09 +00:00
Arvid Norberg 2a0789594d fix linux build 2015-02-08 00:59:54 +00:00
Arvid Norberg 9b91508c38 clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable 2015-02-01 14:30:43 +00:00
Arvid Norberg 097d5b484d improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers 2015-01-26 02:04:58 +00:00
Arvid Norberg bc9281a27c deprecate file_entry (used by file_storage) and clean up the add_file overload that borrows memory (and improve implementation and documentation). The python bindings were updated to more closely match the c++ API (specifically actually using file_storage) 2015-01-21 15:46:12 +00:00
Arvid Norberg 5cfd662352 msvc fix 2015-01-21 06:48:23 +00:00
Arvid Norberg 3286437a7d extend peer_list unit test and fix some bugs 2015-01-20 23:56:45 +00:00
Arvid Norberg f4ee43a1f9 fix linux build 2015-01-20 17:05:45 +00:00
Arvid Norberg f6474f5717 fix wakeup profiling to not grow memory usage indefinitely 2015-01-20 16:15:45 +00:00
Arvid Norberg d9e69db0cb actually make use of the max_failcount setting 2015-01-20 06:26:22 +00:00
Arvid Norberg 54eb499803 make post_torrent_updates more flexible by allowing to pass flags to it. The same flags as torrent_handle::status. Also make the default return accurante progress 2015-01-20 02:46:23 +00:00
Arvid Norberg d8d069675c improve piece picker to better support torrents with very large pieces and web seeds 2015-01-20 02:34:55 +00:00
Arvid Norberg 431fa2ac55 fix python binding build (and expose the new dht stats alert) 2015-01-18 21:36:24 +00:00
Arvid Norberg a7bec127f1 relying on local statics being threadsafe still does not seem safe on msvc 2015-01-18 16:52:39 +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 b9b657c3d4 post alerts instead of writing to a file, in local peer discovery, when logging is enabled 2015-01-16 23:01:14 +00:00
Arvid Norberg f914943e58 fix some compile warnings 2015-01-16 20:51:39 +00:00
Arvid Norberg 3fbc0f05c6 add unit test for default_storage::rename 2015-01-16 04:02:44 +00:00
Arvid Norberg d140d71e1a extend logging of UDP tracker announces (to track down unit test flapping) 2015-01-13 21:34:43 +00:00
Arvid Norberg fb058f602f aux::session_settings is used by a test 2015-01-09 00:42:57 +00:00
Arvid Norberg c9903bdaf2 use O_SYNC when available 2015-01-07 23:21:54 +00:00
Arvid Norberg 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +00:00
Arvid Norberg b808cc8b2d remove some TODO comments 2015-01-05 12:32:30 +00:00
Arvid Norberg bb33b061e4 clean up session_impl 2015-01-04 22:26:26 +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 1218e328cd SSL fixes (especially over uTP) 2015-01-04 01:04:56 +00:00
Arvid Norberg d68471805e improve support for HTTP where one direction of the socket is shut down 2015-01-03 22:38:17 +00:00
Arvid Norberg f839b8c9b4 factor creating of directories into default_storage::open_file to make that functionality more robust and fix a bug where moving files out of the part-file would fail because the directories hadn't been created yet 2015-01-03 16:57:21 +00:00
Arvid Norberg 21d1f6f649 more dynamic link build fixes 2015-01-02 11:11:09 +00:00
Arvid Norberg 9b0f7bbe72 move function from header to .cpp file 2015-01-02 00:51:09 +00:00
Arvid Norberg 299b6338b6 fix documentation 2015-01-01 23:35:28 +00:00
Arvid Norberg dbf461ac23 make DHT dos mitigation parameters configurable via dht_settings 2015-01-01 23:24:21 +00:00
Arvid Norberg f77e12ac04 clean up symbol exports 2015-01-01 20:25:39 +00:00
Arvid Norberg 98372ff974 regenerate html 2014-12-31 23:18:11 +00:00
Arvid Norberg 092362e9bc remove internal fields from web_seed_entry 2014-12-31 22:05:34 +00:00
Arvid Norberg 73a2a4e51d fix comment formatting in settings_pack 2014-12-31 17:00:27 +00:00
Arvid Norberg 764b09d6b5 make the peer fingerprint a regular setting and remove it from the main session constructor argument list 2014-12-31 15:51:45 +00:00
Arvid Norberg 1039d4ae86 tweak some TODO comments and fix one 2014-12-31 14:41:35 +00:00
Arvid Norberg e9414894e2 separate the configuration of crypto library and whether protocol encryption is enabled or not. make protocol encryption always use the built-in rc4 and tommath code. SHA-1 hashing is done by the crypto library 2014-12-29 16:50:22 +00:00
Arvid Norberg ae47823970 don't fail renaming a file in a torrent just because it doesn't exist (and the destination directory doesn't exist) 2014-12-26 21:25:37 +00:00
Arvid Norberg 75ae204cf4 remove orphaned function declaration 2014-12-25 18:26:19 +00:00
Arvid Norberg 0977d94dbc merged changes from RC_1_0 2014-12-25 11:24:02 +00:00
Arvid Norberg 20b4608c38 optimize copying torrent_info and file_storage objects 2014-12-17 05:33:16 +00:00
Arvid Norberg 13a9c3c78d we no longer support including file-hashes when creating torrents 2014-12-17 03:50:01 +00:00
Arvid Norberg 6214aef0c5 merged changes from RC_1_0 2014-12-17 03:19:42 +00:00
Arvid Norberg 465832bf2b fix comment formatting 2014-12-17 02:48:22 +00:00
Arvid Norberg ae04b80fe1 cancel non-critical DNS lookups when shutting down, to cut down on shutdown delay 2014-12-17 02:44:27 +00:00
Arvid Norberg 1ce3bdf0d0 update send and received byte performance counters immediately, to avoid the one second quantization in stats 2014-12-10 05:49:17 +00:00
Arvid Norberg 20b9a01a09 pack members of pending_buffer a bit 2014-12-10 01:05:40 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 4eaec6d87f instead of using a fixed request timeout for every peer, have an adaptable one based on the average download time for a block 2014-12-08 17:06:04 +00:00
Arvid Norberg c4e5df8e4d remove the concept of timeout_extend in piece request timeouts. if a request times out, cancel it as soon as it holds up the completion of a piece 2014-12-07 22:22:38 +00:00
Arvid Norberg 790ef041bf merged changes from RC_1_0 2014-12-07 07:22:39 +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 ac9a734149 dont use INT16_MIN 2014-12-02 20:06:30 +00:00
Arvid Norberg 4376d26399 merged changes from RC_1_0 2014-12-01 10:43:34 +00:00
Arvid Norberg 362b54421d merged changes from RC_1_0 2014-11-30 10:07:19 +00:00
Arvid Norberg 601f8c0476 merged changes from RC_1_0 2014-11-29 09:12:44 +00:00
Arvid Norberg f98c7223b2 merged changes from RC_1_0 2014-11-29 01:53:22 +00:00
Arvid Norberg f73fe335e2 deprecated flag should not affect ABI 2014-11-26 10:17:44 +00:00
Arvid Norberg 29fb79f60c merged changes from RC_1_0 2014-11-24 04:25:05 +00:00
Arvid Norberg 211603b7a5 merged fixed include 2014-11-23 06:23:49 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg 179df62379 merged changes from RC_1_0 2014-11-20 05:53:12 +00:00
Arvid Norberg edfa38cd30 merged changes from RC_1_0 2014-11-17 03:41:01 +00:00
Arvid Norberg 0b711f1280 remove unused variables. add some comments 2014-11-17 03:10:00 +00:00
Arvid Norberg bfb0c4fe80 merged changes from RC_1_0 2014-11-12 16:57:59 +00:00
Arvid Norberg f7221e277f add unit test for crc32c and fix cpuid warning 2014-11-10 02:05:46 +00:00
Arvid Norberg 77363ad93e fix file progress calculation bug (with unit test) 2014-11-08 18:36:54 +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 85cc72835e finally rename policy to peer_list 2014-10-26 07:34:31 +00:00
Arvid Norberg 1c448331d5 fix stats_alert with recent changes to stats 2014-10-25 23:10:07 +00:00
Arvid Norberg 935eea9d0b some more fixes to cache_status 2014-10-25 21:28:57 +00:00
Arvid Norberg 83394f54f9 transition fenced job histogram to session stats gauges. deprecate it from cache_status 2014-10-25 20:59:54 +00:00
Arvid Norberg 0bcbe433ed deprecate most of cache_status type (use session stats instead) 2014-10-25 20:07:50 +00:00
Arvid Norberg d9388f9898 moved around some hostname resolver related TODO comment. removed unused hostname query objects 2014-10-23 00:19:11 +00:00
Arvid Norberg e09a2b770d factored out choke comparison functions into choker.cpp 2014-10-22 22:30:04 +00:00
Arvid Norberg 02a9ea18b7 deprecated auto_expand_choker. started factoring out choker logic into its own translation unit (preparing for making it unit testable) 2014-10-22 22:06:56 +00:00
Arvid Norberg 907dc9dddd merged changes from RC_1_0 2014-10-22 07:05:10 +00:00
Arvid Norberg a25345b1e7 fix typo 2014-10-21 23:44:50 +00:00
Arvid Norberg ca6bb1ebd9 minor cleanup of open_listen_port internally 2014-10-21 22:08:48 +00:00
Arvid Norberg bcc5d66e0c now that we use boost.chrono, no need for custom timer or macros controlling which timer to use 2014-10-21 21:51:12 +00:00
Arvid Norberg 3db32f67b5 remove option TORRENT_DISABLE_FULL_STATS 2014-10-21 21:45:35 +00:00
Arvid Norberg ce9ff9885b move DHT transfer counters to performance_counters 2014-10-21 21:36:45 +00:00
Arvid Norberg 7249122329 move tracker transfer counters over to use performance_counters internally as well 2014-10-21 21:24:15 +00:00
Arvid Norberg bb3e399ce2 convert endpoint list into vector in udp_tracker_connection 2014-10-21 20:49:36 +00:00
Arvid Norberg cea5585993 remove stats logging functionality from libtorrent. This has been moved to a helper class part of libtorrent-webui, utility library 2014-10-21 19:58:12 +00:00
Arvid Norberg 9b37efe6a8 first steps towards removing session_impl dependency from tracker connections, to improve their testability 2014-10-21 00:28:51 +00:00
Arvid Norberg ffb66ec156 transition tracker_connections to use shared_ptr instead of intrusive_ptr. optimize udp tracker connection lookups by using unordered map instead of linear search. 2014-10-20 20:44:05 +00:00
Arvid Norberg 2f077d8efa fix http_connection timeout issue 2014-10-16 05:33:09 +00:00