Commit Graph

389 Commits

Author SHA1 Message Date
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
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
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 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 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
arvidn 2ac2ff96a4 fix typo 2016-10-09 20:24:32 -04:00
arvidn 6c805bd06d simplify print statements in tests 2016-10-09 20:23:45 -04:00
arvidn 9453fbd54b merged RC_1_1 into master 2016-10-09 20:09:44 -04:00
Arvid Norberg 6bb2d7c017 Sanitize 1.1 (#1197)
enable address sanitizer
2016-10-09 17:00:20 -04: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 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 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
Alden Torres c7ec987a1b refactor in msg verify_message and minor cleanup (#1131) 2016-09-21 23:04:05 -07: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 0507764d04 consts and refactor, hash_address returns the hash (#1093)
consts and refactor
2016-09-15 21:13:43 -04:00
arvidn 33414de68d merged RC_1_1 into master 2016-09-11 21:01:03 -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 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 3faa771843 removed use of boost::bind and boost::scoped_array (#1053) 2016-09-01 09:43:53 -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
arvidn b554909486 hint DHT bootstrap nodes of actual bootstrap request 2016-08-30 21:15:35 -04:00
Alden Torres 2ac45d17ef ed25519 api refactor (#1041) 2016-08-30 02:37:51 -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
arvidn 74fc0fae9d merged RC_1_1 into master 2016-08-21 16:28:49 -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 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 bb388563b3 refactor to use torrent_info with std::shared_ptr (#1006) 2016-08-17 17:26:35 -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
arvidn 8c8c3d5587 replace boost::function with std::function 2016-08-13 07:07:26 -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 7caa99d6f1 __cplusplus cleanup (#951)
cleanup
2016-07-26 18:30:19 -04:00
arvidn 680a09cfa5 merged RC_1_1 into master 2016-07-26 02:14:58 -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
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 f57612b82d rename of aux::array_view to span (#933) 2016-07-22 09:31:42 -07: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 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 5be93752de fix warning 2016-07-09 13:49:46 -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
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 eeb91cb803 Reduce appveyor builds 1.1 (#883)
reduce the number of times libtorrent is built on appveyor and travis
2016-07-05 11:25:31 -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 66416963eb fix python binding linking on msvc (#878) 2016-07-03 23:30:52 -04:00
Arvid Norberg cf65f85dc3 fix file_completed_alert (#880) 2016-07-03 14:48:18 -04:00
Arvid Norberg 33117ce5b2 extend link compatibility check to export-extra configurations (#876)
extend link compatibility check to export-extra configurations
2016-07-03 11:42:57 -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 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
arvidn 916f8043c1 restore libsimulator submodule for msvc-12 2016-06-22 00:33:21 -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 717ed8bd3b Msvc warnings (#822)
fix msvc warnings in python bindings and simulations
2016-06-18 19:24:27 -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
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 e1f7899310 update libsimulator submodule, to reduce warnings (#821) 2016-06-14 18:28:20 -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
Arvid Norberg ef1a24518d fix dht tests (#803)
fix tests
2016-06-11 15:37:28 -04:00
arvidn 8d51e04344 enable asserts in test build variants 2016-06-10 18:50:07 -04:00
arvidn fd8c575e7e fix mere issue 2016-06-10 14:54:50 -04:00
arvidn c76911e4c6 fix merge 2016-06-10 14:15:22 -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
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
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
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 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
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
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -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 aa0d29b67d merged RC_1_1 into master 2016-05-19 01:28:22 -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 53bd03558c Dht stats 1.1 (#720)
fix missing dht stats counter updates
2016-05-12 21:27:11 -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
arvidn 5cd022cadb fix submodule 2016-05-07 21:43:06 -04:00
arvidn 254906eddc back-port torrent peer-class fix from master 2016-05-07 14:56:22 -04:00
arvidn 6d49d9d061 update libsimulator submodule 2016-05-06 17:41:52 -04:00
arvidn 6cf5ac9dd1 merged RC_1_1 into master 2016-05-06 01:08:05 -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
Steven Siloti ff0675e64e use standard array container (#676) 2016-04-30 23:10:47 -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 46b33f920b remove explicit cache feature (#661)
remove explicit cache feature
2016-04-29 02:32:00 -04:00
Steven Siloti 2d9a6b76f1 use asio::protcol instead of an enum/bool 2016-04-24 15:18:47 -07:00
Steven Siloti 43be11177b Add dual stack DHT node simulation tests 2016-04-24 14:26:57 -07:00
Steven Siloti 2abd9867ce IPv6 DHT support
Fixes #110
2016-04-24 14:26:57 -07: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
arvidn 04a3c04075 merged RC_1_1 into master 2016-04-20 08:08:05 -04:00
arvidn bd6efe1179 fix simulator submodule 2016-04-18 08:37:58 -04:00
arvidn 93408a02ff fix classification of UDP packets as peer traffic 2016-04-18 01:29:46 -04:00