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
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
Alden Torres
88d018bb67
simple test for file_progress::update
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
a112c8e67b
add assignment operator to span
2018-12-12 19:55:07 +01:00
arvidn
6debd872de
tweak heuristic of how to interpret url seeds in multi-file torrents
2018-12-11 12:47:43 +01:00
arvidn
7e13b34158
fix build i2p=on,off configurations
2018-12-07 13:36:53 +01:00
arvidn
eb5f29a79c
make stack_allocator::format_string() grow the buffer for large strings
2018-12-02 04:03:03 +01:00
arvidn
50ae1838e6
wrap inclusion of windows.h with appropriate defines
2018-11-21 10:09:23 +01:00
arvidn
1f9178f882
clean up test_fast_extension to use span
2018-11-21 10:08:01 +01:00
arvidn
9ae4aedeb0
deprecate slow bdecode() function
2018-11-19 09:09:55 +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
arvidn
eab1055938
more warnings on appveyor
2018-11-18 11:49:45 +01:00
arvidn
7538d68086
clean up integer_to_str() function
2018-11-17 17:21:06 +01:00
arvidn
8c18baf10e
check for self-assignment in bitfield operator=
2018-11-16 14:23:46 +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
eda8227d80
simplify test Jamfile by making each test its own target. Make test_lsd explicit and don't run it on travis OSX, since it can't get the socket there
2018-11-15 11:46:44 +01:00
arvidn
9d26f4f96c
fix asio-debugging build of dht test
2018-11-09 16:39:39 +01:00
arvidn
7bb828af6e
back-port the new test SSL cert from master
2018-11-09 11:55:42 +01:00
arvidn
e2f8bce539
add tests for low level I/O functions, read_* and write_*. also turn some raw for loops into range-for loops in the I/O functions
2018-11-07 14:35:30 +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
014533da12
regenerate test SSL certificate
2018-11-03 01:49:10 +01:00
Arvid Norberg
939b380fda
fix build against boost-1.69
2018-11-02 11:10:26 +01:00
Eugene Shalygin
ba294e6594
cmake: backport changes from the master branch
...
This fixes generated pkg-config file and adds options to build python
bindings.
2018-10-31 00:17:36 +01:00
arvidn
3fb05d77d8
fix warnings
2018-10-20 20:56:26 +02:00
arvidn
c57b3be4cc
more lgtm fixes
2018-10-20 16:30:06 +02:00
arvidn
fbf9f73d43
add missing test files to tarball
2018-10-12 16:01:53 +02:00
Arvid Norberg
9758d2f08f
general cleanups of build files. Specifically to fix the propagation properties of _WIN32_WINNT, include missing CMake files in the tarball, and fix some risky ABI altering properties in CMake files
2018-10-12 10:06:59 +02:00
arvidn
8586023022
remove accidental files from repo
2018-10-11 11:18:54 +02:00
arvidn
0b8c550b9c
remove accidental file from repo
2018-10-11 07:30:02 +02:00
arvidn
7ff692690b
fix warnings in tests and examples
2018-10-10 20:49:07 +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
a4267d61e7
fix overflow in sliding_average in the case of very high download rates
2018-10-03 00:53:05 +02:00
arvidn
c437a24d78
renamed debug_notification to connect_notification
2018-09-28 17:28:34 -07:00
arvidn
109db58641
merge RC_1_1 into master
2018-09-25 21:33:29 -07:00
arvidn
6c4d1b9143
back-port the patch to split up the progress_notification alert_mask into three new categories, file-, piece- and block progress
2018-09-24 08:52:30 -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
arvidn
78a344bd8b
merged RC_1_1 into master
2018-09-05 08:25:14 -07:00
Arvid Norberg
51003d11ca
add assert to storage
2018-09-04 13:44:24 +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
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
arvidn
b3dbce5790
merge RC_1_1 into master
2018-08-13 09:32:17 +02:00
arvidn
28bd7102be
fix some conversion warnings by using std::abs() instead of fabs()
2018-08-09 16:11:25 +02:00
arvidn
f1d2105afb
remove dead code from piece picker
2018-08-08 23:41:46 +02:00
Arvid Norberg
149c24e549
make test_ssl less likely to fail spuriously
2018-08-02 23:17:38 +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
Arvid Norberg
d7a60442bd
build enum_if with the same configuration as the other tests (to avoid building libtorrent twice)
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
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
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
arvidn
b3e26d08f0
fix GCC 7 warnings and improve test_primitives a bit
2018-07-20 23:35:49 +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
dfb3f03c73
modernize test_fast_extension a bit
2018-07-19 23:55:56 +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
arvidn
4633258fbe
make the DHT announce flags a strong type
2018-07-16 12:04:16 +02:00
arvidn
2ef740bd59
merged RC_1_1 into master
2018-07-13 23:18:59 +02:00
arvidn
2e6f374319
fix typos
2018-07-13 16:45:22 +02:00
arvidn
2e4713b223
merged RC_1_1 into master
2018-07-13 01:57:04 +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
Steven Siloti
961cf62cad
dht: announce with per-interface listen port
2018-07-12 08:36:57 +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
Arvid Norberg
3fede4b223
merged RC_1_1 into master
2018-07-08 11:55:32 +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
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
b67166b29d
merged RC_1_1 into master
2018-06-24 17:59:28 +02:00
Arvid Norberg
b0b1bfb7a9
enable coalesce_reads and coalesce_writes by default on windows
2018-06-24 07:39:59 +02:00
Arvid Norberg
107337f821
make tests print more of peer logs
2018-06-23 23:09:45 +02:00
arvidn
5530793c75
improve the API for iterating over all files and pieces, with the new strong index types.
2018-06-12 11:44:29 +02:00
Andrew Resch
596d98cac4
Clean-up python code ( #3075 )
...
lint and enforce python code formatting
2018-06-12 11:43:13 +02:00
Alden Torres
95b753778d
use TORRENT_ABI_VERSION for new error_code_enum deprecated values ( #3099 )
2018-06-12 00:46:22 +02:00
Arvid Norberg
0e49051f17
make create_random_files() take a span instead of pointer, length parameters
2018-06-11 01:35:31 +02:00
Arvid Norberg
e8f971a54a
scrape_reply_alert should be high priority, since it's triggered by the client
2018-06-10 19:28:45 +02:00
Arvid Norberg
6647b0988d
add support for multi-home NAT-PMP and PCP
2018-06-10 16:55:42 +02:00
Arvid Norberg
1b62aff9d1
minor improvements to test_checking
2018-06-10 16:25:10 +02:00
Steven Siloti
2cf1018fa0
enum_if: add default gateway column to interface table
2018-06-07 18:18:31 -07:00
Steven Siloti
78be52112f
create a natpmp instance for each listen socket
2018-06-07 18:16:08 -07:00
Arvid Norberg
e88339378c
merged RC_1_1 into master
2018-06-07 00:30:23 +02:00
arvidn
95cfc16bca
fix integer overflow in alert_manager
2018-06-02 15:16:08 +02:00
arvidn
267ca40b28
merged RC_1_1 into master
2018-06-02 13:15:13 +02:00
arvidn
c55bc7dd42
improve error handling of failing to change file priority
2018-05-31 00:47:17 +02:00
arvidn
c56f6abf72
deliver notification of alerts being dropped via alerts_dropped_alert
2018-05-30 11:26:02 +02:00