arvidn
8808eb7cdd
introduce a recursive mutex to protect the alert_manager, and hold the mutex while calling user callbacks and plugin hooks. This is required to ensure the underlying storage for alert allocations (in the stack allocators) is synchronized with the thread that may be accessing it
2018-05-01 23:17:51 +02:00
Steven Siloti
f5e33932d2
fix use after free in flush_range and flush_iovec
...
Calling blocks_flushed can cause the piece entry to be freed so its
callers need to be aware of that and avoid dereferencing the pointer if
the entry is freed.
2018-04-27 16:15:19 +02:00
Arvid Norberg
366b7983d1
fix typo with bind_outgoing_socket~
2018-04-26 19:50:25 -04:00
Xiyue Deng
21d8e9e26b
Add missing header <cstdarg> for va_list.
...
* Fix building on OpenBSD.
2018-04-24 23:09:25 -04:00
arvidn
3ede0b9c20
fix last_upload, last_download and last_scrape to be reported accurately and saved/restored in resume data
2018-04-22 06:14:22 -04:00
d-komarov
44479bcca3
Fix storage initialization ( #2944 )
...
If `default_storage::has_any_file` fails during fastresume data check, `piece_manager::check_no_fastresume` will skip storage initialization. In such case, any storage operation that require part file will cause an application crash.
2018-04-21 18:35:55 +02:00
arvidn
9cd0ae67e7
another boost-1.67 build fix
2018-04-13 14:43:41 +02:00
Steven Siloti
236e0e7699
pass default constructed boost::function instead of NULL
...
Clang 6 defines NULL as nullptr which breaks implicit construction
of boost::function from NULL.
2018-04-12 14:32:31 +02:00
arvidn
aaf9304a3b
update year in copyright header
2018-04-09 09:04:33 +02:00
arvidn
105934e578
bump version
2018-04-08 23:08:39 +02:00
arvidn
c5a5e084dd
:strtoll() returns LLONG_MAX if the input overflows. Handle this case properly in the http parser
2018-04-08 18:34:25 +02:00
V.G. Bulavintsev
c08a6bf430
Make SACK header to be able to take up the whole packet. Rename m_in_buf_size to m_receive_buffer_capacity
2018-04-07 18:55:14 +02:00
V.G. Bulavintsev
257f625e2e
Increase m_in_buf_size and max_packet_reorder to better handle links with high latency
2018-04-07 18:55:14 +02:00
V.G. Bulavintsev
bf2f0a9c55
Fix advertised window being counted twice in congestion check
2018-04-07 18:55:14 +02:00
Fernando Rodriguez
9d83da110b
Delay hash_failed_alert until on_piece_sync()
...
Delay the hash_failed_alert until after synchronizing with the IO thread
so that it can be used to synchronize piece progress.
2018-04-07 15:59:40 +02:00
Arvid Norberg
357217326d
some cleanups
2018-04-05 12:59:35 +02:00
Arvid Norberg
a5e0578c88
fix part-file header allocation
2018-04-03 20:46:49 +02:00
Arvid Norberg
77102102d6
simplify some for-loops in xml_parse
2018-04-03 18:45:04 +02:00
Arvid Norberg
49ae7858a8
fix potential fd leak in enum_net_interfaces
2018-04-03 13:44:33 +02:00
arvidn
98d5313598
don't perform DNS lookups for the DHT bootstrap unless DHT is enabled
2018-04-01 23:53:12 +02:00
arvidn
6a2df1034a
add some asserts and checks preventing IPv6 addresses to make it into libtorrent when IPv6 support is disabled
2018-03-31 14:17:06 +02:00
d_komarov
1c867a5026
Changing file priorities while checking interrupts checking.
...
Also, if the last file has zero priority, checking is interrupted prematurely.
2018-03-26 02:59:10 +02:00
arvidn
02a01fa22e
fix issue where the current tracker would be skipped for the next tracker in the same tier
2018-03-25 14:40:38 +02:00
arvidn
82f87b0655
remove redundant check in tracker announce. This is checked in http_tracker_connection
2018-03-21 23:38:10 +01:00
arvidn
09bf97b79e
minor fixes in utp_socket_impl
2018-03-18 17:03:05 +01:00
arvidn
0edb0f28c1
stat files in the disk thread, in default_storage::initialize() instead of the constructor
2018-03-15 14:54:49 +01:00
arvidn
a06e4f696b
track whether a file is eligible for using the partfile on a per-file basis. This is intended to improve backwards compatibility, to better support resuming files downloaded with older versions of libtorrent
2018-03-11 12:52:56 +01:00
arvidn
05f7a95604
fix reporting &redundant= in tracker announces
2018-03-08 02:11:46 +01:00
arvidn
24dea1f845
fix tie-break in duplicate peer connection disconnect logic
2018-02-21 21:04:28 +01:00
Arvid Norberg
eec34e3ac3
fix issue with SSL tracker connections left in CLOSE_WAIT state ( #2797 )
2018-02-20 08:40:47 +01:00
d-komarov
f94b62acf7
CMake improvements
...
CMake build scripts improved to simplify configuring and building of
project and tests.
Better use of compile definitions by replacing add_definitions with
target_compile_definitions. Use INTERFACE, PUBLIC and PRIVATE keywords
to separate scope of TORRENT_BUILDING_SHARED and TORRENT_LINKING_SHARED
definitions.
* Move tests to the separate file - test/CmakeLists.txt
* Fix use of compile definitions
* Remove redundant tailqueue.cpp
2018-02-19 23:23:15 +01:00
arvidn
1ede34da8a
undo the patch to restore incoming TCP connections over SOCKS5
2018-02-19 00:01:42 +01:00
arvidn
a1860426b8
defer truncating existing files until the first time we write to them
2018-02-10 18:33:41 +01:00
arvidn
77181c1469
fix issue when receiving a torrent with 0-sized padfiles as magnet link
2018-02-09 17:41:30 +01:00
arvidn
91e03c789c
fix issue resuming 1.0.x downloads with a file priority 0
2018-01-31 22:43:07 +01:00
arvidn
01c41fadcf
fix torrent_status::next_announce
2018-01-29 15:08:18 +01:00
arvidn
ca3ea591df
fix pad-file scalability issue
2018-01-29 03:00:37 +01:00
arvidn
b729021625
make coalesce-buffers work on windows and systemps with pwritev()/preadv()
2018-01-28 23:05:01 +01:00
d-komarov
fa03cbea9b
Revise torrent state update
...
* Remove unused m_in_state_updates
* Update m_state_subscription comments
2018-01-27 09:17:40 +01:00
arvidn
bc4d53c71f
restore support for incoming connections over SOCKS5 (disabled by default)
2018-01-25 09:14:14 +01:00
arvidn
efd096d879
use unique peer_ids per connection
2018-01-23 16:40:16 +01:00
arvidn
0ee6b7d142
build for iOS on travis
2018-01-18 22:37:37 +01:00
arvidn
a67eb2f059
fix tracker connection bind issue for IPv6 trackers
2018-01-14 06:47:13 -05:00
arvidn
a9085db760
fix error handling of merkle torrents
2018-01-13 17:33:36 -05:00
arvidn
f29bb69612
fix error handling of unsupported hard-links
2018-01-13 08:36:48 -05:00
Chocobo1
1877724c17
raise auto piece size selection limit to 16 MB in create_torrent()
...
16 MB is chosen to have a bit more future proof
Also rewrite the auto piece size selection algorithm, so that it will scale with
torrent content size, suggested by @ssiloti.
2018-01-08 15:24:47 -05:00
arvidn
c8bf782bd0
bump version number to 1.1.6
2017-12-29 15:53:51 +01:00
arvidn
7ea5946305
remove some last lexical_cast residual
2017-12-27 12:44:36 +01:00
arvidn
3971897c14
remove invalid assert
2017-12-24 11:28:02 +01:00
arvidn
43d7f980d0
make the chunk header parser properly fail at end of buffer, and not require zero terminated strings
2017-12-23 17:06:50 +01:00