Commit Graph

5164 Commits

Author SHA1 Message Date
Alden Torres 57f14808d8 Restore the option to compile with target Windows XP. 2015-07-29 14:56:31 -04:00
arvidn 5657772114 limit how often the DHT can wake up 2015-07-28 23:04:15 -04:00
arvidn 7f695f05d5 use boost.asio as headers only library again (simplify builds and hopefully fix shared linking of python module on gcc linux) 2015-07-27 23:09:24 -07:00
arvidn 29c618c3e5 merge bittorrent-slow start fix from RC_1_0 2015-07-27 16:53:25 -07:00
arvidn f34f09ca58 merge more lenient utf8 conversion from RC_1_0 2015-07-27 08:59:38 -07:00
arvidn 105c105867 merge seed mode test and fixes from RC_1_0 2015-07-27 00:01:19 -07:00
Arvid Norberg 742548b69c Merge pull request #49 from ssiloti/plugin-exported-api
Only use exported types in the plugin api
2015-07-25 15:53:22 -07:00
Steven Siloti e6b3df3696 pass torrent_handle by const ref in the plugin api 2015-07-25 09:57:55 -07:00
Steven Siloti 72dcc20073 pass peer_connection_handle by const ref in the plugin api 2015-07-25 09:15:24 -07:00
Steven Siloti 423a18ecb1 add missing include 2015-07-25 08:58:32 -07:00
arvidn 40c7596da9 merge loading of piece priorities from resume data fix from RC_1_0 2015-07-24 22:34:53 -07:00
Steven Siloti e0e06bc87a switch to peer_connection_handle for optimistic unchoking
This is necessary to enable external plugins since the vector is passed to
plugins via on_optimistic_unchoke.
2015-07-23 20:48:35 -07:00
Steven Siloti 2c1f24c036 switch to session_handle in plugin api 2015-07-23 20:13:32 -07:00
Steven Siloti fbc67b4e21 switch to torrent_handle in plugin api 2015-07-23 19:52:23 -07:00
arvidn bb705e9a52 improved seed-mode handling (seed-mode will now automatically be left when performing operations implying it's not a seed). fixed issue with file priorities and override resume data 2015-07-21 10:12:37 -07:00
arvidn 6c5aec3476 fix request queue size performance issue 2015-07-20 08:20:17 -07:00
arvidn 6c7c0cd878 fix up some old logging defines and improve the log output for send buffer watermark and request queue length 2015-07-17 23:54:25 -04:00
arvidn 51dd174303 fix performance issue when receiving UDP packets (the udp tracker would not reject DHT packets immediately) 2015-07-17 18:48:20 -04:00
arvidn f85d62b601 merged DHT update of /8 blocks form RC_1_0 2015-07-16 21:56:06 -04:00
arvidn 7a3cabfe12 fixed some resume issues, specifically around file priorities and override resume data 2015-07-16 21:56:06 -04:00
arvidn a65b71b855 improve logging of adding peers and the state of torrents. the default flags for the external connect_peer() call now assumes encryption, uTP and holepunch support 2015-07-16 21:53:31 -04:00
Arvid Norberg 3340bbbfb4 Merge pull request #32 from ssiloti/peer_connection_handle
peer_connection_handle
2015-07-14 22:51:34 -04:00
Jakob Petsovits 08a6ba4161 Avoid a warning if BOOST_ASIO_DECL was defined but empty. 2015-07-14 21:08:57 -04:00
Jakob Petsovits 4853d0250f Avoid a warning if _BSD_SOURCE is already defined.
As _BSD_SOURCE has been deprecated since glibc 2.20, also add
_DEFAULT_SOURCE to the definitions. Both can be any value as long
as they're defined, so in order to save two lines, just #undef
them instead of checking with #ifdef/#endif.
2015-07-14 21:07:05 -04:00
Jakob Petsovits 27fe9822ad m_num_peers is a regular int, not long: print %d instead of %ld. 2015-07-14 17:49:12 -04:00
Mikhail Titov 2751d90368 Don't store 0.0.0.0 for i2p peers in resume data 2015-07-14 14:13:17 -05:00
Mikhail Titov 9c489e2291 Don't include yourip (0.0.0.0) in i2p handshake 2015-07-14 14:13:16 -05:00
Mikhail Titov 70a99e6f62 Don't attempt to resolve base64 destination for i2p tracker 2015-07-14 14:13:15 -05:00
Mikhail Titov 020f0816df fixup! Don't break SAM connection if error occurs
Propagate i2p result code, related to #3
2015-07-14 14:13:14 -05:00
Mikhail Titov 3f2e660fcf Wait for i2p acceptor before announcing
This somewhat closes #1 in an ugly way
2015-07-14 14:13:13 -05:00
Mikhail Titov fda379729c There is no need to escape self i2p ip in Base 64 2015-07-14 14:13:12 -05:00
Mikhail Titov df21a7e8ce Use scrape & i2p bitset flags for request 2015-07-14 14:13:10 -05:00
Mikhail Titov 5d3938b39b Parse compact response from I2P tracker
This fixes #2
2015-07-14 14:13:09 -05:00
Mikhail Titov 007a580207 Options to use lowercase base32 encoding without padding 2015-07-14 12:41:12 -05:00
Steven Siloti d911ed456a stub out disabled functions rather than removing them 2015-07-12 20:17:45 -07:00
Steven Siloti 825fd22c1e cut down on the size of the peer_connection_handle interface 2015-07-12 16:31:29 -07:00
Steven Siloti 9bf1d6c5e9 peer_connection_handle 2015-07-12 14:40:03 -07:00
Alden Torres 761486ce43 Using PRId64 macro for portability. 2015-07-12 13:05:29 -04:00
Alden Torres 89f3b3bee3 Using the standard log method for round trip time in rcp_manager. 2015-07-12 12:59:38 -04:00
Alden Torres 73e5f795cb Merge with master. 2015-07-12 10:37:16 -04:00
Alden Torres a856ae6e9b Added dht_get_peers and dht_announce at session level.
Refactored dht_put_item to dht_put_immutable_item in session_impl since the get operations are not overloaded (consistency).
Added allow_threading_guard to add_dht_node python binding.
Making dht_put_item in session returns a zeroed hash if TORRENT_DISABLE_DHT (avoid unnecessary calculation and it's more consistent).
Added missing DHT operations to the python binding.
Added missing allow_threading_guard to add_dht_node in the python binding.
2015-07-12 10:37:16 -04:00
arvidn 42638c3540 don't ignore errors from setup_listener() 2015-07-11 23:16:37 -04:00
arvidn 2739def57f minor cleanups. use libtorrent typedefs for asio. failing to bind IPv6 UDP socket is no longer fatal. removed some redundant listen_failed_alerts 2015-07-11 23:01:27 -04:00
arvidn ed8e4135b2 move include statement to correct place 2015-07-11 22:04:04 -04:00
arvidn 2ab445135a only retry binding the socket to a new port if the last attempt failed with address-in-use. On other errors, give up immediately 2015-07-11 18:49:53 -04:00
Steven Siloti 1d55bcba72 make session inherit from session_handle and remove wrapper functions 2015-07-11 11:17:28 -07:00
Steven Siloti b072b0ca5f create session_handle
The session_handle class exposes the same public interface to session_impl as
the session class. The difference being that session_handle does not own the
underlying session_impl so multiple session_handle instances can be created
and copied about as needed.

The intent is to chenge the plugin API to pass an instance of session_handle
instead of a pointer to session_impl. This change will be made in a separate
patch.

To maintain ABI compatibilty, the type signature of session was not changed.
The relevent functions have been modified to forward to session_handle and
all enums have been left in session.
2015-07-11 11:17:28 -07:00
arvidn 2b05b1c85c fix cppcheck warnings 2015-07-11 10:36:13 -04:00
Chocobo1 b5486fb6ce Add parentheses 2015-07-11 15:23:55 +08:00
Arvid Norberg bbe51268d3 Merge pull request #23 from Chocobo1/igd_version
Add support for IGD version 2
2015-07-10 19:20:51 -04:00
Chocobo1 f92df7f782 Add support for IGD version 2 2015-07-09 20:11:23 +08:00
Arvid Norberg b472299524 Merge pull request #21 from john-peterson/build2
hike required windows version to vista
2015-07-07 22:39:08 -04:00
John Sebastian Peterson 5a2dc432b1 remove windows version from code file
because it should be in the build files
2015-07-07 07:50:28 +02:00
Arvid Norberg d756969e90 Merge pull request #20 from john-peterson/rt3
fix hide cx keyword from winrt
2015-07-06 17:44:35 -04:00
arvidn 1c708cca28 fix build 2015-07-05 21:41:53 -04:00
John Sebastian Peterson 9a5e3465d2 fix hide cx keyword from winrt
forgot to hide it in the source file
2015-07-06 03:11:41 +02:00
arvidn 78399f7968 shave off some includes in torrent.cpp 2015-07-05 19:32:13 -04:00
arvidn a63cfd2a95 improve logging (specifically don't emit bandwidth limiter logs when it's disabled) 2015-07-05 18:44:02 -04:00
arvidn 3b3a23a87a whitespace 2015-07-05 18:33:47 -04:00
Arvid Norberg 41eff1801e Merge pull request #13 from aldenml/more-dht-api
Added dht_get_peers and dht_announce at session_impl level.
2015-07-04 10:08:14 -04:00
John Sebastian Peterson bb25acd661 use a better windows.foundation.collections.h(462) conflict fix 2015-07-04 05:59:38 +02:00
Alden Torres e7ee3590fa Simplified dht_get_peers_reply_alert memory handling to work with only one allocation and return all peers at once. 2015-07-03 22:59:44 -04:00
Alden Torres acc130833a Better handling of memory layout and use of detail io functions (thanks to @arvidn comments). 2015-07-02 21:35:59 -04:00
John Sebastian Peterson e7caa2d20f fix winrt compile error in windows.foundation.collections.h(428) 2015-07-02 09:58:17 +02:00
John Sebastian Peterson 2bbb238b4b use getfileattributes successor to support winrt 2015-07-02 09:55:34 +02:00
John Sebastian Peterson cc8a77b363 use createsemaphore and waitforsingleobject successor to support winrt 2015-07-02 09:55:33 +02:00
Alden Torres c89f89511b Forgot to add the very important alloc offset. 2015-07-01 15:30:09 -04:00
Alden Torres f772675d95 Removed uTP implied port logic from dht_announce. 2015-07-01 15:30:09 -04:00
Alden Torres d9246d12c4 Re-implemented dht_get_peers_reply_alert using the stack_allocator for peers vector storage. 2015-07-01 15:30:09 -04:00
Alden Torres fcac7140f8 Added dht_get_peers and dht_announce at session_impl level. 2015-07-01 15:30:08 -04:00
arvidn 94d6e06c97 first step in making opening all the listen sockets a bit more reliable 2015-06-29 23:10:09 -04:00
arvidn d1670c72c2 removed sparse-regions support 2015-06-29 20:40:32 -04:00
arvidn d887f5719d it's called peer_list now 2015-06-29 19:56:39 -04:00
arvidn e2784df13c factor out file progress tracking from the torrent class 2015-06-28 22:47:11 -04:00
arvidn a754559ac6 improve logging aroud binding listen sockets 2015-06-28 09:13:59 -04:00
arvidn c3347de3bf attempted fix for cpu_id issues on ubuntu 2015-06-26 23:23:08 -04:00
Arvid Norberg 8dbef2d32a Merge pull request #11 from aldenml/announce-get_peers-refactor
Refactor to expose a more convenient get_peers function as part of the DHT api.
2015-06-25 00:33:15 -04:00
Alden Torres 5c8c9cd653 Refactor to expose a more convenient get_peers function as part of the DHT api.
Now announce (a particular case of get_peers DHT operation) uses the function get_peers.
2015-06-24 21:22:24 -04:00
Mikhail Titov 77ca1ac16f Quadruple handshake timeout for i2p 2015-06-24 19:40:17 -05:00
arvidn 4054b4374b whitespace 2015-06-22 23:32:02 -04:00
arvidn 130fc2d640 forward port logging patch from RC_1_0 2015-06-22 02:14:17 -04:00
arvidn 9ff9965dbd fix typo 2015-06-21 20:49:55 -04:00
arvidn 08016494a9 split up test_http_connection into smaller test cases 2015-06-21 12:41:50 -04:00
arvidn 8b66fbe194 fix bug in previous commit 2015-06-20 18:17:49 -04:00
arvidn 665b553941 merged logging patch from RC_1_0 2015-06-20 17:51:59 -04:00
arvidn ad8971d6da fix typo 2015-06-20 16:42:18 -04:00
arvidn 3755a77a64 attempt to trouble shoot missing backtraces on linux 2015-06-20 16:36:23 -04:00
arvidn c2eaa26ce6 whitespace 2015-06-20 13:44:07 -04:00
arvidn 900330992e merge documentation update to github from RC_1_0 2015-06-20 00:13:38 -04:00
arvidn a500ff57be improve logging of the choker and reliability of the test_auto_unchoke 2015-06-19 01:43:09 -04:00
arvidn 8959971dd3 merge http scrape fix from RC_1_0 2015-06-18 01:05:36 -04:00
arvidn 8d408c4c86 add shortcut in async resolver for raw IPs. 2015-06-16 23:45:05 -04:00
Mikhail Titov da282fdde0 Don't break SAM connection if error occurs
This fixes #3
2015-06-16 02:03:25 -05:00
arvidn 323af56cc2 update interest when changing upload-only mode 2015-06-16 01:24:35 -04:00
Arvid Norberg 75fa65f922 Merge pull request #4 from ssiloti/master
Release alert manager mutex before notifying plugins
2015-06-15 22:11:07 -04:00
arvidn bd2bcf12bc fix bug on write-only disk errors (it's not supposed to stop the torrent) 2015-06-15 02:27:09 -04:00
Steven Siloti acf423d422 Release alert manager mutex before notifying plugins
A plugin might respond to an alert by doing something which itself generates
an alert. This has become increasingly likely with the use of alerts for
logging. This would cause a deadlock due to trying to recursively aquire the
alert manager mutex.
2015-06-14 14:07:34 -07:00
arvidn f91799006a fix make_shared invocation 2015-06-14 16:42:52 -04:00
arvidn 5cb095f6d2 support using 0 disk threads (to perform disk I/O in network thread) 2015-06-14 16:00:04 -04:00
arvidn 0d6e65ec24 improve reliability of some of the unit tests 2015-06-10 01:22:01 -04:00