Commit Graph

103 Commits

Author SHA1 Message Date
Arvid Norberg 23388c17ff add option to send host header in HTTP proxy CONNECT command (#7710)
* add option to send host header in HTTP proxy CONNECT command

* land bearx3f's fix

* fixup
2025-07-18 08:04:57 +02:00
arvidn cc9d07ecd6 fix and suppress some new clang warnings util addressed (in master) 2024-02-17 18:11:33 +01:00
arvidn 550d3c7d9f update copyright headers 2022-06-22 21:42:55 +02:00
arvidn be8313e35e merge RC_1_2 into RC_2_0 2022-05-22 14:17:25 +02:00
arvidn d78dc1c201 remove unused priority field in http_connection 2022-05-11 12:26:21 +02:00
arvidn f726d10891 merged RC_1_2 into RC_2_0 2020-12-03 02:55:59 +01:00
arvidn c908c1026d add option to disallow IDNA tracker and web seed hostnames, and disallow them by default 2020-12-01 02:35:26 +01:00
Arvid Norberg 31622459fd update copyright 2020-11-14 20:25:15 +01:00
Arvid Norberg 14e334879b add wrapper around std::ofstream to simplify tests that creates files 2020-09-15 10:37:49 -07:00
arvidn 5935f63ead update copyrights 2020-09-01 05:14:17 -07:00
Paul-Louis Ageneau 909d365f1b Replaced OpenSSL-specific code 2020-05-12 12:51:27 +02:00
Paul-Louis Ageneau 73b2fd68cf Introduced TORRENT_USE_SSL compilation flag 2020-05-08 20:57:12 +02:00
Alden Torres d91e749fc0 moving resolver related types and files to aux 2020-03-23 16:46:04 -07:00
arvidn 76fe4d370f merged RC_1_2 into master 2020-03-21 22:41:35 +01: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 c05a815319 merged RC_1_2 into master 2019-11-21 12:19:39 +01:00
arvidn 33d006df99 add unit tests for http_connection over plain HTTP proxy 2019-11-21 08:40:36 +01:00
arvidn d3f7a363c2 update copyright year 2019-08-29 00:13:04 +02:00
arvidn 87a689a0ad merged RC_1_2 into master 2019-03-30 17:22:46 +01:00
arvidn 64600f444b improve sanitizer rule in Jamfile. Some fixes for new clang sanitizr 'implicit-conversion' 2019-03-26 10:14:06 +01:00
arvidn cff805e021 more io_service -> io_context fixes 2019-02-11 20:19:08 +01:00
arvidn d140d1e20d update addresses 2019-02-11 20:19:08 +01:00
arvidn b74aa8e94d use restart() instead of reset(), on io_context 2019-02-11 20:19:08 +01:00
arvidn d0e95ea698 replace io_service with io_context 2019-02-11 20:19:08 +01:00
arvidn 8305c40d6a make disk_interface the customization point for storage, rather than storage_interface
remove the disk cache
remove trim_cache disk job
remove zero-storage
mark default_storage_constructor as deprecated
remove storage_interface
remove file_pool and default_storage_constructor. update connection_tester to use disk_io_thread.
only ftruncate files once
optimize hashing, by running sha1 directly on the memory mapped file
use boost-multi_index in file_view_pool
remove flush_piece and flush_hashed, simplify job-fence logic, remove prep_read_job_impl
support noatime
split out mmap implementation into a .cpp file
support hashing of content in part files. wraps up new disk storage
remove flush_piece disk job
separate out store_buffer into its own class
pass session_settings into storage operations instead of assigning a pointer in the storage object
use unordered_map in store_buffer
add fopen-based disk io back-end for non-64 bit systems or systems without mmap
factor out open_mode_t into its own header
first stab at windows memory mapped files support
build all of boost for autotools
remove flag in async_read callback handler
remove old open_mode_t, preadv/readv and coalesce buffers
support sparse and no_cache file flags in mmap
Remove use of overlapped I/O because we're no longer doing any scatter/gather syscalls the use of overlapped is an unnecessary complication.
don't explicitly specify global read and write. On MINGW we need to use libtorrent::read and libtorrent::write instead of the MINGW provided ::read and ::write.

If the underlying file is empty then m_mapping is expected to be null.
It is the caller's responsibilty to notice that the region's size is
zero and not dereference it in that case.

Otherwise there is no good way for users of default_storage::open_file
to determine that the opened file is empty.
2019-01-20 18:29:42 +01:00
arvidn 6be8b395da some cleanup turning memcmp() and memcpy() into span comparisons and std::copy(). some more use of random_bytes() instead of loops. 2018-11-05 18:52:45 +01:00
arvidn 1a66a8b285 merged RC_1_1 into master 2018-05-20 12:08: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
arvidn 9df4d4b7f8 replace typedef with using. replace NULL with nullptr. cleanup page_aligned_allocator 2018-03-23 11:19:46 +01:00
Alden Torres 4abeacdf33 fixing warnings in tests code, part8 2018-01-31 01:14:23 +01:00
Alden Torres 73a7050185 fixing warnings in tests code, part7 2018-01-30 12:34:53 +01:00
arvidn 4bc93cff38 merge RC_1_1 into master 2017-11-23 18:01:32 +01:00
arvidn 5e7666526e fix IPv6 tracker announce issue 2017-11-23 10:11:59 +01:00
arvidn 95c8c3018a use span in gzip, http_parser and http_connection 2017-09-04 22:33:38 +02:00
arvidn 865ff09a84 merge RC_1_1 into master 2017-08-10 16:44:57 +02:00
arvidn 560ef29276 fix issue with very long tracker- and web seed URLs. Instead of using a fixed length stack allocated request buffer, use a dynamically growing stringstream 2017-08-10 14:01:11 +02:00
arvidn c4afb5e949 use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics 2017-07-15 01:15:57 -07:00
arvidn afce0d3a86 make resolver_flags use enum class for improved type-safety 2017-05-29 18:38:59 -04:00
arvidn ffaabd846c make file open mode flags be an enum class for type-safety 2017-05-28 11:16:59 -04:00
Steven Siloti fd50630020 announce to trackers for all listen interfaces 2017-04-30 08:11:56 -04:00
arvidn d138f02424 introduce lt namespace alias 2017-04-23 23:43:58 -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
Alden Torres 0132221031 minor code cleanup, std:: prefix, consts, typos 2017-04-04 23:12:48 -04: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
Arvid Norberg 57f52adc88 various cleanup (#1497)
* various cleanup

* fix

* cleanup
2017-01-06 01:39:01 -05:00
arvidn 20aeed09e1 clean up tests 2016-11-12 17:39:34 -05:00
Steven Siloti f5366bd816 use span for scatter/gather lists (#1260)
use span for gather/scatter buffers. remove explicit size parameter from file_op
2016-10-26 20:40:56 -04:00
arvidn 6c805bd06d simplify print statements in tests 2016-10-09 20:23:45 -04:00
arvidn 9453fbd54b merged RC_1_1 into master 2016-10-09 20:09:44 -04:00
Arvid Norberg 6bb2d7c017 Sanitize 1.1 (#1197)
enable address sanitizer
2016-10-09 17:00:20 -04:00