Commit Graph

200 Commits

Author SHA1 Message Date
arvidn c239c2bdc4 factor out storage_piece_set into its own file 2017-01-22 09:29:52 -05:00
arvidn d03540e3b3 move disk_job_fence to its own file 2017-01-22 01:20:27 -05:00
Arvid Norberg 3d06371f31 factor out some common storage utilities out of storage.cpp (#1515)
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -05:00
Steven Siloti e589e342ef reopen listen sockets when the system's IP changes (#1299)
reopen listen sockets when the system's IP changes. Only Linux and Windows supported for now.
2016-11-07 07:40:09 -05:00
arvidn 500bb24dba merged RC_1_1 into master 2016-10-26 23:30:58 -04:00
Arvid Norberg 61af222d92 add utility function for generating peer ID fingerprint (#1249)
add utility function for generating peer ID fingerprint
2016-10-25 08:03:26 -04:00
Alden Torres 6c31ea3d44 created dht state and session params refactor (#1100)
created dht state and session params refactor
2016-09-17 09:42:04 -04:00
Steven Siloti 578e9b3558 bump soname (#1094)
There's been lots of ABI breakage since 1.1.
2016-09-14 23:22:57 -04:00
Alden Torres 32f5f8f257 better integration and API for ed25519 (#1037)
better integration and API for ed25519. using shared_ptr in ed25519_add_scalar
2016-08-29 20:28:42 -04:00
Alden Torres 44d9f456f8 adding support for a more configurable sha512 hasher (#1028)
adding support for a more configurable sha512 hasher, digest32 template, using hasher512.
2016-08-25 19:07:16 -04:00
arvidn e247473b86 bump version number 2016-08-13 07:12:23 -04:00
Alden Torres 7ea9e76b37 refactor for separation of clz software/hardware based (#985)
refactor for separation of clz software/hardware based
2016-08-05 15:51:37 -04:00
Arvid Norberg 118d06b780 remove deprecated extensions lt_trackers and metadata_transfer (#941) 2016-07-24 23:39:56 -04:00
Alden Torres 7446a88425 version to 1.2 (#924)
update version to 1.2
2016-07-20 11:29:24 -07: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
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