Commit Graph

235 Commits

Author SHA1 Message Date
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
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
Eugene Shalygin 9489eb23f4 Fix compilation with cmake (#767)
fix tests building with cmake. cmake: restore options parity with autotools
2016-05-29 12:58:16 -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 045e9316ad update CMakeLists.txt to build with C++11 (#682) 2016-05-02 14:38:12 -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
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 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
Michael Smith 9b8b6b6c46 Add read_resume_data to CMakeLists.txt
Without read_resume_data, builds fail with CMake due to a missing
dependency.
2016-03-12 14:57:56 -08: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
Thiago A. Correa e9830cb7dd Fix build with cmake under windows.
Fix build with MSVC, let cmake manage boost selection settings.
2015-12-03 09:38:34 -02:00
Arvid Norberg 42b129b9d5 Merge pull request #178 from thomas-yuan/put
Make dht_put_alert more accurate.
2015-11-21 02:30:45 -05:00
Thomas Yuan 194ad410dc Make dht_put_alert more accurate. 2015-11-20 00:06:08 -05:00
Alden Torres a03b18f803 Missing file version.cpp in CMakeLists.txt 2015-11-19 21:56:51 -05: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 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn bd177a857f make tailequeue a template, introduce type safety, remove old-style casts 2015-08-19 15:22:05 +02: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
Jakob Petsovits 991f0c2a45 Rename test_bdecode_performance to bdecode_benchmark, fix CMake issues.
It's not a test as such, since it's got its own main() that takes
arguments, doesn't return a result that can be directly compared
against expected results, and doesn't make use of the test_common
infrastructure.

The CMake build attempts to build all files named test_*.cpp with
test_common, whose main() and load_file() symbols clash with those
that the benchmark provides. Instead of making an exception, let's
rename it to something that doesn't start with "test_". Its usage
message even claims it's called bdecode_benchmark, so we use that.

Also, complete the file listing for test_common in CMake and use
an OBJECT pseudo-library there instead of STATIC. It's just as good
and jives better with having symbols provided by the executable.
(Follow-up patch in the works to provide Asio symbols that way.)

test_natpmp is a proper test but doesn't currently build,
so exclude it from the build for now.
2015-07-17 20:59:39 -04:00
Jakob Petsovits a699cfae7e CMake build: Require Boost.Random from FindLibtorrentRasterbar.
Also remove outdated requirements for Boost.Thread and
Boost.DateTime linking.
2015-07-17 20:59:19 -04:00
Jakob Petsovits 4a5c6ec733 CMake build: Add file_progress.cpp and mpi.c which were not listed. 2015-07-17 20:13:14 -04:00
Jakob Petsovits f865fac7d9 CMake build: Modify CMAKE_CXX_FLAGS based on itself, not C flags.
Also, only use linker visibility when building shared.
2015-07-17 20:13:14 -04:00
Arvid Norberg 3340bbbfb4 Merge pull request #32 from ssiloti/peer_connection_handle
peer_connection_handle
2015-07-14 22:51:34 -04:00
Jakob Petsovits d138104c85 -Wno-c++11-extensions is a clang-specific option.
GCC doesn't have it, so don't enable it unless we specifically
know that clang is the compiler.
2015-07-14 17:47:21 -04: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
Alden Torres 7edb9eb434 Removed kademlia/logging source code reference from CMakeLists.txt. 2015-06-18 14:38:46 -04: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 2fb1a0f3c7 fix msvc build issue 2015-04-26 01:25: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 3bf9fa8fca move out merkle functions into their own file and test 2015-04-24 06:06:41 +00:00
Arvid Norberg 3ea67e2bf5 move time_now_string out to the unit test library (basically unused in libtorrent itself) 2015-04-24 03:48:08 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +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 ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +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 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +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 1c91903c9c merged fixes from RC_1_0 2014-11-27 03:05:06 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg 3f61ee0ff3 merged changes from RC_1_0 2014-11-19 09:23:08 +00:00
Arvid Norberg edfa38cd30 merged changes from RC_1_0 2014-11-17 03:41:01 +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 907dc9dddd merged changes from RC_1_0 2014-10-22 07:05:10 +00:00
Arvid Norberg d308dce99b CMakeList.txt fix 2014-10-15 03:01:39 +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 ad7d74f255 merged fixes from RC_1_0 2014-09-13 19:47:51 +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 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 27b8c5f108 cmake file fix 2014-06-23 16:19:16 +00:00
Arvid Norberg 9263fc87c9 merged fix from RC_0_16 2014-06-22 18:49:33 +00:00
Arvid Norberg a3451e43ea cmake, enable multicore compiling with msvc 2014-05-10 23:46:50 +00:00
Arvid Norberg 1b6d64107d update CMakeLists.txt and fix typo in Changelog 2014-05-10 17:26:24 +00:00
Arvid Norberg 6590f5f053 improve CMakeLists.txt 2014-05-10 07:10:17 +00:00
Arvid Norberg 555efd9279 factor out address/endpoint I/O into it's own unit test. merge write_string from bencode and socket_io. extend unit test 2014-05-04 06:46:47 +00:00
Arvid Norberg e5a9a6b36f make xml_parse not be a template 2014-05-03 21:10:44 +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 d04748f1db split up test_primitives some more 2013-09-01 06:52:50 +00:00
Arvid Norberg dd192cfd3c split up test_primitives into more tests (in an attempt to get the link-time down within the regression test time limit) 2013-09-01 01:10:50 +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 91f8c32937 stub for file_storage test 2013-06-08 23:37:11 +00:00
Arvid Norberg c464dc2383 merged unit test from RC_0_16 2013-05-31 16:33:06 +00:00
Arvid Norberg 7f194b4542 move hasher implementation out of header file 2013-05-08 07:57:16 +00:00
Arvid Norberg 520b8bfcd1 move out alert_manager to its own compilation unit. remove TORRENT_DISABLE_EXTENSIONS from affecting the public API 2013-04-09 02:38:11 +00:00
Arvid Norberg aab59d04c7 improve the external IP discovery to work with multiple external IPs (specifically IPv4 and IPv6) 2013-01-01 23:12:16 +00:00
Arvid Norberg ac5a9e9882 introduce global connection priority for improved swarm performance 2012-12-31 06:54:54 +00:00
Arvid Norberg 77a1090104 bump version 2012-11-18 04:32:22 +00:00
Arvid Norberg 52ece49121 merged fixes from RC_0_16 2012-11-01 03:51:50 +00:00
Arvid Norberg 33943f7184 merged set_version fix 2012-09-29 21:30:40 +00:00
Arvid Norberg fdc25967c2 merged string function cleanup from RC_0_16 2012-08-26 15:26:17 +00:00
Arvid Norberg 9e8488048e CMakeLists.txt fix 2012-06-16 23:19:36 +00:00
Arvid Norberg 1db4fae595 merged patch from RC_0_16 2012-06-10 16:20:00 +00:00
Arvid Norberg fa1c071c2f merged fixes from RC_0_16 2012-06-09 04:48:53 +00:00
Arvid Norberg f2238169c9 update boost dependencies in CMakeLists.txt 2012-05-16 05:30:41 +00:00
Arvid Norberg 027af8aba8 added two more missing files to CMakeLists.txt 2012-05-16 04:34:18 +00:00
Arvid Norberg 1bbb45891b add missing file to CMakeList.txt 2012-05-16 04:23:47 +00:00
Arvid Norberg cafbf2ca1d more work on minimizing shared object export symbol table 2012-03-20 03:53:07 +00:00
Arvid Norberg a2521bd23c fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost 2012-03-18 23:31:04 +00:00
Arvid Norberg 7b1a441aeb attempt to make shared library builds to work with visibility=hidden 2012-03-15 06:08:08 +00:00
Arvid Norberg 1b470e0961 move the code of chained buffer out to its own cpp file 2011-08-13 23:01:38 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 5bbbf0cd41 add rsa sign and verification functions for future DHT extensions 2011-05-23 23:42:52 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg 02668e8f75 fix message posting to work from multiple threads 2010-08-26 17:00:24 +00:00
Arvid Norberg 2910a4a10c dropped dependency on zlib 2010-03-16 06:14:22 +00:00
Arvid Norberg d15fd0c6d3 bump version number 2010-02-25 22:30:07 +00:00
Arvid Norberg a5e56b6fbc add socket_type.cpp to makefile 2009-12-05 16:50:07 +00:00
Arvid Norberg a5586d154d more header dependency optimizations 2009-11-25 06:55:34 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg f36688a364 initial support for torrent tag store in DHT 2009-09-27 03:38:41 +00:00
Arvid Norberg 54cce9da60 simplified and optimized the DHT implementation 2009-09-20 00:23:36 +00:00
Arvid Norberg 0f62beebb3 improved compile time by moving rate limiter implementation to a cpp file and making it a non-template 2009-09-16 04:41:35 +00:00
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
cg25 f283065cfc completely drop BOOST_MULTI_INDEX_DISABLE_SERIALIZATION define from all build
systems as multi_index is no more used in src/file_pool.cpp.
2009-08-21 20:19:55 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Georg Rudoy 780f5d7320 Don't build tests and examples in CMake by default. 2009-07-07 21:55:50 +00:00
Arvid Norberg 8b1e55d28a workaround bug in asio in boost-1.39 2009-06-27 19:30:15 +00:00
Georg Rudoy 5ea4c73409 Also install .pc with respect to lib64. 2009-06-22 18:42:20 +00:00
Georg Rudoy 8ddb5cb051 Configurable logging and lib64 install path for CMake. 2009-06-22 15:46:00 +00:00
Arvid Norberg a956265be4 merged socks4 and socks5 code and improved SOCKS error messages 2009-04-08 04:18:45 +00:00
Arvid Norberg 82823c62d9 updated CMakeLists.txt 2009-02-13 07:10:27 +00:00
Arvid Norberg a0333f82db added script to update all files with a libtorrent version number in them 2009-01-29 00:35:57 +00:00
Arvid Norberg 113d1f3557 moved page_aligned_allocator to its own file and uses it in set_piece_hashes to not pass in unaligned buffers to storage read 2009-01-15 17:09:36 +00:00
Arvid Norberg 20a0593fa3 removed mapped_storage 2009-01-10 07:14:02 +00:00
Arvid Norberg 42f428f776 define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION in CMakeLists.txt and configure.in. Also define BOOST_EXCEPTION_DISABLE to disable boost.exception 2009-01-07 01:58:43 +00:00
Arvid Norberg e5d3755afb added support for http seeds (BEP 17) 2008-12-30 03:54:07 +00:00
Arvid Norberg c3e49e4ca2 TORRENT_DEBUG and -fvisibility=hidden fix for CMakeLists.txt 2008-12-28 23:07:46 +00:00
Arvid Norberg a72dc4a75d pkg-config support in CMakeLists.txt 2008-12-28 20:06:40 +00:00
Arvid Norberg 31e38a8ef4 another cmakelists.txt fix 2008-12-25 02:12:54 +00:00
Arvid Norberg ed5cbcca8a patched CMakeLists.txt with Rudoy Georg changes 2008-12-25 01:24:48 +00:00
Arvid Norberg 55dd21c993 updated CMakefileList.txt with utf new conversion 2008-11-14 05:25:56 +00:00
Arvid Norberg 7d18a3fd11 added test_upnp and test_natpmp to CMakeLists.txt 2008-10-15 16:25:39 +00:00
Arvid Norberg 57e2deebbe uses built-in support to find boost in CMake. doesn't include sha1 unless openssl support is disabled. Added tests 2008-10-12 19:55:37 +00:00
Arvid Norberg 48949c6518 changed names of CMake file options 2008-09-28 23:10:17 +00:00
Arvid Norberg 9a2a10b2eb added example targets to CMakeLists 2008-09-28 00:26:49 +00:00
Arvid Norberg c80745ad13 experimental CMakeList file 2008-09-28 00:18:03 +00:00