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
arvidn
41bfd41cea
fix python binding with new boost version
2017-08-25 09:43:01 +02:00
arvidn
1ce4089229
log failures to parse interface and node lists from settings
2017-08-24 07:59:22 +02:00
arvidn
fe37884bc6
fix IPv6 tracker support by performing the second announce in more cases
2017-08-19 18:56:51 +02:00
Steven Siloti
73e898e38e
disable disk cache pool allocator by default
...
The pool allocator has known issues with not releasing memory when it should
and is of dubious benefit.
See #2251
2017-08-18 09:39:24 +02:00
arvidn
b5fe0f95a2
fix issue in UTF-8 encoding validation
2017-08-16 13:15:19 +02:00
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