Commit Graph

9132 Commits

Author SHA1 Message Date
arvidn b70d3efba9 fix infinite loop when parsing torrents whose filenames have zeroes. #2247 2017-08-16 07:21:34 +02:00
arvidn fcb9c7b6f3 fix invalid read in parse_int() in bdecode_node() and lazy_bdecode() 2017-08-15 00:01:37 +02:00
Steven Siloti 50c2aee8ec don't create web seed connections if the torrent is upload only
The fix in 9a63d4696e was imcomplete.
It turns out disconnect_if_redundant decrements the connection count
which unballances the count if we do end up disconnecting the peer.

This change avoids the problem by checking if the torrent is
upload only much sooner, before the connection object is even created.
We still do a redundancy check just-in-case, but it is not expected to
trigger.
2017-08-11 08:16:00 +02:00
arvidn 5f4816f1d8 fix include in http_connection.cpp 2017-08-10 19:47:42 +02:00
arvidn 560ef29276 fix issue with very long tracker- and web seed URLs. Instead of using a fixed length stack allocated request buffer, use a dynamically growing stringstream 2017-08-10 14:01:11 +02:00
arvidn 4e497e1383 fix issue where paths were not correctly coalesced when adding files to file_storage (used more memory than necessary) 2017-08-10 12:10:46 +02:00
arvidn dbea43ab35 fix typo in comment 2017-08-10 07:59:16 +02:00
arvidn 378a0e974b fix issue of force-recheck or seeding from read-only media, torrents with empty files in them. Previously libtorrent would create empty files up-front unconditionally, now they won't be created if they already exist 2017-08-09 18:48:49 +02:00
arvidn 2b98951ace assert that trackers are not announced to while checking files 2017-08-06 20:21:03 +02:00
arvidn 1f3730fa5a fix force-recheck issue (new files would not be picked up) 2017-08-06 09:49:51 +02:00
Johan Gunnarsson 972f179a5c Stop using deprecated save_proxy in header files
Without this patch, compiler will warn about save_proxy being used by merely
including session_handle.hpp:

/tmp/include/libtorrent/session_handle.hpp:104:45: warning: ‘save_proxy’ is deprecated [-Wdeprecated-declarations]
    save_dht_proxy TORRENT_DEPRECATED_ENUM = save_proxy,
                                             ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:102:4: note: declared here
    save_proxy TORRENT_DEPRECATED_ENUM =        0x008,
    ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:105:46: warning: ‘save_proxy’ is deprecated [-Wdeprecated-declarations]
    save_peer_proxy TORRENT_DEPRECATED_ENUM = save_proxy,
                                              ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:102:4: note: declared here
    save_proxy TORRENT_DEPRECATED_ENUM =        0x008,
    ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:106:45: warning: ‘save_proxy’ is deprecated [-Wdeprecated-declarations]
    save_web_proxy TORRENT_DEPRECATED_ENUM = save_proxy,
                                             ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:102:4: note: declared here
    save_proxy TORRENT_DEPRECATED_ENUM =        0x008,
    ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:107:49: warning: ‘save_proxy’ is deprecated [-Wdeprecated-declarations]
    save_tracker_proxy TORRENT_DEPRECATED_ENUM = save_proxy
                                                 ^~~~~~~~~~
/tmp/include/libtorrent/session_handle.hpp:102:4: note: declared here
    save_proxy TORRENT_DEPRECATED_ENUM =        0x008,
    ^~~~~~~~~~
2017-07-27 11:31:39 -07:00
arvidn cedd468300 backport fix to clearing of piece picker in suggest_read_cache mode 2017-07-22 00:00:14 -07:00
arvidn f0d2551073 add bitcoin donation button 2017-07-17 22:59:40 -07:00
arvidn ec65e12ee6 add boost-build feature to link against libcrypto and libssl on windows #1931 2017-07-13 22:20:35 -07:00
arvidn cc30434c52 fix inconsistency in file_priorities and override_resume_data behavior. file_priorities are not subject to the override_resume_data flag 2017-07-12 15:36:55 -07:00
arvidn 7eb3cf6bc6 use the official boost.config header 2017-07-12 11:31:29 -07:00
d-komarov 85cf521145 fix bandwith rate limit calculation (#2134)
back-port of fc0cbfb789
2017-07-11 21:35:12 -07:00
d-komarov 11d6a00bec fix storage destruction order issue (#2138)
back-ported from b553cb32f7
2017-07-10 21:35:34 -07:00
arvidn 5188c190db bump version number 2017-07-02 15:03:46 -04:00
arvidn 20c1407612 corrected missing const qualifiers on bdecode_node 2017-06-30 08:19:10 -04:00
arvidn 506950001d fix regression where paused torrents could not have their queue position changed 2017-06-27 12:37:08 -04:00
Steven Siloti ec30a5e9ec fix out-of-bounds read in bdecode
Fixes #2099
2017-06-24 10:52:49 -04:00
arvidn 77cc2b4eea fix re-check issue after move_storage 2017-06-20 22:27:39 -04:00
arvidn 046bb76361 handle invalid arguments to set_piece_deadline() 2017-06-19 05:46:08 -04:00
arvidn f04d729d43 enforce spell checking on CI 2017-06-18 15:51:51 -04:00
arvidn 53cbb607d0 first steps towards spell checking documentation 2017-06-17 22:59:57 -04:00
arvidn 0810793372 fix docs build on travis 2017-06-17 07:47:48 -04:00
arvidn b8ed0164ff fix travis build of docs 2017-06-16 00:17:22 -04:00
arvidn a97121d6f2 move_storage did not work for torrents without metadata 2017-06-15 21:20:22 -04:00
Steven Siloti a48cdd0281 fix check for fully allocated file on windows
The file allocation size is in terms of clusters so it will likely be larger
than the file size even with a freshly allocated file.
2017-06-15 06:36:34 -04:00
arvidn 5cb16f7878 back-port travis aafigure workaround 2017-06-14 05:00:53 -04:00
Bernhard M. Wiedemann 7e106b2660 sort input files
when building packages (e.g. for openSUSE Linux)
(random) filesystem order of input files
influences ordering of functions in the output,
thus without the patch, builds (in disposable VMs) would differ.

See https://reproducible-builds.org/ for why this matters.

Cherry-Picked-From commit 72f8ad9756
2017-05-31 22:47:46 -04:00
Arvid Norberg 7e653b9669 extend documentation to cover start_when_ready (#2032)
extend documentation to cover start_when_ready and the trick to set all file priorities to 0 on a magnet link
2017-05-28 11:16:15 -04:00
Arvid Norberg 94701c24da when stopping a torrent, never perform a name lookup on the tracker (#2021)
when stopping a torrent, never perform a name lookup on the tracker, only announce to trackers whose IP we already know. This is expected to make shutdowns not hang
2017-05-25 14:58:29 -04:00
arvidn 432131e493 fix error reporting for enum_net_interfaces 2017-05-23 08:54:09 -04:00
arvidn a985773f4b fix previously faulty fix to enum_routes 2017-05-21 23:21:02 -04:00
Mokhtar Naamani aed1f4ef9d fix cmake Debug build
Flags added to CMAKE_C_FLAGS_DEBUG are not applied to C++ files, CMAKE_CXX_FLAGS_DEBUG should be used instead.
2017-05-21 17:00:30 -04:00
arvidn 387f3ba0ea fix python3 portability issue in python binding 2017-05-21 16:58:23 -04:00
Arvid Norberg c7bb9f23ad add debug mechanism to assert the connection list is not mutated while iterating over it (#2016) 2017-05-21 11:36:35 -04:00
arvidn acd98d5c40 delay 5 seconds before reconnecting socks5 proxy for UDP ASSOCIATE 2017-05-21 08:53:29 -04:00
arvidn 83735fdbb4 fix NAT-PMP crash when removing a mapping at the wrong time 2017-05-20 14:56:04 -04:00
arvidn 56d5d795bf improve path sanitization (filter unicode text direction characters) 2017-05-15 01:49:41 -04:00
arvidn 9333c51da6 deprecate partial_piece_info::piece_state 2017-05-14 20:15:55 -04:00
arvidn ff63557f58 bind upnp requests to correct local address 2017-05-12 18:17:38 -04:00
arvidn f8bda070be don't combine reuseaddr and exclusive addruse on windows 2017-05-11 22:30:29 -04:00
arvidn bfa455c5bd save resume data when removing web seeds 2017-05-09 13:11:28 -04:00
Jan Berkel b3815c5533 HTTP proxy: avoid connecting to itself (#1978) 2017-05-08 11:04:17 -04:00
arvidn 14dbd1c92d fix race condition in disk I/O storage class 2017-05-07 13:47:50 -04:00
Jan Berkel fe9f877087 Set connection timeout when next endpoint is tried (#1952) 2017-05-04 17:32:47 -04:00
arvidn 1ea760ae93 fix iconv cast warnings 2017-04-24 08:02:11 -04:00