Commit Graph

9337 Commits

Author SHA1 Message Date
arvidn eac3fbceda fix stout redirection in test framework 2017-11-23 00:05:08 +01:00
arvidn a57ad00e15 fix force-proxy regression (udp sockets would not be opened) 2017-11-21 08:54:16 +01:00
arvidn 04c2c35f8d restore path sanitization behavior of ':' 2017-11-21 08:50:09 +01:00
arvidn 096ce54fae fix issue where new listen sockets would not be opened when leaving force_proxy mode 2017-11-14 12:38:22 +01:00
arvidn d9de6767a7 back-port updated ssl test cert from master 2017-11-05 22:45:20 +01:00
Steven Siloti dc612b6423 keep updating aux::time_now() while there are announces
This fixes an infinite loop when an announce during shutown fails and
aux::time_now() has fallen behind clock_type::now() by more than the
delay calculated in announce_entry::failed(). If this happens,
announce_entry::can_announce() can forever return true when called from
torrent::announce_with_tracker() because that function uses
clock_type::now().

Also change torrent::announce_with_tracker() to use aux::time_now() just
for consistency with the reset of the announce related functions.
2017-10-26 23:42:35 +02:00
Romain Sertelon 4923effe23 Fixes --with-libiconv-prefix option
Should close #2465

Signed-off-by: Romain Sertelon <romain@sertelon.fr>
2017-10-26 11:15:51 +02:00
arvidn 205fe5e7ea fix full allocation failure on APFS 2017-10-16 00:08:10 +02:00
Andrew Resch 9f6631bfbe Expose torrent_alert::torrent_name in python bindings (#2449) 2017-10-15 23:53:44 +02:00
arvidn 6214103619 fix documentation typo 2017-10-14 13:54:43 +02:00
arvidn e67cf0a055 add missing files to CMakeLists.txt for test suite 2017-10-14 13:32:21 +02:00
silver e2a65adbc0 added dbghelp lib and bigobj to cmake for msvc 2017-10-14 02:22:06 +02:00
arvidn 4556fe5566 fix outdated comment 2017-10-13 16:27:21 +02:00
Steven Siloti 2b72a7321a send one last state update when a paused torrent's rates reach zero (#2436) 2017-10-11 23:10:40 +02:00
arvidn f19cca1374 fix infinite loop when parsing certain invalid magnet links 2017-10-11 09:11:58 +02:00
arvidn a9524550d7 don't delete pieces from cache with refcount > 0 2017-10-09 17:48:08 +02:00
Arvid Norberg 830ef0bedd prevent dependency on openssl from leaking outside of libtorrent (libssl and libcrypto should not be a usage requirement). This cleans up most tests to build without having to also link against openssl 2017-10-09 17:15:35 +02:00
Arvid Norberg 75f6b95050 clean up openssl dependency handling in Jamfile 2017-10-09 17:15:35 +02:00
arvidn f080149081 fix parsing of torrents with certain invalid filenames 2017-10-08 15:54:08 +02:00
arvidn 8ba5845643 don't hard-code the paths to find openssl on mac (but default to picking up brew). Add two new jam features, openssl-lib and openssl-include that can be used to specify which openssl to link against 2017-10-08 03:00:02 +02:00
arvidn cdd9f91999 fix leak of torrent_peer objecs (entries in peer_list) 2017-10-07 11:43:42 +02:00
arvidn 4e1c5738a2 back-port openssl API compat patch from master 2017-10-07 01:10:41 +02:00
arvidn ed31664ee3 deduce the second argument to iconv() instead of requiring it to be configured via a macro 2017-10-06 10:52:09 +02:00
arvidn dfabce3854 update build_dist.sh 2017-10-05 02:47:40 +02:00
arvidn 99b19366a9 fix leak of peer_class objects (when setting per-torrent rate limits) 2017-10-03 17:32:49 +02:00
arvidn 85a179de9a remove pointless test 2017-10-03 11:28:06 +02:00
arvidn dffe31ad7e try to link against dbghelp on mingw 2017-10-02 00:18:56 +02:00
arvidn 5f3661aaa2 back port overflow checking from master 2017-10-02 00:02:14 +02:00
arvidn 3255375095 back-port file name sanitization patch to RC_1_1 2017-10-01 16:44:10 +02:00
Andrei Kurushin c8d51689bb backport: fix windows file preallocation issue 2017-09-28 12:53:28 -07:00
arvidn d0067eafe0 fix typo 2017-09-26 09:21:30 -07:00
arvidn 9cad0d8cf2 expose peer class API in python binding 2017-09-24 23:25:20 -07:00
arvidn 08e861cca9 back port aldenml's patch from master to fix brew issue 2017-09-23 09:08:20 -07:00
arvidn 5441874f10 fix integer overflow in whole_pieces_threshold logic 2017-09-23 06:59:13 -07:00
arvidn 7f4566c694 improve share_ratio_limit documentation 2017-09-21 13:05:23 -07:00
arvidn 6cf0bfbe0d fix link in documentation footer 2017-09-21 11:11:56 -07:00
arvidn ddc8711dbe fix issue where peers could be disconnected while iterating over the peer list in the torrent. Specifically while marking peers as not-interesting 2017-09-21 07:26:13 -07:00
arvidn fc4588ad3b bump priority of storage_moved_alert and storage_moved_failed_alert 2017-09-21 05:43:18 +02:00
arvidn 1ddc710be1 fix uTP path MTU discovery issue on windows (DF bit was not set correctly) 2017-09-16 19:56:42 +02:00
arvidn 17d5d34272 fix documemtation of storage_moved_alert 2017-09-16 12:35:35 +02:00
arvidn ccbd6cbcfe remove rss_reader.py, since rss has been reprecated. fix python binding for torrent_handle, to be hashable. update client_test.py to not use deprecated APIs and follow best (libtorrent) practice 2017-09-11 22:28:57 +02:00
Steven Siloti 1cd40ee7e3 python: return torrent handles in alerts by value
This is needed to avoid a dangling reference if the client stores a
reference to the handle.
2017-09-10 08:55:02 +02:00
arvidn c848f6d978 improve some asserts in storage.cpp 2017-09-07 23:00:58 +02:00
arvidn 1280361236 update build docs 2017-09-05 19:45:40 +02:00
arvidn e36b066020 make logging alerts enabled by default in autoconf builds 2017-09-05 09:21:08 +02:00
arvidn 3da7d1d3da fix documentation issue 2017-09-04 16:50:11 +02:00
arvidn 061732ddec bump version 2017-09-04 15:35:45 +02:00
arvidn 37ffe99a19 fix gen_fwd.py to correctly put declarations in the dht namespace that belong there 2017-09-03 12:28:34 +02:00
Steven Siloti 621da10e60 hold an owning reference to storage objects in try_flush_write_blocks
It is possible for all other references to a storage object to be
destroyed while try_flush_write_blocks is running. If the storage is
destroyed then find_piece will crash when trying to re-aquire the
shared_ptr. To prevent this, keep the storage alive by holding a
shared_ptr to it in try_flush_write_blocks.

Normally the fence job when stopping a torrent would prevent the storage
object from being destroyed until all flush jobs are complete.
try_flush_write_blocks can be run after every disk job though so it has
the potential to "stradle the fence".

If the associated torrent does get unloaded then it is expected that
find_piece will return NULL thus causing the entry to be ignored.
2017-08-30 12:45:06 +02:00
Steven Siloti 52ccad23b9 read_piece: handle failure to allocate piece buffer 2017-08-29 12:24:17 +02:00