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