Commit Graph

1695 Commits

Author SHA1 Message Date
Arvid Norberg 8bb7aa62ae generalize and improve http redirect support for web seeds (#1060)
generalize and improve http redirect support for web seeds
2016-10-02 23:08:03 -07:00
Arvid Norberg cebd976cc2 fix error_code vs. error_condition traits (#1169)
fix error_code vs. error_condition traits. deprecate get_*_category(), instead use *_category()
2016-10-02 12:27:50 -07:00
Arvid Norberg f592d7fcb0 various cleanup and formatting updates (#1158) 2016-09-26 20:05:04 -04:00
Arvid Norberg 97c6a75084 add proper error handling to peer connections and session (#1149)
add proper error handling to peer connections and session. i.e. catch exceptions in asio handlers and catch by const reference
2016-09-25 09:50:48 -04:00
Arvid Norberg 372d992d8e make connection_type enum an enum class (#1146) 2016-09-24 10:47:17 -07:00
Arvid Norberg d2002c5248 separate piece_block and has_block out to their own headers (#1148) 2016-09-24 08:46:56 -07:00
Alden Torres b1b74657f6 added consts and minor refactor (#1137)
added consts and minor refactor
2016-09-23 13:51:20 -07:00
Alden Torres 158ae3a4ba consts, minor refactor, typos and test (#1142) 2016-09-23 13:49:39 -07:00
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
Arvid Norberg f712caa80d deprecate send_stats property on trackers (since lt_tracker extension has been removed) (#1125) 2016-09-21 16:54:49 -07:00
Pavel Pimenov 62536c790d Decreased performance. Ineffective use of the 'count' function. It can possibly be replaced by the call to the 'find' function (#1127) 2016-09-21 16:51:51 -07:00
Arvid Norberg 03068ffa0b Merge pull request #1108 from arvidn/user-agent-1.1
user agent anonymous mode
2016-09-21 07:25:15 -07:00
Arvid Norberg 4d716361c0 minor code cleanup (#1116) 2016-09-20 22:10:06 -07:00
arvidn 85a2a5c5cb don't send user-agent in metadata http downloads or UPnP requests when in anonymous mode 2016-09-18 17:16:03 -07:00
Alden Torres acf353e26a general session, torrent and peer connection log optimization (#1088)
general session, torrent and peer connection log optimization
2016-09-13 22:46:07 -04:00
Alden Torres 224ebc1ded peer_connection log related optimization (#1086)
peer_connection log related optimization and making m_alert_mask atomic
2016-09-13 17:07:22 -04:00
milesdong dc4d9af2e6 fix invalid memory access in utp_stream and torrent (#1084)
fix invalid memory access in uTP PMTUd
2016-09-13 02:36:23 -04:00
Alden Torres 01e9810f7a more boost types cleanup and handling of deprecated macos libcrypto (#1072)
more boost types cleanup and handling of deprecated macos libcrypto. more granular TORRENT_MACOS_DEPRECATED_LIBCRYPTO
2016-09-07 17:51:18 -04:00
Alden Torres 4c53d7b2da refactor to use std unordered containers and minor cleanup (#1070) 2016-09-06 23:37:36 -04:00
Alden Torres e11f233086 minor cleanup/refactor (#1062) 2016-09-04 18:24:20 -04:00
Alden Torres 728e74eca7 refactor to avoid use of optional with piece_block_progress (#1061) 2016-09-04 12:31:02 -04:00
Arvid Norberg 19dd9d323a add some const and enum class (#1055) 2016-09-02 08:27:38 -04:00
Alden Torres 585a760588 headers cleanup (#1054)
headers cleanup
2016-09-01 15:04:58 -04:00
Alden Torres bf0008933a refactor to use std::shared_ptr with peer_connection, core and tests (#1050) 2016-08-31 21:42:18 -04:00
Alden Torres 6e891a0211 refactor to use std::shared_ptr with http_connection (#1049) 2016-08-31 12:45:45 -04:00
Alden Torres cdb15ba886 refactor to use std::shared_ptr with torrent (#1048) 2016-08-31 08:27:36 -04:00
Arvid Norberg 33ec20f7b6 more use of std::shared_ptr refactor (#1043) 2016-08-30 21:16:34 -04:00
Alden Torres cfd2caeb74 no more extension_list_t type and uncommented call to torrent_plugin::on_load (#1042) 2016-08-30 17:36:44 -04:00
Alden Torres e2487c4d24 more use of std::shared_ptr refactor 2016-08-30 10:10:53 -04:00
Arvid Norberg 9ac7475a90 simplify some constructors with in-class initializers (#1038)
simplify peer_connection, torrent and session_impl's contstructors by moving simple parts to their header files
2016-08-29 20:29:27 -04:00
Arvid Norberg c7eb76593c deprecate torrent priority (#1032)
deprecate torrent priority
2016-08-26 12:37:23 -04:00
Alden Torres 227b630bd1 added string_ends_with to replace boost (#1034)
added string_ends_with to replace boost
2016-08-26 12:36:09 -04:00
Alden Torres c05e29c48e trivial cleanup and minor changes (#1033) 2016-08-26 00:14:11 -04:00
Alden Torres 73d6ba6ae3 using span in torrent_handle and no optional in torrent_info (#1023) 2016-08-22 11:02:51 -04:00
Alden Torres 4d96939b7b minor cleanup and refactor (#1016)
minor cleanup and refactor
2016-08-20 19:46:55 -04:00
Alden Torres bb388563b3 refactor to use torrent_info with std::shared_ptr (#1006) 2016-08-17 17:26:35 -04:00
Alden Torres 7cee486cf7 extensions refactor to use span and std::shared_ptr (#1005)
extensions refactor to use span. use std::shared_ptr instead of boost::shared_ptr.
2016-08-17 14:30:24 -04:00
Alden Torres 9b0bc2ed5f peer_plugin refactor (#1002)
refactor of ut_pex peer storage
2016-08-15 21:05:39 -04:00
Alden Torres 2f7adfbb92 no more deprecated std::random_shuffle (#999)
replace deprecated std::random_shuffle. more aggressive random_shuffle in DHT simulation setup. use travis_retry.
2016-08-14 19:48:31 -04:00
arvidn 8c8c3d5587 replace boost::function with std::function 2016-08-13 07:07:26 -04:00
Alden Torres a966458f8c minor cleanup (#997)
minor cleanup
2016-08-12 19:24:03 -04:00
Arvid Norberg 71f5510d62 make the random function produce proper random distributions, based o… (#981)
make the random function produce proper random distributions, based on uniform_int_distribution of C++11. also clean up piece_picker's priority_range to return two results instead of taking pointers to out-parameters. fix recent pe-crypto regression exposed by this change
2016-08-06 13:18:48 -04:00
arvidn 83dba91168 use span for to_hex and from_hex functions 2016-07-29 18:42:18 -04:00
arvidn 680a09cfa5 merged RC_1_1 into master 2016-07-26 02:14:58 -04:00
terry zhao 48ca20968e fix value of current_tracker when all tracker failed (#932)
fix torrent_status::current_tracker when all trackers fail.
2016-07-26 01:13:28 -04:00
Alden Torres 9af2072bc9 minor changes, typos and gcc tests in windows (#947)
minor changes, typos and gcc tests in windows
2016-07-25 17:58:00 -04:00
Arvid Norberg 9c2325ff6b modernize and improve type-safety of the DHT put implementation and test (#929)
modernize and improve type-safety of the DHT put implementation and tests. use unique_ptr instead of malloc for dht put items.
2016-07-23 15:57:04 -07:00
Arvid Norberg 7bf49c0a1c modernize hasher to use array_view (#931)
modernize hasher to use array_view as well as adding array_view support to entry
2016-07-22 07:29:39 -07:00
Arvid Norberg e72f95e0d9 fix test_remap_files (#905)
fix test_remap_files
2016-07-15 14:35:57 -04:00
Arvid Norberg 8c03718117 apply modernization transforms to headers too. nullptr, explicit constructors, = default (#903) 2016-07-10 14:27:42 -04:00
Arvid Norberg a740a49fd6 modernize misc (#898)
modernize misc
2016-07-10 07:34:45 -04:00
Arvid Norberg eaea4a81cc modernize: remove redundant smart ptr get(), use fixed-width integer types (#900) 2016-07-10 07:31:58 -04:00
Arvid Norberg 770935cd46 modernize-use-nullptr (#894) 2016-07-09 16:26:26 -04:00
arvidn 98af1cd54e merged RC_1_1 into master 2016-07-05 18:03:06 -04:00
Arvid Norberg cf65f85dc3 fix file_completed_alert (#880) 2016-07-03 14:48:18 -04:00
Arvid Norberg 44c048f4f5 fix seed mode and suggest mode (#871)
fix resume data when combining seed-mode with suggest-mode
2016-07-02 16:20:12 -04:00
Arvid Norberg 1facf0eef6 clean-up more defines (#872)
clean-up more defines. remove TORRENT_DEBUG and TORRENT_DISABLE_INVARIANT_CHECKS (instead use TORRENT_USE_ASSERTS and TORRENT_USE_INVARIANT_CHECKS)
2016-07-01 19:46:59 -04:00
arvidn 08aebd2729 format more log messages in alert constructors 2016-06-29 02:02:46 -04:00
Arvid Norberg 7edc6b1cc2 insert invariant checks to try to catch async_check_files crash (#856) 2016-06-26 12:13:08 -04:00
arvidn be30bbd08b merged RC_1_1 into master 2016-06-25 17:48:13 -04:00
Arvid Norberg 6917a11c6b correct error introduced in add_torrent_impl refactor, with regards t… (#846)
correct error introduced in add_torrent_impl refactor, with regards to not having flag_duplicate_is_error set (which is not set by default)
2016-06-23 13:19:35 -04:00
Arvid Norberg 6aabe3762b general modernization (#836)
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg ed077c8358 use cstdint intead of boost/cstdint.hpp (#833)
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg ead11737b4 fix uses of defines for whether or not asserts are active (#832) 2016-06-18 08:31:07 -04:00
Arvid Norberg 4d927f4029 modernize disk_buffer_holder to be move-only (#824)
modernize disk_buffer_holder to be move-only
2016-06-16 08:24:41 -04:00
Arvid Norberg c0fb61c5d7 replace the suggest-read-cache logic with something much simpler (#815)
replace the suggest-read-cache logic with something much simpler that doesn't schedule regular jobs and doesn't query the disk cache
2016-06-15 13:29:54 -04:00
arvidn 4b186130e6 fix merge 2016-06-14 21:16:28 -04:00
Alden Torres 38f4765ebc added assert and documentation typos (#816) 2016-06-13 17:16:09 -04:00
Alden Torres d759d8f742 not add peers from url if add_torrent_impl returns invalid handle (#814) 2016-06-13 07:47:16 -04:00
arvidn 1946e6c58b merged RC_1_1 into master 2016-06-10 01:38:32 -04:00
Alden Torres 0882d02c53 early resume data reset when fatal_disk_error (#798) 2016-06-10 01:09:49 -04:00
Alden Torres c8f7d89652 early resume data reset when fatal_disk_error (#798) 2016-06-07 18:44:39 -04:00
Arvid Norberg ae3b629649 improve invariant check of file_progress class (#787) 2016-06-05 14:06:11 -04:00
arvidn 8baf4f810a fix graceful pause issue 2016-06-04 21:35:12 -04:00
Arvid Norberg 8c8f5bb03b deprecated public to_hex() and from_hex() functions (#784) 2016-06-04 10:01:43 -04:00
Arvid Norberg be67553897 simplify session pause mechanism by keeping two separate states in torrents and having the session explicitly tell torrents when it's pausing (#779) 2016-06-03 07:32:48 -04:00
Arvid Norberg 14d085f607 rename allow_peers to paused (#773) 2016-06-01 01:05:32 -04:00
Arvid Norberg 92cd0ec7d1 simplify and clean up peer_list usage in torrent.cpp (#772) 2016-06-01 01:05:17 -04:00
arvidn ec182492cc improve add_torrent_params::flags documentation and fix related logging bug 2016-05-30 16:36:44 -07:00
arvidn 420b5f51e6 merged RC_1_1 into master 2016-05-27 12:35:53 -07:00
Alden Torres f8dcf30b2e Ported support for magnet x.pe parameter from master (#760) 2016-05-27 12:12:32 -04:00
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -04:00
Arvid Norberg 748af6eec1 general cleanup. remove valgrind markup, log_hash_failures and C headers (#752)
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
arvidn f1216686d2 merged RC_1_1 into master 2016-05-23 00:56:16 -04:00
Arvid Norberg 62fb7209ef fix invariant check issue with a paused session (#750)
fix invariant check issue with a paused session
2016-05-22 22:58:11 -04:00
Arvid Norberg cf3c95702b Peer blocked alert (#747)
make peer_blocked_alert derive from peer_alert
2016-05-22 19:56:14 -04:00
Arvid Norberg dceee3b065 simplify session call and replace session_handle and torrent_handle macros (#741)
remove use of macros in session_handle and torrent_handle forwarders
2016-05-21 19:05:42 -04:00
Arvid Norberg e8380e1d0b factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows (#732) 2016-05-17 09:24:06 -04:00
Arvid Norberg 29902be3a0 some general C++ 11 cleanup. some typedefs and for loops (#709) 2016-05-07 18:46:42 -04:00
arvidn 254906eddc back-port torrent peer-class fix from master 2016-05-07 14:56:22 -04:00
Arvid Norberg 8922990fc7 fix peer class leak in torrent and widen peer_class_t to allow for mo… (#707)
fix peer class leak in torrent and widen peer_class_t to allow for more instances
2016-05-07 14:52:10 -04:00
arvidn 6cf5ac9dd1 merged RC_1_1 into master 2016-05-06 01:08:05 -04:00
Arvid Norberg 985436636e added new preformatted type to bencode entry (#698)
added new preformatted type to bencode entry to support carrying a verbatim copy of an already bencoded subtree. This is to support saving torrents in resume data and create_torrent based on existing torrents, in order to preserve key order
2016-05-05 21:38:57 -04:00
Arvid Norberg f9bc6dbc54 improvements to socks5 support (for 1.1.1 release) (#567)
capture listen IP and port from socks5 BIND response. add tests for socks5 and improve support for capturing the local endpoint (i.e. bind port) for BIND command socket connections. post listen_succeeded_alert when successfully bound to listen socket on SOCKS5 proxy. make sure to announce the socks5 listen port
2016-05-05 17:09:11 -04:00
Jonathan McDougall f065cacebf * now calling stop_announcing() unconditionally instead of checking !is_paused(), which was always false when aborting a torrent and could cause infinite blocks while destroying a session (#694)
fixed torrent invariant check that wasn't using the m_abort flag and correctly stop trackers when shutting down
2016-05-03 01:34:43 -04:00
Arvid Norberg c91a700c07 Msvc warnings (#685)
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
arvidn 36a5a11ee2 merge fix 2016-04-29 23:34:25 -04:00
Arvid Norberg f0d95f5e3e remove RSS feature (#662)
remove RSS feature
2016-04-29 15:54:21 -04:00
Arvid Norberg 46b33f920b remove explicit cache feature (#661)
remove explicit cache feature
2016-04-29 02:32:00 -04:00
Arvid Norberg 10ec0234a7 remove resolve-country feature (#656) 2016-04-28 08:20:47 -04:00
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Alden Torres 7c4fabadfd Removed unused statement (#643) 2016-04-24 23:47:57 -04:00
arvidn b5ecfa4f91 fix merge issues 2016-04-24 16:43:45 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
Arvid Norberg c9c6dd2d3b clean up the annotations used for asio debugging (#639)
clean up the annotations used for asio debugging (tracking outstanding async operations)
2016-04-23 17:29:25 -04:00
Andrei Kurushin 7b5d48c02a fix default release build with VS2015 UP2 compiler warnings (#624)
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
arvidn 867b83ccda merged RC_1_1 into master 2016-04-08 02:20:24 -04:00
arvidn cee2b16949 fix some coverity warnings and move out code to torrent_status.cpp 2016-04-07 21:44:24 -04:00
arvidn 876cef0d4c restore the ipv6 http tracker argument, but restricted to only private torrents 2016-04-07 00:06:04 -04:00
arvidn 7f232dd195 fix python3 issue in binding 2016-03-30 23:35:47 -04:00
arvidn 96e2693d13 merge RC_1_1 into master 2016-03-19 16:02:46 -04:00
arvidn f7c9062019 deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests 2016-03-19 07:54:29 -04:00
arvidn 3c98868f6c deprecate explicit cache feature 2016-03-18 12:15:03 -04:00
arvidn f79a9c7adf merged RC_1_1 into master 2016-03-16 19:59:53 -04:00
arvidn 921cbeebed add option to delete just the partfile when removing a torrent 2016-03-14 08:26:39 -04:00
arvidn 6d85c7c5f0 merge RC_1_1 into master 2016-03-08 01:10:48 -05:00
arvidn 71e3fb8941 fix division by zero in super-seeding logic 2016-03-07 23:40:01 -05:00
arvidn f5d5ac4f3a fix bug where disk cache was wiped out after completion file-checking. factor out sim test utilities and reuse them in the regression test 2016-03-06 21:44:38 -05:00
arvidn 67774d660d always keep at least 2 async hash jobs outstanding when rechecking torrents (to keep the bandwidth delay product full) 2016-03-06 16:31:18 -05:00
arvidn e851b79865 fix issue when shutting down a torrent with outstanding async operations 2016-03-02 01:16:08 -05:00
arvidn 2fd8047308 merged RC_1_1 2016-02-24 21:22:39 -05:00
arvidn e5ccb63375 fix build with openssl and deprecated functions disabled 2016-02-24 02:07:27 -05:00
arvidn 57aa813135 fix auto-managed issue with torrents transitioning to 'slow' as they get paused, returning to life again later because of it 2016-02-23 01:28:58 -05:00
arvidn 967ec412a5 Merge branch 'RC_1_1' 2016-02-21 15:21:33 -05:00
Arvid Norberg d172733c87 Merge pull request #487 from arvidn/fix-resume-checking-torrent
fix resuming of torrents that were checking files
2016-02-21 15:21:10 -05:00
arvidn 421bef5b68 fix resuming of torrents that were checking files 2016-02-21 11:32:50 -05:00
arvidn cc8066bf11 properly deprecated adding torrents by http url 2016-02-21 11:31:42 -05:00
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
Arvid Norberg 5d18800e04 Merge pull request #486 from arvidn/force-recheck-1.1
make force recheck a bit more robust
2016-02-20 19:53:56 -05:00
arvidn 3231aa4c9d make force recheck a bit more robust by initializing the progress state immediately 2016-02-20 15:53:43 -05:00
arvidn 3f40890eb6 simplify logic for saving resume a bit 2016-02-20 15:45:46 -05:00
arvidn d599bef0ee add unit test for read_resume_data 2016-02-20 13:26:21 -05:00
arvidn b581fef437 resume checking of torrents 2016-02-20 13:26:21 -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 40f6afc2f8 save and restore storage allocation mode in resume data 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 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 1710b7c750 Merge branch 'RC_1_1' 2016-02-20 01:58:39 -05:00
arvidn 5cf36fd1d6 only save pieces in resume data that have actually been checked 2016-02-20 00:48:17 -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 4f40f84a7e Merge branch 'RC_1_1' 2016-02-08 15:28:34 -05:00
arvidn dd48faa8d4 minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription 2016-02-08 02:05:00 -05:00
arvidn f4627db97f removed unused field in torrent 2016-02-07 02:37:32 -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 f31d17c9c5 allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker 2016-01-26 18:14:32 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
Arvid Norberg fa391d4961 Merge pull request #394 from arvidn/forward-port-http-fix
forward port fix for web seeds not being used by torrents added by URL
2016-01-17 17:47:25 -05:00
arvidn 0c971d0d62 forward port fix for web seeds not being used by torrents added by URL 2016-01-16 23:57:33 -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 1f3f06a836 forward port fix for deleting files of magnet link to master 2015-12-18 18:33:31 -05:00
arvidn 645b121df6 deprecate resolve-countries 2015-12-14 21:32:30 -05:00
arvidn 1712a8e4b4 polish the stop-when-ready flag and improve documentation 2015-12-13 20:31:28 -05:00
arvidn 4b6e11cc07 deprecate set_tracker_login 2015-12-13 15:14:19 -05:00
arvidn 0f9d82ab22 fix bug in handling force-started checking torrents 2015-12-12 15:08:38 -05:00
arvidn d505f93d7a port sim tests to use the new setup_swarm API 2015-12-12 00:41:47 -05:00
arvidn cc3b064cff fix graceful pause issue. peers regularly check whether they should disconnect or not 2015-12-04 23:27:43 -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 2c3d7ee0ef fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well) 2015-11-28 14:14:49 -05:00
arvidn 51df32a25b fix logging issue 2015-11-27 14:04:46 -05:00
arvidn 847cd340ee extend tracker sim test and fix some bugs in tracker error reporting 2015-11-24 23:38:49 -05:00
arvidn 06b648203f clean up use of error categories 2015-11-24 00:50:51 -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 4c790043a1 fix invariant check failure in torrent::pause 2015-11-20 01:38:21 -05:00
arvidn 4aaa8ca4a9 silence msvc performance warnings. introduce more override and finals 2015-11-19 23:37:45 -05:00
arvidn 2626159abe use a consistent random number generator to make simulations deterministic 2015-11-12 00:21:56 -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 ebb9fdaf54 add error_code to torrent_status instead of error string 2015-11-05 20:43:23 -05:00
arvidn 729a8e9152 update libsimulator. add simulation/test for announcing twice to trackers over IPv4 and IPv6. fix bugs preventing libtorrent from doing that correctly 2015-10-27 00:21:07 -04:00
Arvid Norberg ea86785d45 Merge pull request #202 from arvidn/stop-when-ready
Stop when ready
2015-10-04 16:18:59 -04:00
arvidn 8eded0a2a0 forward port set_allow_peers bugfix 2015-10-04 14:41:58 -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 3d54c02450 fix build 2015-10-03 11:42:21 -04:00
arvidn c798e388a9 forward port fix to proxy_peer_connections to master 2015-10-03 11:20:10 -04:00
arvidn 424e51b737 fix build 2015-09-30 00:41:41 -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 5da511f140 now that force-started torrents aren't affected by the auto-manager, they need to be explicitly kicked when entering checking state (it would be nice if all this could be done through set_state()) 2015-09-29 20:49:38 -04:00
arvidn dab0f8b8d0 simplify the queuing logic for checking torrents. make all non-auto-managed torrents always be exempt from any queuing mechanism (including checking). Extend documentation on how it works 2015-09-29 20:49:37 -04:00
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
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
arvidn ee3cb6cf86 move some internal headers to aux_ to fix documentation 2015-09-07 17:00:27 -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 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn ba95aa27d6 cleanup unused code 2015-08-29 16:07:19 -04:00
arvidn 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
arvidn beb5455331 add disk I/O read asserts and fix i2p issue if a tracker responds with i2p peers when i2p is not configured on the client 2015-08-28 07:20:21 -04:00
arvidn 6012306557 add more asserts for the size of the bitfields peers send 2015-08-27 21:48:52 -04:00
arvidn 82a3683f7d polish removal of web seeds logic 2015-08-23 11:01:55 +02:00
arvidn a42f9e0c63 fix more warnings 2015-08-22 00:28:12 +02:00
arvidn 26b721973f fix typo 2015-08-21 10:43:14 +02:00
arvidn b7b0dafcca fix some warnings 2015-08-21 10:05:51 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn 26fecaf037 fix more warnings 2015-08-18 16:42:03 +02: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 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
arvidn 16bb2de6ed fix some warnings 2015-08-13 23:52:25 -04:00
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
arvidn a81ca2391b fix some warnings 2015-08-10 20:03:24 -04:00
arvidn fb34607313 fix crash when loading a resume file where all files have priority 0 (and the torrent finishes before having downloaded anything) and add unit test for this case 2015-08-05 20:13:58 -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 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 105c105867 merge seed mode test and fixes from RC_1_0 2015-07-27 00:01:19 -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
arvidn 40c7596da9 merge loading of piece priorities from resume data fix from RC_1_0 2015-07-24 22:34:53 -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
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 2751d90368 Don't store 0.0.0.0 for i2p peers in resume data 2015-07-14 14:13:17 -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
Steven Siloti 9bf1d6c5e9 peer_connection_handle 2015-07-12 14:40:03 -07:00
arvidn 1c708cca28 fix build 2015-07-05 21:41:53 -04:00
arvidn 78399f7968 shave off some includes in torrent.cpp 2015-07-05 19:32:13 -04:00
arvidn 3b3a23a87a whitespace 2015-07-05 18:33:47 -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 4054b4374b whitespace 2015-06-22 23:32:02 -04:00
arvidn 130fc2d640 forward port logging patch from RC_1_0 2015-06-22 02:14:17 -04:00
arvidn 8b66fbe194 fix bug in previous commit 2015-06-20 18:17:49 -04:00
arvidn 665b553941 merged logging patch from RC_1_0 2015-06-20 17:51:59 -04:00
arvidn ad8971d6da fix typo 2015-06-20 16:42:18 -04:00
arvidn c2eaa26ce6 whitespace 2015-06-20 13:44:07 -04:00
arvidn 8d408c4c86 add shortcut in async resolver for raw IPs. 2015-06-16 23:45:05 -04:00
arvidn 323af56cc2 update interest when changing upload-only mode 2015-06-16 01:24:35 -04:00
arvidn bd2bcf12bc fix bug on write-only disk errors (it's not supposed to stop the torrent) 2015-06-15 02:27:09 -04:00
arvidn 0d6e65ec24 improve reliability of some of the unit tests 2015-06-10 01:22:01 -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
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +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 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