Commit Graph

5691 Commits

Author SHA1 Message Date
Arvid Norberg 8922990fc7 fix peer class leak in torrent and widen peer_class_t to allow for mo… (#707)
fix peer class leak in torrent and widen peer_class_t to allow for more instances
2016-05-07 14:52:10 -04:00
arvidn 29943ab0f0 fix warning 2016-05-07 09:24:05 -04:00
Steven Siloti 64409dae65 use move to avoid heap allocating the vector when posting watermark_callback (#700) 2016-05-07 00:55:38 -04:00
Arvid Norberg bcb359cef6 use unsigned long for ioctl commands (#705) 2016-05-06 08:08:49 -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
arvidn 60088a1672 add missing file to makefile 2016-05-05 00:28:31 -04:00
Steven Siloti fa693174e7 move vectors into alerts (#699) 2016-05-04 09:50:44 -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
Jonathan McDougall f065cacebf * now calling stop_announcing() unconditionally instead of checking !is_paused(), which was always false when aborting a torrent and could cause infinite blocks while destroying a session (#694)
fixed torrent invariant check that wasn't using the m_abort flag and correctly stop trackers when shutting down
2016-05-03 01:34:43 -04:00
Arvid Norberg f56c1f8b2f remove mutex from tracker_manager (#690)
remove mutex from tracker_manager
2016-05-02 22:22:13 -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
Arvid Norberg 0d2c04cb2e remove network thread pool feature (#688)
remove network thread pool feature (it was messy and mostly useful for bittorrent over SSL). The proper solution is to allow every peer run in its own asio strand and have multiple threads running the io service
2016-05-02 02:18:51 -04:00
Arvid Norberg 7048eb1f5c be more conservative in marking packets as mtu-probes (#689) 2016-05-02 00:17:17 -04:00
Alden Torres 8ae1e9a21d Moved disabled_storage and zero_storage for a private namespace in the compilation unit (#687) 2016-05-01 23:16:00 -04:00
Alden Torres b85b501d92 Using address::is_multicast instead util function (#686) 2016-05-01 18:15:25 -04:00
arvidn 60c119c52d remove mutex in natpmp 2016-05-01 12:28:16 -04:00
arvidn accf13d93e remove mutex in upnp 2016-05-01 12:24:54 -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
Arvid Norberg 53ca04036e Merge pull request #681 from ssiloti/entry-move
add move ctor to entry
2016-05-01 10:12:18 -04:00
arvidn fc4cc9e7ee make the cached current time thread-safe 2016-05-01 08:50:23 -04:00
Steven Siloti fef94a4c52 use standard random number classes (#679)
use standard random number classes
2016-05-01 08:35:28 -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
Arvid Norberg a3de04dffc Merge pull request #675 from ssiloti/unique_ptr
Use unique_ptr where possible
2016-05-01 01:31:04 -04:00
Steven Siloti f0b92a2047 add move ctor to entry 2016-04-30 21:02:22 -07: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
Steven Siloti 2c00a613b2 use unique_ptr to network_thread_pool 2016-04-30 16:49:21 -07:00
Steven Siloti 0682e6146c use a unique_ptr for the udp_socket receive buffer 2016-04-30 16:49:21 -07: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 98fb7df56f use standard unordered containers (#673) 2016-04-30 16:53:20 -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 36a5a11ee2 merge fix 2016-04-29 23:34:25 -04:00
Arvid Norberg f0d95f5e3e remove RSS feature (#662)
remove RSS feature
2016-04-29 15:54:21 -04:00
Arvid Norberg 84a35f5265 clean up settings_pack (#665) 2016-04-29 12:01:33 -04:00
Arvid Norberg 46b33f920b remove explicit cache feature (#661)
remove explicit cache feature
2016-04-29 02:32:00 -04:00
arvidn e0e05e3961 fix asserts firing in unit tests 2016-04-28 21:59:41 -04:00
arvidn b8dad50757 fix whitespace 2016-04-28 17:14:41 -04:00
Arvid Norberg 10ec0234a7 remove resolve-country feature (#656) 2016-04-28 08:20:47 -04:00
Arvid Norberg 5f5aa2361e use array_view more along the udp packet paths (#655) 2016-04-28 08:20:10 -04:00
Arvid Norberg c557432431 attempt to run cppcheck on travis (#644)
run cppcheck on travis
2016-04-26 18: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
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
Arvid Norberg bbf411800a remove pre-C++11 threadsafe static emulation (#641) 2016-04-25 08:38:48 -04:00
Alden Torres 7c4fabadfd Removed unused statement (#643) 2016-04-24 23:47:57 -04:00
Steven Siloti 2d9a6b76f1 use asio::protcol instead of an enum/bool 2016-04-24 15:18:47 -07:00
Steven Siloti d3ecc4c906 reduce the number of peers in a get_peers response with IPv6
Since IPv6 addresses are bigger we need to compensate to avoid generating
packets larger than 1500 bytes.
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
Steven Siloti 11fa4f3e47 support IPv6 in node_entry and m_ips 2016-04-24 14:26:57 -07:00
arvidn b5ecfa4f91 fix merge issues 2016-04-24 16:43:45 -04: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
Arvid Norberg c9c6dd2d3b clean up the annotations used for asio debugging (#639)
clean up the annotations used for asio debugging (tracking outstanding async operations)
2016-04-23 17:29:25 -04:00
Arvid Norberg a9f07a29bd fix move_storage error handling bug (#638) 2016-04-23 10:02:52 -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 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
Arvid Norberg 0b53fb70ad add missing torrent_error_alert::filename function (#629) 2016-04-20 00:46:42 -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
arvidn 93408a02ff fix classification of UDP packets as peer traffic 2016-04-18 01:29:46 -04:00
arvidn ccc227f446 minor cleanup 2016-04-18 00:29:50 -04:00
Andrei Kurushin 7b5d48c02a fix default release build with VS2015 UP2 compiler warnings (#624)
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
Alden Torres a73d424b82 typos 2016-04-15 15:39:41 -04:00
arvidn 2529dbba7f improve python binding of read_resume_data, and specifically add_torrent_params 2016-04-15 00:48:45 -04:00
arvidn d17ae19391 Merge branch 'RC_1_1' 2016-04-11 02:08:06 -04:00
Steven Siloti 9ffadcde62 allow peers to resume allocating disk buffers when their last outstanding write completes 2016-04-09 16:48:05 -07:00
arvidn 5d499e83b6 fix uTP/SSL 2016-04-09 10:50:45 -04:00
arvidn 867b83ccda merged RC_1_1 into master 2016-04-08 02:20:24 -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
Arvid Norberg 6767cf96f1 Merge pull request #546 from arvidn/move-into-self-1.1
fail correctly when move_storage is called to move into itself 1.1
2016-04-06 17:49:05 -04:00
arvidn 387498e54f clean up in piece picker 2016-04-06 00:45:21 -04:00
Alden Torres bb8d1d0e56 Revert utp log file to disable by default
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn dff0e7b0cd fix concurrency issue in part_file::export_file 2016-04-02 21:29:20 -04:00
arvidn 31805ecec0 fix some clang build warnings 2016-04-02 12:27:42 -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 7f232dd195 fix python3 issue in binding 2016-03-30 23:35:47 -04:00
arvidn fd4a46342f merge RC_1_1 into master 2016-03-30 00:33:29 -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
arvidn b16f43132b Merge branch 'RC_1_1' 2016-03-20 20:39:49 -04:00
arvidn 0095aa084f make coalesce reads and coalesce writes actually work 2016-03-20 16:34:19 -04:00
arvidn a9d12766d4 fix typo in hard_link() 2016-03-20 16:14:29 -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 96e2693d13 merge RC_1_1 into master 2016-03-19 16:02:46 -04:00
Arvid Norberg e9b334ce63 Merge pull request #494 from arvidn/udp-bind-failure-1.1
attempt to fix issue with binding udp sockets on windows
2016-03-19 13:20:51 -04:00
arvidn 53b5e964d2 fix merge issue and properly close ssl udp socket when disabled, prevents the extra listen_succeeded alert for the ssl udp socket 2016-03-19 10:25:35 -04:00
arvidn e9a5985609 if a udp socket is already bound to the IP and port we want to bind it to, don't reopen it 2016-03-19 10:25:30 -04:00
arvidn d705dc2953 attempt to fix issue with binding udp sockets on windows 2016-03-19 10:25:30 -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