Commit Graph

6973 Commits

Author SHA1 Message Date
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
Alden Torres 1a159666ff some refactor in ip change notifier source code (#1301)
some refactor in ip change notifier source code. using NETLINK_ROUTE (value 0) as the default nl_family
2016-11-08 03:44:43 -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 11ca69b9fc simplify disk_io_thread interface by setting the number of threads via settings rather than a separate function 2016-11-06 23:07:09 -05:00
arvidn 3ff89f29d7 remove explicit ticking of storage from the torrent. instead make the disk_io_thread do it automatically 2016-11-06 10:26:10 -05:00
arvidn c72053a75c remove unused clear_read_cache function 2016-11-05 21:39:45 -04:00
arvidn 2a999e1ea7 merge RC_1_1 into master 2016-11-03 23:58:35 -04:00
Arvid Norberg f5c7a49d61 remove incorrect deleted-storages assert and add some more test coverage in test_metadata_extensions (#1286) 2016-11-03 19:39:42 -04:00
arvidn d91f6f8c05 merged RC_1_1 into master 2016-11-03 01:19:38 -04:00
Alden Torres aef614a74c fix build warnings/errors, typos and minor cleanup (#1277)
fix build warnings/errors, typos and minor cleanup. no need to provide boost::throw_exception, better left it to the user
2016-11-02 01:03:12 -04:00
Arvid Norberg 09cbd0a51d remove deprecated disk_io_thread operations (#1284) 2016-11-02 01:01:27 -04:00
Arvid Norberg b61ebca14a moved async-load-torrent feature out of disk-io-thread (#1282)
moved async-load-torrent feature out of disk-io-thread into a generic worker thread
2016-11-02 01:01:04 -04:00
Arvid Norberg 1c2a8fb96e move coalescing of reclaim block from disk_io_thread to session_impl (#1281) 2016-10-31 23:48:30 -04:00
Arvid Norberg 21d05945f2 documentation and deprecation fixes (#1275)
documentation and deprecation fixes
2016-10-31 20:00:01 -04:00
Arvid Norberg 8daa200d11 simplify interaction with disk_io_thread by removing the uncork interface (#1271)
simplify the interaction with the disk_io_thread by removing the uncork interface. This should be turned into a transparent part of peer_connection instead and remove cork logic from peer_connection
2016-10-30 18:21:07 -04:00
arvidn b97bb84a9f merge RC_1_1 into master 2016-10-29 14:25:57 -04:00
Arvid Norberg 7476f7875e don't check file-sizes resume data for files that likely is in the partfile (#1268) 2016-10-29 13:53:24 -04:00
Arvid Norberg d1a59879cb deprecate mmap_cache (#1269)
deprecated mmap_cache feature
2016-10-29 13:42:42 -04:00
Alden Torres dac0b9ec64 more use of nullptr, minor refactor and formatting (#1267) 2016-10-28 12:28:27 -04:00
arvidn 500bb24dba merged RC_1_1 into master 2016-10-26 23:30:58 -04:00
Arvid Norberg 5f3c52f406 transition to more default member initializers (#1261) 2016-10-26 20:41:57 -04: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
Alden Torres 6751a1eeb1 removed spaces in template types and more c++11 auto/loop refactor 2016-10-26 00:08:00 -04:00
Alden Torres 4eebd0c68a minor refactor, compilation fix when DEBUG_DISK_THREAD and missing convert_to_native (#1256) 2016-10-25 20:46:23 -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
Arvid Norberg 675d16a2c3 remove remainder of eviction/ghost torrent feature (#1251)
remove remainder of eviction/ghost torrent feature
2016-10-25 08:02:34 -04:00
Steven Siloti cf7db392b6 assert that offset didn't change while hashing 2016-10-25 07:59:02 -04:00
Steven Siloti f36b9a805a avoid concurrent access to hash offset
Since partial_hash::offset is not an atomic it is technically UD to access it
concurrently from multiple threads.
2016-10-25 07:59:02 -04:00
Steven Siloti 241e9fd25a add assert to detect index out-of-range 2016-10-25 07:59:02 -04:00
Alden Torres 8bdbaec872 minor cleanup refactor (#1252) 2016-10-24 20:19:01 -04:00
Arvid Norberg f16d0b7953 add unit test for 'file_sizes' entry in resume data (#1248)
add unit test for 'file_sizes' entry in resume data. fix resume data bug in client_test for magnet links and minor resume data cleanup in default_storage
2016-10-23 22:01:09 -04:00
Arvid Norberg 5341be1e84 more improvement to error/exception handling (#1247)
improvement to error/exception handling
2016-10-22 22:00:47 -04:00
Steven Siloti a6e5ba8804 return a span from TORRENT_ALLOCA (#1244)
return a span from TORRENT_ALLOCA

Unfortunately this requires moving the variable declaration inside the macro.
Due to alloca’s unique properties pretty much the only safe way to call it is
in a simple assign-to-pointer expression. Therefor we need to use a temporary
pointer to store the value returned from alloca before we can call span’s ctor.

This also causes double evaluation of the size parameter which is unfortunate,
but no current callers of TORRENT_ALLOCA have a problem with this. Passing
expressions with side effects to macros is bad mojo anyways.
2016-10-22 14:43:40 -04:00
Pavel Pimenov e9f9c3ca22 Fix sizeof(values)/sizeof(values[0] (#1246) 2016-10-22 14:12:23 -04:00
Arvid Norberg 6148984426 remove whitespace at end of line (#1245) 2016-10-22 11:47:24 -04:00
arvidn 31d34fec41 fix issue in previous block_cache patch 2016-10-22 11:08:19 -04:00
Arvid Norberg 2d2874d252 minor block_cache cleanup. make hash be a unique_ptr (#1241) 2016-10-21 07:37:15 -04:00
Alden Torres a12f62593e minor code refactor in disk_io_thread and block_cache (#1238) 2016-10-21 00:25:48 -04:00
Pavel Pimenov 8c20f4e1fd utp_match: Reduced call boost::asio::ip::address address() (#1235)
check connection ID before source address in uTP connection lookup
2016-10-20 20:49:59 -04:00
Alden Torres ad6af13129 deleted mpi.cpp from merge of RC_1_1 (#1236) 2016-10-20 16:16:42 -04:00
arvidn b1e22e6183 merged RC_1_1 into master 2016-10-20 00:36:54 -04:00
Arvid Norberg 5012fcf10b fix bug in last-seen-complete (#1234) 2016-10-20 00:15:26 -04:00
Alden Torres fe754453f4 backport of fix for LFS support in android (#1232) 2016-10-20 00:14:03 -04:00
Arvid Norberg 7009001f73 fix ambiguous call to abs() in tommath (#1228)
fix ambiguous call to abs() in tommath
2016-10-20 00:13:45 -04:00
Pavel Pimenov 037f349cee Try resolve #1175 (for RC_1_1) (#1230)
https://github.com/arvidn/libtorrent/pull/1223
2016-10-19 17:29:35 -04:00
Pavel Pimenov 91845aa6c8 Prevent duplicate url (#1231)
prevent creating torrents with duplicate trackers as well as adding duplicate trackers to torrent_info
2016-10-19 17:28:35 -04:00
Alden Torres 5f04103a9d ensure posix calls with LFS support are used in android (#1226) 2016-10-19 13:00:03 -04:00
Alden Torres ded3ed6abf refactor in alert types to use more const fields and more clear API (#1222)
refactor in alert types to use more const fields and more clear API
2016-10-19 01:32:15 -04:00
Arvid Norberg 524f7b1c27 fix error handling by exercising code paths where memory allocations fail (#1221)
fix error handling by exercising code paths where memory allocations fail
2016-10-19 01:18:05 -04:00
Arvid Norberg 85fe06659e fix buffer overrun in dht_get_peers_reply_alert (#1219) 2016-10-16 19:40:39 -04:00
Alden Torres 0f20af3710 minor refactor, consts and cleanup in alerts (#1210)
minor refactor, consts and cleanup in alerts
2016-10-16 03:12:41 -04:00
Steven Siloti fc7b4c1c4f update comment to reflect new quota definition 2016-10-15 21:32:14 -04:00
Steven Siloti c13286b945 take upload speed into account in round-robin choker
The unchoked peers need to be sorted by upload speed so that the slowest node
will get choked as part of optimistic unchoking.

Also change the minimum quanta to 1 minute instead of 256KB.

Also remove a useless multiply in the fastest peer choker since the priorities
are guarenteed to be equal at that point.

Fixes #1171
2016-10-15 21:32:14 -04:00
Arvid Norberg c4119158a4 use in-class initializers for torrent_status (#1215) 2016-10-15 17:35:50 -04:00
Arvid Norberg c18c12a144 remove ghost torrent/torrent eviction feature. (#1214)
remove ghost torrent/torrent eviction feature. It was very complex and did not solve the problem very well
2016-10-15 13:32:59 -04:00
Arvid Norberg 25195a7260 back port DHT fixes from master (#1209)
back port DHT fixes from master
2016-10-14 23:47:59 -04:00
Angel Leon 9cdf0ee50c Boolean simplifications (oct 13th 2016) (#1211)
boolean simplifications
2016-10-14 16:13:18 -04:00
Alden Torres 8839722bec minor http related code cleanup (#1212) 2016-10-14 16:12:02 -04:00
Arvid Norberg 540b5b28d7 use signed counters in traversa_algorithm, and add some more asserts (#1208)
use signed counters in traversal_algorithm, and add some more asserts
2016-10-14 08:03:09 -04:00
Arvid Norberg e0c8ad738d include target in DHT lookups, when queried from the session (#1207) 2016-10-12 23:39:00 -04:00
Alden Torres e0d7729f87 using arm neon inline assembly and using it only if in 32 bits (#1201)
using arm neon inline assembly
2016-10-12 00:02:02 -04:00
Arvid Norberg c966435d1c fix issue where shutting down the session immediately and asynchronously starting the DHT would cause a shutdown hang (#1203) 2016-10-10 22:54:19 -04:00
Arvid Norberg 6bb2d7c017 Sanitize 1.1 (#1197)
enable address sanitizer
2016-10-09 17:00:20 -04:00
arvidn 57704d0249 Merge branch 'master' of https://github.com/arvidn/libtorrent 2016-10-08 14:18:12 -04:00
arvidn 1c89fcda48 merge RC_1_1 into master 2016-10-08 14:17:51 -04:00
Arvid Norberg 20f65946f2 make single-argument constructors explicit (#1194)
make single-argument constructors explicit
2016-10-08 14:07:11 -04:00
Arvid Norberg 5f7e2eb928 run undefined sanitier on travis/linux (#1134)
run undefined sanitizer on travis/linux. back-port ed25519 unit test from master
2016-10-08 12:29:46 -04:00
Arvid Norberg 7bfb97ba44 use in-class default initializers for utp_stream class members (#1196)
use in-class default initializers for utp_stream class members
2016-10-08 12:12:33 -04:00
Alden Torres f580fcaa67 refactor in buffer.hpp to not use anonymous namespace in header (#1192)
refactor in buffer.hpp to not use anonymous namespace in header
2016-10-08 01:12:34 -04:00
Pavel Pimenov 93d8955750 Fix #1182 (#1188)
Add webseed URL duplicate check
2016-10-07 15:36:40 -04:00
Pavel Pimenov af2a9a875b Fix sizeof(X)/sizeof(T) and _countof (#1189)
https://msdn.microsoft.com/en-us/library/ms175773.aspx
 http://www.viva64.com/en/w/V651/print/
2016-10-06 17:45:35 -04:00
Arvid Norberg 5c361715da handle exceptions in session and torrent io_service jobs (#1185)
handle exceptions in session and torrent io_service jobs
2016-10-06 00:08:14 -04:00
Arvid Norberg 3c355bb3f8 use string_view in alert constructors (#1186) 2016-10-04 23:58:26 -04:00
Alden Torres 9343f2fbfb minor header cleanup and refactor (#1179) 2016-10-04 07:43:34 -07:00
Alden Torres be70afa4b8 refactor log methods in public peer_connection_handle for stable ABI (#1180)
expose log functions in peer_connection_handle with empty bodies when logging is disabled
2016-10-03 21:35:40 -07:00
Arvid Norberg 7a52a285a1 back-port error_code cleanup from master (#1173)
back-port error_code cleanup from master
2016-10-03 16:32:40 -07:00
Arvid Norberg 8bb7aa62ae generalize and improve http redirect support for web seeds (#1060)
generalize and improve http redirect support for web seeds
2016-10-02 23:08:03 -07:00
Arvid Norberg cebd976cc2 fix error_code vs. error_condition traits (#1169)
fix error_code vs. error_condition traits. deprecate get_*_category(), instead use *_category()
2016-10-02 12:27:50 -07:00
Alden Torres 1974dca150 minor refactor of dht_default_storage (#1166)
refactor of dht_default_storage structures
2016-09-30 20:42:57 -04:00
Alden Torres 331a8d53c0 refactor to use move with dht_state (#1163)
refactor to use move with dht_state
2016-09-29 08:25:51 -04:00
Alden Torres af92e91a90 missing inc dht counter and minor cleanup (#1164) 2016-09-28 23:25:08 -04:00
Alden Torres 84e735c0ea refactor for more use of move with settings_pack (#1162) 2016-09-28 13:28:43 -04:00
Steven Siloti 85dd682551 fix adding a node with unknown id (#1161)
Commit a414e4c3 broke adding nodes with unknown id to the routing table by
causing them to be evicted when they responded with their real id. This should
have been caught by test_bootstrap, but a typo caused that test to silently
exit early.
2016-09-28 13:28:21 -04:00
Alden Torres 8caebbd026 alerts refactor to use span, don't break ABI when logging, fix compilation (#1159)
alerts to use span, don't break ABI when logging, fix compilation
2016-09-27 23:21:18 -04:00
Arvid Norberg f592d7fcb0 various cleanup and formatting updates (#1158) 2016-09-26 20:05:04 -04:00
Alden Torres 31ce1e5a2c dht headers and minor cleanup (#1157) 2016-09-26 18:04:42 -04:00
Arvid Norberg 9cebd4569f general cleanup of disk_buffer_holder and tailqueue (#1156)
general cleanup of disk_buffer_holder and tailqueue
2016-09-26 14:22:38 -04:00
Arvid Norberg 179e238561 move bitfield's find_first_set and find_last_clear into cpp file (#1155) 2016-09-26 10:58:09 -04:00
Arvid Norberg 97c6a75084 add proper error handling to peer connections and session (#1149)
add proper error handling to peer connections and session. i.e. catch exceptions in asio handlers and catch by const reference
2016-09-25 09:50:48 -04:00
Alden Torres b60fe066e2 compare with generic_category in close_reason (#1152) 2016-09-25 01:42:45 -04:00
Alden Torres 4693fcf3f1 dht source code and headers cleanup (#1150) 2016-09-24 22:20:20 -04:00
Arvid Norberg da8af033cc modernize utf8 conversion functions to throw and move (#1145)
modernize utf8 conversion functions to throw and move
2016-09-24 22:16:10 -04:00
Arvid Norberg 372d992d8e make connection_type enum an enum class (#1146) 2016-09-24 10:47:17 -07:00
Arvid Norberg d2002c5248 separate piece_block and has_block out to their own headers (#1148) 2016-09-24 08:46:56 -07:00
Arvid Norberg 48a647a169 String view entry (#1147)
make entry support string_view in its interface, and make it efficient when in in C++14
2016-09-24 06:10:54 -07:00
Steven Siloti 2e0140b6f6 fix peer picking algorithm (#1141)
fix peer picking algorithm. The old code was always picking the first to_pick peers from the set.
2016-09-24 06:08:52 -07:00
Alden Torres b1b74657f6 added consts and minor refactor (#1137)
added consts and minor refactor
2016-09-23 13:51:20 -07:00
Alden Torres 158ae3a4ba consts, minor refactor, typos and test (#1142) 2016-09-23 13:49:39 -07:00
Arvid Norberg 24b271b7c1 Merge pull request #1133 from ssiloti/peer-picker
fix DHT peer picking algorithm. The old code was always picking the first to_pick peers from the set.

* use a sorted vector to store peer announcments

Given the frequency of linear scans being done, std::set is clearly
sub-optimal for storing announced peers. A std::vector is the obvious
choice, which I also decided to make sorted. A sorted vector trades
better performance in announce_peer for slower purging, the latter
being mitigated by batching.

* shrink peers vectors with too much excess capacity
2016-09-23 13:48:00 -07:00
Steven Siloti 35cfc6b5d3 shrink peers vectors with too much excess capacity 2016-09-23 07:30:36 -07:00
Steven Siloti 89942bf3d4 use a sorted vector to store peer announcments
Given the frequency of linear scans being done, std::set is clearly
sub-optimal for storing announced peers. A std::vector is the obvious
choice, which I also decided to make sorted. A sorted vector trades
better performance in announce_peer for slower purging, the latter
being mitigated by batching.
2016-09-22 21:54:10 -07:00
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
Arvid Norberg 885e4f8fc4 use default member initializers instead of initialization lists in announce_entry (#1129) 2016-09-22 12:00:31 -07:00
Alden Torres c7ec987a1b refactor in msg verify_message and minor cleanup (#1131) 2016-09-21 23:04:05 -07:00
Steven Siloti 23e11af899 fix peer picking algorithm
The old code was always picking the first to_pick peers from the set.
2016-09-21 20:21:34 -07:00
Steven Siloti c75b243490 remove redundant protocol parameter (#1128) 2016-09-21 20:00:39 -07:00
Arvid Norberg 269e384c2c use string_view in create_torrent (#1120)
use string_view in create_torrent
2016-09-21 19:59:43 -07:00
Arvid Norberg b20b3ad1ac remove file size limit in torrent_info filename constructor (#1126) 2016-09-21 19:54:42 -07:00
Arvid Norberg f712caa80d deprecate send_stats property on trackers (since lt_tracker extension has been removed) (#1125) 2016-09-21 16:54:49 -07:00
Pavel Pimenov 62536c790d Decreased performance. Ineffective use of the 'count' function. It can possibly be replaced by the call to the 'find' function (#1127) 2016-09-21 16:51:51 -07:00
Arvid Norberg 770b0def0c Merge pull request #1122 from ssiloti/peers-storage-policy
new peers storage policy
2016-09-21 07:35:34 -07:00
Arvid Norberg 03068ffa0b Merge pull request #1108 from arvidn/user-agent-1.1
user agent anonymous mode
2016-09-21 07:25:15 -07:00
Arvid Norberg 752ff24357 Merge pull request #1123 from aldenml/system-port-and-logs-1.2
* accept port 0 in listen_interfaces
* more session log and source code refactor
2016-09-20 23:50:49 -07:00
Arvid Norberg 3e7e806a77 deprecate old session_settings API (use settings_pack instead) (#1117)
deprecate old session_settings API (use settings_pack instead)
2016-09-20 23:49:23 -07:00
Alden Torres f139776542 using consts refs in add_torrent_alert (#1124) 2016-09-20 23:14:42 -07:00
Arvid Norberg 4d716361c0 minor code cleanup (#1116) 2016-09-20 22:10:06 -07:00
Alden Torres 35f98f6a4d added a few consts to file_storage and typos (#1111) 2016-09-20 22:06:07 -07:00
Steven Siloti dad0000015 send write token if peer is alraedy stored 2016-09-20 19:35:24 -07:00
Alden Torres 4f6ea4a70d more session log and source code refactor 2016-09-20 11:24:24 -04:00
Alden Torres 089d6c3144 accept port 0 in listen_interfaces 2016-09-20 11:11:24 -04:00
Steven Siloti e2fefb074a always drop the announcing peer when at capacity 2016-09-19 21:51:10 -07:00
Steven Siloti 6e24bbe77a only send a write token if we have storage space available 2016-09-19 21:51:10 -07:00
arvidn 85a2a5c5cb don't send user-agent in metadata http downloads or UPnP requests when in anonymous mode 2016-09-18 17:16:03 -07:00
Arvid Norberg acf77a5385 fix tail-padding for last file in create_torrent (#1106) 2016-09-18 20:08:27 -04:00
Alden Torres db14df5d0d dht code related refactor and cleanup (#1107)
dht code related refactor and cleanup
2016-09-18 20:08:15 -04:00
Arvid Norberg 80ba45e1fb clean up read_endpoint_list (#1102) 2016-09-18 10:12:54 -04:00
Arvid Norberg 219b2c36b4 upnp and natpmp modernization and cleanup (#1103)
upnp and natpmp modernization and cleanup
2016-09-18 10:11:56 -04:00
Arvid Norberg 527772420a fix tail padding in file_storage::optimize and improve file placement with some tests (#1105) 2016-09-18 00:24:20 -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
Alden Torres b4da884f29 created lsd_callback, log optimization and cleanup in lsd (#1099) 2016-09-16 12:21:41 -04:00
Alden Torres d94c317f02 created portmap_callback and refactor for natpmp and upnp log optimization (#1096)
created portmap_callback and refactor for natpmp and upnp log optimization
2016-09-16 09:53:17 -04:00
Alden Torres d9489878a0 rpc_manager log optimization and minor refactor (#1095)
more on log optimization
2016-09-16 08:21:07 -04:00
Alden Torres 0507764d04 consts and refactor, hash_address returns the hash (#1093)
consts and refactor
2016-09-15 21:13:43 -04:00
Steven Siloti 0759b732c1 web_peer_connection: make a copy of the request before calling incomi… (#1091)
web_peer_connection: make a copy of the request before calling incoming_piece
2016-09-14 12:29:07 -04:00
Steven Siloti 3d3367387a check the address family of peers in get_peers (#1090) 2016-09-14 11:29:27 -04:00
Alden Torres c25bae163d avoid warnings with clang and minor dht_tracker code changes (#1092) 2016-09-14 11:28:50 -04:00
Alden Torres acf353e26a general session, torrent and peer connection log optimization (#1088)
general session, torrent and peer connection log optimization
2016-09-13 22:46:07 -04:00
Arvid Norberg 392726a2a9 factor out code from alert_manager::should_post template into non-template (#1089) 2016-09-13 22:45:39 -04:00
Alden Torres 224ebc1ded peer_connection log related optimization (#1086)
peer_connection log related optimization and making m_alert_mask atomic
2016-09-13 17:07:22 -04:00
sledgehammer999 22043fd186 Use std::random instead of Boost.Random when in c++11 mode. (#1087) 2016-09-13 17:07:01 -04:00
Alden Torres 65cdc15543 more on log, consts, refs and cleanup in dht related code (#1082)
more on log, consts, refs and cleanup in dht related code. moving print_state out of main source code
2016-09-13 08:18:47 -04:00
Steven Siloti 850eca1f21 don't pop request until we're done with it (#1085) 2016-09-13 02:37:00 -04:00
milesdong dc4d9af2e6 fix invalid memory access in utp_stream and torrent (#1084)
fix invalid memory access in uTP PMTUd
2016-09-13 02:36:23 -04:00
Alden Torres 3fa74c6fd5 more consts refs and formatting (#1080) 2016-09-12 09:20:15 -04:00
arvidn fbf926da1f Merge branch 'master' of https://github.com/arvidn/libtorrent 2016-09-11 21:02:35 -04:00
arvidn 33414de68d merged RC_1_1 into master 2016-09-11 21:01:03 -04:00
Alden Torres 1a0c6f5e61 more dht log optimizations (#1079) 2016-09-11 20:49:15 -04:00
Alden Torres 4d4eb66c8b some refactor, more const refs and span use (#1078)
some refactor, more const refs and span use
2016-09-11 01:58:48 -04:00
Alden Torres 5480e2eedc some consts refs and refactor (#1075)
some consts refs and refactor
2016-09-09 15:02:20 -04:00
Alden Torres 99da5c8017 dht log optimization, consts and refactor (#1073)
dht log optimization and refactor
2016-09-08 19:13:46 -04:00
Alden Torres 01e9810f7a more boost types cleanup and handling of deprecated macos libcrypto (#1072)
more boost types cleanup and handling of deprecated macos libcrypto. more granular TORRENT_MACOS_DEPRECATED_LIBCRYPTO
2016-09-07 17:51:18 -04:00
Alden Torres 4c53d7b2da refactor to use std unordered containers and minor cleanup (#1070) 2016-09-06 23:37:36 -04:00
Alden Torres 5e69dc700c minor cleanup and refactor (#1069) 2016-09-06 18:34:03 -04:00
Alden Torres e4a27c0b4b backport of fix in resolve_links::match (#1068)
backport of fix in resolve_links::match
2016-09-06 18:30:30 -04:00
Alden Torres 7a0da72813 use of std::unordered_multimap and fix in resolve_links::match (#1067)
use of std::unordered_multimap and fix in resolve_links::match
2016-09-06 13:04:28 -04:00
Alden Torres b313de3925 some refactor and cleanup (#1065) 2016-09-05 22:25:20 -04:00
Arvid Norberg 994a84cfe8 enable string tests on appveyor (#1064) 2016-09-05 15:17:12 -04:00
Alden Torres 0d64bda8d3 refactor to use unique_ptr with session_impl::m_work (#1063) 2016-09-04 21:49:11 -04:00
Alden Torres e11f233086 minor cleanup/refactor (#1062) 2016-09-04 18:24:20 -04:00
Alden Torres 728e74eca7 refactor to avoid use of optional with piece_block_progress (#1061) 2016-09-04 12:31:02 -04:00
Alden Torres 29a4075555 refactor to use std::shared_ptr with dht observer (#1057)
refactor to use std::shared_ptr with dht observer
2016-09-02 21:05:11 -04:00
Alden Torres fd4c09d7b2 refactor to use std::shared_ptr with traversal_algorithm (#1056)
refactor to use std::shared_ptr with traversal_algorithm. use a more stable linaro gcc link
2016-09-02 16:42:55 -04:00
Arvid Norberg 19dd9d323a add some const and enum class (#1055) 2016-09-02 08:27:38 -04:00
Alden Torres 585a760588 headers cleanup (#1054)
headers cleanup
2016-09-01 15:04:58 -04:00
Alden Torres 3faa771843 removed use of boost::bind and boost::scoped_array (#1053) 2016-09-01 09:43:53 -04:00
Arvid Norberg 5f5589d137 deprecate and remove remote_dl_rate feature (#1051)
deprecate and remove remote_dl_rate feature
2016-09-01 09:43:08 -04:00
Arvid Norberg c310d15cac deprecate some settings that aren't in use anymore (#1052) 2016-09-01 09:42:49 -04:00
Steven Siloti 29e6cbbdae fix exit condition when parsing nodes (#1046)
fix exit condition when parsing nodes
2016-09-01 00:49:21 -04:00
Alden Torres bf0008933a refactor to use std::shared_ptr with peer_connection, core and tests (#1050) 2016-08-31 21:42:18 -04:00
Alden Torres 6e891a0211 refactor to use std::shared_ptr with http_connection (#1049) 2016-08-31 12:45:45 -04:00
Alden Torres cdb15ba886 refactor to use std::shared_ptr with torrent (#1048) 2016-08-31 08:27:36 -04:00
Arvid Norberg 44a761e5c8 Merge pull request #1047 from ssiloti/rpcm-cleanup
rpc_manager: remove unused timer
2016-08-31 02:04:00 -04:00
Steven Siloti 134d62ab08 rpc_manager: remove unused timer 2016-08-30 19:40:11 -07:00
Alden Torres 658fa46f0a no warnings in random with openssl-1.1 and minor refactor 2016-08-30 21:23:08 -04:00
Arvid Norberg 33ec20f7b6 more use of std::shared_ptr refactor (#1043) 2016-08-30 21:16:34 -04:00
arvidn b554909486 hint DHT bootstrap nodes of actual bootstrap request 2016-08-30 21:15:35 -04:00
Alden Torres cfd2caeb74 no more extension_list_t type and uncommented call to torrent_plugin::on_load (#1042) 2016-08-30 17:36:44 -04:00
Alden Torres e2487c4d24 more use of std::shared_ptr refactor 2016-08-30 10:10:53 -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 2ac45d17ef ed25519 api refactor (#1041) 2016-08-30 02:37:51 -04:00
Alden Torres ebe53883b5 refactor in escape_string and escape_path to use string_view (#1039) 2016-08-29 22:37:19 -04:00
Arvid Norberg 9ac7475a90 simplify some constructors with in-class initializers (#1038)
simplify peer_connection, torrent and session_impl's contstructors by moving simple parts to their header files
2016-08-29 20:29:27 -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 118e30fd86 minor cleanup/refactor (#1036) 2016-08-28 00:04:16 -04:00
Arvid Norberg c7eb76593c deprecate torrent priority (#1032)
deprecate torrent priority
2016-08-26 12:37:23 -04:00
Alden Torres 227b630bd1 added string_ends_with to replace boost (#1034)
added string_ends_with to replace boost
2016-08-26 12:36:09 -04:00
Alden Torres c05e29c48e trivial cleanup and minor changes (#1033) 2016-08-26 00:14:11 -04:00
Steven Siloti 3a665a1040 fix inconsistant prefix calulcation (#1030)
The special case for calculating the prefix in the last bucket was being
applied to the condidate node but not the existing nodes in the bucket.
2016-08-25 19:26:48 -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 558ec097a2 fix applying settings to only take actual updates into account (#1027) 2016-08-22 21:38:57 -04:00
Alden Torres 73d6ba6ae3 using span in torrent_handle and no optional in torrent_info (#1023) 2016-08-22 11:02:51 -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
arvidn 97ce1b07bf fix building tarball 2016-08-21 20:21:50 -04:00
Arvid Norberg 3f693fde42 fix build (#1025)
fix build
2016-08-21 20:20:46 -04:00
arvidn 74fc0fae9d merged RC_1_1 into master 2016-08-21 16:28:49 -04:00
Arvid Norberg debf3c6e36 update puff.c for gzip inflation (#1022)
update puff.c for gzip inflation
2016-08-21 14:43:44 -04:00
Alden Torres 00510d2b06 more use of span and std::shared_ptr (#1018)
more use of span and std::shared_ptr
2016-08-21 13:37:11 -04:00
Arvid Norberg 80e5ce9b32 add a default DHT bootstrap node when it's enabled on session startup (#1008)
make the dht bootstrap nodes part of settings_pack instead, to make it possible to set them on startup. and add default
2016-08-21 12:15:19 -04:00
Arvid Norberg daa453ef3b back-port windows stack trace function to 1.1 (#1017)
back port exception handling and stack trace printing from master -> RC_1_1
2016-08-21 01:07:02 -04:00
Alden Torres 4d96939b7b minor cleanup and refactor (#1016)
minor cleanup and refactor
2016-08-20 19:46:55 -04:00
Alden Torres bd557ca2b2 minor refactor to make it more swig friendly (#1014) 2016-08-20 11:29:31 -04:00
Arvid Norberg b701fb252a clear alert nofify function when calling abort on a session, to avoid touching a destructed session object (#1015) 2016-08-20 11:04:44 -04:00
Alden Torres 9fd83aaa10 more use of std::shared_ptr (#1009)
more std::shared_ptr transition
2016-08-18 17:08:40 -04:00
Alden Torres 5789b02e1b storage_interface refactor to use span and references (#1007)
storage_interface refactor to use span and references
2016-08-18 11:57:50 -04:00
Alden Torres bb388563b3 refactor to use torrent_info with std::shared_ptr (#1006) 2016-08-17 17:26:35 -04:00
Alden Torres 7cee486cf7 extensions refactor to use span and std::shared_ptr (#1005)
extensions refactor to use span. use std::shared_ptr instead of boost::shared_ptr.
2016-08-17 14:30:24 -04:00
Alden Torres f4127ae12b refactor in crypto_plugin::decrypt to use tuple 2016-08-16 10:21:17 -04:00
Alden Torres 7a2b21407c refactor in crypto_plugin to use span 2016-08-15 23:09:30 -04:00
Alden Torres 9b0bc2ed5f peer_plugin refactor (#1002)
refactor of ut_pex peer storage
2016-08-15 21:05:39 -04:00
Alden Torres f51e782905 using string_view in node::incoming_request and plugin::on_dht_request (#1001)
use string_view in node::incoming_request. changed plugin::on_dht_request to use string_view
2016-08-15 16:17:13 -04:00
Alden Torres 2f7adfbb92 no more deprecated std::random_shuffle (#999)
replace deprecated std::random_shuffle. more aggressive random_shuffle in DHT simulation setup. use travis_retry.
2016-08-14 19:48:31 -04:00
Arvid Norberg bc8c49dc15 make file_status return the vector instead of taking an out-parameter (#1000)
make file_status return the vector instead of taking an out-parameter
2016-08-14 13:11:59 -04:00
arvidn e247473b86 bump version number 2016-08-13 07:12:23 -04:00
arvidn 8c8c3d5587 replace boost::function with std::function 2016-08-13 07:07:26 -04:00
Arvid Norberg e36e5efaba use boost::string_ref (#996)
use boost::string_ref/boost::string_view in various parts of the code, in file_storage, some file functions and in bdecode.
2016-08-13 07:04:53 -04:00
Alden Torres a966458f8c minor cleanup (#997)
minor cleanup
2016-08-12 19:24:03 -04:00
Alden Torres 74c8054e8d created session_params and refactor (#993)
created session_params and new session constructor
2016-08-11 20:32:14 -04:00
arvidn 231dffd392 fix whitespace 2016-08-08 18:16:05 -04:00
Arvid Norberg 8007b947fd make pad-file and symlink support conform to BEP47 (#992)
make pad-file and symlink support conform to BEP47
2016-08-07 22:37:10 -04:00
arvidn 42b3fbe20a merged RC_1_1 into master 2016-08-07 17:23:40 -04:00
Alden Torres af565e2b86 added support for flz (find last zero) and copied bitfield functions from PR #565 (#986)
added support for flz (find last zero) and copied bitfield functions from PR #565
2016-08-07 16:21:08 -04:00
Arvid Norberg e9a7271aca add piece picker test for re-prioritizing downloading/writing/partial pieces (#989)
add piece picker test for re-prioritizing partial pieces and forward port steven's piece picker fix from RC_1_1
2016-08-07 16:05:20 -04:00
Steven Siloti bc369683df handle short reads when exporting a file (#990)
handle short reads when exporting a file. Pieces in the part file are not guaranteed to be fully written so short reads need to be handled rather than asserting.
2016-08-07 16:04:29 -04:00
Steven Siloti d4296730d0 fix re-prioritizing a piece while it is downloading (#987)
update_piece_state does not expect that the piece's priority has also changed
since the last time the piece was updated. Make sure the piece's priority is
updated before trying to update the state.
2016-08-07 15:27:04 -04:00
Arvid Norberg 71f5510d62 make the random function produce proper random distributions, based o… (#981)
make the random function produce proper random distributions, based on uniform_int_distribution of C++11. also clean up piece_picker's priority_range to return two results instead of taking pointers to out-parameters. fix recent pe-crypto regression exposed by this change
2016-08-06 13:18:48 -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 1bae47479b make settings_pack moveable (#982) 2016-08-05 00:28:03 -04:00
Alden Torres fdfe69f414 fixed warnings and compilation issues (#980)
fixed warnings and compilation issues
2016-08-03 00:35:40 -04:00
Alden Torres 8fedfcdce6 more trivial cleanup (#979) 2016-08-02 17:58:15 -04:00
Alden Torres 3c9ed50d0b some trivial cleanup (#978)
some trivial cleanup
2016-08-02 12:13:05 -04:00
Arvid Norberg caa034b1ac fix typo and add invariant check to piece_picker (#977)
fix typo and add invariant check to piece_picker
2016-08-02 07:20:13 -04:00
Arvid Norberg 5b230694e5 check autotools on travis (#973)
build and run tests with autotools on travis, and fix configure issues.
2016-08-02 00:46:15 -04:00
Alden Torres 0b3c64ee87 added TORRENT_EXPORT to avoid link weak symbol warning (#975) 2016-08-02 00:15:26 -04:00
Arvid Norberg 61031f1186 hack to allow timeout utp sockets that are about to be closed (#976) 2016-08-02 00:07:36 -04:00
Alden Torres e55a310e79 use of BOOST_FALLTHROUGH, typos and minor cleanup 2016-08-01 11:42:18 -04:00
arvidn 24dd6d0945 fix warning 2016-07-31 10:02:54 -04:00
arvidn 192559f245 fix warnings of unused return values from ftruncate() calls 2016-07-31 03:19:31 -04:00
arvidn 0126f6f2c6 fix timestamp arithmetic overflow 2016-07-30 00:38:17 -04:00
arvidn 2bdeb9aa6b fix build 2016-07-29 20:24:11 -04:00
arvidn e5ecd73751 fix rebase 2016-07-29 18:47:05 -04:00
arvidn 83dba91168 use span for to_hex and from_hex functions 2016-07-29 18:42:18 -04:00
Arvid Norberg 1d514b3f99 Merge pull request #961 from ssiloti/dht-sanitizing
remove DHT nodes which change their id
2016-07-29 18:00:22 -04:00
Steven Siloti 0343bb382e always check m_log before using it 2016-07-29 13:32:28 -07:00
Steven Siloti 44ce5c71e7 cleanup ip logging 2016-07-28 20:08:24 -07:00
Alden Torres a88c733f92 mark encryption_handler with TORRENT_EXTRA_EXPORT and minor cleanup (#963) 2016-07-28 14:57:26 -04:00
Alden Torres 68b1fc2fe8 fixed span::fist logic and minor cleanup (#960) 2016-07-28 01:54:57 -04:00
Steven Siloti 6ebc61cef9 reject nodes with our id after checking for an existing entry
This allows us to evict nodes which start reporting our id as theirs.
2016-07-27 21:10:34 -07:00
Steven Siloti 9d75198f7f re-ping nodes in a bucket when one changes id 2016-07-27 21:10:34 -07:00
Steven Siloti a414e4c3fa remove nodes which change their id
This is based on a suggestion from the8472 to prevent malicious nodes from
polluting the routing table.

https://github.com/the8472/mldht/blob/sanitizing-docs/docs/sanitizing-algorithms.rst
2016-07-27 21:10:33 -07:00
Alden Torres 98918d61f5 removed const_interval, mutable_buffer and const_buffer types (#956)
removed const_interval, mutable_buffer and const_buffer types
2016-07-27 22:31:08 -04:00
Arvid Norberg 634c2bce60 Span conversion (#944)
complete http_parser transition to use span. make xml_parse use span. remove buffer::interval. convert some of receive buffer management to use span<>
2016-07-26 02:15:31 -04:00
arvidn 680a09cfa5 merged RC_1_1 into master 2016-07-26 02:14:58 -04:00
terry zhao 48ca20968e fix value of current_tracker when all tracker failed (#932)
fix torrent_status::current_tracker when all trackers fail.
2016-07-26 01:13:28 -04:00
Arvid Norberg 6777ec5d05 back-ported dbghlp fix (#946)
back-ported dbghlp fix
2016-07-26 01:05:32 -04:00
Alden Torres 9af2072bc9 minor changes, typos and gcc tests in windows (#947)
minor changes, typos and gcc tests in windows
2016-07-25 17:58:00 -04:00
Arvid Norberg 0ea449a7b5 make local service discovery cookie support not so random numbers, to make the test reliable (#943) 2016-07-25 08:05:54 -04:00
Arvid Norberg 7fdab0d9e9 fix dbghlp heap corruption on windows
synchronize access to dbghlp.dll on windows
2016-07-25 08:05:26 -04:00
Arvid Norberg 118d06b780 remove deprecated extensions lt_trackers and metadata_transfer (#941) 2016-07-24 23:39:56 -04:00
Arvid Norberg 6370d5bc81 deprecate lt_trackers extension (#940)
deprecate lt_trackers extension
2016-07-24 23:37:03 -04:00
Steven Siloti 3321ca10f1 update our id in the rpc manager when it changes (#942)
update our id in the rpc manager when it changes
2016-07-24 21:30:36 -04:00
Arvid Norberg 4f803353cf transition part of http_parser to use span (#936)
transition parts of http_parser to use span
2016-07-24 00:52:20 -07:00
Arvid Norberg 9c2325ff6b modernize and improve type-safety of the DHT put implementation and test (#929)
modernize and improve type-safety of the DHT put implementation and tests. use unique_ptr instead of malloc for dht put items.
2016-07-23 15:57:04 -07:00
Alden Torres ddb274751f using span in crypto_plugin encrypt/decrypt (#934) 2016-07-23 15:54:39 -07:00
Alden Torres f57612b82d rename of aux::array_view to span (#933) 2016-07-22 09:31:42 -07:00
Arvid Norberg 7bf49c0a1c modernize hasher to use array_view (#931)
modernize hasher to use array_view as well as adding array_view support to entry
2016-07-22 07:29:39 -07:00
arvidn b8bfc13d59 merge fix 2016-07-20 11:48:44 -07:00
arvidn e405f0e02f merged RC_1_1 into master 2016-07-20 11:34:29 -07:00
Alden Torres 7446a88425 version to 1.2 (#924)
update version to 1.2
2016-07-20 11:29:24 -07:00
Arvid Norberg 5bda955f8f don't send bitfield to peers whose handshake we haven't fully received yet (#925) 2016-07-20 10:11:28 -07:00
terry zhao e75bb120b4 fix range of lsd::cookie (#920)
fix cookie range of lsd in lsd::on_announce
2016-07-18 09:19:45 -07:00
Sivachandran 8f3bd1052e fix mutable dht_get_item failure when salt is non-empty (#909) 2016-07-18 07:12:10 -07:00
Arvid Norberg 80fba1f748 fix crash in session::get_ip_filter when not having set one (#914) 2016-07-17 14:23:54 -07:00
Arvid Norberg 31fbbab89c clean up memory allocation in bitfield (#910)
clean up memory allocation in bitfield
2016-07-16 14:31:25 -07:00
Arvid Norberg e72f95e0d9 fix test_remap_files (#905)
fix test_remap_files
2016-07-15 14:35:57 -04:00
Arvid Norberg 0a3cb77d23 deprecate and remove guided read cache (#904) 2016-07-10 19:25:26 -04:00
Arvid Norberg 8c03718117 apply modernization transforms to headers too. nullptr, explicit constructors, = default (#903) 2016-07-10 14:27:42 -04:00
Arvid Norberg a740a49fd6 modernize misc (#898)
modernize misc
2016-07-10 07:34:45 -04:00
Arvid Norberg eaea4a81cc modernize: remove redundant smart ptr get(), use fixed-width integer types (#900) 2016-07-10 07:31:58 -04:00
Arvid Norberg fcac8c10ef i2p_stream cleanup (#899) 2016-07-10 01:24:06 -04:00
Arvid Norberg e801d2e6de modernize replace deprecated headers (#897) 2016-07-09 23:17:55 -04:00
Arvid Norberg e782783814 modernize use override (#895) 2016-07-09 20:10:38 -04:00
Arvid Norberg 770935cd46 modernize-use-nullptr (#894) 2016-07-09 16:26:26 -04:00
arvidn 3abd024ecc fix warning 2016-07-09 10:31:48 -04:00
arvidn 76bb6db1ab fixup 2016-07-09 02:34:50 -04:00
arvidn 2df81d0927 Merge branch 'RC_1_1' 2016-07-09 02:21:39 -04:00
Steven Siloti f0d7ec3954 refactor optimistic unchoke extension API (#888)
refactor optimistic unchoke extension API. The new interface is more efficient to implement and only allows extensions to affect the unchoke order in cases where the last unchoked timestamp is equal.
This is safer because it prevents extensions from overriding the round-robin ordering of optimistic unchokes.
2016-07-07 08:34:52 -04:00
Arvid Norberg e079d0291e fix filename escaping when repairing torrents with broken web seeds (#892)
fix filename escaping when repairing torrents with broken web seeds
2016-07-07 02:22:15 -04:00
arvidn 98af1cd54e merged RC_1_1 into master 2016-07-05 18:03:06 -04:00
Arvid Norberg c299149dc0 fix cppcheck (#887)
fix cppcheck
2016-07-05 08:42:11 -04:00
Arvid Norberg 3ec48ec5b4 support CryptoAPI on windows, for SHA-1 hashing (#882)
support CryptoAPI on windows, for SHA-1 hashing. don't always use openssl in test build configurations
2016-07-05 08:40:09 -04:00
Arvid Norberg cbb6f47f36 make some types movable (#885) 2016-07-04 18:19:55 -04:00
Steven Siloti e0c0b14e6c limit crypto messages to 1MB (#884)
limit crypto messages to 1MB
2016-07-04 02:48:13 -04:00
Arvid Norberg cf65f85dc3 fix file_completed_alert (#880) 2016-07-03 14:48:18 -04:00
Arvid Norberg 44c048f4f5 fix seed mode and suggest mode (#871)
fix resume data when combining seed-mode with suggest-mode
2016-07-02 16:20:12 -04:00
Arvid Norberg 103d574cb0 build and run all tests in macOS (#859)
build and run all tests in macOS. fix test build invocation on travis. remove bdecode_benchmark
2016-07-02 00:41:48 -04:00
Arvid Norberg 1facf0eef6 clean-up more defines (#872)
clean-up more defines. remove TORRENT_DEBUG and TORRENT_DISABLE_INVARIANT_CHECKS (instead use TORRENT_USE_ASSERTS and TORRENT_USE_INVARIANT_CHECKS)
2016-07-01 19:46:59 -04:00
Alden Torres 39e971c2ce added support for arm crc32c and changed to test in arm 32 bits (#869)
added support for arm crc32c and changed to test in arm 32 bits
2016-06-30 11:37:55 -04:00
Arvid Norberg 97ad7510af minor refactoring to move-storage patch (#680)
minor refactoring to move-storage patch
2016-06-29 20:05:28 +03:00
Vladimir Golovnev faef995cdc Move storage "file-by-file" (#632)
When moving storage for a torrent, only move files belonging to the torrent, one by one.
2016-06-29 20:05:16 +03:00
arvidn 08aebd2729 format more log messages in alert constructors 2016-06-29 02:02:46 -04:00
arvidn b1e36a53e3 print peer logs directly into the allocation 2016-06-29 02:02:46 -04:00
Alden Torres 40c343be93 fixed macro assert around assert_torrent_refcount (#868) 2016-06-28 13:42:18 -04:00
Alden Torres ecb64a53a9 backport of popcnt asm for x86 and gcc/clang (#864)
backport of popcnt asm for x86 and gcc/clang
2016-06-28 00:34:21 -04:00
Arvid Norberg a675682b6c some cleanup of TORRENT_DEBUG defines (#863)
some cleanup of TORRENT_DEBUG defines
2016-06-27 22:28:51 -04:00
Alden Torres f7515edc8b added neon support for popcount (#861)
added neon support for popcount
2016-06-27 18:51:43 -04:00
Alden Torres 9233edae4e using popcnt asm for x86 and gcc/clang (#862) 2016-06-27 18:51:00 -04:00
terry zhao 1a3e75b50a fix msvc-8.0 build (#860) 2016-06-27 13:46:15 -04:00
Arvid Norberg 31b2a03005 some optimizations (#858)
allow disk I/O callback objects to be moved into disk io jobs
2016-06-27 01:02:00 -04:00
Arvid Norberg c567a66f5e simplify peer_connection's read handlers and the receive buffer. (#853)
simplify peer_connection's read handlers and the receive buffer. removed the concept of soft-packet-size. removed the secondary null-buffer receive path. removed try_read. simplify the buffer class to not be resizeable. make receive_buffer shrink the buffer allocation. add cap to growing the receive buffer. buffer sizes are always divisible by 8.
2016-06-26 20:41:03 -04:00
arvidn 263bd31782 merged RC_1_ into master 2016-06-26 18:07:21 -04:00
arvidn b97ac65c01 don't perform expensive hash of piece data for logging 2016-06-26 13:11:52 -04:00
Arvid Norberg 7edc6b1cc2 insert invariant checks to try to catch async_check_files crash (#856) 2016-06-26 12:13:08 -04:00
Alden Torres 57ad035955 added arm __builtin_clz support and tests running in arm mode (#854)
added arm __builtin_clz support and tests running in arm mode inside travis
2016-06-26 12:01:42 -04:00
Arvid Norberg eda956f13a use standard library for suspending threads (#855)
use standard library for suspending threads
2016-06-26 09:24:06 -04:00
arvidn be30bbd08b merged RC_1_1 into master 2016-06-25 17:48:13 -04:00
arvidn f56d698db6 fix asio-debugging 2016-06-25 17:29:40 -04:00
Alden Torres c84aceea3f using bsr even with no popcnt present (#852) 2016-06-24 17:43:29 -04:00
Alden Torres 9efba7d752 missing header when no cpuid is available (#849) 2016-06-23 22:36:31 -04:00
Alden Torres ba6e1e9194 open default listen interface the same as no default (#848)
open default listen interface the same as no default
2016-06-23 17:54:31 -04: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
Arvid Norberg 6917a11c6b correct error introduced in add_torrent_impl refactor, with regards t… (#846)
correct error introduced in add_torrent_impl refactor, with regards to not having flag_duplicate_is_error set (which is not set by default)
2016-06-23 13:19:35 -04:00
Arvid Norberg ce00ebf723 simplify and clean up some of torrent_info (#847)
simplify and clean up some of torrent_info
2016-06-23 11:34:26 -04:00
Arvid Norberg 21c1540ace clean up natpmp and upnp logging (#842)
clean up natpmp and upnp logging. remove custom logging macro and use regular logging via alerts. honor TORRENT_DISABLE_LOGGING
2016-06-23 01:23:59 -04:00
arvidn 3b2a527ffb Merge branch 'RC_1_1' 2016-06-22 00:41:02 -04:00
arvidn 763d313570 fix bug in enum_net() for BSD and Mac 2016-06-21 19:05:22 -04:00
Arvid Norberg 6aabe3762b general modernization (#836)
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg a9dbbdea37 use array_view instead of std::vector in crypto_plugin interface (#835)
use array_view instead of std::vector in crypto_plugin interface. return a vector of const_buffers for prepending new buffers. use stack allocated (single buffer) iovecs for receives. general cleanup
2016-06-19 23:05:59 -04:00
Arvid Norberg b2358666a1 remove lazy_bitfield (#817)
remove lazy_bitfield feature
2016-06-19 17:00:18 -04:00
Alden Torres 15bac1e9b5 config.h cleanup (#834)
config.hpp and .travis.yml cleanup
2016-06-19 02:32:12 -04:00
Arvid Norberg 717ed8bd3b Msvc warnings (#822)
fix msvc warnings in python bindings and simulations
2016-06-18 19:24:27 -04:00
Steven Siloti f1585d8317 Fix abort_jobs being called multiple times (#831)
disk_io_thread::abort_jobs must only be called once, but it was possible for
concurrent calls to be made from abort() and thread_fun() if the max threads
had been set to zero but there were still disk I/O threads running.
m_num_running_threads doesn't need to be atomic anymore
2016-06-18 16:53:23 -04:00
Arvid Norberg ed077c8358 use cstdint intead of boost/cstdint.hpp (#833)
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg ead11737b4 fix uses of defines for whether or not asserts are active (#832) 2016-06-18 08:31:07 -04:00
Alden Torres d3cd568447 plugin callback refactor (#823)
grouping plugins per feature
2016-06-17 22:02:21 -04:00
Alden Torres efa8bb0fc7 making disk_buffer_holder internal and include cleanup (#827)
making disk_buffer_holder internal and include cleanup
2016-06-17 17:40:22 -04:00
Alden Torres 2cc1054d7d deprecate functions in torrent_handle (#828)
deprecate get_full_peer_list on torrent_handle
2016-06-17 16:07:28 -04:00
Arvid Norberg 4d927f4029 modernize disk_buffer_holder to be move-only (#824)
modernize disk_buffer_holder to be move-only
2016-06-16 08:24:41 -04:00
Steven Siloti 2fed4103f8 scalable thread pool (#770) 2016-06-15 20:49:28 -04:00
Arvid Norberg c0fb61c5d7 replace the suggest-read-cache logic with something much simpler (#815)
replace the suggest-read-cache logic with something much simpler that doesn't schedule regular jobs and doesn't query the disk cache
2016-06-15 13:29:54 -04:00
Arvid Norberg ce161a9d62 remove option to disable contiguous receive buffers (#818)
removed option to disable contiguous receive buffers
2016-06-15 08:04:53 -04:00
arvidn 4b186130e6 fix merge 2016-06-14 21:16:28 -04:00
Arvid Norberg 6f87c702fa simplify dispatching of bittorrent messages (#820) 2016-06-14 15:19:32 -04:00
Alden Torres 38f4765ebc added assert and documentation typos (#816) 2016-06-13 17:16:09 -04:00
Alden Torres d759d8f742 not add peers from url if add_torrent_impl returns invalid handle (#814) 2016-06-13 07:47:16 -04:00
Arvid Norberg 6e55c0564f suppress shift warnings in boost (#811)
suppress shift warnings in boost
2016-06-12 21:14:21 -04:00
Arvid Norberg 4e0a4db9b4 fixed inverted priority of incoming piece suggestions (#809) 2016-06-12 20:36:05 -04:00
Arvid Norberg 590f68cd3d make parse_interface_list more robust and improve string tests (#806)
make parse_interface_list more robust and improve string tests
2016-06-12 02:00:10 -04:00
arvidn 0440c57f68 fix performance issue and assert with receiving metadata 2016-06-11 23:29:33 -04:00
Arvid Norberg ef1a24518d fix dht tests (#803)
fix tests
2016-06-11 15:37:28 -04:00
arvidn dfc2206b9f merged RC_1_1 into master 2016-06-11 01:00:41 -04:00
Arvid Norberg 5ecd00c5c5 fix osx build (#804)
fix osx build with asserts enabled
2016-06-11 00:48:13 -04:00
arvidn 1946e6c58b merged RC_1_1 into master 2016-06-10 01:38:32 -04:00
Arvid Norberg 327af3a69e optimize allow-fast logic (#800)
optimize allow-fast logic
2016-06-10 01:24:37 -04:00
Arvid Norberg 404d72b9b7 revert handshake round-trip optimization (#797)
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-10 01:14:37 -04:00
Alden Torres 0882d02c53 early resume data reset when fatal_disk_error (#798) 2016-06-10 01:09:49 -04:00
arvidn f4a95131c5 improve asserts in dht_storage 2016-06-10 00:55:17 -04:00
Arvid Norberg 830a79dbcf optimize allow-fast logic (#800)
optimize allow-fast logic
2016-06-09 08:02:41 -04:00
Arvid Norberg 5eaf713d1f revert handshake round-trip optimization (#797)
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-07 21:45:48 -04:00
Alden Torres c8f7d89652 early resume data reset when fatal_disk_error (#798) 2016-06-07 18:44:39 -04:00
Alden Torres 9d3cf5e68b changed min_distance_exp for correctness and clarity (#789)
changed min_distance_exp for correctness and clarity
2016-06-06 18:22:33 -04:00
Alden Torres 3d5e0144c7 consider macro TORRENT_USE_IOSTREAM for sha1_hash iostream operators (#790) 2016-06-05 23:55:42 -04:00
Arvid Norberg cbeb7adbde fix .travis script to run simulations (#791)
fix .travis script to run simulations
2016-06-05 22:13:01 -04:00
Arvid Norberg 223f24ca27 some cleanup and transition to std::unique_ptr (#786)
some cleanup and transition to std::unique_ptr
2016-06-05 14:07:24 -04:00
Arvid Norberg ae3b629649 improve invariant check of file_progress class (#787) 2016-06-05 14:06:11 -04:00
arvidn 8baf4f810a fix graceful pause issue 2016-06-04 21:35:12 -04:00
arvidn edf9f8070d merged RC_1_1 into master 2016-06-04 14:09:19 -04:00
Alden Torres db65eb320a making dht counters additive (#783)
make dht counters additive to support both IPv4 and IPv6
2016-06-04 14:04:29 -04:00
Arvid Norberg fa8232cd13 remove some old cruft and defines (#785)
remove some old cruft and defines
2016-06-04 10:03:13 -04:00
Arvid Norberg 8c8f5bb03b deprecated public to_hex() and from_hex() functions (#784) 2016-06-04 10:01:43 -04:00
Arvid Norberg 3624ce6cfd fixed crash on invalid input in http_parser (#782)
fixed crash on invalid input to http_parser
2016-06-04 09:53:23 -04:00
Alden Torres 7c4d92a627 Share the DHT storage for both IPv4 and IPv6 (#762) 2016-06-03 19:44:16 -04:00
Arvid Norberg be67553897 simplify session pause mechanism by keeping two separate states in torrents and having the session explicitly tell torrents when it's pausing (#779) 2016-06-03 07:32:48 -04:00
Alden Torres 42a9022065 Refactor of listen alerts for separated fields address and port (#778)
Refactor of listen alerts for separated fields address and port
2016-06-02 22:38:56 -04:00
Alden Torres cdd067fe4e Minor cleanup (#775)
Minor cleanup
2016-06-02 07:25:06 -04:00
Arvid Norberg 14d085f607 rename allow_peers to paused (#773) 2016-06-01 01:05:32 -04:00
Arvid Norberg 92cd0ec7d1 simplify and clean up peer_list usage in torrent.cpp (#772) 2016-06-01 01:05:17 -04:00
arvidn ec182492cc improve add_torrent_params::flags documentation and fix related logging bug 2016-05-30 16:36:44 -07: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 7795b2ff6c merged RC_1_1 into master 2016-05-29 10:01:55 -07:00
Arvid Norberg b3bbb2f0f6 upgrade libtommath to 1.0 (#765)
upgrade libtommath to 1.0
2016-05-28 17:12:26 -04:00
arvidn 420b5f51e6 merged RC_1_1 into master 2016-05-27 12:35:53 -07:00
Alden Torres 7809863035 Removed unused cpp files (#758) 2016-05-27 13:28:04 -04:00
arvidn 67a497834a back-port extra checks in pe_crypto from master 2016-05-27 09:51:06 -07:00
Arvid Norberg 6936405518 add more sanity checks to pe_crypto (#761) 2016-05-27 12:39:03 -04:00
Alden Torres f8dcf30b2e Ported support for magnet x.pe parameter from master (#760) 2016-05-27 12:12:32 -04:00
Alden Torres 10393697cb Fix of parse_endpoint with invalid port character separator (#757) 2016-05-27 12:00:54 -04:00
Alden Torres 313006b8c7 Added support for x.pe parameter in parse_magnet_uri (#755) 2016-05-26 13:34:13 -04:00
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -04:00
arvidn 98eabc63e9 using _WIN32 appears safer than WIN32 2016-05-23 23:02:52 -04:00
arvidn 0ce5a4c664 improve robustness in natpmp code a bit 2016-05-23 22:46:46 -04:00
Arvid Norberg 748af6eec1 general cleanup. remove valgrind markup, log_hash_failures and C headers (#752)
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
arvidn f1216686d2 merged RC_1_1 into master 2016-05-23 00:56:16 -04:00
Arvid Norberg 62fb7209ef fix invariant check issue with a paused session (#750)
fix invariant check issue with a paused session
2016-05-22 22:58:11 -04:00
Arvid Norberg cf3c95702b Peer blocked alert (#747)
make peer_blocked_alert derive from peer_alert
2016-05-22 19:56:14 -04:00
Arvid Norberg b5fc367d17 fix incorrect comparison function when deciding which peer to disconnect (#746)
fix incorrect comparison function when deciding which peer to disconnect
2016-05-22 13:46:37 -04:00
Arvid Norberg 584d74e2f0 fix union storage hacks (#670)
remove union storage hacks
2016-05-21 21:04:47 -04:00
Arvid Norberg dceee3b065 simplify session call and replace session_handle and torrent_handle macros (#741)
remove use of macros in session_handle and torrent_handle forwarders
2016-05-21 19:05:42 -04:00
Alden Torres afbfd6e890 Fixed compilation when TORRENT_UTP_LOG (#738) 2016-05-19 13:25:39 -04:00
arvidn aa0d29b67d merged RC_1_1 into master 2016-05-19 01:28:22 -04:00
Arvid Norberg 178a41b187 clean up natpmp logging infrastructure a bit as well as test_peer_list (#735)
clean up natpmp logging infrastructure a bit as well as test_peer_list
2016-05-18 01:54:37 -04:00
arvidn 35eff73662 fix missing include 2016-05-17 22:36:45 -04:00
Arvid Norberg eb72bbf2d2 fix add_torrent_impl when adding a URL (which has been deprecated) when building with deprecated features disabled (#733) 2016-05-17 16:49:11 -04:00
Arvid Norberg e8380e1d0b factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows (#732) 2016-05-17 09:24:06 -04:00
Arvid Norberg 5b23bc81b6 fix print_backtrace build (#731) 2016-05-15 15:40:53 -04:00
Arvid Norberg 44a668db62 build with gcc/mingw on appveyor (#722)
enable gcc/mingw builds on appveyor. Some mingw tests crash currently, they need debugging and are currently disabled.
2016-05-15 13:28:22 -04:00
Arvid Norberg 1e7e01c671 transition to system_error as the exception type (#730)
transition to system_error as the exception type
2016-05-15 00:33:06 -04:00
Arvid Norberg 0d27a0acdd fix assert when adding an empty file (as a torrent) (#729) 2016-05-14 13:24:29 -04:00
arvidn c292696dcb back-port fix adding empty file as torrent 2016-05-14 13:13:20 -04:00
Arvid Norberg 167cbe74b5 made alerts move-only and remove dispatch function and other deprecated alert functions requiring alert to be copyable (#721) 2016-05-13 08:19:44 -04:00
arvidn 84f70a77ee fix assert 2016-05-13 00:16:51 -04:00
Arvid Norberg 53bd03558c Dht stats 1.1 (#720)
fix missing dht stats counter updates
2016-05-12 21:27:11 -04:00
Arvid Norberg a7213d3f5a don't support older than msvc-14 (2015) (#727)
don't support older than msvc-14 (2015)
2016-05-12 21:24:45 -04:00
Andrei Kurushin 674641acce fix file_storage::m_paths memory reuse (#724)
fix file_storage::m_paths memory reuse after rename_file with path delimiter
2016-05-12 16:45:23 -04:00
Arvid Norberg 4057aa0391 fix issue with comparison of cached time and real-time (#719) 2016-05-09 08:21:00 -04:00
arvidn 7c108e6c19 merged RC_1_1 into master 2016-05-09 00:30:30 -04:00
Arvid Norberg 5bedf3e7b3 post add_torrent_alert before any other torrent alert (#717)
post add_torrent_alert before any other torrent alert
2016-05-08 23:48:27 -04:00
Arvid Norberg 98bbeb68b8 transition some standard integer types from boost to std (#711) 2016-05-08 16:10:49 -04:00
Arvid Norberg 29902be3a0 some general C++ 11 cleanup. some typedefs and for loops (#709) 2016-05-07 18:46:42 -04:00
arvidn 254906eddc back-port torrent peer-class fix from master 2016-05-07 14:56:22 -04:00
Arvid Norberg 8922990fc7 fix peer class leak in torrent and widen peer_class_t to allow for mo… (#707)
fix peer class leak in torrent and widen peer_class_t to allow for more instances
2016-05-07 14:52:10 -04:00
arvidn 29943ab0f0 fix warning 2016-05-07 09:24:05 -04:00
Steven Siloti 64409dae65 use move to avoid heap allocating the vector when posting watermark_callback (#700) 2016-05-07 00:55:38 -04:00
Arvid Norberg bcb359cef6 use unsigned long for ioctl commands (#705) 2016-05-06 08:08:49 -04:00
arvidn 6cf5ac9dd1 merged RC_1_1 into master 2016-05-06 01:08:05 -04:00
Arvid Norberg 985436636e added new preformatted type to bencode entry (#698)
added new preformatted type to bencode entry to support carrying a verbatim copy of an already bencoded subtree. This is to support saving torrents in resume data and create_torrent based on existing torrents, in order to preserve key order
2016-05-05 21:38:57 -04:00
Arvid Norberg f9bc6dbc54 improvements to socks5 support (for 1.1.1 release) (#567)
capture listen IP and port from socks5 BIND response. add tests for socks5 and improve support for capturing the local endpoint (i.e. bind port) for BIND command socket connections. post listen_succeeded_alert when successfully bound to listen socket on SOCKS5 proxy. make sure to announce the socks5 listen port
2016-05-05 17:09:11 -04:00
arvidn 60088a1672 add missing file to makefile 2016-05-05 00:28:31 -04:00
Steven Siloti fa693174e7 move vectors into alerts (#699) 2016-05-04 09:50:44 -04:00
Arvid Norberg c6369194f0 simplify and optimize DHT routing table IP distance comparison (#696) 2016-05-03 23:22:25 -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
Jonathan McDougall f065cacebf * now calling stop_announcing() unconditionally instead of checking !is_paused(), which was always false when aborting a torrent and could cause infinite blocks while destroying a session (#694)
fixed torrent invariant check that wasn't using the m_abort flag and correctly stop trackers when shutting down
2016-05-03 01:34:43 -04:00
Arvid Norberg f56c1f8b2f remove mutex from tracker_manager (#690)
remove mutex from tracker_manager
2016-05-02 22:22:13 -04:00
Arvid Norberg c91a700c07 Msvc warnings (#685)
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
Arvid Norberg 0d2c04cb2e remove network thread pool feature (#688)
remove network thread pool feature (it was messy and mostly useful for bittorrent over SSL). The proper solution is to allow every peer run in its own asio strand and have multiple threads running the io service
2016-05-02 02:18:51 -04:00
Arvid Norberg 7048eb1f5c be more conservative in marking packets as mtu-probes (#689) 2016-05-02 00:17:17 -04:00
Alden Torres 8ae1e9a21d Moved disabled_storage and zero_storage for a private namespace in the compilation unit (#687) 2016-05-01 23:16:00 -04:00
Alden Torres b85b501d92 Using address::is_multicast instead util function (#686) 2016-05-01 18:15:25 -04:00
arvidn 60c119c52d remove mutex in natpmp 2016-05-01 12:28:16 -04:00
arvidn accf13d93e remove mutex in upnp 2016-05-01 12:24:54 -04:00
Arvid Norberg 0d5428a664 minor refactoring to move-storage patch (#680)
minor refactoring to move-storage patch
2016-05-01 12:23:02 -04:00
Arvid Norberg 53ca04036e Merge pull request #681 from ssiloti/entry-move
add move ctor to entry
2016-05-01 10:12:18 -04:00
arvidn fc4cc9e7ee make the cached current time thread-safe 2016-05-01 08:50:23 -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 770afadcda use std::atomic instead of boost::atomic (#678)
use std::atomic instead of boost::atomic
2016-05-01 03:38:35 -04:00
Arvid Norberg a3de04dffc Merge pull request #675 from ssiloti/unique_ptr
Use unique_ptr where possible
2016-05-01 01:31:04 -04:00
Steven Siloti f0b92a2047 add move ctor to entry 2016-04-30 21:02:22 -07:00
Steven Siloti ff0675e64e use standard array container (#676) 2016-04-30 23:10:47 -04:00
Vladimir Golovnev 64cb8b236a Move storage "file-by-file" (#632)
When moving storage for a torrent, only move files belonging to the torrent, one by one.
2016-04-30 22:18:38 -04:00
Steven Siloti 2c00a613b2 use unique_ptr to network_thread_pool 2016-04-30 16:49:21 -07:00
Steven Siloti 0682e6146c use a unique_ptr for the udp_socket receive buffer 2016-04-30 16:49:21 -07: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 98fb7df56f use standard unordered containers (#673) 2016-04-30 16:53:20 -04:00
Arvid Norberg 4e97bf556c use override and final keywords (unconditionally) (#668)
use override and final keywords instead of macros.
2016-04-30 11:05:54 -04:00
Arvid Norberg f856b6bbe3 dial up cppcheck (#663)
increase cppcheck coverage and make sure there are no warnings
2016-04-30 00:24:45 -04:00
arvidn 36a5a11ee2 merge fix 2016-04-29 23:34:25 -04:00
Arvid Norberg f0d95f5e3e remove RSS feature (#662)
remove RSS feature
2016-04-29 15:54:21 -04:00
Arvid Norberg 84a35f5265 clean up settings_pack (#665) 2016-04-29 12:01:33 -04:00
Arvid Norberg 46b33f920b remove explicit cache feature (#661)
remove explicit cache feature
2016-04-29 02:32:00 -04:00
arvidn e0e05e3961 fix asserts firing in unit tests 2016-04-28 21:59:41 -04:00
arvidn b8dad50757 fix whitespace 2016-04-28 17:14:41 -04:00
Arvid Norberg 10ec0234a7 remove resolve-country feature (#656) 2016-04-28 08:20:47 -04:00
Arvid Norberg 5f5aa2361e use array_view more along the udp packet paths (#655) 2016-04-28 08:20:10 -04:00
Arvid Norberg c557432431 attempt to run cppcheck on travis (#644)
run cppcheck on travis
2016-04-26 18:09:11 -04:00
Alden Torres 96b7d3ad46 Removed unused alert_observer.hpp (#646) 2016-04-26 11:48:43 -04:00
Alden Torres d08bbbc0cc Added asserts related to total_size in create_torrent (#642) 2016-04-26 00:37:47 -04:00
Arvid Norberg 3c785b96fc Merge pull request #268 from ssiloti/dht-ipv6
Support DHT over IPv6
2016-04-25 19:19:48 -04:00
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Arvid Norberg bbf411800a remove pre-C++11 threadsafe static emulation (#641) 2016-04-25 08:38:48 -04:00
Alden Torres 7c4fabadfd Removed unused statement (#643) 2016-04-24 23:47:57 -04:00
Steven Siloti 2d9a6b76f1 use asio::protcol instead of an enum/bool 2016-04-24 15:18:47 -07:00
Steven Siloti d3ecc4c906 reduce the number of peers in a get_peers response with IPv6
Since IPv6 addresses are bigger we need to compensate to avoid generating
packets larger than 1500 bytes.
2016-04-24 14:26:57 -07:00
Steven Siloti 2abd9867ce IPv6 DHT support
Fixes #110
2016-04-24 14:26:57 -07:00
Steven Siloti 356d2506bd extend dht_observer to support IPv6 external addresses 2016-04-24 14:26:57 -07:00
Steven Siloti 11fa4f3e47 support IPv6 in node_entry and m_ips 2016-04-24 14:26:57 -07:00
arvidn b5ecfa4f91 fix merge issues 2016-04-24 16:43:45 -04:00
arvidn dec093dc1a Merge branch 'RC_1_1' 2016-04-24 15:41:28 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
Arvid Norberg c9c6dd2d3b clean up the annotations used for asio debugging (#639)
clean up the annotations used for asio debugging (tracking outstanding async operations)
2016-04-23 17:29:25 -04:00
Arvid Norberg a9f07a29bd fix move_storage error handling bug (#638) 2016-04-23 10:02:52 -04:00
Alden Torres 6171c911a0 Added assert for total_size in create_torrent (#636) 2016-04-22 13:51:06 -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
Arvid Norberg 0b53fb70ad add missing torrent_error_alert::filename function (#629) 2016-04-20 00:46:42 -04:00
Alden Torres 0fddd403b2 Better api for peers() method in dht_get_peers_reply_alert (#628) 2016-04-19 16:16:51 -04:00
arvidn 93408a02ff fix classification of UDP packets as peer traffic 2016-04-18 01:29:46 -04:00
arvidn ccc227f446 minor cleanup 2016-04-18 00:29:50 -04:00
Andrei Kurushin 7b5d48c02a fix default release build with VS2015 UP2 compiler warnings (#624)
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
Alden Torres a73d424b82 typos 2016-04-15 15:39:41 -04:00
arvidn 2529dbba7f improve python binding of read_resume_data, and specifically add_torrent_params 2016-04-15 00:48:45 -04:00
arvidn d17ae19391 Merge branch 'RC_1_1' 2016-04-11 02:08:06 -04:00
Steven Siloti 9ffadcde62 allow peers to resume allocating disk buffers when their last outstanding write completes 2016-04-09 16:48:05 -07:00
arvidn 5d499e83b6 fix uTP/SSL 2016-04-09 10:50:45 -04:00
arvidn 867b83ccda merged RC_1_1 into master 2016-04-08 02:20:24 -04:00
Arvid Norberg 774735b046 Merge pull request #600 from arvidn/python-warnings-1.1
fix some build warnings in python binding
2016-04-08 02:17:45 -04:00
arvidn 5c17dc9f31 fix some build warnings in python binding 2016-04-07 22:45:23 -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 876cef0d4c restore the ipv6 http tracker argument, but restricted to only private torrents 2016-04-07 00:06:04 -04:00
Arvid Norberg 6767cf96f1 Merge pull request #546 from arvidn/move-into-self-1.1
fail correctly when move_storage is called to move into itself 1.1
2016-04-06 17:49:05 -04:00
arvidn 387498e54f clean up in piece picker 2016-04-06 00:45:21 -04:00
Alden Torres bb8d1d0e56 Revert utp log file to disable by default
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn dff0e7b0cd fix concurrency issue in part_file::export_file 2016-04-02 21:29:20 -04:00
arvidn 31805ecec0 fix some clang build warnings 2016-04-02 12:27:42 -04:00
arvidn 6bc5de5903 fail correctly when move_storage is called to move into its own directory 2016-04-02 10:03:31 -04:00
arvidn 7f232dd195 fix python3 issue in binding 2016-03-30 23:35:47 -04:00
arvidn fd4a46342f merge RC_1_1 into master 2016-03-30 00:33:29 -04:00
arvidn 7649610807 fix test_optimistic_unchoking sim 2016-03-27 18:40:53 -04:00
arvidn 3e7a6b03e5 remove dead code in peer_connection 2016-03-21 18:47:17 -04:00
arvidn b16f43132b Merge branch 'RC_1_1' 2016-03-20 20:39:49 -04:00
arvidn 0095aa084f make coalesce reads and coalesce writes actually work 2016-03-20 16:34:19 -04:00
arvidn a9d12766d4 fix typo in hard_link() 2016-03-20 16:14:29 -04:00
Arvid Norberg db214cc92d Merge pull request #559 from arvidn/direct-io-1.1
remove unused O_DIRECT mode
2016-03-20 14:42:58 -04:00
arvidn 139fb29647 remove unused O_DIRECT mode, and relax/simplify alignment requirements for coalesce_buffers 2016-03-20 00:55:31 -04:00
arvidn 85cf5ac195 remove unused aligned_holder class. fix logging issue of out-of-bound piece requests 2016-03-19 23:32:50 -04:00
arvidn 96e2693d13 merge RC_1_1 into master 2016-03-19 16:02:46 -04:00
Arvid Norberg e9b334ce63 Merge pull request #494 from arvidn/udp-bind-failure-1.1
attempt to fix issue with binding udp sockets on windows
2016-03-19 13:20:51 -04:00
arvidn 53b5e964d2 fix merge issue and properly close ssl udp socket when disabled, prevents the extra listen_succeeded alert for the ssl udp socket 2016-03-19 10:25:35 -04:00
arvidn e9a5985609 if a udp socket is already bound to the IP and port we want to bind it to, don't reopen it 2016-03-19 10:25:30 -04:00
arvidn d705dc2953 attempt to fix issue with binding udp sockets on windows 2016-03-19 10:25:30 -04:00
arvidn f7c9062019 deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests 2016-03-19 07:54:29 -04:00
arvidn c0033d0977 do not enable SSL listen sockets by default 2016-03-18 23:57:02 -04:00
arvidn b446fe4bba deprecate settings_pack::hashing_threads and replace it with aio_threads in documentation 2016-03-18 16:40:52 -04:00
arvidn 3c98868f6c deprecate explicit cache feature 2016-03-18 12:15:03 -04:00
arvidn 6d1a744a5c Merge branch 'RC_1_1' 2016-03-18 11:31:21 -04:00
arvidn 1cd5119178 remove/deprecate bad idea with mlock 2016-03-17 19:37:05 -04:00
arvidn 5c360247b6 move piece_bar into print.cpp in client_test. make client_test take arbitrary libtorrent settings 2016-03-17 08:19:11 -04:00
arvidn 77ce318a84 merged RC_1_1 into master 2016-03-17 00:46:05 -04:00
arvidn 317eb2fe2a remove unused disk allocation code 2016-03-16 20:13:28 -04:00
arvidn f79a9c7adf merged RC_1_1 into master 2016-03-16 19:59:53 -04:00
Arvid Norberg a1d60db706 Merge pull request #547 from arvidn/no-read-cache-1.1
fix use_read_cache=false
2016-03-16 08:14:15 -04:00
arvidn 4926081960 fix use_read_cache=false 2016-03-16 02:22:18 -04:00
arvidn 36d0cfe40d fix shutdown issue caused by peer connections being kept alive by disk buffer pool callbacks 2016-03-16 00:28:19 -04:00
arvidn 08bac479be allow each peer have at least 2 allocated disk blocks at any given time, to avoid stalling when cache_size setting is small. also deprecate use_write_cache 2016-03-16 00:28:11 -04:00
Steven Siloti 4331f57021 restrict check_cache_level to only runing on one thread at a time
If another thread trys to call check_cache_level then m_cache_check_state is set
to indicate that the thread currently in check_cache_level needs to call it again.
2016-03-14 19:03:12 -07:00
Steven Siloti d405535a3f try to free the piece after kicking the hasher and flushing 2016-03-14 19:03:12 -07:00
Steven Siloti e8f93df700 fix indentation 2016-03-14 19:03:12 -07:00
Steven Siloti 826bbe35ee always cache writes 2016-03-14 19:03:12 -07:00
Steven Siloti 6e8db41dd2 check_cache_level after performing a job rather than before
If dirty blocks are added while the job is running there is a chance of
deadlock if the dirty blocks cause the cache to exceed its size limit and
no further jobs come in to trigger another check.
2016-03-14 19:03:12 -07:00
Steven Siloti 9c5bb25d65 always clear outstanding_flush after attempting to flush a cached write
Also clear outstanding_flush before calling kick_hasher because kick_hasher
may unlock the cache mutex which can allow more dirty blocks to be added
which may require another flush_hashed job be added.
2016-03-14 19:03:12 -07:00
Arvid Norberg 82d177472e Merge pull request #541 from arvidn/fix-test-transfer-1.1
improve message from listen_failed_alert
2016-03-14 21:43:34 -04:00
arvidn c5861bcc04 fix failure to increment port when retrying socket binding 2016-03-14 18:52:43 -04:00
Arvid Norberg 42d423e992 Merge pull request #540 from arvidn/remove-purgable-control-1.1
remove the purgable control patch
2016-03-14 17:54:12 -04:00
arvidn 921cbeebed add option to delete just the partfile when removing a torrent 2016-03-14 08:26:39 -04:00
arvidn 55cd19d1e2 remove the purgable control patch. It adds a lot of complexity and it does not perform well 2016-03-14 01:48:00 -04:00
Arvid Norberg 035f8e98d1 Merge pull request #542 from arvidn/request-timeout-1.1
fix seed timing-out unchoked peers for not sending requests
2016-03-14 01:44:50 -04:00
arvidn 58e73c1469 fix typo 2016-03-13 20:47:50 -04:00
Arvid Norberg 5652a46068 Merge pull request #508 from arvidn/part-file-1.1
attempt to fix issue where the partfile is not deleted
2016-03-13 18:05:01 -04:00
arvidn 8f14c74be8 fix issue where a seed could time-out an unchoked peer for not sending any requests, despite being busy servicing requests from the peer (and time out immediately when m_requests is drained) 2016-03-13 16:41:31 -04:00
arvidn fb85e5e60f improve message from listen_failed_alert. Post listen_failed_alert for every failure, including the ones that are re-tried 2016-03-13 16:18:44 -04:00
arvidn 0d0048d415 try to evict a volatile piece before allocating a new one for a hash check. It may be faster to check files without growing the cache, or reusing the same buffers. 2016-03-13 12:52:44 -04:00
arvidn 2178d1ad2b improve robustness and performance of uTP PMTU discovery. fix duplicate ACK issue in uTP. demote an invariant check to 'expensive' 2016-03-13 12:40:59 -04:00
arvidn 6d85c7c5f0 merge RC_1_1 into master 2016-03-08 01:10:48 -05:00
arvidn 71e3fb8941 fix division by zero in super-seeding logic 2016-03-07 23:40:01 -05:00
arvidn f5d5ac4f3a fix bug where disk cache was wiped out after completion file-checking. factor out sim test utilities and reuse them in the regression test 2016-03-06 21:44:38 -05:00
Arvid Norberg 3fa3004b85 Merge pull request #526 from arvidn/rechecking-outstanding-1.1
always keep at least 2 async hash jobs outstanding
2016-03-06 20:05:56 -05:00
arvidn 442979c318 support filtering which parts of session state are loaded by load_state() 2016-03-06 16:35:49 -05:00
arvidn 67774d660d always keep at least 2 async hash jobs outstanding when rechecking torrents (to keep the bandwidth delay product full) 2016-03-06 16:31:18 -05:00
arvidn b40430f175 change the cache size calculation for auto cache size (-1) to be smaller, especially for machines with large amounts of RAM 2016-03-06 16:15:22 -05:00
arvidn a02c1d2164 record cache settings in the job instead of checking it twice for more robust behavior 2016-03-06 16:15:13 -05:00
arvidn 8ca76f9d59 fix support for auto disk cache size and disk buffer pool allocator behavior 2016-03-06 16:14:55 -05:00
arvidn 26f88bb12d add receive_buffer unit test and some more cleanup and asserts 2016-03-05 00:14:00 -05:00
arvidn 2efb9d9a6a fix bug in receive_buffer 2016-03-05 00:13:59 -05:00
Arvid Norberg be17b78c5f Merge pull request #522 from arvidn/io-thread-assert-1.1
remove invalid assert in the disk thread
2016-03-04 23:16:02 -05:00
arvidn 2bd6ad9974 remove invalid assert in the disk thread 2016-03-04 20:20:49 -05:00
Arvid Norberg 00f3406402 Merge pull request #514 from arvidn/allowed-unchoke-1.1
attempt to uphold the invariant that the num_unchoke_slots
2016-03-04 16:43:38 -05:00
arvidn b707a4de90 uphold the invariant that the num_unchoke_slots counter is int max as long as the unchoke slots limit < 0 2016-03-04 16:42:36 -05:00
Alden Torres 4998bfedc6 Documentation typos 2016-03-04 10:43:25 -05:00
arvidn b9ec183e24 increase default connect speed. minor cleanup. add logging for short lived connections 2016-03-03 01:20:15 -05:00
arvidn fbef47d3ec fix edge case in uTP stream when receiving a close-reason code 2016-03-02 22:30:02 -05:00
arvidn e1f4b5ad2d fix typo in reporting file index in checking resume data 2016-03-02 18:43:16 -05:00
arvidn e851b79865 fix issue when shutting down a torrent with outstanding async operations 2016-03-02 01:16:08 -05:00
arvidn aeb9f1c5dd fix bug in enum_net_interfaces 2016-02-29 18:14:10 -05:00
arvidn 2b6fdc1728 attempt to fix issue where the partfile is not deleted when asking to delete all files 2016-02-28 16:05:13 -05:00
arvidn f563bf9cac attempt to make the alert type backwards compatible with cloning the state when building with deprecated functions enabled 2016-02-27 20:25:17 -05:00
arvidn ac2916c426 enable disk cache pool allocator by default. fix ansi escape code conversion in client_test on windows 2016-02-27 17:42:31 -05:00
arvidn 07ecf7c1bd remove invalid assert 2016-02-27 00:25:21 -05:00
Steven Siloti b52027a02a set enable_dht to true in session::start_dht(entry)
This function needs to enable the dht to match its semantics in pre 1.1 versions
2016-02-26 19:22:28 -08:00
arvidn 8cb18d39a1 add missing file to src/Makefile 2016-02-26 18:54:27 -05:00
arvidn 2fd8047308 merged RC_1_1 2016-02-24 21:22:39 -05:00
Arvid Norberg 842d6fbca4 Merge pull request #492 from arvidn/fix-ssl-deprecated-1.1
fix build with openssl and deprecated functions disabled
2016-02-24 21:18:43 -05:00
arvidn d4f259ccf0 attempt to fix race when closing a web seed while it's receiving data 2016-02-24 02:23:09 -05:00
arvidn e5ccb63375 fix build with openssl and deprecated functions disabled 2016-02-24 02:07:27 -05:00
arvidn dcd6af6473 more fixing of test_transfer proxy tests 2016-02-24 00:03:56 -05:00
arvidn 0b173c6651 merged RC_1_1 2016-02-23 23:48:29 -05:00
arvidn 57aa813135 fix auto-managed issue with torrents transitioning to 'slow' as they get paused, returning to life again later because of it 2016-02-23 01:28:58 -05:00
arvidn ca75055c4b fix documentation generation of listen_interfaces 2016-02-23 00:16:50 -05:00
arvidn 72a3771b87 attempt to fix logic around around actually closing udp sockets (specifically the SSL UDP socket) 2016-02-21 20:00:55 -05:00
arvidn d8b88ba381 include protocol in portmap_alert 2016-02-21 19:16:00 -05:00
arvidn 61a67ece4a fix non-openssl build 2016-02-21 18:40:06 -05:00
arvidn cdfdbfd6aa fix port mapping for SSL UDP socket 2016-02-21 17:40:27 -05:00
arvidn 967ec412a5 Merge branch 'RC_1_1' 2016-02-21 15:21:33 -05:00
Arvid Norberg d172733c87 Merge pull request #487 from arvidn/fix-resume-checking-torrent
fix resuming of torrents that were checking files
2016-02-21 15:21:10 -05:00
arvidn 421bef5b68 fix resuming of torrents that were checking files 2016-02-21 11:32:50 -05:00
arvidn cc8066bf11 properly deprecated adding torrents by http url 2016-02-21 11:31:42 -05:00
arvidn 3f3b366ed5 be a bit more strict about when the STL containers need complete types (to make it build under GCC with concept checks enabled). add proper assignment operator to types used in STL containers 2016-02-21 11:29:01 -05:00
arvidn 13e9eb6680 forward-port outgoing interface fix from RC_1_0 2016-02-20 20:35:52 -05:00
Arvid Norberg 5d18800e04 Merge pull request #486 from arvidn/force-recheck-1.1
make force recheck a bit more robust
2016-02-20 19:53:56 -05:00
arvidn 3231aa4c9d make force recheck a bit more robust by initializing the progress state immediately 2016-02-20 15:53:43 -05:00
arvidn 3f40890eb6 simplify logic for saving resume a bit 2016-02-20 15:45:46 -05:00
arvidn d599bef0ee add unit test for read_resume_data 2016-02-20 13:26:21 -05:00
arvidn b581fef437 resume checking of torrents 2016-02-20 13:26:21 -05:00
arvidn a5d131b1bb post fastresume_reject_alerts when building with deprecated functions enabled 2016-02-20 13:26:21 -05:00
arvidn b23cb76b6f load 'info-hash' in read_resume_data 2016-02-20 13:26:21 -05:00
arvidn cc49b876bb add flag for initializing m_need_save_resume_data when adding torrent 2016-02-20 13:26:21 -05:00
arvidn 40f6afc2f8 save and restore storage allocation mode in resume data 2016-02-20 13:26:21 -05:00
arvidn 8304cb07bc update documentation 2016-02-20 13:26:20 -05:00
arvidn 67dbca14b7 move logic that loads torrent files from resume data into read_resume_data() 2016-02-20 13:26:20 -05:00
arvidn c9d7e54d7b make tests pass 2016-02-20 12:50:52 -05:00
arvidn 8135ea326f rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data 2016-02-20 02:00:07 -05:00
arvidn 4ef55073e3 transition mapped_files over to the new add_torrent_params 2016-02-20 02:00:07 -05:00
arvidn 6e88771981 transition merkle tree support over to the new read_resume_data() 2016-02-20 02:00:07 -05:00
arvidn 6223057b1e added support for pieces, verified pieces and piece_priorities in new resume data scheme 2016-02-20 02:00:07 -05:00
arvidn a60bbe0a1c fix loading of peers and banned_peers from resume_data 2016-02-20 02:00:07 -05:00
arvidn 35b998f90d introduce backwards-compatibility, of loading resume data and merging it with the add_torrent_params. add some more missing fields. deprecate some more flags in add_torrent_params 2016-02-20 02:00:07 -05:00
arvidn e0ee12d4f3 remove m_resume_data and m_resume_data_loaded members from torrent 2016-02-20 02:00:06 -05:00
arvidn 197ded5a0d revamp the way resume data is read, by providing a function for the client to parse resume data, capturing it in add_torrent_params 2016-02-20 02:00:06 -05:00
arvidn 1710b7c750 Merge branch 'RC_1_1' 2016-02-20 01:58:39 -05:00
arvidn 5cf36fd1d6 only save pieces in resume data that have actually been checked 2016-02-20 00:48:17 -05:00
arvidn 9d1f2b18ed fix upnp mapping typo 2016-02-14 17:19:29 -08:00
arvidn 72a24b63ba use bind_to_device for listen sockets 2016-02-12 15:46:18 -05:00
arvidn 6d77000ab0 deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces. 2016-02-12 15:46:12 -05:00
arvidn 887e79eb22 improve support for listening on multiple sockets and interfaces, with the listen_interfaces setting 2016-02-12 15:44:17 -05:00
arvidn 3842a0a197 Merge branch 'RC_1_1' 2016-02-12 15:43:13 -05:00
arvidn 828e79472d forward port enum_net MTU fix 2016-02-11 00:46:28 -05:00
Arvid Norberg 7d8566f694 Merge pull request #473 from arvidn/bind-ssl-fix-1.1
fix issue in socket binding and back-port ssl test reliability fix
2016-02-10 19:47:34 -05:00
arvidn 58f8fb164e Merge branch 'RC_1_1' 2016-02-10 18:28:54 -05:00
arvidn ee14337894 revert listen_failed_alert::port 2016-02-10 18:28:34 -05:00
arvidn ceb0ac6148 fix issue in socket binding and back-port ssl test reliability fix 2016-02-10 02:09:12 -05:00
arvidn d1e4b57ad4 rename a few members of session_impl to be more descriptive 2016-02-08 18:15:47 -05:00
arvidn 4f40f84a7e Merge branch 'RC_1_1' 2016-02-08 15:28:34 -05:00
arvidn 44abd1a59b forward port fix to post torrent_added_alert earlier, from RC_1_0 2016-02-08 15:28:13 -05:00
arvidn dd48faa8d4 minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription 2016-02-08 02:05:00 -05:00
Arvid Norberg 7b1a8ff6f1 Merge pull request #465 from arvidn/got-tracker-1.1
removed unused field in torrent
2016-02-07 14:50:08 -05:00
arvidn f4627db97f removed unused field in torrent 2016-02-07 02:37:32 -05:00
arvidn f8a53d17ec un-deprecate the endpoint field in listen_failed_alert 2016-02-07 02:12:58 -05:00
arvidn 660647b590 improve abstraction level of stats cache and fix test 2016-02-06 15:51:00 -05:00
arvidn ae7058e119 remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent. 2016-02-06 15:50:55 -05:00
arvidn df353bc3f9 forward port typo fix in udp_socket from RC_1_0 2016-02-06 15:49:25 -05:00
arvidn 6b63016b05 Merge branch 'RC_1_1' 2016-02-05 01:09:11 -05:00
arvidn 74554de330 forward port GetAdaptersAddresses from RC_1_0 and fix error categories in enum_net.cpp 2016-02-05 01:08:09 -05:00
arvidn b0cc0f84ab support NULL being passed as the listen interface to session constructor 2016-02-02 23:17:51 -05:00
arvidn 3a4f957b63 Merge branch 'RC_1_1' 2016-02-02 02:02:24 -05:00
arvidn 0f747695b7 fix error handling bug in logging 2016-02-02 01:57:56 -05:00
arvidn e3fc6083bb fix typo in listen_failed_alert 2016-02-01 20:53:58 -05:00
arvidn 88b7e3768f add sim test for optimistic unchoke round-robin distribution 2016-02-01 20:28:30 -05:00
arvidn f2ce2284da optimize the optimistic unchoke logic. extend the API for extensions to be able to affect the order of optimistic unchokes 2016-02-01 20:28:22 -05:00
Arvid Norberg 764c8a7f0c Merge pull request #446 from arvidn/default-gateway-fix-1.1
forward port removal of special case for windows and mingw-1.1
2016-02-01 01:50:28 -05:00
arvidn 55024ccc4b forward port removal of special case for windows and mingw in get_default_gateway that appeared wrong 2016-01-31 21:14:15 -05:00
arvidn e113e8cdf3 minor cleanup of listen sockets 2016-01-31 19:40:31 -05:00
arvidn e584c30b29 forward-port reuse address patch for windows 2016-01-31 18:16:26 -05:00
arvidn acd929381e restore the endpoint field in listen_failed_alert (but deprecated) and add a port field 2016-01-31 10:20:10 -05:00
arvidn 9f1b27cf5f Merge branch 'RC_1_1' 2016-01-30 01:47:19 -05:00
arvidn efe32c6a0e rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files 2016-01-28 01:58:33 -05:00
arvidn f31d17c9c5 allow specifying which tracker to scrape in torrent_hadnle::scrape_tracker 2016-01-26 18:14:32 -05:00
arvidn 73289cb8ae fix use of uninitialized variables in default_storage 2016-01-25 19:11:57 -05:00
Alden Torres f71d775238 Allow xp compilation with the use GetFileInformationByHandleEx. 2016-01-25 12:22:33 -05:00
Steven Siloti 21feab838d Enable SNI for outgoing SSL connections
Fixes #429
2016-01-24 12:24:33 -08:00
arvidn 2a0e64df46 add run-time check to file_storage::map_block and improve its documentation 2016-01-22 17:17:35 -05:00
arvidn 3153521367 merged RC_1_1 into master 2016-01-21 23:59:30 -05:00
Alden Torres 5c94b286b0 Removed file::m_path windows specific field
Removed default_storage::sparse_end
Typos
2016-01-21 12:11:33 -05:00
Alden Torres 218d33c545 Documentation typos and minor cleanup 2016-01-20 20:48:23 -05:00
arvidn fbb246094b fix windows build 2016-01-19 21:21:00 -05:00
arvidn 2fa84b3aa5 fix incorrect use of WaitForMultipleObjects 2016-01-19 18:47:21 -05:00
arvidn 784f8806a4 fix asio debugging feature 2016-01-18 23:13:50 -05:00
arvidn 2262a3dcaf Merge branch 'RC_1_1' 2016-01-18 20:51:37 -05:00
arvidn 595fe157a9 fix shutdown issue 2016-01-18 20:48:27 -05:00
Arvid Norberg a80c4f4777 Merge pull request #397 from arvidn/dht-rate-limit
move the DHT rate limiter into the dht_tracker class
2016-01-18 15:39:37 -05:00
arvidn d5203c67d9 add DHT rate limit test (simulation). introduce a new counter for dropped incoming dht messages. 2016-01-18 14:34:42 -05:00
arvidn 06b52f1421 some cleanup of the dht_socket_interface and fix tests and simulations to build with the dht disabled 2016-01-18 14:34:42 -05:00
arvidn 297b8943d0 move the DHT rate limiter into the dht_tracker class and remove the rate_limited_udp_socket type. This further simplifies the udp socket (preparing for moving it into the listen_socket structure) 2016-01-18 14:34:41 -05:00
arvidn 4cbbb0620e only strip trailing dots and spaces from filenames on windows 2016-01-18 13:07:04 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
Arvid Norberg fa391d4961 Merge pull request #394 from arvidn/forward-port-http-fix
forward port fix for web seeds not being used by torrents added by URL
2016-01-17 17:47:25 -05:00
arvidn 0c971d0d62 forward port fix for web seeds not being used by torrents added by URL 2016-01-16 23:57:33 -05:00
arvidn 3cd57b59e0 when a tracker is force announced or scraped by the user/client, the resulting response or failure alert is now posted regardless of the alert mask. Since it's user initiated, it's reasonable to expect the user to be interested in the response 2016-01-16 21:24:04 -05:00
arvidn 78d306157b forward port of windows symlink fix from RC_1_0 2016-01-16 01:53:27 -05:00
Arvid Norberg cdc3e720d6 Merge pull request #386 from arvidn/win-file-error-handling
fix missing error handling in windows preadv/pwritev emulation
2016-01-13 21:50:49 -05:00
arvidn c8f119c1a1 fix typo 2016-01-13 01:07:27 -05:00
arvidn 4a28e95ce0 fix missing error handling in windows preadv/pwritev emulation 2016-01-13 00:49:17 -05:00
arvidn 13f03ce38a print the actual stats in session_stats_alert::message() and make parse_session_stats.py parse the alert output. add stats_metric objects for all performance counters 2016-01-12 23:34:37 -05:00
arvidn f4d643bd2d instead of restarting the whole DHT when changing external IP, just rebuild the routing table and change the node IDs 2016-01-11 21:17:25 -05:00
Alden Torres 20d8f4e3f7 Removed unused fields in field class 2016-01-11 12:07:36 -05:00
arvidn 4cc2e879c4 comment out verbose pex logging. fix bug in disabled_storage and an error reporting issue on short reads in default_storage 2016-01-10 11:50:56 -05:00
Alden Torres 0f442f59f3 Avoid pass IPv6 address to current implementation of DHT while adding a node 2016-01-09 18:46:19 -05:00
arvidn e06daa68a4 overhaul the dht simulator (setup_dht) to be more flexible and cheaper to run thousands of nodes 2016-01-09 01:08:52 -05:00
Alden Torres 7b34379c87 Doc typos 2016-01-05 08:31:04 -05:00
Arvid Norberg 7282195ef0 Merge pull request #355 from arvidn/dht-add-node
simplify dht routing table add
2016-01-03 09:54:30 -05:00
arvidn d954ae1b18 simplify dht routing table add 2016-01-02 20:03:18 -05:00
Alden Torres b9a5525ab2 Store dht_settings::max_peers in session state 2016-01-02 11:49:07 -05:00
arvidn 07ddb010c5 split buckets when exceeding the next bucket's size, to make sure we split before risking discarding nodes because the next bucket is smaller 2016-01-02 00:45:44 -05:00
arvidn e3ba811ae4 improve name of m_timer in dht_tracker 2016-01-01 16:42:44 -05:00
arvidn 01e6b93854 simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit 2016-01-01 16:42:37 -05:00
Arvid Norberg ffb78f0378 Merge pull request #312 from ssiloti/export-verify-message
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
Steven Siloti ac01ccc43a add templated wrapper around verify_message
It was too easy to forget to update the ret and size parameters
when the size of desec changed. With this change we now automatically
get the size of desc and enforce that ret has the same size.

It would be nice if we could use bdecode_node ret[static Size] from C99
but that is not widely supported.
2015-12-29 20:35:36 -08:00
arvidn 1698dc75dc remove redundant boost::bind 2015-12-25 15:59:50 -05:00
Arvid Norberg 03e90d45d8 Merge pull request #339 from arvidn/dht-storage-test
extend the unit test of dht_storage
2015-12-20 02:02:56 -05:00
arvidn 626baade75 fix dht_storage bug 2015-12-19 22:06:25 -05:00
arvidn 3460f203f3 extend testing of sanitize_append_path_element 2015-12-19 20:11:22 -05:00
arvidn 28749466a2 fix build 2015-12-19 02:40:10 -05:00
arvidn 15ec839d33 extend the unit test of dht_storage 2015-12-19 02:09:06 -05:00
arvidn e9b98c7d2e GetFileAttributesEx fix 2015-12-19 00:12:11 -05:00
arvidn 1f3f06a836 forward port fix for deleting files of magnet link to master 2015-12-18 18:33:31 -05:00
arvidn 645b121df6 deprecate resolve-countries 2015-12-14 21:32:30 -05:00
Arvid Norberg 87dcd690d8 Merge pull request #327 from arvidn/stop-when-ready-fix
polish the stop-when-ready flag and improve documentation
2015-12-14 00:42:57 -05:00
Arvid Norberg 3516e53fa2 Merge pull request #329 from arvidn/warnings-fix
mark up some override functions and fix other clang warnings
2015-12-13 22:12:52 -05:00
arvidn 1712a8e4b4 polish the stop-when-ready flag and improve documentation 2015-12-13 20:31:28 -05:00
arvidn 505ae508f4 mark up some override functions and fix other clang warnings 2015-12-13 19:44:42 -05:00
arvidn 4b6e11cc07 deprecate set_tracker_login 2015-12-13 15:14:19 -05:00
Arvid Norberg 9e51700739 Merge pull request #325 from arvidn/set_web_seeds
add set_web_seeds to torrent_info
2015-12-13 11:24:59 -05:00
arvidn 121b686a39 add set_web_seeds to torrent_info 2015-12-12 18:36:15 -05:00
arvidn 0f9d82ab22 fix bug in handling force-started checking torrents 2015-12-12 15:08:38 -05:00
Arvid Norberg 550b0bb047 Merge pull request #313 from arvidn/setup-swarm-cleanup
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn d505f93d7a port sim tests to use the new setup_swarm API 2015-12-12 00:41:47 -05:00
arvidn d80a129871 fix gcc warnings 2015-12-12 07:15:24 +02: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
arvidn cc3b064cff fix graceful pause issue. peers regularly check whether they should disconnect or not 2015-12-04 23:27:43 -05:00
Alden Torres 409cfaccc1 Fix num_alert_types. 2015-12-03 22:04:32 -05:00
arvidn 8732863a9a another fix to receiving malformed DHT error message 2015-12-03 01:08:27 -05:00
arvidn 2acb3dcb24 clean up use of getrlimit() by wrapping it and move it to platform_util.cpp. Also take the opportunity to make it simulator friendly (consistent in simulation) 2015-12-02 00:45:34 -05:00
arvidn 12dde0f415 actually add a test to the unit test 2015-11-30 19:07:35 -05:00
arvidn 7540a6e5cc correctly check incoming DHT error messages 2015-11-30 18:02:00 -05:00
Arvid Norberg d0da753fb8 Merge pull request #302 from arvidn/fix-save-resume
fix save_resume_data in client_test
2015-11-30 17:17:57 -05:00
arvidn 60df41cd85 fix save_resume_data in client_test and make torrent a bit more instrumentable. This could be greatly simplified if resume data would not have file_sizes and timestamps 2015-11-29 20:31:57 -05:00
arvidn 87b64f083a fix python build 2015-11-29 11:12:58 -05:00
arvidn 332799bff2 make alert types declared final and disable the log alert declarations when logging is disabled 2015-11-29 10:16:02 -05:00
arvidn e9c0fc8eb5 fix bug that disabled rarest-first piece picking. introduced when removing speed-affinity in the piece picker 2015-11-29 08:26:00 -05:00
arvidn fd3b53604c add new piece picker logging alert category 2015-11-29 08:25:55 -05:00
arvidn 2c3d7ee0ef fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well) 2015-11-28 14:14:49 -05:00
Arvid Norberg 359fc5648b Merge pull request #296 from arvidn/udp-read-handler
more efficient handler allocation for udp and second_tick
2015-11-28 01:06:10 -05:00
arvidn a8e31fd8ca add first coverage of test_transfer as a proper sim 2015-11-28 00:59:39 -05:00
arvidn 98c3b75b55 use more efficient (in-place) handler allocation for udp async_read and session second_tick 2015-11-28 00:57:44 -05:00
arvidn 51df32a25b fix logging issue 2015-11-27 14:04:46 -05:00
arvidn 847cd340ee extend tracker sim test and fix some bugs in tracker error reporting 2015-11-24 23:38:49 -05:00
arvidn 06b648203f clean up use of error categories 2015-11-24 00:50:51 -05:00
arvidn e3dad98fbe fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage 2015-11-24 00:39:02 -05:00
arvidn 92236a9923 clean up error_code use, and use error_condition to test for errors in test_http_connection 2015-11-24 00:39:01 -05:00
arvidn 174e0aeb46 fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection 2015-11-24 00:39:01 -05:00
arvidn 91868f2086 add test for gzipped http responses 2015-11-24 00:39:01 -05:00