Commit Graph

11548 Commits

Author SHA1 Message Date
Arvid Norberg 03ffc04e39 back port fixing GCC warnings 2019-08-02 06:21:07 -07:00
Arvid Norberg bd0d011536 make test_dht deterministic 2019-07-31 19:04:29 -07:00
Arvid Norberg a869af0f92 add CII badge to README 2019-07-30 11:16: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
Arvid Norberg c5d0ea6332 make node and tracker_node explicitly non-movable, since the node contains a non-movable std::mutex 2019-07-29 23:15:09 -07:00
Arvid Norberg a4b2f636cc update changelog to include CVE references 2019-07-29 22:13: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
arvidn 08a399306c fix simulator build with new version of boost 2019-07-20 20:58:45 -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
Arvid Norberg 462a288bdf make peer_info::client a byte array in python binding 2019-07-02 16:39:11 +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
Arvid Norberg 10d061eb7f update Changelog 2019-07-01 10:18:24 +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
Arvid Norberg 0fbd6bf467 bump required boost version in configure.ac to 1.58 2019-07-01 10:07:40 +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
Chocobo1 d53caf51ab Replace unicode symbol by ascii
MSVC was emitting warning C4819 before this commit.
2019-05-31 16:06:45 +02:00
Arvid Norberg 16acd9ebe1 don't leak exceptions out of handler callbacks in resolver 2019-05-19 08:00:50 +02:00
Arvid Norberg 41a5940100 ensure headers build independently 2019-05-13 11:56:03 -07:00
Arvid Norberg 7062a4f89e fix unit template's mutating operators to give them proper ref qualifiers 2019-05-07 21:51:49 -06:00
Alden Torres 02c9e2f7ff fix unused-parameter warning with boost 1.70.0 2019-05-06 05:50:33 -06:00
LingMan 04223a6df2 Fix typo on main page 2019-05-04 20:31:14 +02:00
arvidn 4b268297c4 add a build variant for quickly building a corpus for code coverage 2019-04-30 21:55:17 +02:00
arvidn 94098566f6 fix (broken) DHT node fuzzer 2019-04-30 21:54:51 +02:00
arvidn 7d1afa9b41 fix assert in DHT node 2019-04-30 12:50:05 +02:00
arvidn b61b34a86a fix typo in generate_initial_corpus.py 2019-04-28 14:31:13 +02:00
arvidn d97e1be6b2 bump version of RC_1_2 to 1.2.1 2019-04-28 03:31:04 +02:00
arvidn 5c6f027872 add fuzzer for peer connection 2019-04-28 03:29:45 +02:00
arvidn 0cf2924230 add a few missing alerts to the python bindings 2019-04-27 17:23:23 +02:00
arvidn b21eebbad7 minor simplification of power-of-2 test in create_torrent 2019-04-27 17:17:56 +02:00
arvidn f21a39496d add script to minimize corpus 2019-04-26 23:42:28 +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 bb0ae48a75 initial documentation for bundled support for fuzzing 2019-04-26 10:02:30 +02:00
arvidn ba731ef0cf make sure session cleanup releases all its references to torrents 2019-04-22 22:31:51 +02:00
arvidn 8b925b8576 fix move pessimisation in python binding 2019-04-22 21:52:34 +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