arvidn
98af1cd54e
merged RC_1_1 into master
2016-07-05 18:03:06 -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
cbb6f47f36
make some types movable ( #885 )
2016-07-04 18:19:55 -04:00
Arvid Norberg
34a2a7f7d4
add static_asserts to alert_cast ( #881 )
2016-07-03 15:07:20 -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
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
Alden Torres
07f78264e3
android supports fdatasync since 2.3 ( #874 )
2016-07-01 00:13:03 -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
arvidn
08aebd2729
format more log messages in alert constructors
2016-06-29 02:02:46 -04:00
arvidn
55d8b0625f
fix
2016-06-29 02:02:46 -04:00
arvidn
b1e36a53e3
print peer logs directly into the allocation
2016-06-29 02:02:46 -04:00
Arvid Norberg
a675682b6c
some cleanup of TORRENT_DEBUG defines ( #863 )
...
some cleanup of TORRENT_DEBUG defines
2016-06-27 22:28:51 -04:00
Alden Torres
f7515edc8b
added neon support for popcount ( #861 )
...
added neon support for popcount
2016-06-27 18:51:43 -04:00
terry zhao
1a3e75b50a
fix msvc-8.0 build ( #860 )
2016-06-27 13:46:15 -04:00
Arvid Norberg
31b2a03005
some optimizations ( #858 )
...
allow disk I/O callback objects to be moved into disk io jobs
2016-06-27 01:02:00 -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
Arvid Norberg
7edc6b1cc2
insert invariant checks to try to catch async_check_files crash ( #856 )
2016-06-26 12:13:08 -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
arvidn
be30bbd08b
merged RC_1_1 into master
2016-06-25 17:48:13 -04:00
arvidn
f56d698db6
fix asio-debugging
2016-06-25 17:29:40 -04:00
Alden Torres
ba6e1e9194
open default listen interface the same as no default ( #848 )
...
open default listen interface the same as no default
2016-06-23 17:54:31 -04:00
Alden Torres
436b781003
option to use only the openssl's sha1 implementation ( #845 )
...
separated ssl and crypto build options
2016-06-23 13:20:35 -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
ce00ebf723
simplify and clean up some of torrent_info ( #847 )
...
simplify and clean up some of torrent_info
2016-06-23 11:34:26 -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
Alden Torres
b4b6da79fc
missing <map> include ( #840 )
2016-06-21 17:35:37 -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
Alden Torres
15bac1e9b5
config.h cleanup ( #834 )
...
config.hpp and .travis.yml cleanup
2016-06-19 02:32:12 -04:00
Steven Siloti
f1585d8317
Fix abort_jobs being called multiple times ( #831 )
...
disk_io_thread::abort_jobs must only be called once, but it was possible for
concurrent calls to be made from abort() and thread_fun() if the max threads
had been set to zero but there were still disk I/O threads running.
m_num_running_threads doesn't need to be atomic anymore
2016-06-18 16:53:23 -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
efa8bb0fc7
making disk_buffer_holder internal and include cleanup ( #827 )
...
making disk_buffer_holder internal and include cleanup
2016-06-17 17:40:22 -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
Arvid Norberg
4d927f4029
modernize disk_buffer_holder to be move-only ( #824 )
...
modernize disk_buffer_holder to be move-only
2016-06-16 08:24:41 -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
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
4b186130e6
fix merge
2016-06-14 21:16:28 -04:00
Arvid Norberg
6f87c702fa
simplify dispatching of bittorrent messages ( #820 )
2016-06-14 15:19:32 -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
6e55c0564f
suppress shift warnings in boost ( #811 )
...
suppress shift warnings in boost
2016-06-12 21:14:21 -04:00
Arvid Norberg
0dcdf79dbf
re-arrange flags enums in add_torrent_params ( #810 )
2016-06-12 21:12:48 -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
327af3a69e
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-10 01:24:37 -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
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
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
Alden Torres
3d5e0144c7
consider macro TORRENT_USE_IOSTREAM for sha1_hash iostream operators ( #790 )
2016-06-05 23:55:42 -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
ae3b629649
improve invariant check of file_progress class ( #787 )
2016-06-05 14:06:11 -04:00
arvidn
8baf4f810a
fix graceful pause issue
2016-06-04 21:35:12 -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
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
Alden Torres
cdd067fe4e
Minor cleanup ( #775 )
...
Minor cleanup
2016-06-02 07:25:06 -04:00
Arvid Norberg
14d085f607
rename allow_peers to paused ( #773 )
2016-06-01 01:05:32 -04:00
Arvid Norberg
92cd0ec7d1
simplify and clean up peer_list usage in torrent.cpp ( #772 )
2016-06-01 01:05:17 -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
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
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
arvidn
67a497834a
back-port extra checks in pe_crypto from master
2016-05-27 09:51:06 -07:00
Arvid Norberg
6936405518
add more sanity checks to pe_crypto ( #761 )
2016-05-27 12:39:03 -04:00
Alden Torres
f8dcf30b2e
Ported support for magnet x.pe parameter from master ( #760 )
2016-05-27 12:12:32 -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
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
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
arvidn
f6b18c7097
improve documentation for alert_cast
2016-05-22 20:35:04 -04:00
Arvid Norberg
cf3c95702b
Peer blocked alert ( #747 )
...
make peer_blocked_alert derive from peer_alert
2016-05-22 19:56:14 -04:00
Arvid Norberg
584d74e2f0
fix union storage hacks ( #670 )
...
remove union storage hacks
2016-05-21 21:04:47 -04:00
Arvid Norberg
dceee3b065
simplify session call and replace session_handle and torrent_handle macros ( #741 )
...
remove use of macros in session_handle and torrent_handle forwarders
2016-05-21 19:05:42 -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
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
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
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
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