Commit Graph

10932 Commits

Author SHA1 Message Date
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
Arvid Norberg 794ccf4f79 remove unused disk stats counters 2018-06-05 19:03:04 +02:00
arvidn 95cfc16bca fix integer overflow in alert_manager 2018-06-02 15:16:08 +02:00
arvidn 267ca40b28 merged RC_1_1 into master 2018-06-02 13:15:13 +02:00
arvidn c55bc7dd42 improve error handling of failing to change file priority 2018-05-31 00:47:17 +02:00
Alden Torres 8a0ac58658 some lint oriented refactor, more use of const 2018-05-30 23:52:28 +02:00
arvidn c56f6abf72 deliver notification of alerts being dropped via alerts_dropped_alert 2018-05-30 11:26:02 +02:00
Alden Torres f9b43f3511 some cast cleanup, const modifier and lint refactor 2018-05-30 00:06:52 +02:00
Andrew Resch c2ea38fdfe Add set_alert_notify to python bindings (#3066) 2018-05-29 22:30:59 +02:00
Alden Torres 6c4869f044 moved instantiate_connection to aux namespace 2018-05-29 09:25:25 +02:00
Steven Siloti 396c5dd3af remove use of deprecated function readdir_r
Ports 140b8ace onto RC_1_1 branch
2018-05-28 16:06:41 +02:00
arvidn 3b0ce8d2e1 merged RC_1_1 into master 2018-05-28 15:56:22 +02:00
sledgehammer_999 4cef1814b0 Add 1.1.7 release in the ChangeLog 2018-05-28 09:44:26 +02:00
Eugene Shalygin e15077fc3f Fix pkg-config branch in the example CMake find module
1. The imported target properties may not contain -D switches in the
INTERFACE_COMPILE_DEFINITIONS property, because CMake will always
prepend them to each item. Therefore we have to remove those switches
and also pass other options (e.g. -fexceptions) in INTERFACE_COMPILE_OPTIONS
property, otherwise CMake creates "mutants" '-D-fexceptions' alike.

2. FindOpenSSL.cmake variable for include directory is
OPENSSL_INCLUDE_DIR, not OPENSSL_INCLUDE_DIRS.
2018-05-27 23:01:22 +02:00
Eugene Shalygin b1d7dd89c1 Reflect Boost version and C++11/14 interconnection in CMake build
C++ standard and Boost requirements are connected:
1. With C++11 onward, we require Boost system component, with
C++03 we need chrono and random components too
2. When building against boost 1.66 and newer, C++11 is required.

Closes #3011, partially closes #2966.
2018-05-27 22:59:13 +02:00
arvidn 35d7672432 raise priority of fastresum_rejected_alert 2018-05-27 22:33:24 +02:00
Eugene Shalygin 287f299314 cmake: pass target C++ standard to pkgconfig generator 2018-05-27 09:55:13 +02:00
Alden Torres d6cecee8c0 some code cleanup and minor refactor 2018-05-24 23:46:37 +02:00
arvidn 6ec6c1b340 since moving an existing file into the part file isn't supported, just don't use the partfile for existing files when their priority is set to 0 2018-05-24 23:45:28 +02:00
arvidn 534276e7a5 refactor to use the utility function for bind_socket_to_device() instead of using the bind_to_device socket option directly, to make it best effort. include operation enum in udp_error alert. 2018-05-23 12:11:04 +02:00
Alden Torres ff300ed224 some cleanup and refactor in torrent_info code (#3054) 2018-05-23 10:39:55 +02:00
arvidn 77191a3820 fix hidden attribute in file class 2018-05-23 10:39:10 +02:00
arvidn ed8fffc1a6 set the hidden attribute when creating the part file 2018-05-23 10:39:10 +02:00
arvidn 55a0a6e0df fix production asserts 2018-05-22 12:12:33 +02:00
Steven Siloti 92a7188163 only start a new accept request on new listen sockets
Existing sockets already have an outstanding accept.
Also fix mapping new listen sockets when re-mapping is not requested.
2018-05-22 11:06:33 +02:00
arvidn 1a66a8b285 merged RC_1_1 into master 2018-05-20 12:08:46 +02:00
arvidn c986d93913 fix properly ignoring failure to get local endpoint of a socket while printing an error 2018-05-20 10:47:46 +02:00
arvidn a137bbfdd4 simplify some using statements to pull in the address types 2018-05-20 08:46:14 +02:00
Steven Siloti 54f00ce09d don't change state to downloading if the torrent is finished
Move the transition to downloading after the torrent has been checked
for being finished. This prevents a spurious state_changed_alert when
adding a torrent which is already completed.

Also move the posting of the torrent_checked_alert to maintain the
historical ordering of that alert with respect to the transition out of
checking_resume_data.
2018-05-20 08:45:24 +02:00
d_komarov 5f74b6e353 Bump `file_error_alert` priority
This alert's priority must be higher than `block_downloading_alert`'s
to allow custom handling of file errors.

With progress notifications enabled, network thread might fully load
alerts queue, so file errors from disk thread won't have a chance to
be delivered.
2018-05-17 00:55:07 +02:00
Steven Siloti 9a48ef761e fix address of point-to-point interfaces (#3039) 2018-05-17 00:54:46 +02:00
d_komarov 96700c15ff Set http request timeout to 5 seconds
Fixes random test failures in test_http_connection.
2018-05-17 00:54:12 +02:00
Alden Torres 7621be6df1 fixed signed/unsigned warnings with latest version of Xcode clang (#3032) 2018-05-16 16:06:33 +02:00
Alden Torres a14d595eac minor code cleanup in torrent.cpp 2018-05-16 16:05:15 +02:00
Alden Torres a7b2026ef8 minor code refactor in ip_filter code 2018-05-14 23:58:01 +02:00
Eugene Shalygin 17e9ce9dfd Fix CMake targets names in the Config.cmake file.
This fixes error introduced by 44b5777be3
where this entry was forgotten.
2018-05-14 13:32:07 +02:00
Arvid Norberg f4d7ff592e merged RC_1_1 into master 2018-05-14 09:50:10 +02:00
Arvid Norberg ccdfd7383e move export.hpp into aux_ folder. put assert symbols in libtorrent namespace 2018-05-14 09:09:01 +02:00
Eugene Shalygin 44b5777be3 Make CMake export namespace to be consistent with library name
Use camel-cased library name "LibtorrentRasterbar" is used as namespace
name for exports and the import target in the find module.
2018-05-14 09:08:19 +02:00
Eugene Shalygin 5667b8f72c Borrow FindLibGcrypt.cmake from KTorrent project. 2018-05-14 09:08:19 +02:00
Eugene Shalygin 7f2ce2ba9e Rename targets and config files for consistency
CMake does check both suffixes anyway (-config and Config), but since
the project name is "libtorrent-rasterbar", the "-config" suffix looks
better.
2018-05-14 09:08:19 +02:00
Eugene Shalygin 8b87b42a5a Try to use config mode first while looking for the package 2018-05-14 09:08:19 +02:00
Eugene Shalygin a626f75c5e Refactor CMakeLists.txt
1. Replace custom 'shared' option with the standard BUILD_SHARED_LIBS
flag
2. Replace foreach() calls for source items with target_sources() and
generator expression $<JOIN:>.
3. Remove build types definition: makes no sense for
single-configuration generators, and is populated automatically for
multi-configuration ones.
4. Add feature summary
5. Enahnce compiler flags management for static runtime by utilizing functions
from the ucm project
6. Copy almost all options from the Jamfile.
7. If compiler supports C++14, use it.
8. Raise minimum required CMake version to 3.11 and drop bundled FindIconv.cmake
2018-05-14 09:08:19 +02:00
Eugene Shalygin 7e390b1ca7 Add tools to cmake build 2018-05-14 09:08:19 +02:00
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