arvidn
8d7af2344f
use new bdecoder in ut_metadata class
2018-11-18 11:59:17 +01:00
arvidn
7538d68086
clean up integer_to_str() function
2018-11-17 17:21:06 +01:00
arvidn
66a8f133b0
merged RC_1_1 into master
2018-11-17 14:38:43 +01:00
arvidn
3126e8f39e
improve type-safety a bit in the hole-punch code
2018-11-17 00:49:29 +01:00
arvidn
e3c5b6c13c
add rvalue ref overload of apply_settings() to avoid copying the whole settings_pack object
2018-11-17 00:44:25 +01:00
arvidn
7103b12cb7
remove typed_span type
2018-11-17 00:43:58 +01:00
arvidn
6381b35891
bump verson to 1.1.11.0
2018-11-16 15:52:16 +01:00
arvidn
1dc8c1c127
initialize bencoded ints with zero when constructed
2018-11-16 14:23:04 +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
48980896d5
exit natpmp::on_reply earlier if we're shutting down
2018-11-16 10:14:37 +01:00
arvidn
5929ad4cae
merge RC_1_1 into master (again)
2018-11-15 22:55:52 +01:00
arvidn
29cddaa23e
merged RC_1_1 into master
2018-11-15 15:19:24 +01:00
airium
9415467dd8
Fix setting ipv6 interface
2018-11-15 13:12:22 +01:00
arvidn
164982c63a
pass the dht item object by const reference instead of by value
2018-11-15 00:18:53 +01:00
arvidn
6d886f29a9
support moving the whole add_torrent_params object into the add_torrent call on session
2018-11-14 19:11:11 +01:00
arvidn
0c76a3a0c5
require tracker_request objects be moved into queue_manager. also replace non-const reference parameter with rvalue reference
2018-11-14 17:09:04 +01:00
arvidn
13dd7cfe1e
a better fix to the ssl port announce bug
2018-11-14 07:36:22 +01:00
arvidn
437887ca37
pass add_torrent_params by const reference in deprecated add_magnet_uri functions. They are large to copy but since they're deprecated aren't worth the trouble of having an rvalue reference overload
2018-11-13 09:14:42 +01:00
arvidn
4d88c83576
add rvalue reference overloads for add_torrent_params, settings_pack and session_params. Those structures are pretty large so being able to take them by rvalue reference may be beneficial
2018-11-13 08:05:56 +01:00
arvidn
2d6a6a24ae
move the whole add_torrent_params object into save_resume_data_alert
2018-11-13 01:03:16 +01:00
arvidn
a233d3cc28
actually fix the issue with the second tracker announce with port 0
2018-11-12 18:02:15 +01:00
arvidn
2edb86c543
fix some warnings in utp_stream
2018-11-12 14:15:06 +01:00
arvidn
8d40cf6227
remove redundant MTU boundary checks
2018-11-12 14:08:00 +01:00
arvidn
b731764c85
remove unused variables
2018-11-12 08:54:31 +01:00
arvidn
28d123ef23
factor out duplicate code in choker
2018-11-10 15:17:57 +01:00
arvidn
69485558ef
factor out duplicate code in piece_picker, upnp and lazy_bdecode
2018-11-10 15:17:57 +01:00
arvidn
9d26f4f96c
fix asio-debugging build of dht test
2018-11-09 16:39:39 +01:00
pavel.pimenov
0ad3bb139d
fix cppcheck
2018-11-08 13:45:41 +01:00
arvidn
a06a78ee1c
fix of asio-debugging build in natpmp. resend_request could be called directly, not only as a handler for an async operation
2018-11-08 08:40:54 +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
bf496c6b14
use span for picker_log_alert
2018-11-03 11:56:09 +01:00
Arvid Norberg
939b380fda
fix build against boost-1.69
2018-11-02 11:10:26 +01:00
Arvid Norberg
5b5b280b87
only make snubbed peers invert the piece picking strategy when we're doing rarest first (i.e. snubbed peers do common-first). Specifically, this prevents snubbed peers from picking from the end of the torrent when in sequential mode
2018-11-01 12:01:02 +01:00
arvidn
d0e146eb75
merged RC_1_1 into master
2018-11-01 09:48:41 +01:00
Arvid Norberg
e1eb12e60f
ssl listen port fix and improved tracker announce logging
2018-10-29 18:38:14 +01:00
pavel.pimenov
b00ce69d58
remove params.url.clear();
2018-10-25 09:49:38 +02:00
Arvid Norberg
a5da48edd4
add missing boost/noncopyable include
2018-10-25 09:47:21 +02:00
Amir Abrams
88266edd43
Update comment in put_mutable_item
...
Trivial update to a comment in put_mutable_item.
2018-10-24 13:13:20 +02:00
arvidn
3fb05d77d8
fix warnings
2018-10-20 20:56:26 +02:00
arvidn
36801fb96f
add some const
2018-10-20 16:30:48 +02:00
arvidn
9463159e67
merged RC_1_1 into master
2018-10-20 00:22:10 +02:00
Arvid Norberg
12c52e8751
back-port the fix from the lgtm fixes in master
2018-10-19 19:40:17 +02:00
Arvid Norberg
ede7dbf0aa
add LGTM badge to README and fix warnings
2018-10-19 16:28:33 +02:00
arvidn
3b32c90dde
fix gcrypt build
2018-10-17 10:14:14 +02:00
arvidn
269f0c5fb8
properly tear down the disk_io_thread object in set_piece_hashes() when exiting via an exception
2018-10-16 22:54:25 +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
761384bcf1
minor piece picker cleanup
2018-10-05 10:58:09 +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
Arvid Norberg
949867eca9
factor out some parts of print function for entry
2018-10-03 00:50:02 +02:00
Arvid Norberg
d2f19a2d73
merged RC_1_1 into master
2018-10-01 16:34:21 +02:00
Arvid Norberg
200bb494c3
bump version
2018-10-01 09:41:37 +02:00
arvidn
c437a24d78
renamed debug_notification to connect_notification
2018-09-28 17:28:34 -07:00
arvidn
a499ace80b
fix issue in udp_socket with unusual socket failure
2018-09-28 13:17:43 -07:00
arvidn
109db58641
merge RC_1_1 into master
2018-09-25 21:33:29 -07:00
arvidn
022a089b86
utp close-reason use after free fix
2018-09-23 08:24:54 -07:00
Arvid Norberg
6724c1eec0
fix some warnings
2018-09-19 22:12:45 -07:00
Arvid Norberg
8be9b3d976
merged RC_1_1 into master
2018-09-19 12:23:08 -07:00
Arvid Norberg
81356cfce1
add make_tcp() and make_udp() to convert endpoint types
2018-09-19 10:57:28 -07:00
Steven Siloti
c5b415b89f
remove dead code udp_tracker_connection::pick_target_endpoint
...
Endpoints are filtered by address family in name_lookup() so this
function will always return the first endpoint.
2018-09-16 12:07:52 -07:00
Alden Torres
e2a8fbf020
cleanup of special code for valgrind
2018-09-12 07:49:11 -07:00
arvidn
8cc93e9855
fix redundant flushes of partfile metadata
2018-09-12 07:47:13 -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
Alden Torres
9b2f6042bb
more use of index range and lint oriented refactor in torrent.cpp
2018-09-05 22:32:58 -07:00
arvidn
c9cbb122e2
fix some warnings from sonar-cube
2018-09-05 18:10:57 -07:00
arvidn
78a344bd8b
merged RC_1_1 into master
2018-09-05 08:25:14 -07:00
Steven Siloti
a9bccceccd
fix seed count when attaching a peer is aborted
2018-09-04 13:45:13 +02:00
Arvid Norberg
51003d11ca
add assert to storage
2018-09-04 13:44:24 +02:00
Arvid Norberg
2647ca2412
add option to ignore min-interval from tracker, when force-reannouncing a tracker
2018-09-04 08:46:24 +02:00
arvidn
214ace3efe
raise default value for active_limit to 500, since it's supposed to be an upper sanity check limit
2018-09-02 19:25:06 +02:00
arvidn
2e313de898
remove unused member variables in torrent object
2018-08-29 15:01:40 +02:00
Alden Torres
b660e526b1
fixed old-style-cast warning when using libgcrypt
2018-08-28 21:03:55 +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
269b71324e
improve log statement when not unchoking a peer
2018-08-27 13:43:48 +02:00
Arvid Norberg
c1b0c70c23
fall back to copy+remove if rename_file fails
2018-08-27 12:30:47 +02:00
arvidn
55215742af
merged RC_1_1 into master
2018-08-25 14:13:51 +02:00
Arvid Norberg
6e80f1f615
improve handling of filesystems not supporting fallocate()
2018-08-22 08:35:22 +02:00
Arvid Norberg
11a8f46921
add some noexcept and assume std::function is not nothrow move constructible on clang
2018-08-21 11:12:34 +02:00
arvidn
37d85ac2f7
improve piece picker performance in tracking pad-blocks
2018-08-20 17:13:20 +02:00
arvidn
c9043dec53
force proxy no longer disables the DHT
2018-08-20 08:24:31 +02:00
Alden Torres
28c94b54ed
minor code refactor for more use of const and emplace
2018-08-20 08:06:37 +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
Alden Torres
6a13d14f11
more use of const modifier
2018-08-15 07:41:41 +02:00
arvidn
6620b6e774
dial back the connect boost a bit from recent update
2018-08-13 19:17:01 +02:00
arvidn
b3dbce5790
merge RC_1_1 into master
2018-08-13 09:32:17 +02:00
arvidn
d55200af9d
minor simplification of bytes_left(), remove quantized_bytes_done()
2018-08-11 08:29:45 +02:00
d_komarov
0bcf6cef23
Fix exporting files
...
To avoid overwriting existing files, before exporting anything from a
parts file, check whether it contains valid data.
2018-08-10 20:21:29 +02:00
arvidn
6d2541f131
improve connect-boost feature, to make new torrents quickly connect peers
2018-08-09 20:12:56 +02:00
arvidn
7be9547817
add a few more stats counters measuring outgoing connection attempts. simplify session_stats_header_alert by posting it on first call to post_session_stats() instead of making it gated by the alert_mask
2018-08-09 20:10:35 +02:00
Arvid Norberg
0a5b3c1bb0
update documentation for save_resume_data() and stop_when_ready()
2018-08-09 00:57:21 +02:00
arvidn
f1d2105afb
remove dead code from piece picker
2018-08-08 23:41:46 +02:00
arvidn
51fb1e3d6b
tweak the auto-cache-size logic to have slightly smaller cache
2018-08-06 14:06:32 +02:00
arvidn
c426ba88d4
fix buffer offset bug recently introduced to disk_io_thread::do_read()
2018-08-06 13:16:41 +02:00
arvidn
3416da41d9
fix narrowing warning
2018-08-03 21:02:44 +02:00
Arvid Norberg
6caddf6b8e
fix deprecation of mmap_cache
2018-08-03 12:51:04 +02:00
arvidn
70d64327fd
bump checking_mem_usage to be higher than the default in the high_performance_seed preset
2018-08-02 23:15:51 +02:00
arvidn
5f7252b32b
add missing increment of on_disk_counter and num_blocks_hashed counters
2018-08-02 23:15:00 +02:00
arvidn
3de4e42fb7
slight cleanup of the ephemeral flag passed to add_web_seed()
2018-08-01 12:02:51 +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
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
8f0cf7e1a9
some refactor to reduce duplicate code
2018-07-25 18:48:34 +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
arvidn
730ef15b08
minor cleanups
2018-07-24 16:34:46 +02:00
arvidn
c2ebae7dbb
make metric_type_t an enum class, deprecate the in-class enum values
2018-07-24 15:29:56 +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
Arvid Norberg
2f56fa6c3e
bump version to 1.1.9
2018-07-20 13:06:12 +02:00
arvidn
f4b0dbf115
merged RC_1_1 into master
2018-07-20 09:28:21 +02:00
arvidn
1ebc5f9ef2
remove special handling of uTP peers
2018-07-20 07:47:08 +02:00
arvidn
9f6f23068c
make natpmp deal with address_v6 instead of the bytes_type, and use write_address instead of memcpy
2018-07-20 07:46:12 +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
d8755066e8
give some magic numbers names
2018-07-20 00:58:34 +02:00
arvidn
a7b7623f23
return values instead of using out-params
2018-07-19 23:58:36 +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
Arvid Norberg
e88a9a4dda
merged RC_1_1 into master
2018-07-18 10:48:36 +02:00
arvidn
5d3ac8ff5c
fix some warnings
2018-07-18 10:38:45 +02:00
arvidn
f89c27183b
remove unused function
2018-07-18 09:18:09 +02:00
Alden Torres
d9d387d711
minor code cleanup, more use of const ( #3174 )
...
* minor code cleanup, more use of const, using u literal per lint
* revert use of unsigned literal
* reverted loop change
2018-07-16 18:23:38 +02:00
arvidn
4aa3c4573a
use the strong type for pause flags
2018-07-16 12:06:21 +02:00
arvidn
4633258fbe
make the DHT announce flags a strong type
2018-07-16 12:04:16 +02:00
Steven Siloti
e5be30157f
set port in handshake based on source address ( #3172 )
2018-07-15 21:15:04 +02:00
arvidn
52af3eaa7f
simplify preadv and pwritev emulation functions
2018-07-14 09:03:15 +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
arvidn
59343f4f95
merged RC_1_1 into master
2018-07-12 20:20:02 +02:00
d-komarov
490d8eb328
Fix previous patch fixing deadlock in DllMain ( #3158 )
...
Simplify `get_manage_volume_privs()` and renamed it
2018-07-12 16:46:36 +02:00
arvidn
37a6a47ea3
minor cleanups around saving resume data
2018-07-12 08:38:53 +02:00
Steven Siloti
76ef8b9d72
simplify SSL torrent announce flags logic
2018-07-12 08:36:57 +02:00
Steven Siloti
28b6f64c4b
dht: don't set implied_port for SSL torrents
2018-07-12 08:36:57 +02:00
Steven Siloti
961cf62cad
dht: announce with per-interface listen port
2018-07-12 08:36:57 +02:00
Alden Torres
965ca9a565
avoid copy of arrays in dht alerts constructors
2018-07-09 19:53:35 +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
arvidn
2ba0e5ae2c
move the file priority vector throught the disk_io_job, to avoid copies
2018-07-08 18:25:06 +02:00
arvidn
d2d35b69fd
raise priority of cache_flushed_alert and post it unconditionally when triggered explicily by the client
2018-07-08 18:23:44 +02:00
arvidn
e45df614fe
improve type safety of internal leave_seed_mode() function
2018-07-08 17:32:50 +02:00
Alden Torres
6d2f804d9f
code refactor related to the use of index_range and end index
2018-07-08 17:32:30 +02:00
arvidn
0659a929af
fix some validation issues in read_resume_data()
2018-07-08 17:32:14 +02:00
Arvid Norberg
b60912569f
back-port resume data validation fixes
2018-07-08 17:31:29 +02:00
Arvid Norberg
3fede4b223
merged RC_1_1 into master
2018-07-08 11:55:32 +02:00
arvidn
efe3036879
clean up proxy_settings constructors
2018-07-07 18:02:43 +02:00
arvidn
b5cd959dd1
bump the minimum number of hash jobs per thread from 2 to 4
2018-07-07 18:02:24 +02:00
d_komarov
1c86e94de6
Fix deadlock when loading libtorrent Dll
...
Definition of `bool file::has_manage_volume_privs` involves a call to
`get_manage_volume_privs()`, causing restricted tasks to be performed
from within `DllMain` function. They introduce possibility that client
application deadlocks or crashes.
You should never perform the following tasks from within DllMain:
* Call `LoadLibrary` or `LoadLibraryEx` (either directly or indirectly).
This can cause a deadlock or a crash.
* Call the registry functions. These functions are implemented in
'Advapi32.dll'. If not initialized before your DLL, it can access
uninitialized memory and cause the process to crash.
2018-07-07 18:00:07 +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
arvidn
b76c149bdc
use std::aray for the temporary buffer in socks5 UDP socket
2018-07-04 08:17:35 +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
10deff2f91
fix some unintentional copies (with explicit moves)
2018-07-01 18:22:32 +02:00
arvidn
d439c8729a
qualify some assignment operators to disallow assignment to temporaries
2018-07-01 17:29:50 +02:00
Alden Torres
2c5da2778a
more lint oriented code refactor/cleanup
2018-06-29 13:27:29 +02:00
arvidn
4576723090
bump version to 1.1.8
2018-06-25 12:25:11 +02:00
Arvid Norberg
ab56bf964f
fix missing move of file object in part_file
2018-06-24 21:34:56 +02:00
arvidn
b67166b29d
merged RC_1_1 into master
2018-06-24 17:59:28 +02:00
Arvid Norberg
78d9c284e9
use more threads when creating torrents
2018-06-24 16:49:57 +02:00
Arvid Norberg
56a25ce280
bump checking_mem_usage default setting
2018-06-24 07:44:58 +02:00
Arvid Norberg
b0b1bfb7a9
enable coalesce_reads and coalesce_writes by default on windows
2018-06-24 07:39:59 +02:00
Alden Torres
be78a43d05
more use of empty(), emplace_back, const and auto in disk_io_thread code
2018-06-24 07:02:17 +02:00
arvidn
2cb29f88ac
merged RC_1_1 into master
2018-06-23 23:22:26 +02:00
Alden Torres
f139afc1ad
minor code refactor, cleanup and typo in peer related code
2018-06-23 23:11:48 +02:00
Steven Siloti
b7f230316c
set the minimum number of checking jobs based on the number of hasher threads
...
To effectively mask the latency of generating more hash jobs there need to be
at least two jobs in-flight for each hasher thread.
2018-06-23 23:10:55 +02:00
arvidn
1e3a7cf0f4
fix hash-job fast-path
2018-06-23 23:08:58 +02:00
arvidn
16b32741ce
fix coalesce read bug
2018-06-23 21:46:52 +02:00
arvidn
7ca769884c
merged RC_1_1 into master
2018-06-22 08:33:44 +02:00
arvidn
0c147164bc
introduce a fast-path for the hash disk job
2018-06-20 01:00:16 +02:00
arvidn
f5a2015302
merge RC_1_1 into master
2018-06-19 22:26:01 +02:00
arvidn
4ae262d2d4
fix race condition in part_file
2018-06-19 14:50:02 +02:00
d-komarov
81ce7aa4ab
Fix parts file i/o errors ( #3110 )
...
Since i/o operations are not synchronized, it is possible that one thread closes file handle, opened in another thread. With addition of `hidden` file attribute, an old bug in `part_file::open_file()` revealed both problems, causing a lot of random i/o errors in parts file. Fixing `open_file` bug should reduce the number of such errors back to 'normal'.
2018-06-18 14:34:39 +02:00
Alden Torres
03971be80b
some refactor, more use of auto and const in peer_connection.cpp ( #3105 )
2018-06-16 17:22:04 +02:00
Alden Torres
dfe47aa2a9
fixed sign implicit conversion warnings in new enum_net code ( #3107 )
2018-06-16 15:19:02 +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
Alden Torres
a2ea79de4e
minor code refactor in utp related code, more use of const
2018-06-12 11:41:32 +02:00
Arvid Norberg
b26467c04e
deprecate network-threads setting
2018-06-10 19:34:07 +02:00
Arvid Norberg
6647b0988d
add support for multi-home NAT-PMP and PCP
2018-06-10 16:55:42 +02:00
Steven Siloti
247672820c
report transport version in NAT-PMP send/receive logs
2018-06-09 16:40:46 -07:00
arvidn
e7fe7f1b89
fix boost::get<> invocation for variant
2018-06-10 00:56:55 +02:00
Steven Siloti
f039cffeb3
relax packet length check prior to checking response code
...
Don't assume that an unsupported version response will contain anything past
the response code.
2018-06-09 08:55:49 -07:00
Alden Torres
a357e490ed
minor code refactor, more use of auto
2018-06-08 21:56:06 +02:00
Steven Siloti
fbaa1afd62
return a vector of mapping ids from add_port_mapping
2018-06-07 18:18:31 -07:00
Steven Siloti
e523566622
add support for the Port Control Protocol (PCP)
2018-06-07 18:18:31 -07:00
Steven Siloti
f6720e31ed
don't re-map all listen sockets when changing listen_interfaces
...
New sockets will be mapped regardless of the remap parameter. Requesting
full re-mapping just creates unecessary network traffic.
2018-06-07 18:16:08 -07:00
Steven Siloti
78be52112f
create a natpmp instance for each listen socket
2018-06-07 18:16:08 -07:00
Steven Siloti
496cf46b25
enum_routes fixes on Linux
2018-06-07 18:09:51 -07:00
Steven Siloti
4a578b1450
fix scope_id in enum_routes on Windows
2018-06-07 18:09:51 -07:00
Steven Siloti
72cf4fd9ea
Remove UNC prefixes from device names on Windows
2018-06-07 18:09:51 -07:00
Steven Siloti
603e206f36
fix netmask of routes on Windows
...
The build_netmask function was incorrectly dividing the size of the bytes_type
by 8. Also use b.size() instead of sizeof for consistency.
I'm not 100% certain what the difference between DestinationPrefix.PrefixLength
and SitePrefixLength is. It looks like SitePrefixLength is something specific to
site-local addresses. Emperically I found DestinationPrefix.PrefixLength
contains reasonable values while SitePrefixLength is always zero.
2018-06-07 18:09:51 -07:00
Arvid Norberg
e88339378c
merged RC_1_1 into master
2018-06-07 00:30:23 +02:00
Arvid Norberg
049d867c12
fixed race condition in random number generator
2018-06-06 09:54:49 +02:00
Arvid Norberg
2408200475
fix race condition in stat_cache
2018-06-05 19:07:33 +02:00