arvidn
792cfd1cc6
remove verbose peer logging
2018-12-02 04:03:03 +01:00
arvidn
eb5f29a79c
make stack_allocator::format_string() grow the buffer for large strings
2018-12-02 04:03:03 +01:00
arvidn
507fffe872
move where socket buffers are set up, to happen after the socket is opened. log errors in the peer's log instead of session and torrent
2018-12-02 04:03:03 +01:00
arvidn
7a51813d32
improve peer debug logging
2018-12-02 04:03:03 +01:00
arvidn
35ec87af4f
add stats counter for the number of outstanding async_accept calls
2018-11-30 02:15:45 +01:00
Steven Siloti
cc49a7fb15
fix assertion when sending a udp packet to a closed socket
...
This can happen particularly during shutdown. We should eventually get to a
point where this doesn't happen, but since we close the sockets immediately
upon initiating shutdown it's hard to avoid for now.
2018-11-30 02:15:22 +01:00
arvidn
fb66419791
merged RC_1_1 into master
2018-11-30 00:09:32 +01:00
arvidn
a44ddddede
fix potential issue where the dht port message is sent before the peer handshake
2018-11-29 10:21:21 +01:00
arvidn
4e2f013704
remove invalid assert
2018-11-29 10:20:27 +01:00
arvidn
1b2832e018
convert some for-loops into std algorithms
2018-11-27 19:43:01 +01:00
arvidn
3f87801142
fix some cppcheck warnings
2018-11-27 13:53:38 +01:00
arvidn
e80506d3b3
iterators are not (necessarily) pointers. use data() instead of begin() on span
2018-11-27 13:26:50 +01:00
arvidn
0808b96ec7
correct %u format code for pieces in printf() calls
2018-11-27 12:26:25 +01:00
arvidn
ba2e0db6d5
demote is_single_thread() assertion to invariant-check, in peer_connection
2018-11-27 12:25:47 +01:00
arvidn
88c733ef2d
attempt to fix an assert for a newly connected peer that disconnects just as we receive the metadata. disconnecting peers don't have their bitfield properly initialized, so we can't use it
2018-11-27 11:47:16 +01:00
arvidn
12cbcfd380
make settings_pack enums specify a narrower underlying type and remove deprecated, internal enums
2018-11-24 16:47:41 +01:00
arvidn
bac57a6e69
merged RC_1_1 into master
2018-11-24 01:23:10 +01:00
arvidn
cdf66409a4
don't use page aligned disk buffers
2018-11-23 18:41:25 +01:00
arvidn
50ae1838e6
wrap inclusion of windows.h with appropriate defines
2018-11-21 10:09:23 +01:00
airium
3406f12ab3
Include &ipv4= for private trackers
2018-11-20 13:50:22 +01:00
arvidn
9ae4aedeb0
deprecate slow bdecode() function
2018-11-19 09:09:55 +01:00
arvidn
0d8a5a8a44
add support for &ipv4= tracker argument
2018-11-19 09:08:16 +01:00
arvidn
8841c58435
improve interoperability between bdecode_node and entry (for encoding). Make it possible to construct an entry from a bdecode_node. move comparison operators out of entry to support implicit conversions from bdecode_node
2018-11-18 22:54:36 +01:00
Alden Torres
295bcc08e5
more use of should_log in torrent.cpp
2018-11-18 21:55:35 +01:00
arvidn
8d7af2344f
use new bdecoder in ut_metadata class
2018-11-18 11:59:17 +01:00
arvidn
7538d68086
clean up integer_to_str() function
2018-11-17 17:21:06 +01:00
arvidn
66a8f133b0
merged RC_1_1 into master
2018-11-17 14:38:43 +01:00
arvidn
3126e8f39e
improve type-safety a bit in the hole-punch code
2018-11-17 00:49:29 +01:00
arvidn
e3c5b6c13c
add rvalue ref overload of apply_settings() to avoid copying the whole settings_pack object
2018-11-17 00:44:25 +01:00
arvidn
7103b12cb7
remove typed_span type
2018-11-17 00:43:58 +01:00
arvidn
6381b35891
bump verson to 1.1.11.0
2018-11-16 15:52:16 +01:00
arvidn
1dc8c1c127
initialize bencoded ints with zero when constructed
2018-11-16 14:23:04 +01:00
arvidn
5383854768
make span's and sha1_hash's index and size types signed (instead of unsigned). Specifically std::ptrdiff_t. In line with the direction of gsl span and reduce signed->unsigned casts
2018-11-16 14:06:22 +01:00
arvidn
48980896d5
exit natpmp::on_reply earlier if we're shutting down
2018-11-16 10:14:37 +01:00
arvidn
5929ad4cae
merge RC_1_1 into master (again)
2018-11-15 22:55:52 +01:00
arvidn
29cddaa23e
merged RC_1_1 into master
2018-11-15 15:19:24 +01:00
airium
9415467dd8
Fix setting ipv6 interface
2018-11-15 13:12:22 +01:00
arvidn
164982c63a
pass the dht item object by const reference instead of by value
2018-11-15 00:18:53 +01:00
arvidn
6d886f29a9
support moving the whole add_torrent_params object into the add_torrent call on session
2018-11-14 19:11:11 +01:00
arvidn
0c76a3a0c5
require tracker_request objects be moved into queue_manager. also replace non-const reference parameter with rvalue reference
2018-11-14 17:09:04 +01:00
arvidn
13dd7cfe1e
a better fix to the ssl port announce bug
2018-11-14 07:36:22 +01:00
arvidn
437887ca37
pass add_torrent_params by const reference in deprecated add_magnet_uri functions. They are large to copy but since they're deprecated aren't worth the trouble of having an rvalue reference overload
2018-11-13 09:14:42 +01:00
arvidn
4d88c83576
add rvalue reference overloads for add_torrent_params, settings_pack and session_params. Those structures are pretty large so being able to take them by rvalue reference may be beneficial
2018-11-13 08:05:56 +01:00
arvidn
2d6a6a24ae
move the whole add_torrent_params object into save_resume_data_alert
2018-11-13 01:03:16 +01:00
arvidn
a233d3cc28
actually fix the issue with the second tracker announce with port 0
2018-11-12 18:02:15 +01:00
arvidn
2edb86c543
fix some warnings in utp_stream
2018-11-12 14:15:06 +01:00
arvidn
8d40cf6227
remove redundant MTU boundary checks
2018-11-12 14:08:00 +01:00
arvidn
b731764c85
remove unused variables
2018-11-12 08:54:31 +01:00
arvidn
28d123ef23
factor out duplicate code in choker
2018-11-10 15:17:57 +01:00
arvidn
69485558ef
factor out duplicate code in piece_picker, upnp and lazy_bdecode
2018-11-10 15:17:57 +01:00
arvidn
9d26f4f96c
fix asio-debugging build of dht test
2018-11-09 16:39:39 +01:00
pavel.pimenov
0ad3bb139d
fix cppcheck
2018-11-08 13:45:41 +01:00
arvidn
a06a78ee1c
fix of asio-debugging build in natpmp. resend_request could be called directly, not only as a handler for an async operation
2018-11-08 08:40:54 +01:00
arvidn
1f9e74f40d
merged RC_1_1 into master
2018-11-06 23:57:04 +01:00
Arvid Norberg
cec300234c
fix move_storage with save_path with a trailing slash
2018-11-06 23:46:18 +01:00
arvidn
6be8b395da
some cleanup turning memcmp() and memcpy() into span comparisons and std::copy(). some more use of random_bytes() instead of loops.
2018-11-05 18:52:45 +01:00
arvidn
a0fa0b14bb
merged RC_1_1 into master
2018-11-04 19:12:22 +01:00
arvidn
bf496c6b14
use span for picker_log_alert
2018-11-03 11:56:09 +01:00
Arvid Norberg
939b380fda
fix build against boost-1.69
2018-11-02 11:10:26 +01:00
Arvid Norberg
5b5b280b87
only make snubbed peers invert the piece picking strategy when we're doing rarest first (i.e. snubbed peers do common-first). Specifically, this prevents snubbed peers from picking from the end of the torrent when in sequential mode
2018-11-01 12:01:02 +01:00
arvidn
d0e146eb75
merged RC_1_1 into master
2018-11-01 09:48:41 +01:00
Arvid Norberg
e1eb12e60f
ssl listen port fix and improved tracker announce logging
2018-10-29 18:38:14 +01:00
pavel.pimenov
b00ce69d58
remove params.url.clear();
2018-10-25 09:49:38 +02:00
Arvid Norberg
a5da48edd4
add missing boost/noncopyable include
2018-10-25 09:47:21 +02:00
Amir Abrams
88266edd43
Update comment in put_mutable_item
...
Trivial update to a comment in put_mutable_item.
2018-10-24 13:13:20 +02:00
arvidn
3fb05d77d8
fix warnings
2018-10-20 20:56:26 +02:00
arvidn
36801fb96f
add some const
2018-10-20 16:30:48 +02:00
arvidn
9463159e67
merged RC_1_1 into master
2018-10-20 00:22:10 +02:00
Arvid Norberg
12c52e8751
back-port the fix from the lgtm fixes in master
2018-10-19 19:40:17 +02:00
Arvid Norberg
ede7dbf0aa
add LGTM badge to README and fix warnings
2018-10-19 16:28:33 +02:00
arvidn
3b32c90dde
fix gcrypt build
2018-10-17 10:14:14 +02:00
arvidn
269f0c5fb8
properly tear down the disk_io_thread object in set_piece_hashes() when exiting via an exception
2018-10-16 22:54:25 +02:00
arvidn
2d99e994c3
make throwing versions of read_resume_data
2018-10-07 12:41:53 +02:00
Arvid Norberg
1a27ff7107
parse_magnet_uri simplification
2018-10-05 11:01:45 +02:00
Arvid Norberg
761384bcf1
minor piece picker cleanup
2018-10-05 10:58:09 +02:00
Arvid Norberg
a4267d61e7
fix overflow in sliding_average in the case of very high download rates
2018-10-03 00:53:05 +02:00
Arvid Norberg
949867eca9
factor out some parts of print function for entry
2018-10-03 00:50:02 +02:00
Arvid Norberg
d2f19a2d73
merged RC_1_1 into master
2018-10-01 16:34:21 +02:00
Arvid Norberg
200bb494c3
bump version
2018-10-01 09:41:37 +02:00
arvidn
c437a24d78
renamed debug_notification to connect_notification
2018-09-28 17:28:34 -07:00
arvidn
a499ace80b
fix issue in udp_socket with unusual socket failure
2018-09-28 13:17:43 -07:00
arvidn
109db58641
merge RC_1_1 into master
2018-09-25 21:33:29 -07:00
arvidn
022a089b86
utp close-reason use after free fix
2018-09-23 08:24:54 -07:00
Arvid Norberg
6724c1eec0
fix some warnings
2018-09-19 22:12:45 -07:00
Arvid Norberg
8be9b3d976
merged RC_1_1 into master
2018-09-19 12:23:08 -07:00
Arvid Norberg
81356cfce1
add make_tcp() and make_udp() to convert endpoint types
2018-09-19 10:57:28 -07:00
Steven Siloti
c5b415b89f
remove dead code udp_tracker_connection::pick_target_endpoint
...
Endpoints are filtered by address family in name_lookup() so this
function will always return the first endpoint.
2018-09-16 12:07:52 -07:00
Alden Torres
e2a8fbf020
cleanup of special code for valgrind
2018-09-12 07:49:11 -07:00
arvidn
8cc93e9855
fix redundant flushes of partfile metadata
2018-09-12 07:47:13 -07:00
arvidn
16249b8135
fix overflow in calc_bytes(), add more tests, fix bug in piece picker accounting of filtered pad blocks.
2018-09-09 20:17:32 -07:00
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