Steven Siloti
3d3367387a
check the address family of peers in get_peers ( #1090 )
2016-09-14 11:29:27 -04:00
Alden Torres
224ebc1ded
peer_connection log related optimization ( #1086 )
...
peer_connection log related optimization and making m_alert_mask atomic
2016-09-13 17:07:22 -04:00
Alden Torres
65cdc15543
more on log, consts, refs and cleanup in dht related code ( #1082 )
...
more on log, consts, refs and cleanup in dht related code. moving print_state out of main source code
2016-09-13 08:18:47 -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
4c53d7b2da
refactor to use std unordered containers and minor cleanup ( #1070 )
2016-09-06 23:37:36 -04:00
Alden Torres
5e69dc700c
minor cleanup and refactor ( #1069 )
2016-09-06 18:34:03 -04:00
Alden Torres
7a0da72813
use of std::unordered_multimap and fix in resolve_links::match ( #1067 )
...
use of std::unordered_multimap and fix in resolve_links::match
2016-09-06 13:04:28 -04:00
Arvid Norberg
994a84cfe8
enable string tests on appveyor ( #1064 )
2016-09-05 15:17:12 -04:00
Alden Torres
29a4075555
refactor to use std::shared_ptr with dht observer ( #1057 )
...
refactor to use std::shared_ptr with dht observer
2016-09-02 21:05: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
Steven Siloti
29e6cbbdae
fix exit condition when parsing nodes ( #1046 )
...
fix exit condition when parsing nodes
2016-09-01 00:49:21 -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
e2487c4d24
more use of std::shared_ptr refactor
2016-08-30 10:10:53 -04:00
Alden Torres
2ac45d17ef
ed25519 api refactor ( #1041 )
2016-08-30 02:37:51 -04:00
Alden Torres
ebe53883b5
refactor in escape_string and escape_path to use string_view ( #1039 )
2016-08-29 22:37:19 -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
Alden Torres
227b630bd1
added string_ends_with to replace boost ( #1034 )
...
added string_ends_with to replace boost
2016-08-26 12:36:09 -04:00
Alden Torres
44d9f456f8
adding support for a more configurable sha512 hasher ( #1028 )
...
adding support for a more configurable sha512 hasher, digest32 template, using hasher512.
2016-08-25 19:07:16 -04:00
Alden Torres
73d6ba6ae3
using span in torrent_handle and no optional in torrent_info ( #1023 )
2016-08-22 11:02:51 -04:00
Arvid Norberg
3f693fde42
fix build ( #1025 )
...
fix build
2016-08-21 20:20:46 -04:00
arvidn
74fc0fae9d
merged RC_1_1 into master
2016-08-21 16:28:49 -04:00
Arvid Norberg
debf3c6e36
update puff.c for gzip inflation ( #1022 )
...
update puff.c for gzip inflation
2016-08-21 14:43:44 -04:00
Alden Torres
00510d2b06
more use of span and std::shared_ptr ( #1018 )
...
more use of span and std::shared_ptr
2016-08-21 13:37:11 -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
daa453ef3b
back-port windows stack trace function to 1.1 ( #1017 )
...
back port exception handling and stack trace printing from master -> RC_1_1
2016-08-21 01:07:02 -04:00
Alden Torres
4d96939b7b
minor cleanup and refactor ( #1016 )
...
minor cleanup and refactor
2016-08-20 19:46:55 -04:00
Arvid Norberg
8f7901dd25
build with warnings as errors in autotools build on travis ( #1013 )
...
build with warnings as errors in autotools build on travis
2016-08-19 01:05:43 -04:00
Alden Torres
9fd83aaa10
more use of std::shared_ptr ( #1009 )
...
more std::shared_ptr transition
2016-08-18 17:08:40 -04:00
Alden Torres
5789b02e1b
storage_interface refactor to use span and references ( #1007 )
...
storage_interface refactor to use span and references
2016-08-18 11:57:50 -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
7cee486cf7
extensions refactor to use span and std::shared_ptr ( #1005 )
...
extensions refactor to use span. use std::shared_ptr instead of boost::shared_ptr.
2016-08-17 14:30:24 -04:00
Alden Torres
f4127ae12b
refactor in crypto_plugin::decrypt to use tuple
2016-08-16 10:21:17 -04:00
Alden Torres
7a2b21407c
refactor in crypto_plugin to use span
2016-08-15 23:09:30 -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
e36e5efaba
use boost::string_ref ( #996 )
...
use boost::string_ref/boost::string_view in various parts of the code, in file_storage, some file functions and in bdecode.
2016-08-13 07:04:53 -04:00
Alden Torres
74c8054e8d
created session_params and refactor ( #993 )
...
created session_params and new session constructor
2016-08-11 20:32:14 -04:00
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
arvidn
42b3fbe20a
merged RC_1_1 into master
2016-08-07 17:23:40 -04:00
Alden Torres
af565e2b86
added support for flz (find last zero) and copied bitfield functions from PR #565 ( #986 )
...
added support for flz (find last zero) and copied bitfield functions from PR #565
2016-08-07 16:21:08 -04:00
Arvid Norberg
e9a7271aca
add piece picker test for re-prioritizing downloading/writing/partial pieces ( #989 )
...
add piece picker test for re-prioritizing partial pieces and forward port steven's piece picker fix from RC_1_1
2016-08-07 16:05:20 -04:00
Arvid Norberg
f144b64211
split up piece picker test ( #988 )
2016-08-06 13:49:23 -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
7ea9e76b37
refactor for separation of clz software/hardware based ( #985 )
...
refactor for separation of clz software/hardware based
2016-08-05 15:51:37 -04:00
Arvid Norberg
5b230694e5
check autotools on travis ( #973 )
...
build and run tests with autotools on travis, and fix configure issues.
2016-08-02 00:46:15 -04:00
Alden Torres
f795e88789
don't define _WIN32_WINNT if not under windows
2016-07-30 18:03:06 -04:00
Arvid Norberg
c1ade2b75f
Merge pull request #965 from arvidn/hex-span
...
use span for to_hex and from_hex functions
2016-07-29 22:25:15 -04:00
Alden Torres
55fc0704ae
increase timeout in test_utp
2016-07-29 20:20:06 -04:00
arvidn
83dba91168
use span for to_hex and from_hex functions
2016-07-29 18:42:18 -04:00
Steven Siloti
a414e4c3fa
remove nodes which change their id
...
This is based on a suggestion from the8472 to prevent malicious nodes from
polluting the routing table.
https://github.com/the8472/mldht/blob/sanitizing-docs/docs/sanitizing-algorithms.rst
2016-07-27 21:10:33 -07:00
Alden Torres
98918d61f5
removed const_interval, mutable_buffer and const_buffer types ( #956 )
...
removed const_interval, mutable_buffer and const_buffer types
2016-07-27 22:31:08 -04:00
Steven Siloti
7a95ba636e
add test for updating a dht node's id ( #953 )
2016-07-27 02:38:48 -04:00
Arvid Norberg
69f82c5274
add support for entry::preformatted to python binding ( #952 )
2016-07-27 00:15:26 -04:00
Alden Torres
7caa99d6f1
__cplusplus cleanup ( #951 )
...
cleanup
2016-07-26 18:30:19 -04:00
Arvid Norberg
634c2bce60
Span conversion ( #944 )
...
complete http_parser transition to use span. make xml_parse use span. remove buffer::interval. convert some of receive buffer management to use span<>
2016-07-26 02:15:31 -04:00
arvidn
680a09cfa5
merged RC_1_1 into master
2016-07-26 02:14:58 -04:00
terry zhao
48ca20968e
fix value of current_tracker when all tracker failed ( #932 )
...
fix torrent_status::current_tracker when all trackers fail.
2016-07-26 01:13:28 -04:00
Arvid Norberg
2fae3ae835
fix regression in entry constructor ( #950 )
2016-07-26 01:08:03 -04:00
Arvid Norberg
6777ec5d05
back-ported dbghlp fix ( #946 )
...
back-ported dbghlp fix
2016-07-26 01:05:32 -04:00
Arvid Norberg
7fdab0d9e9
fix dbghlp heap corruption on windows
...
synchronize access to dbghlp.dll on windows
2016-07-25 08:05:26 -04:00
Arvid Norberg
4f803353cf
transition part of http_parser to use span ( #936 )
...
transition parts of http_parser to use span
2016-07-24 00:52:20 -07: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
ddb274751f
using span in crypto_plugin encrypt/decrypt ( #934 )
2016-07-23 15:54:39 -07:00
Alden Torres
f57612b82d
rename of aux::array_view to span ( #933 )
2016-07-22 09:31:42 -07:00
Arvid Norberg
7bf49c0a1c
modernize hasher to use array_view ( #931 )
...
modernize hasher to use array_view as well as adding array_view support to entry
2016-07-22 07:29:39 -07:00
Arvid Norberg
3d74b8136e
add test for mutable get with salt ( #926 )
2016-07-20 18:29:50 -07:00
arvidn
b8bfc13d59
merge fix
2016-07-20 11:48:44 -07:00
arvidn
e405f0e02f
merged RC_1_1 into master
2016-07-20 11:34:29 -07:00
Arvid Norberg
12cb3cc60e
refactor the DHT test ( #921 )
...
refactor the DHT test. enable some tests on windows
2016-07-20 07:53:33 -07:00
Arvid Norberg
80fba1f748
fix crash in session::get_ip_filter when not having set one ( #914 )
2016-07-17 14:23:54 -07:00
Arvid Norberg
31fbbab89c
clean up memory allocation in bitfield ( #910 )
...
clean up memory allocation in bitfield
2016-07-16 14:31:25 -07:00
Arvid Norberg
e72f95e0d9
fix test_remap_files ( #905 )
...
fix test_remap_files
2016-07-15 14:35:57 -04: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
a740a49fd6
modernize misc ( #898 )
...
modernize misc
2016-07-10 07:34:45 -04:00
Arvid Norberg
eaea4a81cc
modernize: remove redundant smart ptr get(), use fixed-width integer types ( #900 )
2016-07-10 07:31:58 -04:00
Arvid Norberg
e801d2e6de
modernize replace deprecated headers ( #897 )
2016-07-09 23:17:55 -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
Arvid Norberg
52b934530e
cleanup appveyor and .travis scripts ( #890 )
...
Cleanup appveyor and .travis scripts
2016-07-06 13:52: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
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
arvidn
777a0838ce
make test_recheck more robust
2016-07-02 22:32:35 -04:00
arvidn
f0ef07a9c5
improve robustness of remap-gather test
2016-07-02 15:50:13 -04:00
Arvid Norberg
103d574cb0
build and run all tests in macOS ( #859 )
...
build and run all tests in macOS. fix test build invocation on travis. remove bdecode_benchmark
2016-07-02 00:41:48 -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
f5bb8c4b77
improve test robustness
2016-07-01 00:24:52 -04:00
Alden Torres
39e971c2ce
added support for arm crc32c and changed to test in arm 32 bits ( #869 )
...
added support for arm crc32c and changed to test in arm 32 bits
2016-06-30 11:37:55 -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
Alden Torres
f7515edc8b
added neon support for popcount ( #861 )
...
added neon support for popcount
2016-06-27 18:51:43 -04:00
Arvid Norberg
c567a66f5e
simplify peer_connection's read handlers and the receive buffer. ( #853 )
...
simplify peer_connection's read handlers and the receive buffer. removed the concept of soft-packet-size. removed the secondary null-buffer receive path. removed try_read. simplify the buffer class to not be resizeable. make receive_buffer shrink the buffer allocation. add cap to growing the receive buffer. buffer sizes are always divisible by 8.
2016-06-26 20:41:03 -04:00
Alden Torres
57ad035955
added arm __builtin_clz support and tests running in arm mode ( #854 )
...
added arm __builtin_clz support and tests running in arm mode inside travis
2016-06-26 12:01:42 -04:00
Arvid Norberg
eda956f13a
use standard library for suspending threads ( #855 )
...
use standard library for suspending threads
2016-06-26 09:24:06 -04:00
arvidn
be30bbd08b
merged RC_1_1 into master
2016-06-25 17:48:13 -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
Arvid Norberg
21c1540ace
clean up natpmp and upnp logging ( #842 )
...
clean up natpmp and upnp logging. remove custom logging macro and use regular logging via alerts. honor TORRENT_DISABLE_LOGGING
2016-06-23 01:23:59 -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
a9dbbdea37
use array_view instead of std::vector in crypto_plugin interface ( #835 )
...
use array_view instead of std::vector in crypto_plugin interface. return a vector of const_buffers for prepending new buffers. use stack allocated (single buffer) iovecs for receives. general cleanup
2016-06-19 23:05:59 -04:00
Arvid Norberg
b2358666a1
remove lazy_bitfield ( #817 )
...
remove lazy_bitfield feature
2016-06-19 17:00:18 -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
Arvid Norberg
ead11737b4
fix uses of defines for whether or not asserts are active ( #832 )
2016-06-18 08:31:07 -04:00
Alden Torres
d3cd568447
plugin callback refactor ( #823 )
...
grouping plugins per feature
2016-06-17 22:02:21 -04:00
Alden Torres
2cc1054d7d
deprecate functions in torrent_handle ( #828 )
...
deprecate get_full_peer_list on torrent_handle
2016-06-17 16:07:28 -04:00
Steven Siloti
2fed4103f8
scalable thread pool ( #770 )
2016-06-15 20:49:28 -04:00
Arvid Norberg
ce161a9d62
remove option to disable contiguous receive buffers ( #818 )
...
removed option to disable contiguous receive buffers
2016-06-15 08:04:53 -04:00
arvidn
db73946564
fix
2016-06-14 21:16:39 -04:00
arvidn
4b186130e6
fix merge
2016-06-14 21:16:28 -04:00
Arvid Norberg
4e0a4db9b4
fixed inverted priority of incoming piece suggestions ( #809 )
2016-06-12 20:36:05 -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
dfc2206b9f
merged RC_1_1 into master
2016-06-11 01:00:41 -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
404d72b9b7
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-10 01:14:37 -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
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
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
arvidn
edf9f8070d
merged RC_1_1 into master
2016-06-04 14:09:19 -04:00
Alden Torres
db65eb320a
making dht counters additive ( #783 )
...
make dht counters additive to support both IPv4 and IPv6
2016-06-04 14:04:29 -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
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
Alden Torres
7c4d92a627
Share the DHT storage for both IPv4 and IPv6 ( #762 )
2016-06-03 19:44:16 -04:00
Arvid Norberg
0583394af7
remove dependency on libtommath and use boost.multiprecision instead
...
remove dependency on libtommath and use boost.multiprecision instead
2016-05-30 14:33:24 -04:00
arvidn
7795b2ff6c
merged RC_1_1 into master
2016-05-29 10:01:55 -07:00
Eugene Shalygin
9489eb23f4
Fix compilation with cmake ( #767 )
...
fix tests building with cmake. cmake: restore options parity with autotools
2016-05-29 12:58:16 -04:00
Arvid Norberg
b3bbb2f0f6
upgrade libtommath to 1.0 ( #765 )
...
upgrade libtommath to 1.0
2016-05-28 17:12:26 -04:00
arvidn
420b5f51e6
merged RC_1_1 into master
2016-05-27 12:35:53 -07:00
Alden Torres
f8dcf30b2e
Ported support for magnet x.pe parameter from master ( #760 )
2016-05-27 12:12:32 -04:00
Alden Torres
10393697cb
Fix of parse_endpoint with invalid port character separator ( #757 )
2016-05-27 12:00:54 -04:00
Alden Torres
313006b8c7
Added support for x.pe parameter in parse_magnet_uri ( #755 )
2016-05-26 13:34:13 -04:00
Arvid Norberg
d0a870b3dd
produce valid bencoded strings for undefined/uninitialized entry objects ( #756 )
2016-05-26 03:33:05 -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
f1216686d2
merged RC_1_1 into master
2016-05-23 00:56:16 -04:00
Arvid Norberg
3106f6f8a5
restore debug-iterators to be enabled by default when building the tests ( #751 )
...
restore debug-iterators to be enabled by default when building the tests
2016-05-23 00:36:24 -04:00
Arvid Norberg
62fb7209ef
fix invariant check issue with a paused session ( #750 )
...
fix invariant check issue with a paused session
2016-05-22 22:58:11 -04:00
Arvid Norberg
b5fc367d17
fix incorrect comparison function when deciding which peer to disconnect ( #746 )
...
fix incorrect comparison function when deciding which peer to disconnect
2016-05-22 13:46:37 -04:00
arvidn
3988a443ff
add test of paused session
2016-05-22 02:20:49 -04:00
arvidn
836cd98d43
fix warning
2016-05-21 22:53:14 -04:00
arvidn
aa0d29b67d
merged RC_1_1 into master
2016-05-19 01:28:22 -04:00
Arvid Norberg
178a41b187
clean up natpmp logging infrastructure a bit as well as test_peer_list ( #735 )
...
clean up natpmp logging infrastructure a bit as well as test_peer_list
2016-05-18 01:54:37 -04:00
arvidn
8fac4e7d5c
fix test build configuration
2016-05-18 01:52:39 -04:00
arvidn
23884f46b0
relax test_resume
2016-05-17 21:42:57 -04:00
Arvid Norberg
eb72bbf2d2
fix add_torrent_impl when adding a URL (which has been deprecated) when building with deprecated features disabled ( #733 )
2016-05-17 16:49:11 -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
87f07aaf1e
test snprintf with mingw ( #734 )
2016-05-15 21:03:58 -04:00
Arvid Norberg
44a668db62
build with gcc/mingw on appveyor ( #722 )
...
enable gcc/mingw builds on appveyor. Some mingw tests crash currently, they need debugging and are currently disabled.
2016-05-15 13:28:22 -04:00
Arvid Norberg
1e7e01c671
transition to system_error as the exception type ( #730 )
...
transition to system_error as the exception type
2016-05-15 00:33:06 -04:00
Arvid Norberg
0d27a0acdd
fix assert when adding an empty file (as a torrent) ( #729 )
2016-05-14 13:24:29 -04:00
arvidn
c292696dcb
back-port fix adding empty file as torrent
2016-05-14 13:13:20 -04:00
Arvid Norberg
6dcbeae8bb
Async add torrent test ( #728 )
...
add test for async_add_torrent
2016-05-14 10:19:33 -04:00
Arvid Norberg
167cbe74b5
made alerts move-only and remove dispatch function and other deprecated alert functions requiring alert to be copyable ( #721 )
2016-05-13 08:19:44 -04:00
Andrei Kurushin
674641acce
fix file_storage::m_paths memory reuse ( #724 )
...
fix file_storage::m_paths memory reuse after rename_file with path delimiter
2016-05-12 16:45:23 -04:00
Arvid Norberg
a4beb287ee
attempt fo fix msvc warning and built tests with warnings-as-errors ( #710 )
...
fix msvc warnings and built tests with warnings-as-errors
2016-05-08 09:58:13 -04:00
arvidn
6cf5ac9dd1
merged RC_1_1 into master
2016-05-06 01:08:05 -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
Arvid Norberg
c6369194f0
simplify and optimize DHT routing table IP distance comparison ( #696 )
2016-05-03 23:22:25 -04:00
Arvid Norberg
077e9bb10c
improve node-id operations ( #693 )
...
improve node-id operations, to operate on 32 bits at a time instead of 8. move out some code into sha1_hash.cpp, from the header file
2016-05-03 08:29:27 -04:00
Arvid Norberg
c91a700c07
Msvc warnings ( #685 )
...
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
Alden Torres
b85b501d92
Using address::is_multicast instead util function ( #686 )
2016-05-01 18:15:25 -04:00
Arvid Norberg
0d5428a664
minor refactoring to move-storage patch ( #680 )
...
minor refactoring to move-storage patch
2016-05-01 12:23:02 -04:00
arvidn
78bc269832
use std::chrono and not boost::chrono
2016-05-01 08:50:30 -04:00
Arvid Norberg
770afadcda
use std::atomic instead of boost::atomic ( #678 )
...
use std::atomic instead of boost::atomic
2016-05-01 03:38:35 -04:00
Steven Siloti
ff0675e64e
use standard array container ( #676 )
2016-04-30 23:10:47 -04:00
Vladimir Golovnev
64cb8b236a
Move storage "file-by-file" ( #632 )
...
When moving storage for a torrent, only move files belonging to the torrent, one by one.
2016-04-30 22:18:38 -04:00
Arvid Norberg
20b41ad0b9
Threads ( #671 )
...
use std::thread, std::mutex, std::condition_variable instead of pulling them in from boost.asio internals.
2016-04-30 18:54:23 -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
f856b6bbe3
dial up cppcheck ( #663 )
...
increase cppcheck coverage and make sure there are no warnings
2016-04-30 00:24:45 -04:00
arvidn
05626e0b0f
fix test rename_file
2016-04-29 23:57:26 -04:00
arvidn
36a5a11ee2
merge fix
2016-04-29 23:34:25 -04:00
Arvid Norberg
84a35f5265
clean up settings_pack ( #665 )
2016-04-29 12:01:33 -04:00
Arvid Norberg
95e348bef7
fix name clash with 'thread' on freebsd ( #664 )
2016-04-29 12:00:39 -04:00
Arvid Norberg
d93bf9096d
attempt to fix race condition in udp_tracker in test framework ( #660 )
2016-04-28 23:13:49 -04:00
Arvid Norberg
c3e1e405b2
remove variadic template emulation for c++98, and introduce emplace_back to heterogeneous_queue as well, to avoid all moves of alert objects ( #658 )
2016-04-28 10:30:29 -04:00
Alden Torres
d08bbbc0cc
Added asserts related to total_size in create_torrent ( #642 )
2016-04-26 00:37:47 -04:00
Arvid Norberg
3c785b96fc
Merge pull request #268 from ssiloti/dht-ipv6
...
Support DHT over IPv6
2016-04-25 19:19:48 -04:00
Andrei Kurushin
62eb956c54
fix x64 build with VS2015 UP2 compiler ( #640 )
...
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -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
Steven Siloti
356d2506bd
extend dht_observer to support IPv6 external addresses
2016-04-24 14:26:57 -07:00
arvidn
dec093dc1a
Merge branch 'RC_1_1'
2016-04-24 15:41:28 -04: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
Alden Torres
6171c911a0
Added assert for total_size in create_torrent ( #636 )
2016-04-22 13:51:06 -04:00
arvidn
04a3c04075
merged RC_1_1 into master
2016-04-20 08:08:05 -04:00
Arvid Norberg
2bd8622f4b
fix missing EXPORT annotation of functions in the test utility library ( #631 )
2016-04-20 07:51:25 -04:00
Andrei Kurushin
c41ab094be
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools ( #627 )
...
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools
2016-04-20 00:45:32 -04:00
arvidn
d17ae19391
Merge branch 'RC_1_1'
2016-04-11 02:08:06 -04:00
arvidn
2921caf95e
fix msvc test build. make test framework robust to tmpfile() failing. add missing files and tests to makefile
2016-04-10 20:46:51 -04:00
arvidn
5ebb7d203b
Makefile fix
2016-04-10 15:10:29 -04:00
arvidn
08edf43b3f
fix to documentation generation to exclude private functions. fix makefile errors
2016-04-09 00:33:26 -04:00
arvidn
867b83ccda
merged RC_1_1 into master
2016-04-08 02:20:24 -04:00
arvidn
6bc5de5903
fail correctly when move_storage is called to move into its own directory
2016-04-02 10:03:31 -04:00
arvidn
f662d86458
fix merge issue in test_storage.cpp
2016-03-30 02:06:10 -04:00
arvidn
fd4a46342f
merge RC_1_1 into master
2016-03-30 00:33:29 -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
b16f43132b
Merge branch 'RC_1_1'
2016-03-20 20:39:49 -04:00
Arvid Norberg
ee2d7a039d
Merge pull request #562 from arvidn/coalesce-reads-1.1
...
make coalesce reads and coalesce writes actually work
2016-03-20 20:25:51 -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
2dd28c1708
just use malloc/free in test_storage (instead of page_aligned_allocator). file no longer requires alignment
2016-03-20 17:00:49 -04:00
arvidn
0095aa084f
make coalesce reads and coalesce writes actually work
2016-03-20 16:34:19 -04:00
arvidn
96e2693d13
merge RC_1_1 into master
2016-03-19 16:02:46 -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
Arvid Norberg
50f7c88cee
Merge pull request #554 from arvidn/tracker-next-test-1.1
...
convert tracker try-next test to be a simulation (and deterministic)
2016-03-18 19:49:18 -04:00
arvidn
d3df16cd12
convert tracker try-next test to be a simulation (and deterministic)
2016-03-18 14:38:45 -04:00
arvidn
3c98868f6c
deprecate explicit cache feature
2016-03-18 12:15:03 -04:00
arvidn
ff44af2854
fix test_torrent on windows
2016-03-17 08:18:29 -04:00
arvidn
f79a9c7adf
merged RC_1_1 into master
2016-03-16 19:59:53 -04:00
Arvid Norberg
82d177472e
Merge pull request #541 from arvidn/fix-test-transfer-1.1
...
improve message from listen_failed_alert
2016-03-14 21:43:34 -04:00
arvidn
921cbeebed
add option to delete just the partfile when removing a torrent
2016-03-14 08:26:39 -04:00
arvidn
fb85e5e60f
improve message from listen_failed_alert. Post listen_failed_alert for every failure, including the ones that are re-tried
2016-03-13 16:18:44 -04:00
arvidn
6d85c7c5f0
merge RC_1_1 into master
2016-03-08 01:10:48 -05: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
26f88bb12d
add receive_buffer unit test and some more cleanup and asserts
2016-03-05 00:14:00 -05:00
arvidn
84eafac1e2
add more slack to test_recheck, as it has been failing on and off on travis
2016-03-02 21:38:20 -05:00
arvidn
8ffa76842c
fix test_upnp build
2016-02-28 01:18:27 -05:00
arvidn
587e888152
fix bug in torrent_info::rename_file
2016-02-27 10:20:23 -05:00
arvidn
2fd8047308
merged RC_1_1
2016-02-24 21:22:39 -05:00
arvidn
e5ccb63375
fix build with openssl and deprecated functions disabled
2016-02-24 02:07:27 -05:00
arvidn
dcd6af6473
more fixing of test_transfer proxy tests
2016-02-24 00:03:56 -05:00
arvidn
d748a59029
attempt to fix test_transfer
2016-02-23 19:13:14 -05:00
arvidn
d599bef0ee
add unit test for read_resume_data
2016-02-20 13:26:21 -05:00
arvidn
516db1fc97
fix python binding
2016-02-20 12:51:06 -05:00
arvidn
c9d7e54d7b
make tests pass
2016-02-20 12:50:52 -05:00
arvidn
b496eff206
reduce noise in output from test_resume
2016-02-20 02:00:07 -05:00
arvidn
8135ea326f
rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data
2016-02-20 02:00:07 -05:00
arvidn
6d77000ab0
deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces.
2016-02-12 15:46:12 -05:00
arvidn
3842a0a197
Merge branch 'RC_1_1'
2016-02-12 15:43:13 -05:00
arvidn
126ce22cb9
Merge branch 'RC_1_1'
2016-02-10 02:10:02 -05:00
arvidn
ceb0ac6148
fix issue in socket binding and back-port ssl test reliability fix
2016-02-10 02:09:12 -05:00
arvidn
d91054b8f1
forward port fix to ip_voter from RC_1_0
2016-02-09 19:09:53 -05:00
arvidn
4f40f84a7e
Merge branch 'RC_1_1'
2016-02-08 15:28:34 -05:00
arvidn
dd48faa8d4
minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription
2016-02-08 02:05:00 -05:00
Steven Siloti
ad9d50c6b8
add make_torrent to Makefile.am
2016-02-06 19:46:19 -08:00
arvidn
660647b590
improve abstraction level of stats cache and fix test
2016-02-06 15:51:00 -05:00
arvidn
ae7058e119
remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent.
2016-02-06 15:50:55 -05:00
arvidn
3a4f957b63
Merge branch 'RC_1_1'
2016-02-02 02:02:24 -05:00
arvidn
88b7e3768f
add sim test for optimistic unchoke round-robin distribution
2016-02-01 20:28:30 -05:00
arvidn
9f1b27cf5f
Merge branch 'RC_1_1'
2016-01-30 01:47:19 -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
3153521367
merged RC_1_1 into master
2016-01-21 23:59:30 -05:00
arvidn
0cb35d714c
fix test in test_storage
2016-01-20 19:38:18 -05:00
Arvid Norberg
a80c4f4777
Merge pull request #397 from arvidn/dht-rate-limit
...
move the DHT rate limiter into the dht_tracker class
2016-01-18 15:39:37 -05:00
arvidn
06b52f1421
some cleanup of the dht_socket_interface and fix tests and simulations to build with the dht disabled
2016-01-18 14:34:42 -05:00
arvidn
4cbbb0620e
only strip trailing dots and spaces from filenames on windows
2016-01-18 13:07:04 -05:00
arvidn
13f03ce38a
print the actual stats in session_stats_alert::message() and make parse_session_stats.py parse the alert output. add stats_metric objects for all performance counters
2016-01-12 23:34:37 -05:00
Steven Siloti
ab7ef98b01
ensure all immutable items are stored at least once
...
If num_peers is set to 1 then the item will never be stored. Bump the
minimum value to 2 so that announce_immutable_items stores all items
at least once.
2016-01-12 19:32:02 -08:00
arvidn
651b473908
add unit test for routing_table::update_node_id
2016-01-11 23:47:27 -05: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
Luca Bruno
15ef71303a
autotools: fix `make check` running
...
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:28:05 +01:00
Luca Bruno
6feab20733
test: fix enum_if compilation
...
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:27:39 +01:00
Luca Bruno
73c950b99b
test: fix test_lsd compilation
...
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:25:49 +01:00
arvidn
66c14e968b
disable disk-full test, because it's flaky
2016-01-03 13:30:32 -05:00
arvidn
07ddb010c5
split buckets when exceeding the next bucket's size, to make sure we split before risking discarding nodes because the next bucket is smaller
2016-01-02 00:45: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
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
arvidn
197ca4e06d
transition http proxy test for http_connection to the sim
2015-12-22 00:45:16 -05: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
d7b435ec25
speed up test
2015-12-19 14:59:37 -05:00
arvidn
15ec839d33
extend the unit test of dht_storage
2015-12-19 02:09:06 -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
arvidn
8732863a9a
another fix to receiving malformed DHT error message
2015-12-03 01:08:27 -05:00
arvidn
550d75dab9
fix warning
2015-11-30 22:59:34 -05:00
arvidn
eb8add0e57
fix missing include
2015-11-30 22:26:10 -05:00
arvidn
12dde0f415
actually add a test to the unit test
2015-11-30 19:07:35 -05:00
arvidn
7540a6e5cc
correctly check incoming DHT error messages
2015-11-30 18:02:00 -05:00
arvidn
fd3b53604c
add new piece picker logging alert category
2015-11-29 08:25:55 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
06b648203f
clean up use of error categories
2015-11-24 00:50:51 -05:00
arvidn
eed17f0bc1
remove the cases from non-sim test that are covered by the new http_connection sim test
2015-11-24 00:39:02 -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
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
Thomas Yuan
c005c937fd
Merge almost same functions.
2015-11-22 22:02:37 -05:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08: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
07574117ad
add test for readwritev and experiment with SEH handler in test
2015-11-19 17:58:56 -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
Steven Siloti
08632aa5f7
add unit test to check for multiple calls to done()
2015-11-09 20:47:33 -08:00
arvidn
0c435b42b2
add some more slack to one of the unit tests
2015-11-08 16:26:58 -05:00
arvidn
a138b2daa9
handle receiving an invalid request
2015-11-07 14:58:08 -05:00
arvidn
00090b8284
fix typo in test_checking, introduced by recent error_code in torrent_status patch
2015-11-07 01:01:07 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
ee714306be
forward port IPv6 IP address resolution in URLs fix
2015-11-01 17:26:45 -05:00
arvidn
475fd61b4b
update ssl certificate for tests
2015-10-25 10:29:42 -04:00
arvidn
ee395bd772
attempt to update SSL certificate for unit test
2015-10-18 01:21:03 -04:00