arvidn
82d4d1927d
restrict DHT nodes to the network they are associated with (multi-homed)
2020-01-17 00:01:10 +01:00
arvidn
df85b31490
deprecate and remvoe broadcast_lsd setting
2020-01-16 16:02:00 +01:00
arvidn
fa79697f45
deprecate (and remove) upnp_ignore_nonrouters setting
2020-01-16 10:35:50 +01:00
arvidn
bd43c9b83f
remove unused overload of set_external_address
2020-01-15 19:53:52 +01:00
arvidn
659a78eb56
improve test_upnp by responding with a unicast message
2020-01-15 08:03:33 +01:00
arvidn
549db2beb9
fix comment
2020-01-14 14:20:19 +01:00
arvidn
ab07eceead
don't attempt sending event=stopped if event=start never succeeded
2020-01-12 14:12:23 +01:00
arvidn
e18366bb6b
make sure &key= stays consistent between different source IPs (as mandated by BEP7)
2020-01-11 11:37:54 +01:00
arvidn
7320568c3c
minor cleanup of debug logging for peer_list
2020-01-11 11:22:30 +01:00
arvidn
7754f8ef1b
improve logic for disable tracker-endpoint, and add debug logging
2020-01-10 16:28:15 +01:00
arvidn
96ad81f00d
fix minor typo in torrent debug logging
2020-01-10 13:16:21 +01:00
arvidn
37063afd5c
improve enum_routes and enum_net_interfaces for simulator
2020-01-08 11:05:14 +01:00
arvidn
2e15b3edfa
use span in expand_unspecified_address
2020-01-08 10:24:54 +01:00
arvidn
f508a433a4
fix binding of outgoing interface, when configured
2020-01-08 10:21:41 +01:00
arvidn
96695fa714
fix build_netmask to treat the count as a prefix and add tests
2020-01-06 20:23:13 +01:00
arvidn
af3d084092
convert the duplex enum into a flags field, on listen_socket_t and listen_endpoint
2020-01-06 20:22:55 +01:00
arvidn
3569b8885e
fix null termination of description and friendly_name in ip_interface on linux
2020-01-05 18:38:04 +01:00
Arvid Norberg
3caae922aa
simplify and clean up enum_routes() a bit
2020-01-05 09:42:32 +01:00
Pavel Pimenov
c7c7cd41d2
remove m_inode
2020-01-04 23:03:46 +01:00
arvidn
55e83e40d2
suppress future attempts to announce to a tracker from an interface with an incompatible address family
2020-01-04 23:03:17 +01:00
Arvid Norberg
0675bd263f
add new socks5_alert to trouble shoot SOCKS5 proxies
2019-12-28 17:57:44 +01:00
Pavel Pimenov
b5bf6c3260
fix http_stream::handshake2
2019-12-20 22:10:17 +01:00
arvidn
8378c0f55c
silence GCC warning on memmove
2019-12-17 09:28:23 +01:00
arvidn
68196dceae
fix erroneous event=completed tracker announce when checking files
2019-12-15 11:21:46 +01:00
arvidn
69d85ed110
replace use of deprecated shared_ptr<>::unique with shared_ptr<>::use_count
2019-12-12 19:40:39 +01:00
arvidn
828ad7d024
bump version 1.2.3.0
2019-12-09 12:46:36 +01:00
arvidn
59a29a44e2
promote errors in parsing listen_interfaces to post listen_failed_alert
2019-12-09 06:54:31 +01:00
arvidn
26ec7921c3
fix bug in protocol encryption/obfuscation
2019-12-07 11:44:05 +01:00
arvidn
f49d194186
fix buffer overflow in SOCKS5 UDP logic
2019-12-06 09:19:17 +01:00
arvidn
b5790b982b
fix issue of rapid calls to file_priority() clobbering each other
2019-12-04 22:04:13 +01:00
arvidn
b5e717ffe0
back-port ut_pex fixes
2019-12-03 18:49:34 +01:00
arvidn
b329d579e9
clear tracker errors on success
2019-12-02 23:36:18 +01:00
arvidn
11014b7efc
update list of clients to be more.. modern. Hide alert constructors
2019-12-02 23:24:59 +01:00
arvidn
a81bf1f1d7
make the buffers to print SOAP messages into a bit smaller, to silence a GCC warning
2019-11-29 12:57:43 +01:00
arvidn
0c2d3a0dac
optimize setting with unlimited unchoke slots
2019-11-26 20:54:52 +01:00
arvidn
97a79d2dba
fixed restoring of trackers, comment, creation date and created-by in resume data
2019-11-25 14:21:55 +01:00
arvidn
a53d090313
fix handling of torrents with too large pieces
2019-11-25 02:46:55 +01:00
arvidn
3019b17c90
use a better algorithm for sorting peers in the unchoker
2019-11-21 08:39:32 +01:00
arvidn
2bb7d92957
construct io_context with the hints that it's single-threaded
2019-11-21 08:34:28 +01:00
Arvid Norberg
76f53297a9
update appveyor image and boost version. explicitly use python2 for test scripts (as the SSL behavior has changed in python 3 in non-trivial ways)
2019-11-19 01:46:39 +01:00
arvidn
6d441da9e5
fix warning comparing integers of different width
2019-11-14 11:55:14 +01:00
arvidn
592544f30f
fix some PVS studio warnings
2019-11-07 16:38:08 +00:00
Steven Siloti
b26629885b
fix storing udp port mappings in listen_socket_t
2019-10-23 15:50:37 +02:00
arvidn
729102c280
fixed division by zero in anti-leech choker
2019-10-20 12:59:55 +02:00
arvidn
39e2e4d3dc
fix torrent_info::swap
2019-10-18 13:38:39 +02:00
arvidn
4b8f8d7e92
honor proper object lifetime rules
2019-09-28 22:11:54 +02:00
arvidn
d08fa164d2
fix issue where pieces would be hashed despite disable_hash_checks was set
2019-09-13 22:38:18 +02:00
arvidn
961417814b
WIP: fix to be less likely to hammer web seeds
2019-09-12 16:57:07 +02:00
arvidn
7a27a0430b
improve peer logging a bit more. specifically around merging requests, sending merged requests and connecting web seeds
2019-09-10 12:23:36 +02:00
arvidn
77be259938
improve peer logging
2019-09-08 19:02:09 +02:00
arvidn
7878f68370
add some missing documentation. undeprecate error_file_metadata ahead of master undeprecating it
2019-09-08 10:51:46 +02:00
arvidn
9b1607a63c
fix updating of is_finished torrent status, when changing piece priorities
2019-09-07 10:45:25 +02:00
arvidn
a3440e54bb
make aux::session_settings thread-safe. this allows all threads to share the same settings object, which has low contention and is rarely updated
2019-09-01 03:41:36 +02:00
arvidn
c0c4c2083a
avoid comparing unrelated pointer in the DHT routing table (which is UB)
2019-08-31 12:54:00 +02:00
arvidn
d5b56ca187
capture return value from placement new, to explicitly make the pointer point to the new object
2019-08-28 23:58:25 +02:00
arvidn
baeb959054
bump version to 1.2.2
2019-08-23 13:39:22 +02:00
arvidn
e8543ecf54
remove empty statements and fix integral promotion warning
2019-08-20 14:36:03 +02:00
arvidn
af5fe587c0
fix regression in left= reporting to trackers when adding a seeding torrent
2019-08-19 13:49:25 +02:00
arvidn
b97ac317f6
improved peer_conn fuzzer
2019-08-17 22:16:38 +02:00
arvidn
07ab3b9739
add feature to create an affinity to pick adjecent pieces aligned to 4MiB extents. It's an attempt to improve disk I/O, by writing larger contiguous ranges of bytes. It's off by default.
2019-08-17 12:32:47 +02:00
arvidn
ffd4b39b09
improve hack in file_storage::symlink
2019-08-13 21:30:23 +02:00
Arvid Norberg
ff113a262c
make it a bit more likely to split the last bucket in the DHT routing table
2019-08-12 15:08:49 -07:00
Arvid Norberg
bfe0e1f27d
hide some internal functions. error if namespaces are preceded by whitespace (as the docs generation script requires them to start at the beginning of the line)
2019-08-07 20:48:26 -07:00
Andrei Kurushin
d4ddc416b3
backport RC_1_2: unban 51.x.x.x from dht darknet list
2019-08-02 08:01:34 -07:00
Arvid Norberg
e539846266
fix integer overflow in chunked http parser
2019-07-30 11:16:05 -07:00
arvidn
b1b03a0d77
factor out and unit test parts of the DHT routing table logic that handles the affinity of nodes to insert. Specifically, make sure the even distribution within routing table buckets works correctly
2019-07-30 07:56:18 -07:00
arvidn
c9f953f487
saturate failed-bytes and redundant-bytes counters in torrent object, rather than asserting on overflow. This happens in the fuzzer, which keeps a torrent open for the entire run, causing it to max out redundant bytes
2019-07-29 21:53:16 -07:00
arvidn
8e23f9cc92
improve file_storage::sanitize_symlinks
2019-07-29 06:10:04 -07:00
arvidn
3995ffeafd
similar to how low RTT DHT nodes are preferred over high RTT nodes, also have an affinity for nodes with node IDs derived from their IP
2019-07-28 16:13:16 -07:00
arvidn
ca27892111
avoid empty dht routing table buckets
2019-07-27 07:18:24 -07:00
arvidn
929f727a6a
fix dht_stats_alert routing table stats for multi-homed clients (temporary hack for 1.2.x series)
2019-07-27 07:18:24 -07:00
arvidn
71c980957c
fix entry assignment from bdecode_node and lazy_entry
2019-07-21 06:22:11 -07:00
arvidn
057c6684f2
fix use-after-free issue in socket_type
2019-07-21 05:40:18 -07:00
arvidn
178093f81b
fix error code messages when building without deprecated functions
2019-07-21 05:39:53 -07:00
Arvid Norberg
196588c7b8
add torrent_info constructor overloads to control torrent file limits
2019-07-20 18:14:19 -07:00
arvidn
7a20850632
feature to disable DHT, PEX and LSD per torrent
2019-07-20 10:20:41 -07:00
Amir Abrams
7d00e80a7a
Trivial, correct school spelling in comments
2019-07-14 11:42:07 -04:00
Amir Abrams
8420f01eb4
Correct log verbiage for put_item
2019-07-14 11:42:07 -04:00
arvidn
bcb26fd638
fix seeding of random number generator on mingw
2019-07-04 19:56:18 +02:00
Arvid Norberg
d113816ae6
fix issue where trackers from magnet links were not included in create_torrent()
2019-07-04 12:53:36 +02:00
arvidn
9da041a24d
extend the whole_pieces_threshold setting to also request contiguous pieces from fast peers
2019-07-02 10:32:27 +02:00
Arvid Norberg
6fbeb93d50
fix error handling of moving storage to a drive letter that isn't mounted
2019-07-01 15:27:37 +02:00
patch3proxyheaders915360
832857e384
set HTTP Host to request-target when using proxy
...
To make the Host field carry the request-target it is enough to set
the Host information before changing the connection destination.
Many proxies rely on the Host field-value to route requests
in a violation of RFC7230 section 5.4.
https://tools.ietf.org/html/rfc7230#section-5.4
A request with the Host field set to the proxy hostname and port
in place of the request-target produces error responses and otherwise
confuses such misconfigured middleboxes.
2019-07-01 10:17:20 +02:00
Monson Shao
186371f1a2
choke dishonest peer in anti-leech seeding algorithm ( #3833 )
...
support peers not sending redundant HAVE messages in anti-leech seeding algorithm
2019-06-10 08:53:16 +02:00
arvidn
f9d31cf71b
fix GCC-9 warnings
2019-06-02 20:58:58 +02:00
Arvid Norberg
16acd9ebe1
don't leak exceptions out of handler callbacks in resolver
2019-05-19 08:00:50 +02:00
arvidn
7d1afa9b41
fix assert in DHT node
2019-04-30 12:50:05 +02:00
arvidn
d97e1be6b2
bump version of RC_1_2 to 1.2.1
2019-04-28 03:31:04 +02:00
arvidn
b21eebbad7
minor simplification of power-of-2 test in create_torrent
2019-04-27 17:17:56 +02:00
arvidn
ce52d9c685
remove left-over, rendant, encoding of the info-dict in create_torrent::generate()
2019-04-26 22:02:23 +02:00
arvidn
ba731ef0cf
make sure session cleanup releases all its references to torrents
2019-04-22 22:31:51 +02:00
Steven Siloti
aec5c50282
Track the mapped port for each NAT mapping transport ( #3793 )
...
* Track the mapped port for each NAT mapping transport
Each transport needs to be tracked separately so that a failed mapping request
doesn't cause the listen port for a socket to be cleared to zero.
* add template specialization to allow enums as indexes
* use aux::array for port mappings
2019-04-22 01:50:44 +02:00
Steven Siloti
27a49523a3
fix windows build with boost 1.70
2019-04-21 00:47:44 +02:00
Arvid Norberg
76c2794923
fix build with boost-1.70 ( #3788 )
...
fix build with boost 1.70.0 Fix #3683
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-04-19 20:56:19 +02:00
arvidn
8506f93507
fix more warnings
2019-04-11 18:18:11 +02:00
arvidn
a845afe6d9
fix warnings
2019-04-10 08:05:36 +02:00
arvidn
4441655bab
optimize resolve_duplicate_filenames_slow()
2019-04-09 01:59:34 +02:00
arvidn
5b021a849e
use a more restrictive limit on number of pieces allowed in a torrent
2019-04-02 19:44:00 +02:00
arvidn
f025c67185
fix memory leaks in test_http_connection simulation
2019-03-30 14:44:21 +01:00
arvidn
3a093c5d27
improve disk I/O logging
2019-03-28 12:00:32 +01:00