Arvid Norberg
fc7b61a6f3
improve type-safety of the severity parameter to peer_connection::disconnect()
2018-09-06 16:42:04 -07:00
Alden Torres
9b2f6042bb
more use of index range and lint oriented refactor in torrent.cpp
2018-09-05 22:32:58 -07:00
arvidn
c9cbb122e2
fix some warnings from sonar-cube
2018-09-05 18:10:57 -07:00
arvidn
78a344bd8b
merged RC_1_1 into master
2018-09-05 08:25:14 -07:00
Steven Siloti
a9bccceccd
fix seed count when attaching a peer is aborted
2018-09-04 13:45:13 +02:00
Arvid Norberg
51003d11ca
add assert to storage
2018-09-04 13:44:24 +02:00
Arvid Norberg
2647ca2412
add option to ignore min-interval from tracker, when force-reannouncing a tracker
2018-09-04 08:46:24 +02:00
arvidn
214ace3efe
raise default value for active_limit to 500, since it's supposed to be an upper sanity check limit
2018-09-02 19:25:06 +02:00
arvidn
2e313de898
remove unused member variables in torrent object
2018-08-29 15:01:40 +02:00
Alden Torres
b660e526b1
fixed old-style-cast warning when using libgcrypt
2018-08-28 21:03:55 +02:00
arvidn
7c837be651
make the print function for entry actually be json-like. when logging bencode entries, print it all on a single line. add test for entry print function
2018-08-27 13:56:04 +02:00
arvidn
269b71324e
improve log statement when not unchoking a peer
2018-08-27 13:43:48 +02:00
Arvid Norberg
c1b0c70c23
fall back to copy+remove if rename_file fails
2018-08-27 12:30:47 +02:00
arvidn
55215742af
merged RC_1_1 into master
2018-08-25 14:13:51 +02:00
Arvid Norberg
6e80f1f615
improve handling of filesystems not supporting fallocate()
2018-08-22 08:35:22 +02:00
Arvid Norberg
11a8f46921
add some noexcept and assume std::function is not nothrow move constructible on clang
2018-08-21 11:12:34 +02:00
arvidn
37d85ac2f7
improve piece picker performance in tracking pad-blocks
2018-08-20 17:13:20 +02:00
arvidn
c9043dec53
force proxy no longer disables the DHT
2018-08-20 08:24:31 +02:00
Alden Torres
28c94b54ed
minor code refactor for more use of const and emplace
2018-08-20 08:06:37 +02:00
arvidn
058419a77c
simplify total_have/have_want/total_want. make piece_picker track pad blocks and compute byte-progress at block granularity
2018-08-19 22:21:24 +02:00
Arvid Norberg
b90564d418
remove the IPv6 enable/disable build config
2018-08-19 22:20:54 +02:00
Arvid Norberg
fef1b947f3
fix issue in self-connection detection introduced with the change to generate unique peer-ids for each connection. Now, the torrent keeps track of all of our peer-ids generated for outgoing (bittorrent) connections, and we check them against incoming peers' peer-ids
2018-08-19 22:19:53 +02:00
Alden Torres
6a13d14f11
more use of const modifier
2018-08-15 07:41:41 +02:00
arvidn
6620b6e774
dial back the connect boost a bit from recent update
2018-08-13 19:17:01 +02:00
arvidn
b3dbce5790
merge RC_1_1 into master
2018-08-13 09:32:17 +02:00
arvidn
d55200af9d
minor simplification of bytes_left(), remove quantized_bytes_done()
2018-08-11 08:29:45 +02:00
d_komarov
0bcf6cef23
Fix exporting files
...
To avoid overwriting existing files, before exporting anything from a
parts file, check whether it contains valid data.
2018-08-10 20:21:29 +02:00
arvidn
6d2541f131
improve connect-boost feature, to make new torrents quickly connect peers
2018-08-09 20:12:56 +02:00
arvidn
7be9547817
add a few more stats counters measuring outgoing connection attempts. simplify session_stats_header_alert by posting it on first call to post_session_stats() instead of making it gated by the alert_mask
2018-08-09 20:10:35 +02:00
Arvid Norberg
0a5b3c1bb0
update documentation for save_resume_data() and stop_when_ready()
2018-08-09 00:57:21 +02:00
arvidn
f1d2105afb
remove dead code from piece picker
2018-08-08 23:41:46 +02:00
arvidn
51fb1e3d6b
tweak the auto-cache-size logic to have slightly smaller cache
2018-08-06 14:06:32 +02:00
arvidn
c426ba88d4
fix buffer offset bug recently introduced to disk_io_thread::do_read()
2018-08-06 13:16:41 +02:00
arvidn
3416da41d9
fix narrowing warning
2018-08-03 21:02:44 +02:00
Arvid Norberg
6caddf6b8e
fix deprecation of mmap_cache
2018-08-03 12:51:04 +02:00
arvidn
70d64327fd
bump checking_mem_usage to be higher than the default in the high_performance_seed preset
2018-08-02 23:15:51 +02:00
arvidn
5f7252b32b
add missing increment of on_disk_counter and num_blocks_hashed counters
2018-08-02 23:15:00 +02:00
arvidn
3de4e42fb7
slight cleanup of the ephemeral flag passed to add_web_seed()
2018-08-01 12:02:51 +02:00
arvidn
4096085bf8
merged RC_1_1 into master
2018-07-30 13:44:44 +02:00
arvidn
19df645012
apply piece priorities immediately, even though file priority updares are async. save both file- and piece priorities in fast resume. when loading, apply file prios first, then piece prios
2018-07-29 21:53:01 +02:00
Arvid Norberg
a477a53b80
simplify natpmp gateway and local address discovery
2018-07-29 13:10:36 +02:00
Steven Siloti
92f1937b97
fix typo in #if tests for TORRENT_DISABLE_ENCRYPTION
2018-07-29 09:04:16 +02:00
Arvid Norberg
b3856d3027
narrow the scope affected by TORRENT_DISABLE_EXTENSIONS to only disable the user extensions, but always support the extension message and the built-in extensions, like lt_donthave and seed_mode
2018-07-26 09:31:49 +02:00
Arvid Norberg
8f0cf7e1a9
some refactor to reduce duplicate code
2018-07-25 18:48:34 +02:00
Arvid Norberg
4282dd072a
factor out generate_peer_id into its own file
2018-07-25 08:49:18 +02:00
arvidn
a1f2995716
add piece index range checks on have_piece() and read_piece()
2018-07-25 00:20:18 +02:00
arvidn
730ef15b08
minor cleanups
2018-07-24 16:34:46 +02:00
arvidn
c2ebae7dbb
make metric_type_t an enum class, deprecate the in-class enum values
2018-07-24 15:29:56 +02:00
Arvid Norberg
dcb8b816a3
only post alerts for newly opened listen sockets, and only attempt to map ports for newly opened sockets. track has_incoming_connections per listen socket
2018-07-23 15:04:23 +02:00
Arvid Norberg
2f56fa6c3e
bump version to 1.1.9
2018-07-20 13:06:12 +02:00
arvidn
f4b0dbf115
merged RC_1_1 into master
2018-07-20 09:28:21 +02:00
arvidn
1ebc5f9ef2
remove special handling of uTP peers
2018-07-20 07:47:08 +02:00
arvidn
9f6f23068c
make natpmp deal with address_v6 instead of the bytes_type, and use write_address instead of memcpy
2018-07-20 07:46:12 +02:00
arvidn
e92cf18340
fix some warnings around unused variables, dead stores, potentially dereferencing nullptr and calling virtual functions from constructor
2018-07-20 01:03:16 +02:00
arvidn
d8755066e8
give some magic numbers names
2018-07-20 00:58:34 +02:00
arvidn
a7b7623f23
return values instead of using out-params
2018-07-19 23:58:36 +02:00
Arvid Norberg
828c5dd097
merged RC_1_1 into master
2018-07-19 14:37:22 +02:00
Arvid Norberg
5bb5ba145f
fix exporting files from partfile while seeding
2018-07-18 10:56:24 +02:00
Arvid Norberg
e88a9a4dda
merged RC_1_1 into master
2018-07-18 10:48:36 +02:00
arvidn
5d3ac8ff5c
fix some warnings
2018-07-18 10:38:45 +02:00
arvidn
f89c27183b
remove unused function
2018-07-18 09:18:09 +02:00
Alden Torres
d9d387d711
minor code cleanup, more use of const ( #3174 )
...
* minor code cleanup, more use of const, using u literal per lint
* revert use of unsigned literal
* reverted loop change
2018-07-16 18:23:38 +02:00
arvidn
4aa3c4573a
use the strong type for pause flags
2018-07-16 12:06:21 +02:00
arvidn
4633258fbe
make the DHT announce flags a strong type
2018-07-16 12:04:16 +02:00
Steven Siloti
e5be30157f
set port in handshake based on source address ( #3172 )
2018-07-15 21:15:04 +02:00
arvidn
52af3eaa7f
simplify preadv and pwritev emulation functions
2018-07-14 09:03:15 +02:00
Andrei Kurushin
7a34b27499
fix Windows "file::preadv" emulation EOF handling
2018-07-12 23:54:34 +02:00
Andrei Kurushin
5399a14027
Windows async read EOF handling ( #3162 )
...
fix Windows "file::preadv" emulation EOF handling
2018-07-12 23:30:50 +02:00
arvidn
7ce20fd9d0
fix bug in read/write resume data functions. add proper tests
2018-07-12 23:19:08 +02:00
arvidn
59343f4f95
merged RC_1_1 into master
2018-07-12 20:20:02 +02:00
d-komarov
490d8eb328
Fix previous patch fixing deadlock in DllMain ( #3158 )
...
Simplify `get_manage_volume_privs()` and renamed it
2018-07-12 16:46:36 +02:00
arvidn
37a6a47ea3
minor cleanups around saving resume data
2018-07-12 08:38:53 +02:00
Steven Siloti
76ef8b9d72
simplify SSL torrent announce flags logic
2018-07-12 08:36:57 +02:00
Steven Siloti
28b6f64c4b
dht: don't set implied_port for SSL torrents
2018-07-12 08:36:57 +02:00
Steven Siloti
961cf62cad
dht: announce with per-interface listen port
2018-07-12 08:36:57 +02:00
Alden Torres
965ca9a565
avoid copy of arrays in dht alerts constructors
2018-07-09 19:53:35 +02:00
Arvid Norberg
e317c72db3
merged RC_1_1 into master
2018-07-08 18:52:13 +02:00
arvidn
3c2b076eb0
deprecated anonymous_mode_alert
2018-07-08 18:26:47 +02:00
arvidn
b750b6cc2c
deprecate (and disable) the force-proxy setting. Instead, always use the proxy when set, never fall back on circumventing it
2018-07-08 18:26:47 +02:00
arvidn
2ba0e5ae2c
move the file priority vector throught the disk_io_job, to avoid copies
2018-07-08 18:25:06 +02:00
arvidn
d2d35b69fd
raise priority of cache_flushed_alert and post it unconditionally when triggered explicily by the client
2018-07-08 18:23:44 +02:00
arvidn
e45df614fe
improve type safety of internal leave_seed_mode() function
2018-07-08 17:32:50 +02:00
Alden Torres
6d2f804d9f
code refactor related to the use of index_range and end index
2018-07-08 17:32:30 +02:00
arvidn
0659a929af
fix some validation issues in read_resume_data()
2018-07-08 17:32:14 +02:00
Arvid Norberg
b60912569f
back-port resume data validation fixes
2018-07-08 17:31:29 +02:00
Arvid Norberg
3fede4b223
merged RC_1_1 into master
2018-07-08 11:55:32 +02:00
arvidn
efe3036879
clean up proxy_settings constructors
2018-07-07 18:02:43 +02:00
arvidn
b5cd959dd1
bump the minimum number of hash jobs per thread from 2 to 4
2018-07-07 18:02:24 +02:00
d_komarov
1c86e94de6
Fix deadlock when loading libtorrent Dll
...
Definition of `bool file::has_manage_volume_privs` involves a call to
`get_manage_volume_privs()`, causing restricted tasks to be performed
from within `DllMain` function. They introduce possibility that client
application deadlocks or crashes.
You should never perform the following tasks from within DllMain:
* Call `LoadLibrary` or `LoadLibraryEx` (either directly or indirectly).
This can cause a deadlock or a crash.
* Call the registry functions. These functions are implemented in
'Advapi32.dll'. If not initialized before your DLL, it can access
uninitialized memory and cause the process to crash.
2018-07-07 18:00:07 +02:00
Arvid Norberg
c7e705e158
merged RC_1_1 into master
2018-07-07 13:33:15 +02:00
arvidn
3249b70cbd
fix recent patch to support setting file priorities on torrents that don't have metadata yet
2018-07-07 11:34:11 +02:00
arvidn
b76c149bdc
use std::aray for the temporary buffer in socks5 UDP socket
2018-07-04 08:17:35 +02:00
d-komarov
6d5a6f05ad
Fix torrent files prioritization ( #3133 )
...
After setting file priority, any subsequent attempt to set different priorities will fail if there is a `file_priority` job running in in disk thread. This happens because `torrent::m_file_priority` is being updated before adding disk thread job. The problem is gone if the file priority vector owned by the torrent object, is modified in the `torrent::on_file_priority` callback, when disk job finishes.
2018-07-04 08:16:33 +02:00
arvidn
10deff2f91
fix some unintentional copies (with explicit moves)
2018-07-01 18:22:32 +02:00
arvidn
d439c8729a
qualify some assignment operators to disallow assignment to temporaries
2018-07-01 17:29:50 +02:00
Alden Torres
2c5da2778a
more lint oriented code refactor/cleanup
2018-06-29 13:27:29 +02:00
arvidn
4576723090
bump version to 1.1.8
2018-06-25 12:25:11 +02:00
Arvid Norberg
ab56bf964f
fix missing move of file object in part_file
2018-06-24 21:34:56 +02:00
arvidn
b67166b29d
merged RC_1_1 into master
2018-06-24 17:59:28 +02:00
Arvid Norberg
78d9c284e9
use more threads when creating torrents
2018-06-24 16:49:57 +02:00