Commit Graph

1323 Commits

Author SHA1 Message Date
Arvid Norberg 9e4045ed42 use 32 bit time points in torrent (#1662)
use 32 bit time points in torrent and add some slack to time point comparisons in python test
2017-02-05 19:18:06 -05:00
arvidn 381defab05 merged RC_1_1 into master 2017-02-05 12:51:48 -05:00
arvidn 34ecb60c09 use enum class for close reason 2017-02-04 11:24:35 -05:00
arvidn c9a2fed2c9 add tests for edge cases of session settings, and fix a few integer overflows 2017-02-03 20:42:59 -05:00
arvidn c8e488b094 merged RC_1_1 into master 2017-02-02 22:58:33 -05:00
arvidn 2b53eb28a9 minor cleanup in automatic connections_limit management 2017-02-01 23:28:13 -05:00
arvidn ffca4afaa6 remove unintuitive limit on peer connections (especially with large values of file_pool_size) 2017-01-29 02:45:30 -05:00
arvidn 6b91adab6a merged RC_1_1 into master 2017-01-28 14:36:23 -05:00
Arvid Norberg ba9fae8e1f fix issue with unloading torrents (#1624)
fix issue with unloading torrents
2017-01-25 23:42:59 -05:00
Alden Torres 8b98bf2c9d more use of peer_class_t in public API 2017-01-22 14:06:27 -05:00
Arvid Norberg 6a701437b6 use strong_typedef for peer_class_t type (#1595)
use strong_typedef for peer_class_t type
2017-01-21 22:40:19 -05:00
arvidn 173951ec7f merged RC_1_1 into master 2017-01-21 02:28:29 -05:00
Alden Torres a2b3248f5d call set_proxy_settings during session_impl::setup_listener (#1563)
call set_proxy_settings during session_impl::setup_listener
2017-01-17 17:04:52 -05:00
Arvid Norberg 04589f3bef don't load user_agent and peer_fingerprint from session_state (#1538)
don't load user_agent and peer_fingerprint from session_state
2017-01-15 01:21:52 -05:00
arvidn 934c58a816 merged RC_1_1 into master 2017-01-15 00:45:17 -05:00
Alden Torres 4f7b69be90 fix of internal session_impl logic regarding TOS (#1518)
fix of internal session_impl logic regarding TOS
2017-01-13 00:55:54 -05:00
arvidn d6a7c7d991 fix error in accounting of IP overhead 2017-01-11 00:02:18 -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 59b322bc79 merged RC_1_1 into master 2016-12-29 08:54:28 -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
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
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
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 cde9457fdb fix merge issue 2016-12-22 01:13:17 -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
Andrei Kurushin 10e3847b40 fix upnp (#1421)
* fix upnp xml_parser, and listen sockets remap
2016-12-17 17:50:03 -05:00
arvidn 814f7363a4 deprecate identify_client() and fingerprint type 2016-12-17 11:48:20 -05:00
Alden Torres a05f0ba8a4 refactor for more modern struct initialization and use of api 2016-12-12 02:15:27 -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
arvidn bbfe58d03c fix bind-to-device for UDP sockets 2016-12-10 18:18:54 -05:00
Alden Torres e1dcf82e2a fixing shorten-64-to-32 warnings, part 3 2016-12-08 20:22:34 -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 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
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
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 84e0362180 more fixes in signed compare warnings (#1345)
more fixes in signed compare warnings
2016-11-21 01:49:56 -05:00
Alden Torres 4c7e24ea35 more use of std::make_shared, fixing warnings of over-aligned 2016-11-18 00:28:29 -05:00
Alden Torres 9e1305ed75 auto loop, consts and minor cleanup refactor 2016-11-15 19:54:38 -05:00
arvidn bba121d010 fix recent regression causing potential duplicate add_torrent_alerts 2016-11-12 01:03:38 -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
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 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 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
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 5341be1e84 more improvement to error/exception handling (#1247)
improvement to error/exception handling
2016-10-22 22:00:47 -04:00
arvidn b1e22e6183 merged RC_1_1 into master 2016-10-20 00:36:54 -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 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 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
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 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
Alden Torres 9343f2fbfb minor header cleanup and refactor (#1179) 2016-10-04 07:43:34 -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 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 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
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
Arvid Norberg 372d992d8e make connection_type enum an enum class (#1146) 2016-09-24 10:47:17 -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
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -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 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 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
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 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
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
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 b313de3925 some refactor and cleanup (#1065) 2016-09-05 22:25:20 -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 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
Alden Torres 585a760588 headers cleanup (#1054)
headers cleanup
2016-09-01 15:04:58 -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
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
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 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