Commit Graph

395 Commits

Author SHA1 Message Date
arvidn 5e7666526e fix IPv6 tracker announce issue 2017-11-23 10:11:59 +01:00
Alden Torres f73473a6ec don't early move shared_ptr plugin in torrent::add_extension_fun, added test for it 2017-11-23 08:00:08 +01:00
arvidn a57ad00e15 fix force-proxy regression (udp sockets would not be opened) 2017-11-21 08:54:16 +01:00
arvidn c6f0c9c206 fix build 2017-11-21 08:22:02 +01:00
arvidn 22f8bdfebc merge RC_1_1 into master 2017-11-21 00:50:02 +01:00
Arvid Norberg c734f42ac3
make tracker announces happen even if there are no open listen sockets (#2529)
support announcing to IPv6 trackers and running an IPv6 DHT when not listening for incoming connections
2017-11-20 23:42:22 +01:00
arvidn 096ce54fae fix issue where new listen sockets would not be opened when leaving force_proxy mode 2017-11-14 12:38:22 +01:00
arvidn 381db57b42 improve simulations by reseeding the random number generator. also erase all output in between iterations in test_error_handling 2017-11-09 17:59:13 +01:00
Alden Torres 5480c08184 enable/disable the internal ip notifier with new setting (#2487) 2017-11-01 10:51:51 +01:00
arvidn a6c85496b5 make parse_magnet_uri return the add_torrent_params instead of of taking an in-out parameter 2017-10-15 04:29:53 +02:00
arvidn 9111d5977e make the variables holding the source of external IPs type-safe 2017-10-10 22:38:36 +02:00
Steven Siloti 8648de3706 DHT nodes should only handle requests on their socket (#2355) 2017-09-21 21:00:38 -07:00
arvidn 6b55096ebd switch some using declarations to new-style typedefs. remove some redundant parenthesis 2017-09-18 09:38:51 +02:00
arvidn bb51dcdbb9 move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
arvidn 95c8c3018a use span in gzip, http_parser and http_connection 2017-09-04 22:33:38 +02:00
arvidn 58f91e67fb merged RC_1_1 into master 2017-08-19 23:30:13 +02:00
arvidn fe37884bc6 fix IPv6 tracker support by performing the second announce in more cases 2017-08-19 18:56:51 +02:00
arvidn 5bf28e37b8 make create_torrent flags type-safe 2017-08-04 21:23:42 +02:00
arvidn 69bd2986de convert a few more torrent_handle flags to type safe types 2017-07-27 13:16:23 -07:00
arvidn 8d0f38930e make udp send flags type safe 2017-07-26 18:09:17 -07:00
arvidn e19736f925 fix simulation tests to make them not use deprecated functions 2017-07-26 18:00:03 -07:00
arvidn c4eb4c8b5f use span in torrent_info constructors and deprecate the redundant flags argument 2017-07-22 00:00:44 -07:00
Steven Siloti 5eba09fce7 changes based on review feedback 2017-07-21 19:18:44 -07:00
Steven Siloti f0ae2145ea use a handle class for listen sockets instead of raw pointers
Listen socket handles need to be week_ptr so that they can detect when a listen
socket is removed in the middle of a tracker announce on it. Use a wrapper class
to enforce that no one outside of session_impl can hold ownership of the socket
across event boundaries.

To support unit tests, listen_socket_t is also split into a base class which
holds the members needed to support the public listen socket API.
2017-07-21 19:18:44 -07:00
toinetoine b1c3e12cd0 added block_uploaded_alert to allow client to track upload activity 2017-07-16 11:04:03 -07:00
arvidn c4afb5e949 use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics 2017-07-15 01:15:57 -07:00
Steven Siloti 2e79c5e648 fix handling of SSL listen sockets 2017-07-10 21:41:39 -07:00
Alden Torres 80036f0377 avoid executing timed async task if the dht node is already removed (#2133) 2017-07-08 08:32:24 -07:00
Arvid Norberg b13ac50f4e update libsimulator (#2107)
use move in simulations. don't pretend io_service to be movable
2017-06-28 11:00:14 -04:00
arvidn ff454a92d4 unify some operation-enums and strings to use operation_t 2017-06-18 07:31:45 -04:00
arvidn 3f09d16e3c defer reconnecting peers to after the second_tick loop (to avoid mutating m_connections while iterating over it) 2017-06-14 10:35:50 -04:00
arvidn f3d319b677 fix internal use of deprecated function identify_client 2017-06-10 08:16:23 +02:00
arvidn afce0d3a86 make resolver_flags use enum class for improved type-safety 2017-05-29 18:38:59 -04:00
arvidn 680ca6ea2b merged RC_1_1 into master 2017-05-21 21:02:09 -04:00
arvidn acd98d5c40 delay 5 seconds before reconnecting socks5 proxy for UDP ASSOCIATE 2017-05-21 08:53:29 -04:00
arvidn e0fa1cd247 merged RC_1_1 into master 2017-05-12 21:46:45 -04:00
Jan Berkel b3815c5533 HTTP proxy: avoid connecting to itself (#1978) 2017-05-08 11:04:17 -04:00
arvidn b1b4360df6 merged RC_1_1 into master 2017-05-08 07:48:42 -04:00
Jan Berkel fe9f877087 Set connection timeout when next endpoint is tried (#1952) 2017-05-04 17:32:47 -04:00
Steven Siloti fd50630020 announce to trackers for all listen interfaces 2017-04-30 08:11:56 -04:00
arvidn d138f02424 introduce lt namespace alias 2017-04-23 23:43:58 -04:00
Steven Siloti bcfaf9621a fixes from review 2017-04-23 19:49:49 -04:00
Steven Siloti cdd50be859 create a separate DHT node for each listen socket 2017-04-23 19:49:49 -04:00
arvidn 04c76249b6 merged RC_1_1 into master 2017-04-21 01:21:31 -04:00
arvidn 645d658214 merged RC_1_1 into master 2017-04-13 07:42:32 -07:00
arvidn 79d7ae3638 separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class 2017-04-11 18:07:55 -04:00
Arvid Norberg 13b16a63a3 use unsigned type for file flags. make file_pool private to disk_io_thread (#1894)
use unsigned type for file flags. make file_pool private to disk_io_thread. move close_file_interval logic to the disk thread. don't expose file in public interface, and make pool_file_status properly public (not part of file_pool and renamed to open_file_status), this is exposed in public interface via torrent_handle::file_status()
2017-04-08 18:24:50 -04:00
arvidn 8267d05139 restore libsimulator submodule 2017-04-04 23:37:55 -04:00
arvidn 7c35c2270f improve client_test 2017-04-04 18:22:10 -04:00
arvidn b367a0cd50 fix simulator build warnings 2017-04-02 20:48:36 -04:00
Arvid Norberg 64ad4f5c96 enable warnings when building tests (#1880) 2017-04-02 14:22:17 -04:00
arvidn 0b6fe4d0bd merged RC_1_1 into master 2017-03-30 18:07:24 -04:00
Arvid Norberg 8ebbad19d4 deprecate add_torrent_params::url field. use parse_magnet_uri instead (#1864)
deprecate add_torrent_params::url field. use parse_magnet_uri instead
2017-03-29 02:16:07 -04:00
arvidn 02bb1251d2 removed (broken) support for incoming connections over socks5 2017-03-29 02:15:43 -04:00
arvidn 86786770b7 merged RC_1_1 into master 2017-03-27 01:24:43 -04:00
arvidn 910ccc528f deprecate torrent_added_alert in favor of add_torrent_alert 2017-03-26 22:48:17 -04:00
arvidn 6cdd598e7c make add_torrent_params movable and have add_torrent/async_add_torrent take it by value 2017-03-26 16:48:57 -04:00
arvidn cb867a6edc fix build of simulations without deprecated functions 2017-03-25 23:44:31 -04:00
arvidn 1dd0e9b280 use string_view instead of strcmp 2017-03-18 15:54:38 -04:00
Arvid Norberg 642cfa387d add limit for number of web seed connections (#1817)
add limit for number of web seed connections
2017-03-18 15:53:07 -04:00
Alden Torres a7934594fe fix memory corruption during DHT simulation tests 2017-03-15 23:02:40 -04:00
arvidn 9995e25be7 fix typo 2017-03-15 07:30:30 -04:00
Arvid Norberg 827372f9ab fix master build after merge (#1813)
fix master build after merge
2017-03-15 07:15:36 -04:00
arvidn 3a1379ef1e merged RC_1_1 into master 2017-03-14 12:55:13 -04:00
arvidn e37e4bfe8a include user-agent in tracker announces in anonymous_mode for private torrents 2017-03-12 21:10:00 -04:00
arvidn 4ded26de33 fix issue with load/unload torrents 2017-03-11 19:59:53 -05:00
arvidn 08c05b9693 correctly URL encode the IPv6 argument to trackers 2017-03-10 02:27:51 -05:00
arvidn 5cb12318c5 fix bug where settings_pack::file_pool_size setting was not being honored 2017-03-09 08:18:10 -05:00
arvidn 6929d051f1 fix build without deprecated functions 2017-03-09 00:19:02 -05:00
arvidn 6d54c20adf merge RC_1_1 into master 2017-03-08 18:01:59 -05:00
arvidn faa2029f8b add feature to periodically close files (to make windows clear disk cache) 2017-03-06 23:46:47 -05:00
Andrei Kurushin 7a8ffc2f2d fix web_seed redirects (#1651)
fix web_seed redirects, make all redirects ephemeral (to avoid resume serialization). remove dup slash for redirects in proxy mode. consolidate {convert_path_to_posix,escape_path} to escape_file_path
2017-02-22 22:46:33 -05:00
arvidn 2c51c59327 merge RC_1_1 into master 2017-02-18 13:29:12 -05:00
arvidn a12bfe3164 more tests of edge case settings 2017-02-17 15:37:06 -05:00
arvidn edaa96bbbe clean up and simplify parts of test_web_seed 2017-02-11 08:05:36 -05:00
Andrei Kurushin 02c870da94 fix disabled "close_redundant_connections" web_seed disconnect exception (#1676)
fix disabled "close_redundant_connections" web_seed disconnect
2017-02-08 07:58:04 -05:00
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
Falcosc a9d6d54111 fix multible torrent status timer bugs related to move time (#1492)
fix last_upload and last_download overflow after 9 hours in past. change last_upload, last_download, finished_time,  resume, upload_mode_time to time_point and duration
2017-02-04 13:34:14 -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
Alden Torres deecdb6cfa added support for infohashes sample in dht storage (#1586)
added support for infohashes sample in dht storage
2017-01-28 20:24:53 -05:00
Arvid Norberg 3d06371f31 factor out some common storage utilities out of storage.cpp (#1515)
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -05:00
Arvid Norberg 1cf3689578 simplify disk thread a little bit (#1504)
simplify disk thread a little bit
2017-01-08 19:22:59 -05:00
arvidn ba995fef84 fix msvc-warning 2017-01-08 12:56:33 -05:00
arvidn 0c7e86078b merged RC_1_1 into master 2017-01-08 10:18:41 -05:00
Arvid Norberg 5d1fb97b14 fix torrent_status test (#1499)
fix torrent_status and tracker interval test
2017-01-08 09:51:01 -05:00
arvidn 39866c2306 fix division by zero when setting tick_interval > 1000 2017-01-07 15:21:02 -05:00
Arvid Norberg 57f52adc88 various cleanup (#1497)
* various cleanup

* fix

* cleanup
2017-01-06 01:39:01 -05:00
arvidn 203994a948 update libsimulator 2016-12-30 20:34:30 -05:00
arvidn 4f89b397b1 fix python build 2016-12-29 15:06:56 -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
arvidn cda715c152 introduce type for slot index in part_file 2016-12-26 08:33:19 -08: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
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
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
arvidn 0e33e62627 merged RC_1_1 into master 2016-11-20 11:18:16 -05:00
tnextday c1224f72c3 add urlseed timeout test (#1340)
updates m_last_sent in peer_connection::setup_send() instead of peer_connection::keep_alive()
2016-11-20 10:32:20 -05:00
Steven Siloti 6691531ebb fix missing include in dht_rate_limit test
cmath is needed for abs(float)
2016-11-04 08:11:06 -04:00