Arvid Norberg
17055ad4d1
don't enable reuse-address for UDP sockets, as it will always succeed and not get any incoming packets. It's better to detect a port conflict and try a different port. Also implement port-retry logic for the UDP sockets
2018-05-13 22:36:02 +02:00
Steven Siloti
243353a144
account for partially downloaded pieces when announcing as a seed
2018-05-13 22:35:04 +02:00
arvidn
fe612ca167
replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options
2018-05-13 19:25:17 +02:00
arvidn
9ca12d6db5
restore aspects of the previous behavior of force-proxy. Instead of not opening any TCP listen sockets at all, open them but reject any incoming connection. This is because in RC_1_1, the UDP and TCP sockets are tied in subtle and unintuitive ways. This is much cleaner in the next major release and this patch will not need to be merged
2018-05-13 12:31:00 +02:00
arvidn
8bb1cd2b46
merged RC_1_1 into master
2018-05-12 15:37:53 +02:00
d-komarov
f052d1ca40
Fix bandwidth allocation ( #2810 )
...
Don't allow peer connection to ask quota from bandwidth manager if send buffer is empty.
Remove undefined member function
Update download rate multiplier
2018-05-12 13:53:03 +02:00
arvidn
ddd1168296
don't attempt to make uTP connections if we don't have any outgoing UDP sockets
2018-05-12 13:34:58 +02:00
arvidn
4d17e0132e
fix empty outgoing interfaces for UDP sockets
2018-05-12 13:34:58 +02:00
Steven Siloti
8fdba2aa39
don't specialize standard type trait is_integral
...
Concerning type traits, the C++ standard states: "The behavior of a program
that adds specializations for any of the templates defined in this subclause is
undefined unless otherwise specified."
There is no exception for is_integral.
2018-05-10 19:06:18 +02:00
arvidn
299a545648
add test for suggests- and seed mode combined
2018-05-10 17:40:23 +02:00
Steven Siloti
96d215a32a
only allow pinged nodes into the routing table ( #3006 )
...
This is an attempt to prevent bogus nodes entering the routing table and
being propogated to other nodes.
2018-05-08 12:47:29 +02:00
Eugene Shalygin
81fd09775c
Fix compilation with GCC 8
2018-05-07 13:33:18 +02:00
Arvid Norberg
4b368e1cfc
merged RC_1_1 into master
2018-05-02 01:57:41 +02:00
arvidn
8808eb7cdd
introduce a recursive mutex to protect the alert_manager, and hold the mutex while calling user callbacks and plugin hooks. This is required to ensure the underlying storage for alert allocations (in the stack allocators) is synchronized with the thread that may be accessing it
2018-05-01 23:17:51 +02:00
Alden Torres
8da635d1f5
minor code cleanup, more use of const
2018-05-01 23:03:29 +02:00
Alden Torres
377e800e72
fixed conversion warnings in 32 bits
2018-04-30 23:09:00 +02:00
Steven Siloti
ec18742f8e
save the number of idle threads locally in disk_io_thread_pool::thread_active
...
This cuts down on the number of atomic loads while also being more correct.
Before it was possible for m_num_idle_threads to increase before its value
could be stored in m_min_idle_threads.
2018-04-29 16:31:18 +02:00
arvidn
8621477239
merged RC_1_1 into master
2018-04-28 14:36:24 +02:00
Steven Siloti
f5e33932d2
fix use after free in flush_range and flush_iovec
...
Calling blocks_flushed can cause the piece entry to be freed so its
callers need to be aware of that and avoid dereferencing the pointer if
the entry is freed.
2018-04-27 16:15:19 +02:00
Arvid Norberg
366b7983d1
fix typo with bind_outgoing_socket~
2018-04-26 19:50:25 -04:00
pavel.pimenov
2a97ec6e0e
Windows: Fix build Visual C++ ARM/ARM64
2018-04-25 16:07:47 -04:00
Alden Torres
0ec66e9024
fix disk_io_thread::do_check_fastresume storage initialize logic from RC_1_1 merge
2018-04-25 16:04:20 -04:00
Alden Torres
83dd6c9c53
cleanup and refactor in storage source code
2018-04-25 16:02:30 -04:00
Arvid Norberg
b4d2281e53
honor torrent abort even on file check error
2018-04-24 23:14:48 -04:00
Xiyue Deng
21d8e9e26b
Add missing header <cstdarg> for va_list.
...
* Fix building on OpenBSD.
2018-04-24 23:09:25 -04:00
arvidn
3ede0b9c20
fix last_upload, last_download and last_scrape to be reported accurately and saved/restored in resume data
2018-04-22 06:14:22 -04:00
Alden Torres
d34973def9
minor code cleanup in disk buffer code
2018-04-21 23:48:40 -04:00
Arvid Norberg
d8c022070f
merged RC_1_1 into master
2018-04-21 17:17:55 -04:00
TheOriginalWinCat
bcb9e4546f
Use settings_pack::urlseed_wait_retry for default retry with http seeds. ( #2948 )
...
Update documentation
2018-04-21 18:36:56 +02:00
d-komarov
44479bcca3
Fix storage initialization ( #2944 )
...
If `default_storage::has_any_file` fails during fastresume data check, `piece_manager::check_no_fastresume` will skip storage initialization. In such case, any storage operation that require part file will cause an application crash.
2018-04-21 18:35:55 +02:00
arvidn
52e1a7b6c9
merged RC_1_1 into master
2018-04-15 11:00:57 +02:00
arvidn
9cd0ae67e7
another boost-1.67 build fix
2018-04-13 14:43:41 +02:00
Alden Torres
791a1e8557
minor code refactor and a few const in torrent.cpp
2018-04-13 14:17:02 +02:00
arvidn
f0227451a6
merged RC_1_1 into master
2018-04-13 01:47:41 +02:00
Steven Siloti
236e0e7699
pass default constructed boost::function instead of NULL
...
Clang 6 defines NULL as nullptr which breaks implicit construction
of boost::function from NULL.
2018-04-12 14:32:31 +02:00
Alden Torres
9b1e79660f
removed unnecessary parentheses around min/max, added some const modifier ( #2926 )
2018-04-11 15:19:00 +02:00
arvidn
aaf9304a3b
update year in copyright header
2018-04-09 09:04:33 +02:00
arvidn
105934e578
bump version
2018-04-08 23:08:39 +02:00
arvidn
c5a5e084dd
:strtoll() returns LLONG_MAX if the input overflows. Handle this case properly in the http parser
2018-04-08 18:34:25 +02:00
arvidn
a7406de2b8
remove the global cache of the current time, just use clock::now() instead
2018-04-07 21:43:18 +02:00
V.G. Bulavintsev
c08a6bf430
Make SACK header to be able to take up the whole packet. Rename m_in_buf_size to m_receive_buffer_capacity
2018-04-07 18:55:14 +02:00
V.G. Bulavintsev
257f625e2e
Increase m_in_buf_size and max_packet_reorder to better handle links with high latency
2018-04-07 18:55:14 +02:00
V.G. Bulavintsev
bf2f0a9c55
Fix advertised window being counted twice in congestion check
2018-04-07 18:55:14 +02:00
Fernando Rodriguez
9d83da110b
Delay hash_failed_alert until on_piece_sync()
...
Delay the hash_failed_alert until after synchronizing with the IO thread
so that it can be used to synchronize piece progress.
2018-04-07 15:59:40 +02:00
Alden Torres
d6edf26e11
minor code tidy
2018-04-07 00:30:36 +02:00
Alden Torres
2d9bff0877
make socket_entry buffer std::array
2018-04-06 10:04:32 +02:00
Arvid Norberg
6efff919cd
deprecated alert::progress_notification alert category, split into finer grained categories
2018-04-05 16:27:28 +02:00
gubatron
2a82bb5880
disk_io_thread abort_hash_jobs duplicate code refactor
2018-04-05 16:01:30 +02:00
Arvid Norberg
357217326d
some cleanups
2018-04-05 12:59:35 +02:00
arvidn
32b2de8f17
merged RC_1_1 into master
2018-04-04 20:48:07 +02:00
Alden Torres
0d9862a8dd
fix wrong variable name
2018-04-04 19:41:03 +02:00
Arvid Norberg
16f1deb3ec
merged RC_1_1 into master
2018-04-04 15:28:33 +02:00
Arvid Norberg
a5e0578c88
fix part-file header allocation
2018-04-03 20:46:49 +02:00
Arvid Norberg
77102102d6
simplify some for-loops in xml_parse
2018-04-03 18:45:04 +02:00
Arvid Norberg
49ae7858a8
fix potential fd leak in enum_net_interfaces
2018-04-03 13:44:33 +02:00
arvidn
98d5313598
don't perform DNS lookups for the DHT bootstrap unless DHT is enabled
2018-04-01 23:53:12 +02:00
Alden Torres
5b922072e9
avoid calls to .address() when looking for endpoint protocol ( #2892 )
...
using is_v4 and is_v6 where possible
2018-04-01 13:48:17 +02:00
arvidn
6a2df1034a
add some asserts and checks preventing IPv6 addresses to make it into libtorrent when IPv6 support is disabled
2018-03-31 14:17:06 +02:00
Alden Torres
1f06a6684c
avoid calling address to test protocol, more consts and minor lint oriented code changes
2018-03-29 12:20:59 +02:00
Alden Torres
f963f2c726
minor lint oriented code refactor
2018-03-28 15:55:05 +02:00
Alden Torres
90e4cefa91
removed unnecessary loop in request_a_block
2018-03-28 15:54:50 +02:00
arvidn
d080c6f532
merged RC_1_1 into master
2018-03-26 12:56:25 +02:00
d_komarov
1c867a5026
Changing file priorities while checking interrupts checking.
...
Also, if the last file has zero priority, checking is interrupted prematurely.
2018-03-26 02:59:10 +02:00
arvidn
0fa24faec4
merged RC_1_1 into master
2018-03-25 22:06:41 +02:00
arvidn
02a01fa22e
fix issue where the current tracker would be skipped for the next tracker in the same tier
2018-03-25 14:40:38 +02:00
arvidn
67bbb82122
improve type-safety in piece picker, by introducing a type for download queue index, for pieces
2018-03-24 23:03:09 +01:00
arvidn
3171245292
fix warnings
2018-03-24 23:01:19 +01:00
Alden Torres
f94a8169fc
added some const in bandwidth_limit.cpp
2018-03-24 22:59:54 +01:00
Alden Torres
9cab4d7d31
using move with bw_request and make sure it is movable
2018-03-24 10:48:16 +01:00
arvidn
9df4d4b7f8
replace typedef with using. replace NULL with nullptr. cleanup page_aligned_allocator
2018-03-23 11:19:46 +01:00
Alden Torres
7a477cd938
more use of move and code refactor in bandwidth related code
2018-03-22 18:01:01 +01:00
arvidn
82f87b0655
remove redundant check in tracker announce. This is checked in http_tracker_connection
2018-03-21 23:38:10 +01:00
Alden Torres
6b35ebb9ad
some code refactor and cleanup in broadcast_socket
2018-03-21 23:37:52 +01:00
Alden Torres
4bfa920fe7
refactor in macro conditions for helper_getauxval to avoid unused function warning in android x86
2018-03-21 13:45:28 +01:00
Alexandre Janniaux
3efb81e50c
add windows socket libraries in Makefile.am
2018-03-21 13:44:59 +01:00
arvidn
8a85e1c01a
merged RC_1_1 into master
2018-03-21 12:17:11 +01:00
arvidn
7dad0db4a5
fix warnings in bdecode and disk_io_job
2018-03-20 12:43:44 +01:00
arvidn
09bf97b79e
minor fixes in utp_socket_impl
2018-03-18 17:03:05 +01:00
Alden Torres
61ae2c834b
removed unused bt_peer_connection::on_keepalive
2018-03-16 17:32:20 +01:00
arvidn
4b144ba451
merged RC_1_1 into master
2018-03-16 13:16:45 +01:00
arvidn
0edb0f28c1
stat files in the disk thread, in default_storage::initialize() instead of the constructor
2018-03-15 14:54:49 +01:00
Alexandre Janniaux
4f7b683eb0
fix if defined TORRENT_ANDROID
...
Fix malformed TORRENT_ANDROID macroprocessor tests, related to #2831
2018-03-14 09:32:18 +01:00
arvidn
8658fb5f7c
deprecate the error_file_* constants whose underlying features have been deprecated
2018-03-13 19:39:55 +01:00
Alexandre Janniaux
f8889858f6
dynamically load getauxval so as to support older android devices
2018-03-12 09:11:01 +01:00
arvidn
5c1b65e9b8
merged RC_1_1 into master
2018-03-12 02:32:12 +01:00
arvidn
a06e4f696b
track whether a file is eligible for using the partfile on a per-file basis. This is intended to improve backwards compatibility, to better support resuming files downloaded with older versions of libtorrent
2018-03-11 12:52:56 +01:00
Alexandre Janniaux
2bc2f3af0f
Add missing define for old android sdk ( #2831 )
...
define NETLINK_NO_ENOBUFS and IFA_D_DADFAILED if they don't exist
2018-03-09 22:37:21 +01:00
arvidn
05f7a95604
fix reporting &redundant= in tracker announces
2018-03-08 02:11:46 +01:00
Alden Torres
1f86beb253
ask for protocol instead of copy address in ut_pex_peer_store::was_introduced_by
2018-03-07 09:44:45 +01:00
Steven Siloti
5478f57e43
fix windows build with UNC paths disabled
2018-03-06 08:48:19 +01:00
Alden Torres
135e47c929
minimal optimization by using node_id::is_all_zero
2018-03-05 09:01:25 +01:00
Alden Torres
448de4ca14
more use of emplace_back in chained_buffer
2018-03-04 11:34:24 +01:00
Alden Torres
80f5edc500
added some static and const in node.cpp and minor cleanup in rpc_manager.cpp
2018-03-02 11:29:59 +01:00
arvidn
9696082355
merged RC_1_1 into master
2018-02-25 09:36:12 +01:00
arvidn
24dea1f845
fix tie-break in duplicate peer connection disconnect logic
2018-02-21 21:04:28 +01:00
arvidn
e81eaf5935
minor cleanup in uTP code
2018-02-21 10:07:22 +01:00
Alden Torres
2ac84ed5f5
minor code cleanup in http_tracker_connection code
2018-02-21 09:23:03 +01:00
arvidn
53b4725da3
clean up noexcept specifiers to adapt to what the implementation provides
2018-02-20 08:43:52 +01:00
Arvid Norberg
eec34e3ac3
fix issue with SSL tracker connections left in CLOSE_WAIT state ( #2797 )
2018-02-20 08:40:47 +01:00
d-komarov
f94b62acf7
CMake improvements
...
CMake build scripts improved to simplify configuring and building of
project and tests.
Better use of compile definitions by replacing add_definitions with
target_compile_definitions. Use INTERFACE, PUBLIC and PRIVATE keywords
to separate scope of TORRENT_BUILDING_SHARED and TORRENT_LINKING_SHARED
definitions.
* Move tests to the separate file - test/CmakeLists.txt
* Fix use of compile definitions
* Remove redundant tailqueue.cpp
2018-02-19 23:23:15 +01:00
Alden Torres
421709f67f
added friendly_name and description to ip_interface ( #2799 )
2018-02-19 11:46:35 +01:00
arvidn
1ede34da8a
undo the patch to restore incoming TCP connections over SOCKS5
2018-02-19 00:01:42 +01:00
arvidn
f8fb5c2294
merged RC_1_1 into master
2018-02-10 22:52:12 +01:00
arvidn
a1860426b8
defer truncating existing files until the first time we write to them
2018-02-10 18:33:41 +01:00
arvidn
77181c1469
fix issue when receiving a torrent with 0-sized padfiles as magnet link
2018-02-09 17:41:30 +01:00
Alden Torres
d2e874fca8
headers code cleanup, removed unused fields in torrent class ( #2775 )
2018-02-06 08:32:19 +01:00
arvidn
15a8a17a6f
merged RC_1_1 into master
2018-02-05 08:55:15 +01:00
arvidn
a0a63341c7
fix haiku build
2018-02-04 19:10:43 +01:00
Alden Torres
3261eea63a
more use of emplace and minor code refactor in bt_peer_connection.cpp
2018-02-02 21:53:48 +01:00
Alden Torres
fe9883ea27
avoid endianness test in peer_priority function
2018-01-31 22:49:25 +01:00
arvidn
91e03c789c
fix issue resuming 1.0.x downloads with a file priority 0
2018-01-31 22:43:07 +01:00
Alden Torres
5d230a69f2
minor code cleanup
2018-01-30 12:38:08 +01:00
arvidn
01c41fadcf
fix torrent_status::next_announce
2018-01-29 15:08:18 +01:00
arvidn
50a293730b
merged RC_1_1 into master
2018-01-29 10:20:45 +01:00
arvidn
e126d7bce0
move socket_type into aux-namespace
2018-01-29 08:33:45 +01:00
arvidn
9ac394f5b0
turn piece picker option flags into a proper type
2018-01-29 03:01:17 +01:00
arvidn
a33c81ad33
shave down session_interface by one function, reduce the dependencies between torrent and session
2018-01-29 03:00:59 +01:00
arvidn
ca3ea591df
fix pad-file scalability issue
2018-01-29 03:00:37 +01:00
arvidn
720bfa54cd
merged RC_1_1 into master
2018-01-29 01:20:08 +01:00
arvidn
b729021625
make coalesce-buffers work on windows and systemps with pwritev()/preadv()
2018-01-28 23:05:01 +01:00
arvidn
a50579c651
merged RC_1_1 into master
2018-01-27 09:41:54 +01:00
Alden Torres
084e980d52
avoid repeated calls to .address(), minor refactor
2018-01-27 09:22:38 +01:00
d-komarov
fa03cbea9b
Revise torrent state update
...
* Remove unused m_in_state_updates
* Update m_state_subscription comments
2018-01-27 09:17:40 +01:00
arvidn
308cbfe097
merged RC_1_1 into master
2018-01-27 02:36:55 +01:00
arvidn
bc4d53c71f
restore support for incoming connections over SOCKS5 (disabled by default)
2018-01-25 09:14:14 +01:00
arvidn
4fef787212
merged RC_1_1 into master
2018-01-24 00:37:05 +01:00
arvidn
efd096d879
use unique peer_ids per connection
2018-01-23 16:40:16 +01:00
arvidn
89c6f0b4a8
merged RC_1_1 into master
2018-01-21 15:51:22 +01:00
arvidn
ed7ef8fdd6
minor cleanups in some extensions
2018-01-19 20:02:17 +01:00
arvidn
0ee6b7d142
build for iOS on travis
2018-01-18 22:37:37 +01:00
arvidn
785fffd976
make url_random take a span
2018-01-15 01:49:42 -05:00
arvidn
a01274ce2c
broadcast socket handler take a span
2018-01-14 20:21:42 -05:00
arvidn
e829c1942a
merged RC_1_1 into master
2018-01-14 13:07:20 +01:00
arvidn
a67eb2f059
fix tracker connection bind issue for IPv6 trackers
2018-01-14 06:47:13 -05:00
arvidn
a9085db760
fix error handling of merkle torrents
2018-01-13 17:33:36 -05:00
arvidn
f29bb69612
fix error handling of unsupported hard-links
2018-01-13 08:36:48 -05:00
arvidn
65fef972a2
apply some c++11 modernization
2018-01-11 04:51:39 -05:00
pavel.pimenov
263e01f5da
fix rp->blocks_left = blocks_in_piece;
2018-01-11 02:44:37 -05:00
Steven Siloti
5f25912694
remove unused infohash member in create_torrent
2018-01-11 02:43:09 -05:00
pavel.pimenov
5a772325a0
redundant is_finished(block.block)
2018-01-09 03:20:28 -05:00
pavel.pimenov
3f23ef59c6
small opt torrent::add_piece
2018-01-09 03:20:07 -05:00
arvidn
a93429c5db
modernize piece-size selection in torrent creator and add a test
2018-01-09 03:19:44 -05:00
arvidn
ad82be145b
merged RC_1_1 into master
2018-01-08 22:52:23 +01:00
Chocobo1
1877724c17
raise auto piece size selection limit to 16 MB in create_torrent()
...
16 MB is chosen to have a bit more future proof
Also rewrite the auto piece size selection algorithm, so that it will scale with
torrent content size, suggested by @ssiloti.
2018-01-08 15:24:47 -05:00
arvidn
3a9861e237
complete the error handling test and make it part of the default simulation test suite. It will run a file transfer between two clients repeatedly, each time cause another memory allocation fail, until every single memory allocation has failed once. Any invariant check failure, assertion or signal will cause the test to fail
2018-01-08 04:44:52 -05:00
Pavel Pimenov
97ceeab9e3
fix V821 Decreased performance. ( #2675 )
...
The 't' variable can be constructed in a lower level scope
2018-01-07 20:37:21 -05:00
pavel.pimenov
3e29968a92
remove duplicate if (files.num_files() == 0)
2018-01-07 14:00:59 -05:00
arvidn
39144201db
mark up performance counter operations as noexcept
2018-01-06 20:12:41 -05:00
arvidn
88643dd121
fix m_in_constructor assert for peer_connection (if the peer connection is constructed, but bt_peer_connection constructor fails, it needs to be cleared). Fix an invariant in session on ungraceful shutdown. Make test framework a bit more robust
2018-01-06 14:29:20 -05:00
pavel.pimenov
bad0f01e07
remove #include boost/multiprecision
2018-01-06 09:24:48 -05:00
arvidn
fac9931eb6
fix noexcept marking on entry, and make move assignment
2018-01-04 19:34:42 -05:00
Alden Torres
98ade28237
using make_address instead of deprecated from_string when boost>=1.66 ( #2659 )
...
using make_address instead of deprecated from_string when boost>=1.66
2018-01-04 04:48:22 -05:00
arvidn
0731200149
block_size is a constant, no need in passing it around as a variable
2018-01-03 08:45:25 -05:00
arvidn
c8bf782bd0
bump version number to 1.1.6
2017-12-29 15:53:51 +01:00
arvidn
6047e42c16
fix torrent invariant when creating the piece picker fails
2017-12-28 21:02:50 +01:00
arvidn
8b3624b25b
remove_peer() and attach_peer() error handling
2017-12-28 14:26:19 +01:00
arvidn
aae12250ae
support forced shutdown/destruction of torrent objects
2017-12-28 14:11:55 +01:00
arvidn
5f0c9a0c1d
improve error handling during session shutdown
2017-12-28 13:52:07 +01:00
arvidn
c3bdc6f825
use an intrusive linked list for peer_cache_entry instead an unordered set, to avoid heap allocations and make cache operations not able to fail. This simplifies error handling
2017-12-28 00:52:09 +01:00
arvidn
a9753d3bdc
merge RC_1_1 into master
2017-12-27 22:16:14 +01:00
arvidn
c1abafc0cc
reserve space in the undead peers list up-front, to not have to allocate memory when disconnecting
2017-12-27 21:24:16 +01:00
arvidn
5ebd05b047
handle serious errors in on_accept_connection handler
2017-12-27 21:23:25 +01:00
arvidn
1884061418
revert redundant wrapping some function calls with error handlers. Error handling is already built into the handler allocator
2017-12-27 21:22:34 +01:00
arvidn
6ba64a1bb3
reserve space for m_peers_to_disconnect up front, in order to make queing up a peer for disconnection noexcept
2017-12-27 21:22:08 +01:00
arvidn
ab9fcdf029
reserve space in torrent lists up-front, to make transitioning list membership unable to fail
2017-12-27 15:42:46 +01:00
arvidn
7ea5946305
remove some last lexical_cast residual
2017-12-27 12:44:36 +01:00
arvidn
347555ea8f
handle errors in peer_connection
2017-12-26 10:39:54 +01:00
arvidn
3971897c14
remove invalid assert
2017-12-24 11:28:02 +01:00
arvidn
40292a1d51
don't heap-allocate handlers for incoming UDP packets
2017-12-24 11:22:30 +01:00
arvidn
753826cbb8
merger RC_1_1 into master
2017-12-23 18:15:01 +01:00
arvidn
43d7f980d0
make the chunk header parser properly fail at end of buffer, and not require zero terminated strings
2017-12-23 17:06:50 +01:00
arvidn
b5d4bc5e62
back-port path fixup in file_storage add_file
2017-12-23 12:02:17 +01:00
arvidn
47709244d3
back-port fixed assert in chunk parser
2017-12-23 12:01:40 +01:00
arvidn
62bf524e75
disable DHT logging with the TORRENT_DISABLE_LOGGING macros as well
2017-12-23 12:01:18 +01:00
arvidn
b7decd452e
add getters for peer_class_filter and peer_class_type_filter
2017-12-23 09:25:06 +01:00
arvidn
67be35739c
:attempt to fix disconnections when torrents enter upload mode due to failures
2017-12-23 09:24:26 +01:00
sledgehammer_999
94f4e88e05
Fix local network address mappings.
2017-12-20 11:28:36 +01:00
arvidn
a54f76d5df
deprecate status_code from tracker_error_alert (it's already part of the error_code), simplify code a bit
2017-12-19 00:55:51 +01:00
arvidn
d45de18ba7
merged RC_1_1 into master
2017-12-18 23:01:33 +01:00
arvidn
178281e1c5
make torrent_handler::set_priority() to use peer_classes
2017-12-18 00:56:44 +01:00
arvidn
87de08cb3d
improve type safety of plugin interface
2017-12-17 23:55:12 +01:00
arvidn
bb945f5cf4
introduce a proper type for pex flags to improve type-safety
2017-12-17 23:17:12 +01:00
arvidn
0848d9b7f5
change defaults for rate_limit_utp setting
2017-12-17 08:50:25 +01:00
arvidn
96bf0ad5de
fix reopening of listen sockets when disabling force-proxy
2017-12-17 08:25:51 +01:00
arvidn
d52763805c
back-port the tracker timeout test from master
2017-12-16 13:54:15 +01:00
arvidn
55babc57e6
merged RC_1_1 into master
2017-12-15 17:18:27 +01:00
arvidn
d1a63cd781
fix build against boost-1.66, specifically the boost.asio changes
2017-12-15 11:29:53 +01:00
arvidn
ba224a1577
restore the parse_magnet_uri overload that amends an add_torrent_params object
2017-12-14 12:20:02 +01:00
Steven Siloti
9e0a3aead1
use info hash from params instead of passing it separately
2017-12-14 10:18:33 +01:00
arvidn
7b06a5ee6e
merged RC_1_1 into master
2017-12-13 12:36:35 +01:00
arvidn
86c83fe976
fix asio debugging
2017-12-12 10:11:09 -05:00
arvidn
fe6473039c
fix rate limit utp feature
2017-12-11 08:40:35 -05:00
arvidn
b00b3184c0
some minor i2p cleanups
2017-12-08 09:57:21 +01:00
arvidn
a286b9da47
fix i2p support
2017-12-08 09:57:21 +01:00
arvidn
c4cf7ebae6
Merge branch 'master' of https://github.com/arvidn/libtorrent
2017-12-07 18:31:26 +01:00
arvidn
90ccd5180f
merged RC_1_1 into master
2017-12-07 18:31:16 +01:00
Alden Torres
db61d9cc20
minor cleanup, refactor and typos ( #2593 )
2017-12-07 07:51:55 +01:00
arvidn
f81a20a035
fix loading resume data when in seed mode
2017-12-03 23:43:55 +01:00
arvidn
0fe2e85fee
fix part-file creation race condition (back-port from master)
2017-12-03 18:13:54 +01:00
arvidn
c16eb32b94
merge RC_1_1 into master
2017-12-03 18:12:35 +01:00
arvidn
c745d3f00d
fix incorrect use of make_tick_handler
2017-12-02 12:20:36 +01:00
arvidn
4b467f82ac
fix issue with initializing settings on session construction
2017-12-02 12:20:36 +01:00
arvidn
5ce798197c
merged RC_1_1 into master
2017-12-02 11:39:23 +01:00
Alden Torres
163d13e1d2
implemented support magnet URI extension, select specific file indices for download, BEP53 ( #2578 )
2017-12-01 12:40:19 +01:00
Alden Torres
28f096e94e
added const to static arrays, minor refactor in alert.cpp
2017-12-01 09:57:00 +01:00
Alden Torres
af6b54ed78
more use of const, auto loop, cleanup in escape_string.cpp
2017-11-30 18:12:21 +01:00
Alden Torres
7fe75dd1eb
trivial code refactor in entry and string_util related code
2017-11-29 20:08:15 +01:00
arvidn
a6656aeb93
generate random keys for use in tracker announces. keys are unique for each torrent and the listen interface they announce via
2017-11-29 00:10:35 +01:00
Alden Torres
f2681412e7
more use of const in peer_connection.cpp and minor code refactor
2017-11-28 09:45:40 +01:00
Alden Torres
e0dee20f3e
more use of emplace_back in torrent_info.cpp and minor general refactor
2017-11-27 20:12:23 +01:00
Arvid Norberg
e15f466137
fix issue with receiving interested before metadata ( #2557 )
2017-11-25 15:31:37 +01:00
Alden Torres
ee1f4aa129
more use of auto, const and minor refactor in torrent.cpp ( #2554 )
2017-11-25 01:22:52 +01:00
arvidn
57ec82cb2e
fix indentation in torrent.cpp
2017-11-24 22:15:30 +01:00
arvidn
4bc93cff38
merge RC_1_1 into master
2017-11-23 18:01:32 +01:00
arvidn
5e7666526e
fix IPv6 tracker announce issue
2017-11-23 10:11:59 +01:00
Alden Torres
f73473a6ec
don't early move shared_ptr plugin in torrent::add_extension_fun, added test for it
2017-11-23 08:00:08 +01:00
Alden Torres
59fe15eb84
more use of emplace_back in torrent.cpp
2017-11-23 07:52:50 +01:00
arvidn
d8ea7fc5eb
merged RC_1_1 into master
2017-11-23 01:17:43 +01:00
arvidn
1593916e62
fix ipv6 udp tracker test
2017-11-23 00:05:08 +01:00
arvidn
a57ad00e15
fix force-proxy regression (udp sockets would not be opened)
2017-11-21 08:54:16 +01:00
arvidn
04c2c35f8d
restore path sanitization behavior of ':'
2017-11-21 08:50:09 +01:00
arvidn
22f8bdfebc
merge RC_1_1 into master
2017-11-21 00:50:02 +01:00
Alden Torres
c97bd53cde
more use of const, emplace_back and minor code refactor
2017-11-20 23:45:41 +01:00
Arvid Norberg
c734f42ac3
make tracker announces happen even if there are no open listen sockets ( #2529 )
...
support announcing to IPv6 trackers and running an IPv6 DHT when not listening for incoming connections
2017-11-20 23:42:22 +01:00
arvidn
30a7b52855
use a proper optional value instead of a sentiel value for bytes_left()
2017-11-19 21:25:06 +01:00
arvidn
f262bbdcea
use seconds32 as the retry-time for web seeds
2017-11-19 16:20:36 +01:00
arvidn
096ce54fae
fix issue where new listen sockets would not be opened when leaving force_proxy mode
2017-11-14 12:38:22 +01:00
arvidn
2dc0204261
fix backwards compatibility in deprecated parse_magnet_uri
2017-11-13 15:38:08 +01:00
arvidn
521587c026
make sure the cork destructor doesn't leak exceptions
2017-11-12 23:03:54 +01:00
arvidn
b6a73eeaaa
simplify trigger_unchoke and trigger_optimistic_unchoke on session_impl, abd make them noexcept
2017-11-12 15:48:46 +01:00
arvidn
94dcd8e14b
remove unused transaction id member of DHT observers
2017-11-12 15:46:33 +01:00
arvidn
d00451994b
stop posting alerts when the session is shutting down. Nobody will be able to see them anyway. It also solves some issues around destruction order where posting alerts require certain things to still be around in the session_impl object
2017-11-12 09:12:59 +01:00
Alden Torres
c771f16c5c
lint guided refactor in dht source code ( #2516 )
2017-11-12 00:50:24 +01:00
arvidn
1c278cc697
add API to query whether alerts have been dropped or not
2017-11-11 15:42:53 +01:00
arvidn
254f813626
factor out handler allocator and reuse it for posting deferred peer removals on torrents
2017-11-11 10:41:39 +01:00
arvidn
b88c193742
fix sign conversion warning in peer_class_type_filter
2017-11-11 09:17:37 +01:00
arvidn
d4864b8b18
some noexcept fixes
2017-11-10 09:05:15 +01:00
arvidn
1ed68551d7
merged RC_1_1 into master
2017-11-10 01:37:35 +01:00
Pavel Pimenov
8ac6bbe553
add http_parser::header_int ( #2472 )
2017-11-09 23:43:26 +01:00
pavel.pimenov
21eb9f782c
opt call is_finished()
2017-11-09 20:52:48 +01:00
arvidn
fc74c032f0
minor cleanup and modernization of torrent_peer
2017-11-09 15:48:27 +01:00
arvidn
f41d2b5d3b
move shared_ptr instead of copying them, when constructing DHT observers
2017-11-08 23:09:43 +01:00
Col-blimp
b0c101a475
Update identify_client.cpp
2017-11-08 23:04:15 +01:00
arvidn
7730eea401
restore backwards compatibility with the API before download_priority_t was introduced
2017-11-06 01:24:24 +01:00
arvidn
a690e6c76d
add throwing overload of parse_magnet_uri
2017-11-05 20:31:06 +01:00
arvidn
6785046c2f
introduce a download_priority_t type, for uniform an type-safe piece- and file priorities
2017-11-02 08:20:21 +01:00
arvidn
f57b90b500
introduce type for torrent queue_position
2017-11-01 10:52:45 +01:00
Alden Torres
5480c08184
enable/disable the internal ip notifier with new setting ( #2487 )
2017-11-01 10:51:51 +01:00
Alden Torres
f02e7514e1
fix issue of null m_part_file in default_storage readv/writev ( #2490 )
...
call need_partfile if necessary in default_storage constructor and no .reset() in release_files()
2017-10-31 16:49:58 +01:00
Roman Kalashnikov
7aa5570589
Remove twice assigned values
2017-10-30 19:13:56 +01:00
Alden Torres
f040d6d860
added reopen_network_sockets method to allow manual reopen of listen/outgoing sockets ( #2476 )
2017-10-28 12:15:35 +02:00
Steven Siloti
dc612b6423
keep updating aux::time_now() while there are announces
...
This fixes an infinite loop when an announce during shutown fails and
aux::time_now() has fallen behind clock_type::now() by more than the
delay calculated in announce_entry::failed(). If this happens,
announce_entry::can_announce() can forever return true when called from
torrent::announce_with_tracker() because that function uses
clock_type::now().
Also change torrent::announce_with_tracker() to use aux::time_now() just
for consistency with the reset of the announce related functions.
2017-10-26 23:42:35 +02:00
arvidn
50bef25786
make the piece-picker less two-phase initialized
2017-10-26 23:39:15 +02:00
Alden Torres
ab4f140328
using NETLINK_NO_ENOBUFS to ignore ENOBUFS in netlink based ip notifier ( #2475 )
2017-10-26 11:15:19 +02:00
arvidn
80ac90727b
remove some questionable code from disk_io_thread when deleting files for a torrent and extend transfer test to cover deleting files while seeding
2017-10-25 19:00:54 +02:00
arvidn
9e69bf3618
introduce a type to refer to a torrent-list-index, to improve type safety
2017-10-25 13:39:37 +02:00
Alden Torres
b380bf8059
minor and general code cleanup/refactor
2017-10-25 09:58:47 +02:00
Alden Torres
174a2ca65f
add limit of max 50 upnp mappings and recover free global mappings ( #2470 )
2017-10-24 16:16:22 +02:00
pavel.pimenov
989a65f18e
upnp: reduce size NewPortMappingDescription
2017-10-24 12:27:46 +02:00
Alden Torres
1ce3483a9e
creating part file if needed only in set_file_priorities
2017-10-24 09:56:49 +02:00
Alden Torres
7216b69188
revert early return in session_impl::on_port_mapping and only check for error if cast_vote ( #2468 )
2017-10-24 09:54:57 +02:00
Alden Torres
6409cb42e1
fix implicit-fallthrough warnings with gcc 7
2017-10-23 19:18:33 +02:00
Alden Torres
bb409c5ee9
missing return if error in session_impl::on_port_mapping, doc typo ( #2459 )
2017-10-23 12:36:51 +02:00
arvidn
98effc8d88
minor disk_io_job piece_hash cleanup
2017-10-22 16:49:25 +02:00
Alden Torres
74ecf63906
close connection in upnp::on_upnp_xml and added abort/closing returns
2017-10-20 11:46:41 +02:00
arvidn
244d18dcf8
merged RC_1_1 into master
2017-10-17 09:38:51 +02:00
arvidn
205fe5e7ea
fix full allocation failure on APFS
2017-10-16 00:08:10 +02:00
Alden Torres
8083a6c2bd
some code indentation, one more use of nullptr and constexpr
2017-10-15 04:30:10 +02:00
arvidn
a6c85496b5
make parse_magnet_uri return the add_torrent_params instead of of taking an in-out parameter
2017-10-15 04:29:53 +02:00
arvidn
516df740a3
make session_handle::get_torrent_status return the vector instead of taking an out-parameter
2017-10-14 23:35:35 +02:00
arvidn
bb65acb082
make feature_flags proper type-safe
2017-10-14 23:33:48 +02:00
arvidn
f0bac4cac7
merged RC_1_1 into master
2017-10-14 15:22:22 +02:00
arvidn
8adcfdbf41
make disk_buffer_holder know the size of the bufer it holds, to fix buffer overrun in chained_buffer
...
fix
2017-10-13 21:07:31 +02:00
Alden Torres
58a76e26a8
fix warnings from asio/ssl includes
2017-10-13 21:06:42 +02:00
arvidn
8af89da689
fix GCC-4.9 build
2017-10-13 10:08:51 +02:00
Steven Siloti
2b72a7321a
send one last state update when a paused torrent's rates reach zero ( #2436 )
2017-10-11 23:10:40 +02:00
arvidn
85b6d98454
merged RC_1_1 into master
2017-10-11 11:19:02 +02:00
arvidn
f19cca1374
fix infinite loop when parsing certain invalid magnet links
2017-10-11 09:11:58 +02:00
arvidn
9111d5977e
make the variables holding the source of external IPs type-safe
2017-10-10 22:38:36 +02:00
Arvid Norberg
60b74d2616
merged RC_1_1 into master
2017-10-10 14:25:12 +02:00
arvidn
a9524550d7
don't delete pieces from cache with refcount > 0
2017-10-09 17:48:08 +02:00
Arvid Norberg
830ef0bedd
prevent dependency on openssl from leaking outside of libtorrent (libssl and libcrypto should not be a usage requirement). This cleans up most tests to build without having to also link against openssl
2017-10-09 17:15:35 +02:00
Steven Siloti
0c6b17ed82
don't try to connect to a global address with a local source address
2017-10-09 01:10:26 +02:00
arvidn
1d15e6bfb4
merge RC_1_1 into master
2017-10-08 18:21:25 +02:00
arvidn
f080149081
fix parsing of torrents with certain invalid filenames
2017-10-08 15:54:08 +02:00
arvidn
cdd9f91999
fix leak of torrent_peer objecs (entries in peer_list)
2017-10-07 11:43:42 +02:00
arvidn
4e1c5738a2
back-port openssl API compat patch from master
2017-10-07 01:10:41 +02:00
Alden Torres
7f3c38025f
making use of openssl API 1.1 compatible
2017-10-06 11:03:16 +02:00
arvidn
ed31664ee3
deduce the second argument to iconv() instead of requiring it to be configured via a macro
2017-10-06 10:52:09 +02:00
arvidn
69dc73914a
merged RC_1_1 into master
2017-10-04 11:43:01 +02:00
Tim Niederhausen
7e748956e6
Provide a default ip_change_notifier implementation
...
Right now, compiling fails if there's no ip_change_notifier for the
current platform.
2017-10-04 08:56:55 +02:00
arvidn
99b19366a9
fix leak of peer_class objects (when setting per-torrent rate limits)
2017-10-03 17:32:49 +02:00
Alden Torres
27af8c398a
more use of emplace_back and const in create_torrent.cpp
2017-10-03 10:53:04 +02:00
arvidn
5f3661aaa2
back port overflow checking from master
2017-10-02 00:02:14 +02:00
arvidn
2ea5115bcc
fix the torrent_info size overflow check
2017-10-01 22:54:28 +02:00
arvidn
21fef88928
stricten up the filename sanitization a bit
2017-10-01 20:30:02 +02:00
arvidn
c0d76a5304
fix regression in torrent size check
2017-10-01 16:44:58 +02:00
arvidn
3255375095
back-port file name sanitization patch to RC_1_1
2017-10-01 16:44:10 +02:00
arvidn
33b03e1f8e
improve handling of case where a torrent file has no files in it
2017-10-01 10:53:43 +02:00
arvidn
5026659cb6
clean up and fix edge cases in update_path_index
2017-10-01 04:43:41 +02:00
arvidn
17d78d3b8f
fix bounds checking in parsing of gzip header
2017-10-01 03:33:38 +02:00
arvidn
9d276ada8a
fix issue with the name in single file torrents being sanitized away
2017-10-01 01:12:39 +02:00
arvidn
12e92aeeb4
make the chunk header parser a bit more strict and accurate (and not rely on there being a 0 termiator character)
2017-09-30 11:59:00 -07:00
Arvid Norberg
61733787f7
fix redundant assert in gzip header check
2017-09-29 23:51:45 -07:00
Arvid Norberg
86c37af147
fix integer overflow in torrent_info
2017-09-29 14:08:47 -07:00
pavel.pimenov
f3796060d3
add const
2017-09-29 14:06:40 -07:00
arvidn
68f05d6380
fix some warnings and integer overflow with torrents that are too big
2017-09-28 14:59:28 -07:00
Andrei Kurushin
c8d51689bb
backport: fix windows file preallocation issue
2017-09-28 12:53:28 -07:00
arvidn
c66f4cc62a
fix some warnings, mostly 0 -> nullptr
2017-09-28 07:33:10 -07:00
Alden Torres
53ab7684fd
minor code refactor and cleanup in port mapping code
2017-09-28 01:17:21 -07:00
Andrei Kurushin
6e396a85c2
fix windows file preallocation issue
2017-09-28 02:14:20 +03:00
Alden Torres
45fe6c0110
code refactor in torrent_handle::info_hash
2017-09-24 23:23:47 -07:00
Alden Torres
a619dfb996
more use of auto, const and minor code refactor in torrent.cpp
2017-09-24 23:23:30 -07:00
arvidn
2cbf35489f
fiw warning in ConvertUTF.cpp
2017-09-24 23:23:14 -07:00
arvidn
edad33d270
fix const correctness in get_peer_class
2017-09-24 14:49:55 -07:00
arvidn
4c4c630fae
merge RC_1_1 into master
2017-09-23 10:46:29 -07:00
arvidn
d22c44c057
fix kludge and down-cast to send upload_only. Promote upload-only to a top-level peer feature
2017-09-23 07:51:51 -07:00
arvidn
5441874f10
fix integer overflow in whole_pieces_threshold logic
2017-09-23 06:59:13 -07:00
Alden Torres
1d9b10a32b
fix warning for Xcode 9, added const and minor code refactor to bt_peer_connection.cpp
2017-09-22 04:46:16 -07:00
Steven Siloti
8648de3706
DHT nodes should only handle requests on their socket ( #2355 )
2017-09-21 21:00:38 -07:00
arvidn
ddc8711dbe
fix issue where peers could be disconnected while iterating over the peer list in the torrent. Specifically while marking peers as not-interesting
2017-09-21 07:26:13 -07:00
Alden Torres
a8c020892a
more use of auto, const and minor code refactor in ut_pex.cpp
2017-09-21 04:33:42 +02:00
Alden Torres
5c91301e6d
more use of auto, const, size, minor code refactor and cleanup
2017-09-18 23:59:41 +02:00
arvidn
65d16142aa
remove redundant null check
2017-09-18 00:51:26 +02:00
arvidn
9839507ecd
simplify to_string to not apply unary - to an unsigned integer
2017-09-17 21:23:24 +02:00
arvidn
7717c02c2f
run sonarqube with deprecated functions disabled. fix some of its code smells
2017-09-17 18:06:53 +02:00
arvidn
646581f8a2
use new instead of malloc
2017-09-17 17:13:57 +02:00
Steven Siloti
0232dc35cd
deprecate lock_files ( #2344 )
...
File locking interacts poorly with the path to replace a read only file handle
with a read/write one. For performance reasons the old handle is not closed
until the new one is put in place. With file locking this obviously cannot
work because the first handle is holding a lock on the file. As a result,
file_pool::open_file fails in this case. Even if we dropped the reference to
the read only file handle before attempting to re-open it, the open could still
fail if another thread is holding a reference to the read only handle.
There doesn't seem to be a good way around this. The simple solution would be
to always open files in read/write mode, but that has obvious safety downsides.
Any other solution would significantly complicate the file pool code.
Deprecating file locking seems to be the least bad option.
2017-09-17 10:43:27 +02:00
arvidn
1a8660bca7
don't shadow static_category in alerts
2017-09-16 19:58:11 +02:00
arvidn
8d6b51d54c
minor cleanups
2017-09-16 13:48:11 +02:00
Alden Torres
582d9dfc24
removed leading :: in posix_fadvise to allow for fix in old android API build ( #2341 )
2017-09-16 13:47:49 +02:00
arvidn
93bb84d94c
some random cleanup
2017-09-13 08:28:46 +02:00
arvidn
ccbd6cbcfe
remove rss_reader.py, since rss has been reprecated. fix python binding for torrent_handle, to be hashable. update client_test.py to not use deprecated APIs and follow best (libtorrent) practice
2017-09-11 22:28:57 +02:00
Steven Siloti
df8a57efb7
select which DHT port to report based on the connection's local endpoint ( #2316 )
2017-09-10 10:25:04 +02:00
arvidn
55228756e5
make disk job flags type safe
2017-09-10 08:56:52 +02:00
Alden Torres
a86bc767de
minor cleanup and code refactor in web_peer_connection.cpp ( #2322 )
2017-09-10 08:52:31 +02:00
Alden Torres
7cc2619aad
more use of auto and minor code refactor in routing_table.cpp
2017-09-08 08:49:06 +02:00
arvidn
c848f6d978
improve some asserts in storage.cpp
2017-09-07 23:00:58 +02:00
arvidn
bb51dcdbb9
move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace
2017-09-04 22:38:16 +02:00
arvidn
95c8c3018a
use span in gzip, http_parser and http_connection
2017-09-04 22:33:38 +02:00
arvidn
061732ddec
bump version
2017-09-04 15:35:45 +02:00
arvidn
53ff169db1
use string_view in find_metric_idx
2017-09-04 07:50:13 +02:00
arvidn
fe1c395579
merged RC_1_1 into master
2017-09-03 13:57:19 +02:00
Steven Siloti
5361ffc1c2
add_file_borrow: use string_view instead of pointer, size parameters ( #2302 )
2017-09-02 23:58:36 +02:00
arvidn
7087a16b36
move some initialization of torrent from start() into the constructor
2017-09-02 21:24:00 +02:00
arvidn
24d08cdf82
fix protocol_str in portmap_alert
2017-09-02 10:39:55 +02:00
arvidn
2025c15ec1
cleanup tokenize_string -> split_string
2017-09-02 07:46:16 +02:00
arvidn
f8ba4f480f
use span in parse_utf8_codepoint
2017-09-02 07:03:46 +02:00
arvidn
11f008e90e
use a strong typedef for port mapping id
2017-09-02 07:02:07 +02:00
Alden Torres
ac914d4415
avoid port mapping of local addresses ( #2296 )
2017-09-01 19:28:27 +02:00
Steven Siloti
f022285b13
include endpoint in tracker alerts
2017-09-01 13:38:36 +02:00
Arvid Norberg
f734ad067b
straighten out some type-safety in port mapping enums ( #2285 )
2017-08-30 20:47:49 +02:00
Alden Torres
fe09ca9b97
more use of auto, const and minor cleanup in session_impl.cpp
2017-08-30 20:30:06 +02:00
Steven Siloti
621da10e60
hold an owning reference to storage objects in try_flush_write_blocks
...
It is possible for all other references to a storage object to be
destroyed while try_flush_write_blocks is running. If the storage is
destroyed then find_piece will crash when trying to re-aquire the
shared_ptr. To prevent this, keep the storage alive by holding a
shared_ptr to it in try_flush_write_blocks.
Normally the fence job when stopping a torrent would prevent the storage
object from being destroyed until all flush jobs are complete.
try_flush_write_blocks can be run after every disk job though so it has
the potential to "stradle the fence".
If the associated torrent does get unloaded then it is expected that
find_piece will return NULL thus causing the entry to be ignored.
2017-08-30 12:45:06 +02:00
Alden Torres
d0ea585859
minor code optimization in broadcast_socket.cpp
2017-08-29 22:29:11 +02:00
Steven Siloti
52ccad23b9
read_piece: handle failure to allocate piece buffer
2017-08-29 12:24:17 +02:00
Alden Torres
5db597c8b3
more use of std::tuple_size<> and empty()
2017-08-28 22:47:34 +02:00
Arvid Norberg
1075ae3b8d
remove session pool allocator and use the buffer class instead ( #2274 )
...
simplify append_buffer by using size() to determine size of the buffer. make the move explicit in chained_buffer::init_buffer_entry
2017-08-28 11:37:53 +02:00
Steven Siloti
d4986f878f
treat unique local addresses as local
...
These addresses are not globally routable so they should be considered local.
2017-08-28 11:34:47 +02:00
Arvid Norberg
d250ba5a17
wrap destination string in i2p_peer in string_ptr handler ( #2268 )
2017-08-25 09:42:46 +02:00
arvidn
1ce4089229
log failures to parse interface and node lists from settings
2017-08-24 07:59:22 +02:00
arvidn
e92cbf502c
remove the last use of session_impl get_ipv6_interface and get_ipv4_interface
2017-08-23 21:01:15 +02:00
arvidn
1290e6f5af
simplify buffer handling in rc4_decrypt calls
2017-08-23 07:01:12 +02:00
arvidn
22c047f8a0
factor out and simplify get_syncoffset
2017-08-23 06:59:44 +02:00
arvidn
f311bf354e
remove left-overs from disk buffer pool allocator
2017-08-21 16:36:00 +02:00
Alden Torres
5130827fc7
minor code refactor and cleanup in bt_peer_connection ( #2261 )
2017-08-21 11:00:00 +02:00
arvidn
d59d394d5b
remove residual mentions of mtu for interfaces
2017-08-20 22:34:20 +02:00
Alden Torres
66734e2e5b
using if_indextoname instead of RTM_GETLINK to fill the interface name in enum_net_interfaces ( #2253 )
...
using if_indextoname instead of RTM_GETLINK to fill the interface name in enum_net_interfaces. removed IFA_LABEL switch case, removed ip_interface::mtu, master rebase
2017-08-20 10:55:59 +02:00
arvidn
fe37884bc6
fix IPv6 tracker support by performing the second announce in more cases
2017-08-19 18:56:51 +02:00
Steven Siloti
2365611507
remove support for using a pool allocator for disk buffers ( #2257 )
2017-08-19 11:04:39 +02:00
Steven Siloti
73e898e38e
disable disk cache pool allocator by default
...
The pool allocator has known issues with not releasing memory when it should
and is of dubious benefit.
See #2251
2017-08-18 09:39:24 +02:00
Alden Torres
070066e892
more use of emplace_back and minor code simplification
2017-08-17 08:08:51 +02:00
arvidn
05b5b4ef4d
merged RC_1_1 into master
2017-08-16 22:46:47 +02:00
arvidn
b5fe0f95a2
fix issue in UTF-8 encoding validation
2017-08-16 13:15:19 +02:00
arvidn
b70d3efba9
fix infinite loop when parsing torrents whose filenames have zeroes. #2247
2017-08-16 07:21:34 +02:00
Alden Torres
bde4718e3f
typos, auto loop refactor and more std::
2017-08-16 07:01:50 +02:00
Alden Torres
6a3be6cfd3
minor trivial code optimization
2017-08-15 23:30:28 +02:00
arvidn
fcb9c7b6f3
fix invalid read in parse_int() in bdecode_node() and lazy_bdecode()
2017-08-15 00:01:37 +02:00
Alden Torres
48de05ba82
lint-based code review in utp related code
2017-08-13 07:49:43 +02:00
Steven Siloti
50c2aee8ec
don't create web seed connections if the torrent is upload only
...
The fix in 9a63d4696e
was imcomplete.
It turns out disconnect_if_redundant decrements the connection count
which unballances the count if we do end up disconnecting the peer.
This change avoids the problem by checking if the torrent is
upload only much sooner, before the connection object is even created.
We still do a redundancy check just-in-case, but it is not expected to
trigger.
2017-08-11 08:16:00 +02:00
Alden Torres
0ac01a8532
header fix for use of stringstream
2017-08-10 22:02:10 +02:00
arvidn
5f4816f1d8
fix include in http_connection.cpp
2017-08-10 19:47:42 +02:00
arvidn
865ff09a84
merge RC_1_1 into master
2017-08-10 16:44:57 +02:00
arvidn
560ef29276
fix issue with very long tracker- and web seed URLs. Instead of using a fixed length stack allocated request buffer, use a dynamically growing stringstream
2017-08-10 14:01:11 +02:00
arvidn
4e497e1383
fix issue where paths were not correctly coalesced when adding files to file_storage (used more memory than necessary)
2017-08-10 12:10:46 +02:00
arvidn
bb6f2b9837
extend file_storage tests. Make pad files separate paths and file names properly
2017-08-10 01:33:35 +02:00
arvidn
378a0e974b
fix issue of force-recheck or seeding from read-only media, torrents with empty files in them. Previously libtorrent would create empty files up-front unconditionally, now they won't be created if they already exist
2017-08-09 18:48:49 +02:00
Alden Torres
721c4d016a
more use of emplace_back in write_resume_data ( #2221 )
2017-08-09 00:19:11 +02:00
Alden Torres
8ed17ab311
minor code refactor, more use of nullptr, typos
2017-08-07 21:15:14 +02:00
arvidn
2b98951ace
assert that trackers are not announced to while checking files
2017-08-06 20:21:03 +02:00
arvidn
1f3730fa5a
fix force-recheck issue (new files would not be picked up)
2017-08-06 09:49:51 +02:00
Alden Torres
0b83b6b6df
fix typo and extra ::alert
2017-08-06 04:28:36 +02:00
arvidn
7b98af8145
improve type-safety of observer_flags and traversal_flags
2017-08-05 20:20:13 +02:00
Steven Siloti
f2d1a283bc
Call DebugBreak on assertion failure
2017-08-05 03:01:59 +02:00
Alden Torres
1e05a91f99
added some std:: in public api
2017-08-05 02:44:25 +02:00
arvidn
5bf28e37b8
make create_torrent flags type-safe
2017-08-04 21:23:42 +02:00
Alden Torres
cb114a80e1
reverted ino_t cast and added fix only for android
2017-08-04 21:22:20 +02:00
arvidn
6b1037eff5
convert enum values that are just used as constants, to actual constants with the correct type
2017-08-04 15:23:20 +02:00
arvidn
a8a5986046
make file attributes (in file_storage) type safe
2017-08-04 07:38:57 +02:00
Alden Torres
35232a5a5f
fixed -Wshorten-64-to-32 in 32 bits and explicit nullptr check
2017-08-04 06:07:18 +02:00