Commit Graph

6409 Commits

Author SHA1 Message Date
arvidn 34ecb60c09 use enum class for close reason 2017-02-04 11:24:35 -05:00
Alden Torres 4c487ec47c using std:: for integral types 2017-02-03 22:15:47 -05:00
arvidn c9a2fed2c9 add tests for edge cases of session settings, and fix a few integer overflows 2017-02-03 20:42:59 -05:00
arvidn 3ae2630fa2 fix merge issue 2017-02-02 23:09:54 -05:00
arvidn c8e488b094 merged RC_1_1 into master 2017-02-02 22:58:33 -05:00
arvidn 2b53eb28a9 minor cleanup in automatic connections_limit management 2017-02-01 23:28:13 -05:00
Arvid Norberg 4733670aa1 fix issue where num_seeds could be greater than num_peers in torrent_status (#1645)
fix issue where num_seeds could be greater than num_peers in torrent_status
2017-02-01 01:39:09 -05:00
arvidn dbd734e7a2 sync. creation and clearing of file progress with the piece picker 2017-01-31 08:14:36 -05:00
Falcosc e40bdc566c 1.1.2 set queue position by number (#1617)
set queue position by number
2017-01-30 21:31:31 -05:00
Alden Torres d36c598eeb fixing sign-conversion warnings, part 10 (#1642)
fixing sign-conversion warnings, part 10
2017-01-30 20:31:32 -05:00
Arvid Norberg 29db3de6c0 wrap most instances of throw, and terminate on builds where exceptions are disabled (#1639)
wrap most instances of throw, and terminate on builds where exceptions are disabled
2017-01-29 15:37:42 -05:00
arvidn 3339b2abe1 back port file progress invariant checking to 1.1 2017-01-29 15:34:06 -05:00
arvidn 36858eae85 cleanup packet_buffer class 2017-01-29 10:35:23 -05:00
arvidn fc70d70e33 fix file_progress invariant check 2017-01-29 02:46:29 -05:00
arvidn ffca4afaa6 remove unintuitive limit on peer connections (especially with large values of file_pool_size) 2017-01-29 02:45:30 -05:00
Alden Torres 2437b3c134 created aux::typed_span and related refactor 2017-01-28 23:28:38 -05:00
Alden Torres deecdb6cfa added support for infohashes sample in dht storage (#1586)
added support for infohashes sample in dht storage
2017-01-28 20:24:53 -05:00
arvidn 17ee28d176 Merge branch 'master' of https://github.com/arvidn/libtorrent 2017-01-28 14:36:28 -05:00
arvidn 6b91adab6a merged RC_1_1 into master 2017-01-28 14:36:23 -05:00
Alden Torres 3803661863 moved alloca.hpp to private aux_ and size refactor (#1634)
moved alloca.hpp to private aux_ and size refactor
2017-01-27 12:43:34 -05:00
Alden Torres ddf1b62e4b fixing sign-conversion warnings, part 9 2017-01-27 01:23:18 -05:00
arvidn a5284b583c fix bug in udp tracker announce messages 2017-01-26 23:46:55 -05:00
arvidn cca5ab8368 fix integer overflow 2017-01-26 23:39:56 -05:00
Alden Torres 2bc7a60f33 fixing sign-conversion warnings, part 8, created aux::unique_ptr, refactor (#1616)
fixing sign-conversion warnings, part 8, created aux::unique_ptr, refactor
2017-01-26 08:31:20 -05:00
Alden Torres 070e85090b more std:: prefix, consts, auto refactor, formatting 2017-01-26 08:30:20 -05:00
Alden Torres 22b745d548 added TORRENT_NO_DEPRECATE around file_progress_float 2017-01-25 23:44:30 -05:00
Arvid Norberg ba9fae8e1f fix issue with unloading torrents (#1624)
fix issue with unloading torrents
2017-01-25 23:42:59 -05:00
arvidn b19cb7bd87 fixed finished-time calculation 2017-01-25 01:56:19 -05:00
Alden Torres 4ddd4b72c6 fixing sign-conversion warnings, part 7 (#1604)
fixing sign-conversion warnings, part 7
2017-01-24 01:35:17 -05:00
Andrei Kurushin 7c9679bf6a fix missed static array specifier 2017-01-23 08:21:34 -05:00
arvidn 132be5101f fix stat cache issue that sometimes would produce incorrect resume data 2017-01-22 18:14:10 -05:00
arvidn 4c4a204bee fix inclusion of auxv.h header and definition of TORRENT_ANDROID 2017-01-22 14:11:44 -05:00
arvidn c15a575e34 remove dependency on aligned_storage and aligned_union to support older versions of GCC 2017-01-22 14:11:44 -05:00
Alden Torres 8b98bf2c9d more use of peer_class_t in public API 2017-01-22 14:06:27 -05:00
Andrei Kurushin 06c68052b4 fix missed static array specifier 2017-01-22 13:39:10 -05:00
arvidn 4fe5320bf8 remove debug logging of deleting files 2017-01-22 09:44:49 -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 6a701437b6 use strong_typedef for peer_class_t type (#1595)
use strong_typedef for peer_class_t type
2017-01-21 22:40:19 -05:00
arvidn 173951ec7f merged RC_1_1 into master 2017-01-21 02:28:29 -05:00
arvidn 6d17f0fb66 storage optimization to peer classes 2017-01-21 01:23:07 -05:00
Falco c57d062e0d fix torrent name in alerts of builds with deprecated functions and use non deprecated for internal calls 2017-01-20 19:05:05 -05:00
Andrei Kurushin fffdd4703d make handler exchange without copy->clone mem allocation (#1583)
make uTP handler exchange without copy->clone mem allocation
2017-01-20 19:03:20 -05:00
arvidn 202386dd9d factor out verify_resume_data to storage_utils 2017-01-20 01:36:03 -05:00
Alden Torres 8cc88a8921 return vector of correct size if internal file_progress is empty 2017-01-19 18:12:30 -05:00
Andrei Kurushin 393e705d5c refactor entry::dictionary_type (#1568)
consolidate conditional std::map string code
enable C++14 string_view std::map for VS2015
2017-01-19 18:08:39 -05:00
arvidn c7c204280a make sure torrent_info::is_valid returns false when the file fails to load 2017-01-18 23:58:33 -05:00
arvidn e98dd14760 factor out delete_files function into storage_utils 2017-01-18 00:56:01 -05:00
Alden Torres c33af5a552 added dht_invalid_find_node counter metric 2017-01-18 00:55:32 -05:00
Alden Torres ef9d1ecd7f fixing sign-conversion warnings, part 6 2017-01-17 20:51:26 -05:00
Alden Torres a2b3248f5d call set_proxy_settings during session_impl::setup_listener (#1563)
call set_proxy_settings during session_impl::setup_listener
2017-01-17 17:04:52 -05:00
Arvid Norberg ec37436d49 factor out move_storage function to storage_utils.cpp (#1571) 2017-01-17 08:02:44 -05:00
Alden Torres a5825c0d2e fixing sign-conversion warnings, part 5, minor refactor (#1559)
fixing sign-conversion warnings, part 5, minor refactor
2017-01-16 21:51:49 -05:00
arvidn 5736237a63 fix error handling in random.cpp and fix accidental openssl dependency 2017-01-16 21:33:57 -05:00
Falcosc a07ffe42f8 fix torrent peer class index overflow (#1557)
fix peer class index width
2017-01-16 18:20:43 -05:00
arvidn 3b9c65daf1 remove unused function, has_interface() 2017-01-16 15:14:47 -05:00
arvidn 0c189e08b5 use /dev/random as random number source on macOS 2017-01-15 12:18:08 -05:00
Arvid Norberg 04589f3bef don't load user_agent and peer_fingerprint from session_state (#1538)
don't load user_agent and peer_fingerprint from session_state
2017-01-15 01:21:52 -05:00
arvidn 934c58a816 merged RC_1_1 into master 2017-01-15 00:45:17 -05:00
Arvid Norberg b52419d4d9 make the DHT log output deterministic (#1550)
make the DHT log output use the search ID rather than a pointer value. Make random_bytes() deterministic in simulations
2017-01-14 22:36:25 -05:00
Alden Torres df6cb6a48d fixing sign-conversion warnings, part 4, minor refactor (#1549)
fixing sign-conversion warnings, part 4, minor refactor
2017-01-14 18:53:25 -05:00
Alden Torres c3d9614dfb minor code refactor and cleanup 2017-01-14 06:59:44 -05:00
Alden Torres 1874a917b0 added std:: prefix, end of file cleanup, formatting, consts 2017-01-14 05:59:26 -05:00
Falcosc 9199756a27 fix bitfield m_buf null pointer (#1526)
fix operations on empty bitfield
2017-01-13 17:08:54 -05:00
Alden Torres a31ba7972d fixing sign-conversion warnings, part 3 (#1537)
fixing sign-conversion warnings, part 3. making aux::vector index type default to int
2017-01-13 01:55:29 -05:00
arvidn 77de1e1b43 improve error message in torrent::force_tracker_request precondition error 2017-01-13 01:53:44 -05:00
Alden Torres 4f7b69be90 fix of internal session_impl logic regarding TOS (#1518)
fix of internal session_impl logic regarding TOS
2017-01-13 00:55:54 -05:00
Arvid Norberg 2120a13869 fix file rename issue with name prefix matching torrent name (#1524)
fix file rename issue with name prefix matching torrent name
2017-01-13 00:39:49 -05:00
Alden Torres 7ac2805c2c added custom resize methods to aux::vector (#1514)
added custom resize methods to aux::vector, code refactor
2017-01-12 18:40:59 -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
arvidn d6a7c7d991 fix error in accounting of IP overhead 2017-01-11 00:02:18 -05:00
Alden Torres 3b4867046f fixing sign-conversion warnings, part 2 2017-01-10 20:19:03 -05:00
Andrei Kurushin 5fa48c65da move const data to readonly segment 2017-01-09 14:41:44 -05:00
arvidn d1ea80c2c3 remove disk-access-log build configuration 2017-01-09 08:37:02 -05:00
Alden Torres 0f7a55cb8b fixing sign-conversion warnings, part 1 (#1503)
fixing sign-conversion warnings, part 1
2017-01-09 01:43:57 -05:00
arvidn 1d1ab4f4b5 removed file-leak code, temporarily used to trouble-shoot files appearing to be left open 2017-01-09 01:43:15 -05:00
Arvid Norberg 1cf3689578 simplify disk thread a little bit (#1504)
simplify disk thread a little bit
2017-01-08 19:22:59 -05:00
Andrei Kurushin 224db08997 fix frequent dealloc/alloc for utp socket lists (#1496)
fix frequent dealloc/alloc for utp socket lists
2017-01-08 19:18:26 -05:00
arvidn 0c7e86078b merged RC_1_1 into master 2017-01-08 10:18:41 -05:00
arvidn 39866c2306 fix division by zero when setting tick_interval > 1000 2017-01-07 15:21:02 -05:00
Andrei Kurushin 78bacfe7c1 fix various build options 2017-01-07 10:49:42 -05:00
Steven Siloti 2ed4bee1cb remove racey assert
We arn't holding any mutex here so the fence could have already been cleared
by the disk io threads.
2017-01-07 02:54:12 -05:00
Andrei Kurushin ff8345101e consolidate windows crypto provider implementation into single header (#1495)
consolidate windows crypto provider into single header
2017-01-07 01:53:39 -05:00
Arvid Norberg 57f52adc88 various cleanup (#1497)
* various cleanup

* fix

* cleanup
2017-01-06 01:39:01 -05:00
arvidn 7957e2a30e fix move_storage() to its own directory (would delete the files) 2017-01-03 21:09:26 -05:00
arvidn 41dbb47123 compact block_cache_reference by using storage_index_t instead of pointer. make sure storage object is kept alive by block_cache_references 2017-01-02 13:45:16 -05:00
arvidn e99d907c72 fix assert 2017-01-02 00:01:43 -05:00
arvidn 4ebc344e48 make disk_io_thread responsible for the storage object. torrents refer to it by index 2017-01-01 13:54:39 -05:00
arvidn 9007c8333f merge RC_1_1 into master 2017-01-01 11:08:57 -05:00
arvidn 1600d4dca5 clean up file pool a bit 2017-01-01 09:56:50 -05:00
arvidn 005d1a47b0 deprecate dont_flush_write_cache setting 2016-12-31 17:44:57 -05:00
Andrei Kurushin 4d92e22cd8 decrease cryptoapi aux::random_bytes() cpu usage 2016-12-31 12:42:55 -05:00
arvidn 23a7e8d40a hide the block_cache_reference from disk_buffer_holder 2016-12-31 10:31:54 -05:00
arvidn 59b322bc79 merged RC_1_1 into master 2016-12-29 08:54:28 -08:00
arvidn 5a97af54db optimize chained buffer a bit and factor out nop into non_owning_handle 2016-12-29 07:05:18 -08:00
Arvid Norberg af126fe507 make buffer_allocator_interface an implementation detail of the disk_io_thread (#1463)
make buffer_allocator_interface an implementation detail of the disk_io_thread by using disk_buffer_holder in the disk interface. make chained_buffer use holders instead of free deleter functions and userdata to support putting disk_buffer_holder objects in there. Also make the session buffers be held by holders
2016-12-28 17:47:18 -08:00
Pavel Pimenov 516e86d0ea Refactoring routing_table (#1468)
routing_table refactor. ip_set::count -> ip_set::exists. Fix copy-paste routing_table::remove_node
2016-12-28 14:40:56 -08:00
Andrei Kurushin e10edb5e0b move LoadLibrary logic to new win_util module (#1464)
move LoadLibrary logic to new win_util module. use get_library_procedure as common windows dyn proc load routine
2016-12-28 10:12:20 -08:00
Andrei Kurushin 08aab3a879 make internal sha1 & sha512 implementation declarations match libcrypto api 2016-12-27 22:30:57 -08:00
Arvid Norberg f1e34dfbd5 remove long-standing deprecated filter_pieces functions (#1457)
remove long-standing deprecated filter_pieces functions
2016-12-27 12:42:23 -08:00
Arvid Norberg b74bdfa7db make dht logging deterministic (#1460)
make dht logging deterministic (ues an id instead of this-pointer to identify a traversal algorithm)

try with more DHT nodes
2016-12-27 07:12:57 -08:00
Andrei Kurushin 1ec5c69dcd minor code corrections (#1430)
use compact span cast. extend split_path api with only_first_part flag. use single loadlibrary and getprocaddress for IP helper
2016-12-26 22:45:48 -08:00
arvidn 2f75dcccfe on backwards compatible set_settings(), stack allocate settings_pack 2016-12-26 22:44:42 -08:00
arvidn 192ef4962b simplify the buffer_allocator_interface 2016-12-26 08:36:50 -08:00
arvidn cda715c152 introduce type for slot index in part_file 2016-12-26 08:33:19 -08:00
Arvid Norberg 42a27b3ebc introduce a prio_index_t type (#1453)
* introduce a prio_index_t type for indexing into the priority sorted piece list, m_pieces, in piece_picker

* some piece picker simplification

* fix msvc warning for prio_index_t
2016-12-26 08:25:50 -08:00
Falcosc 6520fcebf1 fix session invariant check fail for difficult setting dependencies (#1449)
clean up session_impl invariant checks
2016-12-26 08:09:52 -08:00
arvidn 5ed0086b51 removed mmap_cache feature 2016-12-25 21:12:49 -08:00
arvidn 6be7bb9eb7 clean up some piece/file priority code 2016-12-24 11:26:09 -08:00
Pavel Pimenov c34a2541cc Log refactoring (#1446)
factor out common logging code in some dht traversal algorithms
2016-12-24 06:46:21 -08:00
Alden Torres 71b5d9fb85 fixed Wrange-loop-analysis warning with Apple clang-800.0.42.1 (#1440)
fixed Wrange-loop-analysis warning with Apple clang-800.0.42.1
2016-12-23 06:07:37 -05:00
arvidn 3f612d7e99 cleaning up of left-overs from torrent eviction functionality 2016-12-23 06:06:59 -05:00
Alden Torres c1a2e7290c added explicit time_t cast to avoid warnings in android 32 bits 2016-12-22 21:24:25 -05:00
Alden Torres 75f307c187 minor cleanup and refactor in peer connection 2016-12-22 17:48:47 -05:00
Alden Torres c672467331 added one more shorten-64-to-32 warning fix, added more std:: 2016-12-22 13:48:13 -05:00
Pavel Pimenov 6afb1f3e83 aux::to_hex(sha1) -> sha1.to_hex() (#1418)
generate hex strings into std::string instead of stack-allocated char arrays
2016-12-22 10:44:36 -05:00
Arvid Norberg 3f1084d63d strengthened type safety in handling of piece and file indices (#1409)
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
arvidn 93f400265b revert change to use std::time_t (mingw64 has abi issues) 2016-12-22 01:13:17 -05:00
arvidn cde9457fdb fix merge issue 2016-12-22 01:13:17 -05:00
arvidn a2c4e7490e merged RC_1_1 into master 2016-12-20 01:16:13 -05:00
arvidn ad7e796d05 fix socks5 support for UDP. based on patch in https://github.com/arvidn/libtorrent/issues/1373 2016-12-19 23:52:53 -05:00
Falcosc 8adcbdd32b add setting urlseed_max_request_bytes to handle large web seed requests #1405 (#1423)
add setting urlseed_max_request_bytes to handle large web seed requests. change default for urlseed max request to 16MIB
2016-12-18 15:58:14 -05:00
Alden Torres eaf99aa42b fixed more warnings of shorten-64-to-32 and sign-compare in android (#1425)
fixed more warnings of -Wshorten-64-to-32 in android. changed file_status to use std::time and disable warnings of NLMSG_OK in clang
2016-12-18 10:59:41 -05:00
Andrei Kurushin d62b980278 backport fix upnp xml_parse 2016-12-18 09:01:33 -05:00
Andrei Kurushin 10e3847b40 fix upnp (#1421)
* fix upnp xml_parser, and listen sockets remap
2016-12-17 17:50:03 -05:00
Alden Torres 1b808b6516 refactor in aux::write_ to avoid explicit castings (#1426)
refactor in aux::write_ to avoid explicit casts
2016-12-17 15:03:43 -05:00
arvidn 814f7363a4 deprecate identify_client() and fingerprint type 2016-12-17 11:48:20 -05:00
Steven Siloti db65eaaa00 submit disk jobs from read_piece right away
Without this the jobs get submitted on the next tick which may take a while.
2016-12-17 02:23:09 -05:00
Steven Siloti 916fc92c49 create separate function for reading a node from a list 2016-12-17 02:22:13 -05:00
Alden Torres f715ebfd97 header fix and refactor in udp_tracker_connection and typos in lazy_entry 2016-12-17 02:20:29 -05:00
Alden Torres 139528aae4 code refactor in torrent.cpp for more auto loop and formatting 2016-12-17 02:12:23 -05:00
Alden Torres 22b596945e enable /W4 warnings for msvc 2016-12-13 19:36:14 -05:00
Alden Torres 63df1a26b6 changelog note, typos and .gitignore 2016-12-13 08:11:09 -05:00
Alden Torres f382936d56 headers, end of file, code cleanup 2016-12-12 23:36:45 -05:00
arvidn 51fb7feeb7 fix issue when skipping missing files during fill checks 2016-12-12 23:32:55 -05:00
Alden Torres a05f0ba8a4 refactor for more modern struct initialization and use of api 2016-12-12 02:15:27 -05:00
Steven Siloti ca07ee83a3 mark all converstion to bool operators as explicit 2016-12-12 01:34:36 -05:00
Alden Torres d9f8d4b642 refactor to more use of auto c++11 keyword (#1404)
refactor to more use of auto c++11 keyword
2016-12-11 20:50:30 -05:00
Alden Torres 21fb0e8c20 making tracker_manager::remove_request type specific 2016-12-11 14:20:37 -05:00
Alden Torres 3a92908f39 formatting, added std:: and spaces 2016-12-10 23:11:43 -05:00
Alden Torres dd7179fb10 added a few consts to arguments and local variables 2016-12-10 18:19:14 -05:00
arvidn bbfe58d03c fix bind-to-device for UDP sockets 2016-12-10 18:18:54 -05:00
Alden Torres 6b70ac1f77 improved port reading in lsd, minor code refactor 2016-12-10 12:18:31 -05:00
Alden Torres e73435a77b fixed shorten-64-to-32 warnings for clang 2016-12-10 08:57:08 -05:00
Alden Torres 7266b0b360 fixing shorten-64-to-32 warnings, part 4 2016-12-09 17:24:07 -05:00
Alden Torres 123a6389cd minor refactor in torrent_status and minor header cleanup in torrent_handle 2016-12-09 17:18:03 -05:00
Pavel Pimenov d8b413c771 Fix c4996 strcpy (#1395)
use std::memcpy() instead of std::strcpy()
2016-12-09 17:17:27 -05:00
Steven Siloti 30303c17df don't indicate interest in peers when in upload only mode
If the torrent is paused we don't want to mark peers as interesting
even if the torrent has not finished downloading.
2016-12-09 17:16:25 -05:00
Alden Torres e1dcf82e2a fixing shorten-64-to-32 warnings, part 3 2016-12-08 20:22:34 -05:00
Steven Siloti 5d0322d393 fix assertion in fingerprint::to_string 2016-12-07 20:52:45 -05:00
Alden Torres 4142dfe5eb headers and code cleanup in udp_socket code 2016-12-06 22:54:29 -05:00
Alden Torres ffdf5c0f5d avoid unnecessary creation of strings in create_torrent 2016-12-06 22:53:55 -05:00
Alden Torres 0625606230 fixing shorten-64-to-32 warnings, part 2 2016-12-06 22:53:41 -05:00
Alden Torres 553cff97fb minor fix of the use of TORRENT_USE_I2P 2016-12-06 00:39:27 -05:00
Alden Torres 37cbdc5b37 fixing shorten-64-to-32 warnings, part 1 2016-12-05 00:22:17 -05:00
arvidn 864fcfaced initialize piece priorities to 4 2016-12-04 18:36:45 -05:00
Steven Siloti b9169609df support separate external ip for each interface (#1383)
support separate external ip for each interface
2016-12-04 15:58:51 -05:00
arvidn 8874a907ef fix to file priorities 2016-12-03 00:57:52 -05:00
Alden Torres 69eff36a52 passing block size to smart_ban plugin methods for hashing 2016-12-02 18:08:04 -05:00
arvidn 09b5cfd688 remove build option to use narrower types in piece_picker (optimize_memory_usage) 2016-11-29 08:11:51 -05:00
Pavel Pimenov e3c5a639ca Add bt_peer_connection::write_dht_port() (#1360)
add void bt_peer_connection::write_dht_port()
2016-11-29 08:11:13 -05:00
Pavel Pimenov ee61d5c308 Small optimisation identify_client (#1361)
small optimisation identify_client
2016-11-29 01:01:00 -05:00
arvidn 0f38acf829 don't send dht-port if we don't have a udp listen socket 2016-11-27 21:22:11 -05:00
arvidn 6579ae1994 fix listen_failed_alert socket_type report bug 2016-11-27 21:22:11 -05:00
Alden Torres d5c4cd7280 fixed sign-compare warnings and some refactor (#1354)
fixed sign-compare warnings and some refactor. make sequence_number backed by std::int64_t
2016-11-27 08:46:53 -05:00
Arvid Norberg 0df9d1c641 upgrade some C-arrays to std::array in escape_string.cpp (#1357)
upgrade some C-arrays to std::array in escape_string.cpp
2016-11-26 23:38:25 -05:00
Arvid Norberg 54f052a97b allocation slot type (#1352)
use a specialized type for allocation slot indices
2016-11-26 03:09:01 -05:00
Arvid Norberg 15ab8f387b cleaning up of disk_interface and improving type safety (#1353)
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
Alden Torres c30027e4a1 more integral type conversion warning fixes, now only needs shorten-64-to-32 (#1349)
more integral type conversion warning fixes, now only needs shorten-64-to-32
2016-11-25 11:17:25 -05:00
arvidn 1d5f42d6d0 convert remaining disk io jobs 2016-11-23 19:02:05 -05:00
arvidn f08501b869 update callback interface for async_check_files and async_flush_piece 2016-11-23 19:02:05 -05:00
arvidn d8662533d5 update callback signature for async_move_storage and async_release_files 2016-11-23 19:02:05 -05:00
arvidn fc9dabe1ab start chipping away at removing disk_io_job from the disk_interface 2016-11-23 19:02:05 -05:00
Steven Siloti 06c53a41d1 revisions based on code review
Moved the logic to determine which sockets to keep to a separate function and
add unit tests for it.

Store the port which was originally specified for a listen socket so that we
can match sockets reliably even with port retries.
2016-11-23 01:09:05 -05:00
Steven Siloti babb93fb1e keep old listen sockets if they're still valid
This is to support multi-home. We need to be able to keep track of which socket
a DHT node or UTP connection should use. We also need to generate notifications
when local endpoints come and go so that the DHT tracker knows when to create
or delete nodes. The easiest way to do this is to keep the same socket for as
long as its local endpoint is valid. This way the nodes and connections can
simply reference the socket itself and generating notifications is trivial.
2016-11-23 01:09:05 -05:00
Steven Siloti 07650c8558 set scope id when enumerating IPv6 addresses
This is necessary to be able to correctly match enumerated addresses
with those stored in listen_socket_t::local_endpoint when there is a
non-default zone id.
2016-11-23 01:09:05 -05:00
Alden Torres 86251adb1b more fixes of integral type conversion warnings 2016-11-21 20:22:18 -05:00
Alden Torres 84e0362180 more fixes in signed compare warnings (#1345)
more fixes in signed compare warnings
2016-11-21 01:49:56 -05:00
arvidn 0e33e62627 merged RC_1_1 into master 2016-11-20 11:18:16 -05:00
arvidn d5b76d2237 move block_cache_reference out of disk_io_job header 2016-11-20 10:34:42 -05:00
arvidn 35126576ca remove use of disk_io_job from buffer_holder 2016-11-20 10:34:42 -05:00
arvidn 5b3a730b1f steps towards removing disk_io_job from disk_interface 2016-11-20 10:34:42 -05:00
arvidn 4df1ecbe25 re-enable some warnings and fix code 2016-11-20 01:05:16 -05:00
Arvid Norberg 13d9361da1 don't allocate handlers for proxy sockets in the heap, move them instead (#1342)
don't allocate handlers for proxy sockets in the heap, move them instead
2016-11-19 22:56:34 -05:00
Alden Torres a59350687a fixed a few warnings related to signed/unsigned conversions (#1338)
fixed a few warnings related to signed/unsigned conversions
2016-11-19 21:14:16 -05:00
Andrei Kurushin 998daf6e0e fix windows-version=xp build (#1327)
fix sha512 support for windows xp, pre sp3
2016-11-19 11:07:33 -05:00
tnextday b25ea5329f updates `m_last_sent` in `peer_connection::setup_send()` instand of `peer_connection::keep_alive()` 2016-11-19 02:03:12 -05:00
Alden Torres 5490f802ec fixed warning non-virtual-dtor and minor code refactor (#1324)
fixed warning non-virtual-dtor and minor code refactor
2016-11-18 08:21:42 -05:00
Alden Torres 4c7e24ea35 more use of std::make_shared, fixing warnings of over-aligned 2016-11-18 00:28:29 -05:00
Andrei Kurushin 0a31e26344 fix logging=off build 2016-11-16 23:14:28 -05:00
Alden Torres 9e1305ed75 auto loop, consts and minor cleanup refactor 2016-11-15 19:54:38 -05:00
Andrei Kurushin c4f1a928a4 fix i2p=off build 2016-11-15 19:48:14 -05:00
arvidn 14236993ea collapse logic in piece_manager into storage directly 2016-11-13 02:53:16 -05:00
Alden Torres 2b58cb9de3 using std instead of boost for integral types and some headers cleanup 2016-11-12 21:22:59 -05:00
arvidn ccd539f977 pull check resume data logic out of piece_manager into disk_io_thread and simplify it 2016-11-12 18:03:18 -05:00
arvidn c9333849e6 deprecate relative times in torrent_status, replaced by std::chrono::time_point 2016-11-12 17:37:10 -05:00
arvidn bba121d010 fix recent regression causing potential duplicate add_torrent_alerts 2016-11-12 01:03:38 -05:00
arvidn e447a50c9d use enum class in udp_tracker_connection 2016-11-11 21:39:54 -05:00
arvidn 583082a3a0 merged RC_1_1 into master 2016-11-09 19:53:55 -05:00
arvidn f33d1b32e3 add trackers from add_torrent_params/magnet links to separate tiers 2016-11-09 18:44:01 -05:00