arvidn
b5d4bc5e62
back-port path fixup in file_storage add_file
2017-12-23 12:02:17 +01:00
arvidn
47709244d3
back-port fixed assert in chunk parser
2017-12-23 12:01:40 +01:00
arvidn
62bf524e75
disable DHT logging with the TORRENT_DISABLE_LOGGING macros as well
2017-12-23 12:01:18 +01:00
arvidn
b7decd452e
add getters for peer_class_filter and peer_class_type_filter
2017-12-23 09:25:06 +01:00
arvidn
67be35739c
:attempt to fix disconnections when torrents enter upload mode due to failures
2017-12-23 09:24:26 +01:00
sledgehammer_999
94f4e88e05
Fix local network address mappings.
2017-12-20 11:28:36 +01:00
arvidn
178281e1c5
make torrent_handler::set_priority() to use peer_classes
2017-12-18 00:56:44 +01:00
arvidn
d52763805c
back-port the tracker timeout test from master
2017-12-16 13:54:15 +01:00
arvidn
d1a63cd781
fix build against boost-1.66, specifically the boost.asio changes
2017-12-15 11:29:53 +01:00
arvidn
86c83fe976
fix asio debugging
2017-12-12 10:11:09 -05:00
arvidn
fe6473039c
fix rate limit utp feature
2017-12-11 08:40:35 -05:00
arvidn
b00b3184c0
some minor i2p cleanups
2017-12-08 09:57:21 +01:00
arvidn
a286b9da47
fix i2p support
2017-12-08 09:57:21 +01:00
arvidn
f81a20a035
fix loading resume data when in seed mode
2017-12-03 23:43:55 +01:00
arvidn
0fe2e85fee
fix part-file creation race condition (back-port from master)
2017-12-03 18:13:54 +01:00
arvidn
c745d3f00d
fix incorrect use of make_tick_handler
2017-12-02 12:20:36 +01:00
arvidn
4b467f82ac
fix issue with initializing settings on session construction
2017-12-02 12:20:36 +01:00
Arvid Norberg
e15f466137
fix issue with receiving interested before metadata ( #2557 )
2017-11-25 15:31:37 +01:00
arvidn
5e7666526e
fix IPv6 tracker announce issue
2017-11-23 10:11:59 +01:00
arvidn
1593916e62
fix ipv6 udp tracker test
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
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
arvidn
205fe5e7ea
fix full allocation failure on APFS
2017-10-16 00:08:10 +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
arvidn
f080149081
fix parsing of torrents with certain invalid filenames
2017-10-08 15:54:08 +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
99b19366a9
fix leak of peer_class objects (when setting per-torrent rate limits)
2017-10-03 17:32:49 +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
5441874f10
fix integer overflow in whole_pieces_threshold logic
2017-09-23 06:59:13 -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
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
arvidn
c848f6d978
improve some asserts in storage.cpp
2017-09-07 23:00:58 +02:00
arvidn
061732ddec
bump version
2017-09-04 15:35:45 +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
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
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
arvidn
cedd468300
backport fix to clearing of piece picker in suggest_read_cache mode
2017-07-22 00:00:14 -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
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
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
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
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
Jan Berkel
afe1f685a4
Set next/min_announce to now
...
Prevents unnecessary tracker announce delays #1940
2017-04-23 16:00:53 -04:00
arvidn
7dd11268dd
removed use of boost::uintptr_t for better compatibility
2017-04-23 11:15:43 -04:00
arvidn
227830e757
fix memory leak in the disk cache. if a cached_piece_entry would stick around in a ghost list (ARC), it would keep the torrent object itself alive. when aborting read jobs, the outstanding_read flag need to be cleared on the piece. When reclaiming a block for a piece that should be deleted (not just evicted) it need to know that. This patch adds an additional bit to cached_piece_entry to communicate this
2017-04-19 22:30:27 -04:00
arvidn
2d6268b580
fix double free in disk cache
2017-04-17 19:54:05 -04:00
Steven Siloti
f86e207ba2
fix typo in natpmp::start
...
Calling update_mapping() on a mapping with protocol set to none is a no-op so
I'm pretty sure this check was meant to skip over such mappings.
2017-04-15 15:28:01 -04:00
arvidn
48e61b947a
remove mutex-release hack in file_pool
2017-04-14 12:45:18 -07:00
arvidn
b065536023
bump version number
2017-04-02 18:34:45 -04:00
pavel.pimenov
6afb0fd51b
fix m_host_resolver (for RC_1_1)
2017-03-31 07:29:03 -04:00
arvidn
02bb1251d2
removed (broken) support for incoming connections over socks5
2017-03-29 02:15:43 -04:00
arvidn
910ccc528f
deprecate torrent_added_alert in favor of add_torrent_alert
2017-03-26 22:48:17 -04:00
arvidn
4d397f5ebf
fix minor robustness issue in DHT bootstrap logic
2017-03-21 12:29:08 -04:00
arvidn
f95f5b05c2
fix issue where torrent_status::num_seeds could be negative
2017-03-20 23:58:08 -04:00
arvidn
6f650aa7d9
document deprecation of dynamic loading/unloading of torrents
2017-03-13 21:21:38 -04:00
arvidn
e37e4bfe8a
include user-agent in tracker announces in anonymous_mode for private torrents
2017-03-12 21:10:00 -04:00