Commit Graph

3267 Commits

Author SHA1 Message Date
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
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
Sivachandran 8f3bd1052e fix mutable dht_get_item failure when salt is non-empty (#909) 2016-07-18 07:12:10 -07:00
Arvid Norberg cf65f85dc3 fix file_completed_alert (#880) 2016-07-03 14:48:18 -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
terry zhao 1a3e75b50a fix msvc-8.0 build (#860) 2016-06-27 13:46:15 -04:00
arvidn f56d698db6 fix asio-debugging 2016-06-25 17:29:40 -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
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 96ea0dc4d0 fixed bug related to flag_merge_resume_http_seeds flag in add_torrent_params (#813) 2016-06-13 07:46:34 -04:00
Arvid Norberg 5ecd00c5c5 fix osx build (#804)
fix osx build with asserts enabled
2016-06-11 00:48:13 -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
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
arvidn ec182492cc improve add_torrent_params::flags documentation and fix related logging bug 2016-05-30 16:36:44 -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 67a497834a back-port extra checks in pe_crypto from master 2016-05-27 09:51:06 -07:00
Alden Torres f8dcf30b2e Ported support for magnet x.pe parameter from master (#760) 2016-05-27 12:12:32 -04:00
Arvid Norberg d0a870b3dd produce valid bencoded strings for undefined/uninitialized entry objects (#756) 2016-05-26 03:33:05 -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
arvidn f6b18c7097 improve documentation for alert_cast 2016-05-22 20:35:04 -04:00
Arvid Norberg a604e68f11 System noexcept 1.1 (#715)
fix building with boost that doesn't define BOOST_SYSTEM_NOEXCEPT
2016-05-17 01:23:58 -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 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
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
arvidn 3121334346 restore session_time 2016-04-24 18:27:40 -04:00
arvidn ed5673bf5c attempt to make session_time() not return negative numbers 2016-04-23 09:42:32 -04:00
Alden Torres 6171c911a0 Added assert for total_size in create_torrent (#636) 2016-04-22 13:51:06 -04:00
Alden Torres 3c40cacd5b Documentation typos and minor include cleanup (#635) 2016-04-21 15:39:53 -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
Alden Torres 0fddd403b2 Better api for peers() method in dht_get_peers_reply_alert (#628) 2016-04-19 16:16:51 -04:00
Alden Torres a73d424b82 typos 2016-04-15 15:39:41 -04:00
arvidn 774ea740b4 make session_time return uint16_t 2016-04-14 19:22:27 -04:00
Alden Torres f23cf84664 Disable preadv/pwritev for android 2016-04-13 00:08:08 -04:00
Alden Torres 4292cfbf04 Missing alert categories and support for dht_get_peers_reply_alert in python binding 2016-04-11 14:20:50 -04:00
arvidn 08edf43b3f fix to documentation generation to exclude private functions. fix makefile errors 2016-04-09 00:33:26 -04:00
arvidn 57d619eec7 update revision 2016-04-08 22:43:49 -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
Alden Torres 6d16811bae Minor documentation fix 2016-04-06 16:54:19 -04:00
Arvid Norberg f5c3c6addc Merge pull request #581 from ssiloti/sockopt-levels-1.1
apply {get,set}_option to the appropriate socket based on the option'…
2016-04-04 23:10:21 -04:00
Arvid Norberg d0edcaf632 Merge pull request #584 from arvidn/python-sharedptr-1.1
fix python GIL issue
2016-04-04 17:29:45 -04:00
Steven Siloti 4949721389 apply {get,set}_option to the appropriate socket based on the option's level
This avoids spurious errors being returned when trying to apply IPv4 options to
the IPv6 socket and vice-versa.
2016-04-04 13:45:06 -07:00
arvidn 90efec5d19 fix python GIL issue when passing in a torrent_info object that later gets destroyed from within libtorrent 2016-04-03 23:50:06 -04:00
Alden Torres bb8d1d0e56 Revert utp log file to disable by default
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn 31805ecec0 fix some clang build warnings 2016-04-02 12:27:42 -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
Arvid Norberg a5af3b0dc5 Merge pull request #563 from arvidn/no-compact-1.1
remove remaining references to storage_mode_compact
2016-03-20 23:20:19 -04:00
arvidn e8693465a5 remove more references to compact storage allocation 2016-03-20 19:14:46 -04:00
arvidn f5c112eefc remove remaining references to storage_mode_compact (since it's been deprecated for quite a while now, and no longer implemented) 2016-03-20 18:25:24 -04:00
arvidn 0095aa084f make coalesce reads and coalesce writes actually work 2016-03-20 16:34:19 -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 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 b446fe4bba deprecate settings_pack::hashing_threads and replace it with aio_threads in documentation 2016-03-18 16:40:52 -04:00
arvidn 85f615132b fix documentation mentions of session_settings to refer to settings_pack. clean out some outdated disk instrumentation docs 2016-03-18 16:40:52 -04:00
arvidn 3c98868f6c deprecate explicit cache feature 2016-03-18 12:15:03 -04:00
arvidn 7070492a5f remove unused left-overs 2016-03-18 11:30:25 -04:00
arvidn 1cd5119178 remove/deprecate bad idea with mlock 2016-03-17 19:37:05 -04:00
arvidn 317eb2fe2a remove unused disk allocation code 2016-03-16 20:13:28 -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
Arvid Norberg 48df15c753 Merge pull request #544 from aldenml/typos
Documentation typos
2016-03-14 21:04:47 -04:00
Alden Torres 303074e159 Documentation typos 2016-03-14 20:43:52 -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
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 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 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
arvidn 442979c318 support filtering which parts of session state are loaded by load_state() 2016-03-06 16:35:49 -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 26f88bb12d add receive_buffer unit test and some more cleanup and asserts 2016-03-05 00:14:00 -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
Arvid Norberg 0cd0c57880 Merge pull request #507 from arvidn/fix-test-upnp-1.1
fix test_upnp build
2016-02-28 10:44:16 -05:00
arvidn 8ffa76842c fix test_upnp build 2016-02-28 01:18:27 -05:00
arvidn 2f745a181c fix typo and make alert non-copyable 2016-02-27 23:53:25 -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
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 dcd6af6473 more fixing of test_transfer proxy tests 2016-02-24 00:03:56 -05:00
Arvid Norberg 46e22cf3fc Merge pull request #489 from arvidn/udp-port-mapping-1.1
fix port mapping for SSL UDP socket
2016-02-23 01:28:27 -05:00
arvidn c919c63ca3 extend the tutorial 2016-02-23 00:54:14 -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 cdfdbfd6aa fix port mapping for SSL UDP socket 2016-02-21 17:40:27 -05:00
arvidn 3ff4c0e348 add start of a tutorial 2016-02-20 17:28:41 -05:00
arvidn 2e5e11859f soft deprecate support for adding torrents by HTTP URL (remove from documentation) 2016-02-18 18:34:45 -05:00
Arvid Norberg 6b87c4dff2 Merge pull request #476 from ssiloti/RC_1_1
Fix note in listen_interfaces docs
2016-02-12 02:00:13 -05:00
Steven Siloti 7d5a3bf4ee Fix note in listen_interfaces docs
Apparently rst2html doesn't appreciate tabs. Also make the note a proper rst
directive, I think this was the intention.
2016-02-11 20:29:07 -08:00
Alden Torres feb2fd34d6 Documentation typos and new lines 2016-02-11 19:53:43 -05:00
arvidn ee14337894 revert listen_failed_alert::port 2016-02-10 18:28:34 -05:00
arvidn 6ad2b0709e correct the documentation for listen_interfaces 2016-02-10 02:07:41 -05:00
arvidn e7a0a9f49a fix properly deprecating resolve-countries feature 2016-02-08 17:56:59 -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
Alden Torres 930a33b59c Fix compilation with BOOST_NO_IOSTREAM 2016-02-03 13:35:23 -05:00
arvidn b0cc0f84ab support NULL being passed as the listen interface to session constructor 2016-02-02 23:17:51 -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
Alden Torres 9f3d13281f Documentation typos 2016-02-01 15:00:46 -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 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 2a0e64df46 add run-time check to file_storage::map_block and improve its documentation 2016-01-22 17:17:35 -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 b7b7ae199a fix msvc build 2016-01-19 01:19:16 -05:00
arvidn 9231af24b4 update changelog 2016-01-18 15:36:04 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -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 651b473908 add unit test for routing_table::update_node_id 2016-01-11 23:47:27 -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
Arvid Norberg 4e86c2257a Merge pull request #376 from arvidn/discardable-alerts
remove the concept of non-discardable alerts
2016-01-10 19:59:05 -05:00
arvidn c16e49ec43 remove the concept of non-discardable alerts 2016-01-10 16:12:16 -05:00
Jan Berkel 7c7ad60df6 Update comment 2016-01-10 15:09:28 +00: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
Alden Torres 7b34379c87 Doc typos 2016-01-05 08:31:04 -05:00
arvidn a0678240f3 forward port fixes from RC_1_0 2016-01-03 23:34:57 -05:00
Alden Torres b20096f0db Comments typos 2016-01-02 11:46:10 -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 30076218f8 entry is a class not a struct 2015-12-30 17:25:00 -08: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
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 3460f203f3 extend testing of sanitize_append_path_element 2015-12-19 20:11:22 -05:00
arvidn 15ec839d33 extend the unit test of dht_storage 2015-12-19 02:09:06 -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
arvidn 8416bcdd10 web_seed_entry needs to be exported 2015-12-12 21:46:05 -05:00
arvidn 121b686a39 add set_web_seeds to torrent_info 2015-12-12 18:36:15 -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 54bf83739d fix assert in bdecode assert for strings with prefixes of 6 or more digits 2015-12-12 00:19:13 -05:00
Alden Torres e3fc859754 A few documentation typos. 2015-12-11 08:45:08 -05: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 1290bf5228 A few typos in documentation. 2015-12-04 18:15:11 -05:00
Alden Torres 409cfaccc1 Fix num_alert_types. 2015-12-03 22:04:32 -05:00
arvidn 98c9ac0448 fix msvc build 2015-12-03 19:28:57 -05:00
arvidn 69f4e94995 null_observer is used in a test now 2015-12-03 07:51:53 -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
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 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 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 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
Steven Siloti 9c7edf803e add override and a TODO 2015-11-22 18:58:32 -08:00
Steven Siloti 9f7aa7f3a6 fix segfault in put_data
If less than three nodes are found to put an item to then traversal_algorithm::start
will add router nodes. This leads to a crash in put_data::invoke when it tries to
read a token from uninitialized memory in a null_observer.
2015-11-22 16:05:24 -08:00
Steven Siloti 1f13343a70 const correctness 2015-11-22 10:02:26 -08:00
Arvid Norberg ddddce6e2a Merge pull request #280 from arvidn/stop-start-test
stop-start test
2015-11-21 02:31:11 -05:00
Arvid Norberg 42b129b9d5 Merge pull request #178 from thomas-yuan/put
Make dht_put_alert more accurate.
2015-11-21 02:30:45 -05:00
arvidn c0d6b20634 extend swarm simulation test to include stopping and starting and graceful pause 2015-11-20 22:27:12 -05:00
Arvid Norberg 2eabf99307 Merge pull request #276 from arvidn/msvc-warnings
attempt to fix some msvc warnings
2015-11-20 08:04:38 -05:00
arvidn f03cefceb6 fix documentation bugs 2015-11-20 01:00:39 -05:00
Thomas Yuan ab70ad3e05 fix comments and unit test 2015-11-20 00:06:08 -05:00
Thomas Yuan 194ad410dc Make dht_put_alert more accurate. 2015-11-20 00:06:08 -05:00
arvidn c9c5496f1c lower alignment requirement of socket_type to silence msvc warning (it was probably not warranted in the first place anyway) 2015-11-19 22:50:40 -05:00
arvidn fba0762353 fix some msvc warnings 2015-11-19 19:01:54 -05:00
arvidn 964031c070 factor out readwritev to a free function, to allow unit testing of it 2015-11-19 17:58:55 -05:00
arvidn cec6748e0c remove the concept of slots, and just talk about pieces (since we don't do compact allocation anymore). Remove the section about compact allocation 2015-11-19 01:38:04 -05:00
Arvid Norberg bdfed667e3 Merge pull request #267 from arvidn/storage-fix
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn fb2f2731cf fix support for incomplete reads/writes from disk 2015-11-14 00:21:03 -05:00
Alden Torres 611d0c1c6e Fixed to make it compatible with mingw-w64 and generic linux 2015-11-13 07:55:28 -05:00
arvidn 2626159abe use a consistent random number generator to make simulations deterministic 2015-11-12 00:21:56 -05:00
Arvid Norberg bae2b3394f Merge pull request #258 from arvidn/version
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
arvidn fbf152abc0 attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust 2015-11-11 01:30:28 -05:00
arvidn d0dcf82612 fix bug in set_version and update version hash 2015-11-11 01:25:30 -05:00
arvidn 4c0b00c390 forward-port version function from RC_1_0 2015-11-11 00:57:51 -05:00
Steven Siloti c2277b3ea5 fix traversal_algorithm::done() being invoked more than once
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.

When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.

The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.

This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00