Commit Graph

173 Commits

Author SHA1 Message Date
Orivej Desh de71f3fdc9 reduce include directories
This removes -I src -I test -I tools from the autotools build and
-I ed25519/src from all build systems.
2020-04-11 12:47:23 +02:00
arvidn 4fd6136b2a improve support for SSL connections. make passing in the SSL context into the http_connection mandatory (simplifying it, so it doesn't have to create its own). Sepaate the SSL context used for trackers and SSL torrents, so normal trackers can be validated, without interfering with the special SNI callback used for SSL torrents 2020-03-21 12:28:49 -07:00
arvidn 8be7ab559a remove outgoing udp sockets and replace with listen_socket_t 2020-01-19 08:27:33 +01:00
arvidn 748bb81570 include sha1.cpp in the build unconditionally, match build configuration options to using built-in sha1 and defining it 2019-02-13 00:14:53 +01:00
arvidn bac57a6e69 merged RC_1_1 into master 2018-11-24 01:23:10 +01:00
arvidn cdf66409a4 don't use page aligned disk buffers 2018-11-23 18:41:25 +01:00
Arvid Norberg 4282dd072a factor out generate_peer_id into its own file 2018-07-25 08:49:18 +02:00
Alexandre Janniaux 3efb81e50c add windows socket libraries in Makefile.am 2018-03-21 13:44:59 +01:00
Alexandre Janniaux f8889858f6 dynamically load getauxval so as to support older android devices 2018-03-12 09:11:01 +01: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 c167e28788 move stack allocator implementation into its own cpp file 2017-07-23 16:49:24 -07:00
Steven Siloti f0ae2145ea use a handle class for listen sockets instead of raw pointers
Listen socket handles need to be week_ptr so that they can detect when a listen
socket is removed in the middle of a tracker announce on it. Use a wrapper class
to enforce that no one outside of session_impl can hold ownership of the socket
across event boundaries.

To support unit tests, listen_socket_t is also split into a base class which
holds the members needed to support the public listen socket API.
2017-07-21 19:18:44 -07:00
arvidn c4659bc345 convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
Alden Torres 48ef3b6bf7 implemented support for BEP 51 (#1652) 2017-06-12 11:54:11 +02:00
Alden Torres e38887cb3c added add_torrent_params.cpp and moved is_nothrow asserts to cpp files (#2059) 2017-06-07 16:41:28 +02:00
Steven Siloti 761436dc97 add support for utp over multiple interfaces (#1944) 2017-04-25 23:00:41 -04:00
arvidn 79d7ae3638 separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class 2017-04-11 18:07:55 -04:00
Arvid Norberg a34ce0278e add write_resume_data() function (#1776)
add write_resume_data() function. Make resume data alert use an add_torrent_params object
2017-03-05 09:31:28 -05:00
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
Arvid Norberg 88fe6ae8c3 don't link against sha1.cpp when using libcrypto's implementation (#1040) 2016-08-30 08:25:07 -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
Arvid Norberg 2a36f9015d build mpi.c as c++ to allow including boost headers (#1026)
build mpi.c as c++ to allow including boost headers
2016-08-22 07:59:46 -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
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
arvidn 60088a1672 add missing file to makefile 2016-05-05 00:28:31 -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
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
arvidn 8cb18d39a1 add missing file to src/Makefile 2016-02-26 18:54:27 -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
arvidn 4c0b00c390 forward-port version function from RC_1_0 2015-11-11 00:57: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