arvidn
102387f4a8
make all tests run cleanly with leak sanitizer
2019-03-27 17:10:36 +01:00
Steven Siloti
4dc2e6015d
use flag to prevent multiple calls to abort_jobs even when asserts are disabled
2019-03-26 18:04:18 +01:00
Steven Siloti
8d9c746149
always flush disk I/O job queue before shutdown
...
Leaving jobs on the queue can lead to memory leaks
2019-03-26 18:04:18 +01:00
arvidn
bb5c612180
fix typo in validation of reject messages. Make on_choke a bit more defensive
2019-03-26 09:14:16 +01:00
Arvid Norberg
3a4a7b742a
deduplicate code implementing log2p1()
2019-03-23 22:44:32 +01:00
arvidn
20cb26fcc1
remove duplicate copy of escape_string
2019-03-23 20:30:40 +01:00
Arvid Norberg
19dbfce9c0
simplify and clean up the handling of name in internal_file_entry. move should be more efficient now, by not copying the name
2019-03-22 21:31:32 +01:00
arvidn
2990532d10
reduce the amount of hacky path/string handling code
2019-03-22 07:48:07 +01:00
arvidn
b6896cf337
tighten up validation of dont-have messages
2019-03-21 16:48:08 +01:00
arvidn
972288340f
tighten up validation of reject messages, to ensure consistency of stats counters
2019-03-20 18:57:41 +01:00
arvidn
01feb32821
tighten up message size checks
2019-03-20 12:59:13 +01:00
arvidn
e5de81a6cb
remove unused replace_extension()
2019-03-19 17:26:19 +01:00
Arvid Norberg
57cd2882d4
update symlinks to conform to BEP 47
2019-03-19 10:05:06 +01:00
arvidn
5f85e40193
remove old, hacky and unused split_string() function
2019-03-19 09:27:06 +01:00
Arvid Norberg
28d5b7d427
remove unused flags parameter to send_buffer() and send_message() on peer_connections
2019-03-19 01:09:34 +01:00
arvidn
bb10385e6c
fix asserts in old merkle code
2019-03-17 18:58:26 +01:00
Alden Torres
620eb39f2c
missing changes
2019-03-11 14:38:26 +01:00
Alden Torres
1fe763483e
minor lint oriented refactor, moved a couple of functions to aux
2019-03-11 14:38:26 +01:00
arvidn
381d5a3c5d
add support for creating symlinks, for torrents with symlinks in them
2019-03-05 22:53:56 +01:00
Arvid Norberg
57e56d5070
factor out logic around adding torrents to the session into insert_torrent()
2019-03-03 12:56:24 +01:00
Arvid Norberg
e106602f49
allow padfiles of equal size to share the same filename
2019-03-01 16:09:53 +01:00
Arvid Norberg
57017e3ace
noreturn attribute is standard in C++11
2019-02-27 17:11:15 +01:00
arvidn
9bd5f424d3
use standard __func__ identifier instead of extensions
2019-02-26 23:59:43 +01:00
Amir Abrams
97c23366f3
Remove duplicate word in comments like "the the"
2019-02-24 12:28:17 +01:00
arvidn
4473a8d0ce
fix seed_mode flag
2019-02-24 10:20:20 +01:00
arvidn
3891f77253
fix naming in test_dht. don't include deprecated header (lazy_entry) unless required
2019-02-21 23:05:42 +01:00
arvidn
7f2a78d0c9
make random_shuffle() take a range instead of two iterators. use random_bytes() instead of std::generate() and random_byte(). Remove unused hasher.hpp includes
2019-02-19 01:48:08 +01:00
arvidn
1b7884b220
support numeric suffixes to magnet link parameter names
2019-02-15 23:15:38 +01:00
arvidn
aa7f29c17a
fix exporting of from_span type-tag
2019-02-13 00:15:41 +01:00
arvidn
748bb81570
include sha1.cpp in the build unconditionally, match build configuration options to using built-in sha1 and defining it
2019-02-13 00:14:53 +01:00
arvidn
9e376cae9f
fix warning in gcrypt usage
2019-02-12 21:01:21 +01:00
gubatron
69cff71cb6
Added FrostWire's client ID
...
As accepted in last amendment of bep_0020.rst on github.com/bittorrent/bittorrent.org
See: 7cb4ec93ea
2019-02-12 13:27:43 +01:00
arvidn
a2196a4194
fix warning in session_impl
2019-02-12 00:58:40 +01:00
Steven Siloti
d33b0506a0
don't try to hash empty read in do_uncached_hash
2019-02-11 10:38:28 +01:00
arvidn
8fc69f5d2e
don't copy a vector into the async_write operation for iovec. Since the chained_buffer will own the vector anyway, just make it return a span and copy that
2019-02-09 17:45:47 +01:00
Arvid Norberg
3ce277ba7f
merged RC_1_1 into RC_1_2
2019-01-23 00:11:59 +01:00
Arvid Norberg
71f275d92b
replace use of (deprecated) boost.endian with boost.prefef
2019-01-22 00:50:47 +01:00
Arvid Norberg
77bd5c9c7e
remove some c++98 fallback code
2019-01-20 18:28:51 +01:00
Alden Torres
f23daa8262
marked final error category classes, avoid -Wnon-virtual-dtor
2019-01-20 00:38:25 +01:00
Alden Torres
bcda184e59
[WIP] refactor in file_progress to avoid dependency of alert_manager
2019-01-13 02:40:15 +01:00
arvidn
f4f1425115
use UNC paths pervasively on windows
2019-01-12 21:00:40 +01:00
arvidn
8b067310b1
merged RC_1_1 into master
2019-01-12 00:53:45 +01:00
arvidn
b443d33430
bump version number
2019-01-11 11:30:37 +01:00
arvidn
786d78b6c9
only allow cwnd to be reduced so often
2019-01-11 02:15:11 +01:00
Alden Torres
6b04c4f642
removed unused file::sparse_end
2019-01-11 02:02:06 +01:00
airium
33fa7454d0
Avoid announcing local ip to private tracker
2019-01-11 01:57:41 +01:00
arvidn
0ce899e273
don't treat loss of MTU probe packet as a congestion signal
2019-01-07 02:35:57 +01:00
Alden Torres
94d737ff77
removed unused directory::inode()
2019-01-06 17:21:34 +01:00
arvidn
26c29ea030
make sure we reset the duplicate ack counter every time we don't receive a duplicate ack. Also fix logging of outstanding packets
2019-01-05 23:18:02 +01:00
arvidn
02d7d71c5f
merge RC_1_1 into master
2019-01-03 11:23:20 +01:00
arvidn
a81eb050c5
remove old (incompatible) sequence number build option
2019-01-02 15:21:39 +01:00
arvidn
ee1e66e851
don't leave slow-start just because we hit the advertized receive window. uTorrent adjusts its receive window dynamically which may just cause a temporary restriction
2019-01-02 11:38:13 +01:00
arvidn
8ffd524b5f
simplify and improve the uTP deferred ACK logic to respond earlier
2019-01-02 11:36:29 +01:00
arvidn
6f1f466832
improve logic for fast-retransmitting packets on incoming SACK
2019-01-01 16:48:00 +01:00
arvidn
48a7ab13d5
improve utp verbose logging a bit and make the parser pull out more metrics
2019-01-01 03:28:12 +01:00
Arvid Norberg
8abce44708
restore permissions on directories to 1.1. i.e. rely on umask
2018-12-28 12:45:28 +01:00
arvidn
97e86b2969
minor fix to invalid_request_alert logging
2018-12-23 11:17:33 +01:00
arvidn
54fd03529e
move variable scope into its build configuration block. prevent invariant-checks enabled and asserts disabled build. remove some redundant preprocessor ifdefs
2018-12-14 00:08:08 +01:00
arvidn
35ad3bb499
fix %u -> %d format codes
2018-12-12 18:07:06 +01:00
arvidn
6debd872de
tweak heuristic of how to interpret url seeds in multi-file torrents
2018-12-11 12:47:43 +01:00
Alden Torres
0413ee581a
added more TORRENT_DEPRECATED_ENUM and deprecated unused aio_max in settings_pack
2018-12-10 11:45:44 +01:00
arvidn
a7e98983d2
remove invalid assert in http_seed_connection
2018-12-08 11:38:54 +01:00
arvidn
072563c973
add asserts in disk_fence_job
2018-12-07 13:37:27 +01:00
Alden Torres
3e582100d0
removed repeated code and minor code refactor
2018-12-05 09:13:54 +01:00
arvidn
1efe05c96e
remove unused variables
2018-12-05 01:25:34 +01:00
arvidn
8f54146555
take a string_view in setting_by_name
2018-12-04 19:05:31 +01:00
arvidn
184fa88950
fix typo in peer log
2018-12-04 19:04:10 +01:00
Alden Torres
98fbbbf591
deprecate start_default_features flag, it's only used in deprecated API
2018-12-02 04:04:57 +01:00
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