Commit Graph

3703 Commits

Author SHA1 Message Date
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
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 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
Alden Torres 4142dfe5eb headers and code cleanup in udp_socket code 2016-12-06 22:54:29 -05:00
Alden Torres 37cbdc5b37 fixing shorten-64-to-32 warnings, part 1 2016-12-05 00:22:17 -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 29e09a457a fix deprecation of use_interface 2016-12-04 01:41:52 -05:00
Markus c0f00499b1 Clarify documentation (#1368)
clarify documentation of private torrents
2016-11-30 09:11:16 -05:00
arvidn 6267984e5e piece picker fix 2016-11-30 01:34:10 -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
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 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
Arvid Norberg 5c8e6d6e97 use more compact internal representation for bool settings (#1355)
use more compact internal representation for bool settings
2016-11-26 01:34:57 -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 b3c3c2aae6 merged RC_1_1 into master 2016-11-24 07:40:32 -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
pavel.pimenov 8011ab57be Use TORRENT_EXPORT for disk_job_fence and storage_piece_set (Fixed #1348) 2016-11-23 01:57:27 -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
Alden Torres 86251adb1b more fixes of integral type conversion warnings 2016-11-21 20:22:18 -05:00
Mokhtar Naamani f81e09fe05 update stack_allocator to support 0 size allocations 2016-11-21 20:17:15 -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 ca6f446c26 remove enable_if expression on tailqueue since msvc had problems with it 2016-11-20 10:28:55 -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
arvidn 721a607593 update piece priority documentation 2016-11-19 14:33:04 -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
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
Alden Torres 399a7ffae9 netlink private fields name refactor 2016-11-13 20:53:51 -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 e447a50c9d use enum class in udp_tracker_connection 2016-11-11 21:39:54 -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
arvidn 9e5a2a7de4 remove unused exceeded_cache_use() function 2016-11-07 13:07:46 -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
Arvid Norberg 4ba0151cb9 documentation fixes (#1274) 2016-10-29 22:56:46 -04:00
Arvid Norberg d1e916ec9e fix deprecated warnings in msvc (#1272)
fix deprecated warnings in msvc and merge issue.
2016-10-29 21:10:40 -04:00
arvidn b97bb84a9f merge RC_1_1 into master 2016-10-29 14:25:57 -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
Alden Torres 877a47e03b fix deprecated warning with msvc (#1265)
fix deprecated warning with msvc
2016-10-27 18:09:14 -04:00
arvidn b65c89a000 fix formatting 2016-10-27 00:29:41 -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
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
Alden Torres 8bdbaec872 minor cleanup refactor (#1252) 2016-10-24 20:19:01 -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
Arvid Norberg 6148984426 remove whitespace at end of line (#1245) 2016-10-22 11:47:24 -04:00
Arvid Norberg 2d2874d252 minor block_cache cleanup. make hash be a unique_ptr (#1241) 2016-10-21 07:37:15 -04:00
arvidn b1e22e6183 merged RC_1_1 into master 2016-10-20 00:36:54 -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
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
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
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
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
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
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
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 8d940a4013 using warnings guard in error.hpp and BOOST_SYSTEM_NO_DEPRECATED in Jamfile (#1184) 2016-10-04 21:54:02 -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
Alden Torres 2d7378ddcd supress warnings in hashers headers include (#1178) 2016-10-03 16:32:20 -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 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
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
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 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
Alden Torres 158ae3a4ba consts, minor refactor, typos and test (#1142) 2016-09-23 13:49:39 -07:00
Alden Torres a75c2ba47e fix examples/make_torrent.cpp compilation (#1140)
fix examples/make_torrent.cpp compilation
2016-09-23 07:45:35 -07:00
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
Arvid Norberg 1fa4c4b2ae simplify allocating handler (#1135) 2016-09-22 12:00:54 -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 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 f712caa80d deprecate send_stats property on trackers (since lt_tracker extension has been removed) (#1125) 2016-09-21 16:54:49 -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 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
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
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
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
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 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