arvidn
d607328b45
fix announce_to_all_trackers and announce_to_all_tiers behavior
2020-02-05 11:19:15 +01:00
arvidn
86183358e9
bump version to 1.2.4
2020-02-05 01:55:44 +01:00
arvidn
bdee0b563c
fix suggest_read_cache setting
2020-02-02 20:16:59 +01:00
arvidn
07191dc5ad
when generating documentation, don't only highlight function names but also data members and constants
2020-02-02 16:09:28 +01:00
arvidn
bf22f56d74
order static and constexpr consistently
2020-02-01 15:18:03 +01:00
arvidn
bc6444a251
lower TCP keepalive timeout for SOCKS5 UDP tunnel, to detect network failures and retry
2020-02-01 11:43:51 +01:00
Chocobo1
6a88ffc585
update BEP links to www.bittorrent.org domain
...
This is because previously the links to bittorrent.org will redirect to
another website and then returns http 404 not found.
Also related: https://github.com/bittorrent/bittorrent.org/issues/99
2020-01-26 11:46:16 +01:00
Chocobo1
45a4da4fe6
use https
2020-01-26 11:46:16 +01:00
arvidn
8013216550
document multi-homed support
2020-01-23 00:17:54 +01:00
arvidn
208d71ba77
support source-hint from routing table, where supported
2020-01-22 15:50:33 +01:00
arvidn
bc0274ed6a
limit the number of DHT nodes to run
2020-01-21 12:04:22 +01:00
arvidn
2c8cf4834b
simplify the local service discovery logic to only deal with a single network. Instantiate LSD once per listen_socket_t instead of just once
2020-01-20 22:14:21 +01:00
Alden Torres
819eea722b
backport of warning related fixes
2020-01-20 14:29:31 +01:00
arvidn
7529d3e67e
remove now unused, in_local_network() functions
2020-01-20 14:27:16 +01:00
arvidn
b5ea5bb82c
move upnp mapper to have one per listen_socket_t. simplify the upnp logic to only deal with a single network.
2020-01-20 14:27:16 +01:00
arvidn
b8726bd4f6
refactor discover_device() away from upnp
2020-01-20 14:27:16 +01:00
arvidn
f5ebd4e354
simplify natpmp by requiring it to be tied to a specific network, and use get_gateway() and remove unused get_default_route() functions
2020-01-20 01:24:22 +01:00
arvidn
a53d3a8746
factor out get_gateway function and add unit tests. IPv6 gateways are not addressed in the same network, so we can't use match_addr_mask(). Assume all local IPv6 addresses do not have a gateway
2020-01-19 08:27:33 +01:00
arvidn
571952fd19
bind SOCKS5 connection to correct outgoing interface
2020-01-19 08:27:33 +01:00
arvidn
8be7ab559a
remove outgoing udp sockets and replace with listen_socket_t
2020-01-19 08:27:33 +01:00
arvidn
4ceb2ea467
limit tracker announces and SOCKS5 connection attempts to listen_socket_t that actually can reach the target
2020-01-19 08:27:33 +01:00
arvidn
d13109426a
fix test_lsd to pass reliably
2020-01-18 03:20:20 +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
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
2e15b3edfa
use span in expand_unspecified_address
2020-01-08 10:24:54 +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
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
Arvid Norberg
f0c3eb8915
docs improvement
2019-12-20 22:08:54 +01:00
arvidn
078f7b956e
fix parsing of enum classes in doc generation tool
2019-12-19 15:40:45 +01:00
Arvid Norberg
55460a60bc
fix the documentation generation tool to work for flags, and other global constants. Improve documentation
2019-12-19 01:50:22 +01:00
arvidn
68196dceae
fix erroneous event=completed tracker announce when checking files
2019-12-15 11:21:46 +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
88af8789a7
fix typos
2019-12-05 00:43:44 +01:00
arvidn
b5790b982b
fix issue of rapid calls to file_priority() clobbering each other
2019-12-04 22:04:13 +01:00
arvidn
11014b7efc
update list of clients to be more.. modern. Hide alert constructors
2019-12-02 23:24:59 +01:00
arvidn
7b0bb2fb0b
fix accidental disabling of exporting aux::proxy_settings from library
2019-12-02 11:43:46 +01:00
arvidn
d0f5f08665
fix typos and extend spell checking
2019-11-30 01:33:40 +01:00
arvidn
b108b1d044
clarify documentation around torrent_handle::have_piece() and piece_finished_alert
2019-11-29 08:47:32 +01:00
arvidn
78aefcc806
fix deprecation warnings for deprecated classes
2019-11-27 12:15:59 +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
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
Arvid Norberg
48fa5343b5
add executor_type to socket_type
2019-11-14 11:55:48 +01:00
arvidn
e5ba4fa640
fix documentation for add_port_mapping
2019-11-13 15:40:04 +01:00
arvidn
592544f30f
fix some PVS studio warnings
2019-11-07 16:38:08 +00:00
arvidn
47dede4f7e
back-port missing include for GCC 10
2019-10-30 15:02:44 +01:00
arvidn
28a627a3a3
fix settings default value doc generation. Apply documentation fix from Sig7
2019-10-20 21:59:03 +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
d1e0e8701b
documentation improvements
2019-09-13 14:31:20 +02:00
arvidn
961417814b
WIP: fix to be less likely to hammer web seeds
2019-09-12 16:57:07 +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
baeb959054
bump version to 1.2.2
2019-08-23 13:39:22 +02:00
arvidn
b2c3b4dbf8
add spaces around user defined literal suffix operators
2019-08-21 14:23:46 +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
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
Arvid Norberg
03ffc04e39
back port fixing GCC warnings
2019-08-02 06:21:07 -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
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
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
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
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
arvidn
d97e1be6b2
bump version of RC_1_2 to 1.2.1
2019-04-28 03:31:04 +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
Fabrice Fontaine
039cc4809e
buffer.hpp: fix build on uclibc
...
malloc_usable_size is not available on uclibc
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-04-21 00:46:54 +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
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
arvidn
64600f444b
improve sanitizer rule in Jamfile. Some fixes for new clang sanitizr 'implicit-conversion'
2019-03-26 10:14:06 +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