Commit Graph

515 Commits

Author SHA1 Message Date
Alden Torres afed2a8f40 removed big-obj flag when using mingw32 (#875) 2016-07-01 17:27:51 -04:00
Alden Torres fdcf98c247 dont force search of libcrypto in /usr/lib (#873) 2016-07-01 02:13:31 -04:00
Arvid Norberg a675682b6c some cleanup of TORRENT_DEBUG defines (#863)
some cleanup of TORRENT_DEBUG defines
2016-06-27 22:28:51 -04:00
Arvid Norberg 7476af0c97 clean up .travis file (#857)
some .travis file clean up
2016-06-27 01:00:44 -04:00
Alden Torres 57ad035955 added arm __builtin_clz support and tests running in arm mode (#854)
added arm __builtin_clz support and tests running in arm mode inside travis
2016-06-26 12:01:42 -04:00
Alden Torres 436b781003 option to use only the openssl's sha1 implementation (#845)
separated ssl and crypto build options
2016-06-23 13:20:35 -04:00
Alden Torres 15bac1e9b5 config.h cleanup (#834)
config.hpp and .travis.yml cleanup
2016-06-19 02:32:12 -04:00
Steven Siloti 2fed4103f8 scalable thread pool (#770) 2016-06-15 20:49:28 -04:00
arvidn 236f000f9f Merge branch 'RC_1_1' 2016-06-10 18:50:27 -04:00
arvidn 8d51e04344 enable asserts in test build variants 2016-06-10 18:50:07 -04:00
Arvid Norberg 0583394af7 remove dependency on libtommath and use boost.multiprecision instead
remove dependency on libtommath and use boost.multiprecision instead
2016-05-30 14:33:24 -04:00
Alden Torres 50d93a73f1 Don't force the compiler to search in /usr/include (#754) 2016-05-25 14:24:36 -04:00
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -04:00
Arvid Norberg 748af6eec1 general cleanup. remove valgrind markup, log_hash_failures and C headers (#752)
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
Arvid Norberg 178a41b187 clean up natpmp logging infrastructure a bit as well as test_peer_list (#735)
clean up natpmp logging infrastructure a bit as well as test_peer_list
2016-05-18 01:54:37 -04:00
Arvid Norberg e8380e1d0b factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows (#732) 2016-05-17 09:24:06 -04:00
Arvid Norberg 44a668db62 build with gcc/mingw on appveyor (#722)
enable gcc/mingw builds on appveyor. Some mingw tests crash currently, they need debugging and are currently disabled.
2016-05-15 13:28:22 -04:00
Arvid Norberg 077e9bb10c improve node-id operations (#693)
improve node-id operations, to operate on 32 bits at a time instead of 8. move out some code into sha1_hash.cpp, from the header file
2016-05-03 08:29:27 -04:00
Arvid Norberg c91a700c07 Msvc warnings (#685)
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
arvidn 78bc269832 use std::chrono and not boost::chrono 2016-05-01 08:50:30 -04:00
Steven Siloti fef94a4c52 use standard random number classes (#679)
use standard random number classes
2016-05-01 08:35:28 -04:00
Arvid Norberg 20b41ad0b9 Threads (#671)
use std::thread, std::mutex, std::condition_variable instead of pulling them in from boost.asio internals.
2016-04-30 18:54:23 -04:00
Arvid Norberg f0d95f5e3e remove RSS feature (#662)
remove RSS feature
2016-04-29 15:54:21 -04:00
Arvid Norberg 10ec0234a7 remove resolve-country feature (#656) 2016-04-28 08:20:47 -04:00
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
arvidn 04a3c04075 merged RC_1_1 into master 2016-04-20 08:08:05 -04:00
Arvid Norberg 423ee1cef4 move some implementation details of bitfield into its own translation unit to not expose MMX and SSE internals (and fix shared linking) (#630) 2016-04-20 07:50:57 -04:00
arvidn d17ae19391 Merge branch 'RC_1_1' 2016-04-11 02:08:06 -04:00
arvidn 2921caf95e fix msvc test build. make test framework robust to tmpfile() failing. add missing files and tests to makefile 2016-04-10 20:46:51 -04:00
arvidn 867b83ccda merged RC_1_1 into master 2016-04-08 02:20:24 -04:00
arvidn cee2b16949 fix some coverity warnings and move out code to torrent_status.cpp 2016-04-07 21:44:24 -04:00
arvidn c28789260d enable _GLIBCXX_DEBUG_PEDANTIC along with debug iterators when running tests and simulations. update libsimulator submodule 2016-02-21 11:28:51 -05:00
arvidn 197ded5a0d revamp the way resume data is read, by providing a function for the client to parse resume data, capturing it in add_torrent_params 2016-02-20 02:00:06 -05:00
Arvid Norberg ffb78f0378 Merge pull request #312 from ssiloti/export-verify-message
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
arvidn 49b5a0d7d9 add support for codecov.io 2015-12-17 00:51:35 -05:00
Steven Siloti c6f1e0bd7b export verify_message and incoming_error
Also move these functions to a new msg.cpp. They are useful for plugins
which implement DHT extensions.
2015-12-05 18:20:08 -08:00
Thomas Yuan 194ad410dc Make dht_put_alert more accurate. 2015-11-20 00:06:08 -05:00
Alden Torres 611d0c1c6e Fixed to make it compatible with mingw-w64 and generic linux 2015-11-13 07:55:28 -05:00
arvidn 4c0b00c390 forward-port version function from RC_1_0 2015-11-11 00:57:51 -05:00
arvidn ea1fa63843 forward port fixing the install rule in Jamfile 2015-10-10 19:04:13 -04:00
Steven Siloti 2adfee19f2 remove version tag from usage requirements
Dependent projects probably have their own version they'd like to use, so don't
impose libtorrent's version on them.
2015-10-07 18:43:26 -07:00
arvidn a9821216bf revert py_libtorrent renaming for python binding 2015-09-24 05:19:29 -07:00
arvidn b628692223 separate out announce_entry and torrent_status into their own headers 2015-09-18 08:08:08 -04:00
Alden Torres e2d682275a Implementing and using new dht storage interface 2015-09-16 08:30:27 -04:00
arvidn 05c580572d disable simulation on travis osx. fix more warnings 2015-09-06 22:55:42 -04:00
arvidn a2ea8b32db fix more warnings 2015-09-06 22:55:41 -04:00
arvidn 17c5759829 disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings 2015-09-06 22:55:41 -04:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn 466c8c59a0 actually enable warnings on travis and fix command line warnings 2015-08-21 00:26:11 +02:00
arvidn 206e4b7c71 attempt to fix msvc 64 bit build 2015-08-20 20:56:52 +02:00
arvidn f39755a863 remove c++14-compat option 2015-08-20 02:14:56 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn bd177a857f make tailequeue a template, introduce type safety, remove old-style casts 2015-08-19 15:22:05 +02:00
Alden Torres 9e29eb9978 Introduced TORRENT_UTP_LOG_ENABLE macro to guarantee that TORRENT_UTP_LOG and TORRENT_VERBOSE_UTP_LOG are always defined (no need to change a lot of macro if). 2015-08-13 18:43:58 -04:00
Alden Torres 7d11198911 Fixed definition of utp log macros. 2015-08-13 18:43:58 -04:00
Alden Torres 12fb68e8e3 Refactor of utp stream logging functions.
Renamed utp-stats option to utp-log.
2015-08-13 18:43:58 -04:00
Alden Torres 02afc8b640 Added utp-stats bjam option to enable utp stream log (utp.log file). 2015-08-13 18:43:58 -04:00
arvidn 4b04aceccd fix boost-link semantics. If it's not specified, it's the default: whatever link is set to 2015-08-08 19:30:01 -04:00
arvidn a854fed12b simplify Jamfile by determining whether to use boost from source or from system installed version based on the BOOST_ROOT environment variable. This removes the build feature boost=source/boost=system 2015-08-08 19:18:05 -04:00
arvidn 3594da7839 on travis, use libc++ together with clang. Update libsimulator to fix gcc build 2015-08-08 13:08:41 -04:00
arvidn 46803b75f8 support building libtorrent in simulation mode (using libsimulator, which is a git submodule) 2015-08-07 21:31:59 -04:00
Alden Torres eef9f16b3b Removed unused flag bandwidth-limit-logging and related code. 2015-08-04 01:47:15 -04:00
arvidn 990aabe36f fix warnings and no-deprecated functions build 2015-08-01 19:55:36 -04:00
Alden Torres 57f14808d8 Restore the option to compile with target Windows XP. 2015-07-29 14:56:31 -04:00
arvidn 7f695f05d5 use boost.asio as headers only library again (simplify builds and hopefully fix shared linking of python module on gcc linux) 2015-07-27 23:09:24 -07:00
Steven Siloti 9bf1d6c5e9 peer_connection_handle 2015-07-12 14:40:03 -07:00
Steven Siloti b072b0ca5f create session_handle
The session_handle class exposes the same public interface to session_impl as
the session class. The difference being that session_handle does not own the
underlying session_impl so multiple session_handle instances can be created
and copied about as needed.

The intent is to chenge the plugin API to pass an instance of session_handle
instead of a pointer to session_impl. This change will be made in a separate
patch.

To maintain ABI compatibilty, the type signature of session was not changed.
The relevent functions have been modified to forward to session_handle and
all enums have been left in session.
2015-07-11 11:17:28 -07:00
Arvid Norberg b472299524 Merge pull request #21 from john-peterson/build2
hike required windows version to vista
2015-07-07 22:39:08 -04:00
arvidn 0bf1274b26 attempt to make travis not kill GCC 2015-07-06 17:33:17 -04:00
John Sebastian Peterson 12b30074e5 hike required windows version to vista
because xp has faded into the sunset
2015-07-06 06:53:48 +02:00
arvidn e2784df13c factor out file progress tracking from the torrent class 2015-06-28 22:47:11 -04:00
arvidn 3755a77a64 attempt to trouble shoot missing backtraces on linux 2015-06-20 16:36:23 -04:00
arvidn 2e0a5263ac attempt to fix some isue with python binding jamfile 2015-06-07 08:31:09 +03:00
arvidn f11b054bae another travis attempt 2015-06-05 00:15:22 -04:00
arvidn 393f98f9ee fix gcc build of test_dos_blocker. update README and travis.yml 2015-06-04 21:58:02 -04:00
Arvid Norberg 71ee44ae5e fix build issue, some warnings 2015-05-17 23:32:13 +00:00
Arvid Norberg 99de70604a remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled 2015-05-16 19:29:49 +00:00
Arvid Norberg 12c9d3de26 fix more warnings 2015-05-16 18:35:47 +00:00
Arvid Norberg 5e07ff857e remove residual geoip cruft 2015-05-11 00:49:34 +00:00
Arvid Norberg 0029ac62a8 add unit test for extract_peer_info 2015-05-10 18:24:38 +00:00
Arvid Norberg a83dcbaaf0 removed access-log build option and log parser. added incoming_request_alert. This feature can now be implemented by clients 2015-05-09 03:04:08 +00:00
Arvid Norberg 4f216dece3 factor out strings of peer logs to be enums instead, in peer_log_alert 2015-05-03 02:53:54 +00:00
Arvid Norberg c6da211585 disable one more version of signed/unsigned mismatch warning in msvc 2015-04-27 03:19:10 +00:00
Arvid Norberg 2fff222235 silence some warnings on msvc 2015-04-27 02:21:12 +00:00
Arvid Norberg d128d36faa fix cpuid use (apparently it's not appropriate to use in an inlined function) 2015-04-26 18:46:45 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 821e34c795 fix examples build. fix print formatting bugs. fix some gcc warnings 2015-04-25 04:22:51 +00:00
Arvid Norberg 3bf9fa8fca move out merkle functions into their own file and test 2015-04-24 06:06:41 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 21751347bc more warnings fixes and cleanup 2015-04-19 06:28:21 +00:00
Arvid Norberg d764e74f33 enable warnings on gcc too 2015-04-18 14:33:55 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 8ac5a32548 improve deprecation macros. increase default warning level. fix deprecation warnings while building libtorrent itself (gcc and clang) 2015-04-17 01:49:49 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg d019f3d4c3 fix linux python build and test_ssl build 2015-04-04 18:03:55 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00
Arvid Norberg 4f7115750b add address sanitizer to Jamfile 2015-03-16 05:49:26 +00:00
Arvid Norberg 1b07ec491d fix build issue out of recent changes of exported functions 2015-03-16 04:38:28 +00:00
Arvid Norberg 6c1df7eb55 landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node 2015-03-12 05:20:12 +00:00
Arvid Norberg 0c8aee014c implemented utp extension header to indicate the reason to close the connection 2015-02-28 19:51:15 +00:00
Arvid Norberg 51f1a61d2d more piece_picker unit tests and some fixes 2015-02-13 02:58:21 +00:00
Arvid Norberg d2546cc592 test coverage fix in Jamfile 2015-02-10 04:00:44 +00:00
Arvid Norberg f4ee43a1f9 fix linux build 2015-01-20 17:05:45 +00:00
Arvid Norberg 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +00:00
Arvid Norberg 1218e328cd SSL fixes (especially over uTP) 2015-01-04 01:04:56 +00:00
Arvid Norberg c2a05228fd fix dynamic linking (Jamfile and dependencies on internals) 2015-01-01 18:03:56 +00:00
Arvid Norberg e9414894e2 separate the configuration of crypto library and whether protocol encryption is enabled or not. make protocol encryption always use the built-in rc4 and tommath code. SHA-1 hashing is done by the crypto library 2014-12-29 16:50:22 +00:00
Arvid Norberg a67c478336 fix sanitizer options in jamfile 2014-12-17 02:45:32 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 4376d26399 merged changes from RC_1_0 2014-12-01 10:43:34 +00:00
Arvid Norberg fd313fe6bf merged changes from RC_1_0 2014-11-30 20:08:23 +00:00
Arvid Norberg 362b54421d merged changes from RC_1_0 2014-11-30 10:07:19 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg e526355d24 merged changes from RC_1_0 2014-11-09 11:17:13 +00:00
Arvid Norberg 85cc72835e finally rename policy to peer_list 2014-10-26 07:34:31 +00:00
Arvid Norberg 02a9ea18b7 deprecated auto_expand_choker. started factoring out choker logic into its own translation unit (preparing for making it unit testable) 2014-10-22 22:06:56 +00:00
Arvid Norberg 3db32f67b5 remove option TORRENT_DISABLE_FULL_STATS 2014-10-21 21:45:35 +00:00
Arvid Norberg cea5585993 remove stats logging functionality from libtorrent. This has been moved to a helper class part of libtorrent-webui, utility library 2014-10-21 19:58:12 +00:00
Arvid Norberg 939411488e split time_critical and super_seeding tests out of test_swarm 2014-10-12 08:39:14 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg 27b7705cf2 remove built-in GeoIP support 2014-09-21 21:01:48 +00:00
Arvid Norberg 45d8e36da4 merged Steve Siloti's refactoring patch of inter-thread calls into session_impl 2014-08-26 04:51:09 +00:00
Arvid Norberg 166528747d fix typo in Jamfil 2014-08-18 21:37:58 +00:00
Arvid Norberg 524384045c transition to use boost.random instead of rand() and custom pseudo random generator 2014-08-16 20:26:00 +00:00
Arvid Norberg 30713a4a79 remove buffer stats debugging feature 2014-07-19 08:20:20 +00:00
Arvid Norberg 24b9101075 merged changes from RC_1_0 2014-07-12 06:20:16 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
Arvid Norberg e5a9a6b36f make xml_parse not be a template 2014-05-03 21:10:44 +00:00
Arvid Norberg 4c7e24e9c6 fix asio build issue by building for XP instead of win2k 2014-04-19 01:55:10 +00:00
Arvid Norberg 114d417ef3 fix sanitize=rtc option in Jamfile 2014-02-03 03:34:16 +00:00
Arvid Norberg 0ed79849c1 support msvc /RTC option and make run_regression_tests support passing on arbitrary boost-build options (to allow different testers enable rtc and sanitizers) 2014-02-03 03:23:17 +00:00
Arvid Norberg 0228a2a644 add support for -fsanitize= options to jamfile 2014-02-01 21:46:31 +00:00
Arvid Norberg 702b68ecc4 clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized 2014-01-19 19:45:50 +00:00
Arvid Norberg d7be4659c8 rate limiter overflow fix (for very high limits) 2014-01-13 06:49:47 +00:00
Arvid Norberg 6dbc7091d3 fix link issue in build. caused corruption and crash in test_storage 2014-01-06 03:50:25 +00:00
Arvid Norberg d6b1aa4c36 DHT refactoring and support for storing arbitrary data with put 2013-12-27 04:28:25 +00:00
Arvid Norberg d58066b32d fix Jamfile typo for extensions=on as well as mistakes in ifdefs for encryption fields/code 2013-12-20 06:38:51 +00:00
Arvid Norberg adb3a5523c some defensive programming. cleanup unused boost include. tighten up boost includes 2013-12-17 23:26:44 +00:00
Arvid Norberg f382876832 fix debug buffer build. add new Jamfile feature for it. attempt to make it build on windows 2013-11-29 09:41:53 +00:00
Arvid Norberg 64b563fd06 attempt to trigger valgrind errors earlier 2013-10-02 21:51:30 +00:00
Arvid Norberg 8bb2c46f42 fix darwin link error for release builds 2013-09-04 01:16:13 +00:00
Arvid Norberg 12fd5be372 fix bug in ed25519 DHT signature verification. removed RSA code as it's no longer used. add CAS feature (compare and swap) to DHT put command. update dht_store documentation 2013-09-03 00:45:48 +00:00
Arvid Norberg 1c3229caa9 fix test_pe_crypto build 2013-09-01 17:39:40 +00:00
Arvid Norberg 1e9d7e9f89 need to link against advapi32 when using ed25519, since it needs entropy 2013-08-24 21:35:49 +00:00
Arvid Norberg 6bd07fd65f pull in an ed25519 implementation and replace use of RSA in the DHT with ECC. fix up makefiles 2013-08-18 16:01:20 +00:00
Arvid Norberg a401aa0337 cleaned up public interface by removing some symbols from the exported set 2013-07-19 19:06:27 +00:00
Arvid Norberg 578254d4ad fix Jamfile for release with production asserts build config 2013-06-17 16:11:52 +00:00
Arvid Norberg 7f194b4542 move hasher implementation out of header file 2013-05-08 07:57:16 +00:00