Commit Graph

5514 Commits

Author SHA1 Message Date
arvidn 43ee75ce02 only post listen_succeeded_alert once all sockets have succeeded, since we may re-open previously successful ones if a later one fails 2015-09-05 22:14:04 -04:00
Arvid Norberg d7c6a3b3ea Merge pull request #130 from thomas-yuan/invalid_node_id
A node with an invalid node_id, shouldn't be added to routing table.
2015-09-05 13:30:40 -04:00
Thomas Yuan 97217a1fd6 A node with an invalid node_id, shouldn't be added to routing table. 2015-09-04 14:04:49 -04:00
arvidn a344c659e5 Revert "use handler allocator for UDP socket read handler"
This reverts commit 3ccb4f7dca.
2015-09-03 07:29:24 -04:00
arvidn 3ccb4f7dca use handler allocator for UDP socket read handler 2015-09-02 01:15:02 -04:00
Arvid Norberg 7285520521 Merge pull request #117 from thomas-yuan/master
Fix bug caused by RP #96.
2015-08-31 23:49:08 -04:00
Thomas Yuan ef16ae4e27 Handle response with unexpected format. 2015-08-31 22:37:46 -04:00
Arvid Norberg 351798648a Merge pull request #120 from thomas-yuan/patch1
reorganize code to make it straightforward.
2015-08-31 20:25:58 -04:00
Thomas Yuan 71b6b3c262 Fix bug caused by RP #96. 2015-08-31 18:13:47 -04:00
Thomas Yuan 314f134e35 reorganize code to make it straightforward. 2015-08-31 13:53:49 -04:00
arvidn 0e3e3ea793 add simple unit test for creating hard links 2015-08-30 20:14:55 -04:00
arvidn 434be2bd83 add more logging around the test failure 2015-08-30 08:52:58 -04:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn ba95aa27d6 cleanup unused code 2015-08-29 16:07:19 -04:00
arvidn 0f760d3fb4 expand tracker unit test to assert the session correctly receives the right peers 2015-08-29 16:04:35 -04:00
arvidn 5757b0ad13 polish some behavior when setting piece and file priorities for torrents with no metadata. Fix the initialization order of peers once we do get the metadata 2015-08-29 10:21:15 -04:00
arvidn beb5455331 add disk I/O read asserts and fix i2p issue if a tracker responds with i2p peers when i2p is not configured on the client 2015-08-28 07:20:21 -04:00
arvidn 6012306557 add more asserts for the size of the bitfields peers send 2015-08-27 21:48:52 -04:00
Alden Torres 88b1063f13 The constant siocgifmtu is used in the context of all these macros. 2015-08-26 17:46:54 -04:00
arvidn d1768b9c4c extend settings_pack unit test 2015-08-24 18:48:43 +02:00
arvidn 82a3683f7d polish removal of web seeds logic 2015-08-23 11:01:55 +02:00
Alden Torres 5be9dfb6db Removed unnecessary call to node_id copy constructor. 2015-08-22 16:01:53 -04:00
arvidn e7b8b6da49 forward port DHT routing table fix from RC_1_0 2015-08-22 15:51:28 +02:00
Arvid Norberg 746cd4c1a6 Merge pull request #96 from thomas-yuan/master
Parsing message correctly when message type is error.
2015-08-22 10:42:01 +02:00
arvidn d43af6e3b7 remove functionality to initiate MTU based on the MTU on the nic (this is error prone and has questionable value) 2015-08-22 08:09:09 +02:00
arvidn a42f9e0c63 fix more warnings 2015-08-22 00:28:12 +02:00
arvidn 42fdd0f896 fix some more warnings 2015-08-21 22:56:57 +02:00
arvidn 4873004df7 warnings as errors 2015-08-21 14:52:07 +02:00
arvidn d8065b8941 fix some warnings 2015-08-21 14:03:16 +02:00
arvidn 26b721973f fix typo 2015-08-21 10:43:14 +02:00
arvidn b7b0dafcca fix some warnings 2015-08-21 10:05:51 +02:00
arvidn 904da120d7 fixed some warnings 2015-08-20 22:28:00 +02:00
arvidn fa450b4bf7 attempt to fix invalid vector subscript bug in piece_picker 2015-08-20 21:37:22 +02:00
Arvid Norberg ef47b5f33f Merge pull request #105 from aldenml/torrent-alert-constructor
Recoded torrent_alert constructor logic to build the name.
2015-08-20 21:36:30 +02:00
arvidn 40a67ecbc8 fix unknown pragma warning on msvc 2015-08-20 21:14:39 +02:00
Alden Torres 203605bd3a Recoded torrent_alert constructor logic to build the name.
Fixed compilation issue in Mac OS X.
2015-08-20 13:57:03 -04:00
Thomas dbfc2fd5ea Parsing message correctly when message type is error.
Also, an error response should call reply() of observer, instead of timeout().

Reference: http://www.libtorrent.org/dht_store.html#errors
2015-08-19 22:20:48 -04:00
arvidn 8cf8e65861 turn linked_list into a template to improve type safety and remove some casts 2015-08-20 02:02:46 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn bd177a857f make tailequeue a template, introduce type safety, remove old-style casts 2015-08-19 15:22:05 +02:00
arvidn a3608a39fe fix some warnings 2015-08-19 02:00:46 +02:00
Arvid Norberg 6bcac425f1 Merge pull request #95 from arvidn/postpone_dht_start
DHT router name lookups
2015-08-19 01:44:26 +02:00
arvidn 8bc4bf1e1a remove incorrect check for m_dht 2015-08-19 01:43:44 +02:00
arvidn 5c8fc818c1 fix more warnings 2015-08-19 01:39:01 +02:00
arvidn 347d976a70 since starting the DHT can be delayed now, also cache dht nodes added while waiting 2015-08-18 23:35:27 +02:00
arvidn cc4368b45a attempt to postpone DHT until all outstanding dht router name lookups complete 2015-08-18 22:56:00 +02:00
arvidn a3c4a0a3e6 attempt to fix msvc build 2015-08-18 21:40:22 +02:00
arvidn 26fecaf037 fix more warnings 2015-08-18 16:42:03 +02:00
arvidn 12da02ae52 fix some warnings 2015-08-18 09:33:00 -04:00
arvidn 8d8c049d9e fix warnings and invalid defines in disk_io_thread.cpp 2015-08-18 07:55:50 -04:00
arvidn f6b86dc4b5 add typesafety to piece_picker torrent_peer pointers. and fix a few incorrect uses 2015-08-18 04:25:13 -04:00
arvidn eecdd3121d fix some build warnings 2015-08-17 09:01:43 -04:00
arvidn b1a3a36eae remove some old leftover code from upnp 2015-08-16 12:21:39 -04:00
arvidn 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
arvidn 16bb2de6ed fix some warnings 2015-08-13 23:52:25 -04:00
arvidn 225b82d9a0 move test_trackers_extensions over to a simulation and some minor metadata extension and tracker re-announce fixes 2015-08-13 23:07:04 -04:00
arvidn 2c89fa40e2 fix up i2p merge 2015-08-13 22:22:20 -04:00
Arvid Norberg 68bc4f2cf4 Merge pull request #12 from mlt/wip/i2p
Few i2p fixes
2015-08-13 21:55:27 -04:00
Alden Torres 12fb68e8e3 Refactor of utp stream logging functions.
Renamed utp-stats option to utp-log.
2015-08-13 18:43:58 -04:00
Alden Torres 02afc8b640 Added utp-stats bjam option to enable utp stream log (utp.log file). 2015-08-13 18:43:58 -04:00
arvidn 213958f98d uTP timeout fix. introduced when fixing the recent vulnerability 2015-08-12 23:05:33 -04:00
arvidn d2819cd1b9 fix uninitialized variable in test_pe_crypto simulation 2015-08-12 20:18:47 -04:00
arvidn 243b31b56b trouble shoot segfault on travis 2015-08-12 18:54:57 -04:00
Alden Torres b303a36ac2 Removed unnecessary full namespace reference to udp::endpoint in new dht_direct_request feature.
Add default value to userdata argument in dht_direct_request.
Minor spelling fix.
2015-08-12 00:49:09 -04:00
Steven Siloti 1b4b1c4403 fix error handling for DHT direct requests 2015-08-10 20:33:05 -07:00
Steven Siloti 8e00172af7 return a bdecode_node rather than taking one by reference 2015-08-10 20:33:04 -07:00
Steven Siloti 1ff48aef60 add comment 2015-08-10 20:33:04 -07:00
Steven Siloti 3564562dab pass raw buffer in dht_direct_response_alert 2015-08-10 20:33:04 -07:00
Steven Siloti 182c30f2d6 fix typo in class name 2015-08-10 20:33:04 -07:00
Steven Siloti 86fd8c3048 enable arbitrary direct dht requests and extension dht requests
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
arvidn a81ca2391b fix some warnings 2015-08-10 20:03:24 -04:00
arvidn 4fa0aa62da simulate IP routes, interfaces and page size when building in simulation mode 2015-08-09 15:01:01 -04:00
arvidn 6068418def fix and re-enable simulations 2015-08-09 00:56:37 -04:00
arvidn 1c1698459c fix warnings 2015-08-08 22:53:11 -04:00
Arvid Norberg 27c5a28637 Merge pull request #70 from thomas-yuan/master
Call callback function immediately when get data for mutable data.
2015-08-08 21:51:18 -04:00
Thomas e51b61870a Call callback function immediately when get mutable data. 2015-08-08 20:28:53 -04:00
arvidn 72286eb0dc minor asio.ssl abstraction cleanup. update libsimulator with build fix. only run simulator on one of the build variants on travis, since the simulator does not support ssl 2015-08-08 16:19:44 -04:00
arvidn 50925d7652 fix some more warnings 2015-08-08 02:48:01 -04:00
arvidn 46803b75f8 support building libtorrent in simulation mode (using libsimulator, which is a git submodule) 2015-08-07 21:31:59 -04:00
arvidn 1cbd9a9d5e make ssthresh set less aggressive in uTP 2015-08-07 21:31:59 -04:00
Arvid Norberg e3c9e75452 Merge pull request #72 from aldenml/peer-connection-null-error
Avoid a possible null pointer error when logging in on_connection_complete
2015-08-07 00:54:39 -04:00
arvidn 97571b4ad4 fixed more warnings 2015-08-07 00:30:29 -04:00
Alden Torres 1356332496 Avoid a possible null pointer error when logging on peer_connection::on_connection_complete. 2015-08-07 00:30:28 -04:00
arvidn a91e7ce25d fix warnings 2015-08-06 02:30:06 -04:00
arvidn 788e41c3bb merged udp socket fallback fix from RC_1_0 2015-08-05 22:22:57 -04:00
arvidn fb34607313 fix crash when loading a resume file where all files have priority 0 (and the torrent finishes before having downloaded anything) and add unit test for this case 2015-08-05 20:13:58 -04:00
Alden Torres eef9f16b3b Removed unused flag bandwidth-limit-logging and related code. 2015-08-04 01:47:15 -04:00
Alden Torres 94c59354fa Removed minimal optimization inside silly_hash to avoid another include. 2015-08-03 23:01:46 -04:00
Alden Torres 5866bb7974 Indentation. 2015-08-03 18:16:43 -04:00
Alden Torres a1a8e1fc48 Avoid performance penalty if disk write access log is not enable. 2015-08-03 18:16:43 -04:00
Alden Torres cd8a4d2511 Moved TORRENT_DISK_STATS to default_storage with the option of enable/disable at runtime. 2015-08-03 18:16:43 -04:00
arvidn e0c3d28321 fix some warnings 2015-08-02 15:55:05 -04:00
arvidn bb64887f30 merge total wanted fix from RC_1_0 2015-08-02 15:18:21 -04:00
arvidn 7080b8bac8 fixed build 2015-08-02 02:16:21 -04:00
arvidn 655a3ae019 fix some warnings 2015-08-01 23:57:11 -04:00
arvidn 990aabe36f fix warnings and no-deprecated functions build 2015-08-01 19:55:36 -04:00
arvidn f86283ac30 allow clearing the notify function in alert manager 2015-07-30 21:34:55 -04:00
arvidn 52b4aed466 merge bdecode patch from RC_1_0. an empty string now produces an error rather than an empty bdecoded struct 2015-07-30 21:29:22 -04:00
arvidn 3dda8f97d6 merge include fix from RC_1_0 2015-07-30 20:23:35 -04:00
arvidn 4d89c7da97 fixed uTP vulnerability 2015-07-29 22:25:59 -04:00
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
arvidn ac04ee5ef3 fix typo in settings_pack 2015-06-07 09:23:04 -04:00
arvidn aa6598b2e6 don't return an internal session_settings type from the session, return a settings_pack instead 2015-06-07 00:23:30 -04:00
arvidn 9af8841244 remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp 2015-06-06 13:49:18 -04:00
arvidn 41533205be drop support for boost 1.35 and fix some more references to the asio namespace 2015-06-06 02:10:53 -04:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
arvidn 48bc00cbb7 attempt to make unit tests more deterministic 2015-06-05 23:02:07 -04:00
arvidn 15dd15d0d6 fix no-deprecated build. extend .travis.yml to build the 3 test configurations too. rename README to README.rst 2015-06-05 02:31:52 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg b5a30a65ae merged changes from RC_1_0 2015-06-03 05:12:54 +00:00
Arvid Norberg 4e1e53f066 turn some more members of session_impl to private 2015-06-03 04:33:20 +00:00
Arvid Norberg 0351326add separate the main thread and the io_service from session_impl. The io_service object is now simply run() in the main thread, all initialization is done by posting messages to it. This generalizes session_impl to some degree, enables future expansion to run in multiple threads (although, the peers and torrents don't support this). This patch also makes it possible to pass in a third party io_service to the session, but at this point that's mostly useful for tests, as it's not well supported 2015-06-03 03:04:44 +00:00
Arvid Norberg d8c0632c78 add some bdecoding unit tests 2015-06-02 03:06:48 +00:00
Arvid Norberg d9945f6f50 merged fix from RC_1_0 2015-06-02 01:29:05 +00:00
Arvid Norberg 5d6cba438d merged changes from RC_1_0 2015-06-02 01:14:52 +00:00
Arvid Norberg b0eabd532c some test fixes 2015-05-31 16:14:46 +00:00
Arvid Norberg 91197005e9 more msvc fixes 2015-05-31 09:02:42 +00:00
Arvid Norberg 34f6b1ca19 merged RC_1_0 into trunk 2015-05-30 17:41:38 +00:00
Arvid Norberg 0aca01543b simplify dht logging 2015-05-30 06:31:03 +00:00
Arvid Norberg 945eef4c4d some dht_tracker clean up 2015-05-30 04:37:12 +00:00
Arvid Norberg 9b0313bd8e hold settings_pack by shared_ptr when passing it across thread boundaries. don't allocate it on the heap redundantly 2015-05-29 05:27:53 +00:00
Arvid Norberg e44c8e9002 optimize logging of DHT packets by deferring copying and printing, to only do it if the alert category is enabled 2015-05-28 20:36:22 +00:00
Arvid Norberg 27cbfa164e minor cleanup 2015-05-28 14:46:12 +00:00
Arvid Norberg 7f5aff9823 don't trigger recalculating auto-managed unconditionally when adding a new torrent, only in the case where it will most likely be started right away 2015-05-27 20:21:50 +00:00
Arvid Norberg 06bf225237 fix release build and tune want_tick 2015-05-26 20:09:19 +00:00
Arvid Norberg 09bc072c31 inactive/auto managed fixes. fix client_test key input 2015-05-26 18:39:49 +00:00
Arvid Norberg c6f8dd408a optimize recalculate auto-managed 2015-05-25 21:46:42 +00:00
Arvid Norberg 9856a1fe0c break out more tests from test_primitives 2015-05-23 01:38:47 +00:00
Arvid Norberg 0052fa6c19 some cleanup to dht observers (don't expose internals) 2015-05-22 02:42:26 +00:00
Arvid Norberg 0de44067aa fix warnings 2015-05-19 04:59:31 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg d18495eb39 support a NULL dht_observer again 2015-05-19 00:48:04 +00:00
Arvid Norberg 051ca6b22c fix warnings 2015-05-18 05:32:18 +00:00
Arvid Norberg 9ee98b3ed1 fix build warnings 2015-05-18 05:04:55 +00:00
Arvid Norberg e7d369646d fix gcc warnings 2015-05-18 01:30:32 +00:00
Arvid Norberg 71ee44ae5e fix build issue, some warnings 2015-05-17 23:32:13 +00:00
Arvid Norberg 88fe6eba9c fix issues introduced in dht logging patch 2015-05-17 20:59:18 +00:00
Arvid Norberg be60dfc0a9 minor whitespace cleanup 2015-05-17 18:59:35 +00:00
Arvid Norberg 9597dcda87 throw when packet_buffer fails to allocate memory 2015-05-17 15:23:39 +00:00
Arvid Norberg c871610408 fix bug in DHT logging. clean up some whitespace 2015-05-17 02:00:43 +00:00
Arvid Norberg 58ae099cf8 clean up disk_io_job a bit to avoid old-style casts 2015-05-16 20:41:37 +00:00
Arvid Norberg 99de70604a remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled 2015-05-16 19:29:49 +00:00
Arvid Norberg 12c9d3de26 fix more warnings 2015-05-16 18:35:47 +00:00
Arvid Norberg 6a87dc7d84 fix some warnings 2015-05-16 16:24:11 +00:00
Arvid Norberg 2bf4519bee make the torrent hold a pointer to the ip_filter instead of relying on a session reference 2015-05-16 06:33:37 +00:00
Arvid Norberg e7f9f35556 fix mistake in download_queue_time 2015-05-13 00:02:01 +00:00
Arvid Norberg 5e07ff857e remove residual geoip cruft 2015-05-11 00:49:34 +00:00
Arvid Norberg b418aeb466 merged fixes from RC_1_0 2015-05-10 23:00:23 +00:00
Arvid Norberg 494b425ea1 fix warnings and a peer logging bug 2015-05-10 18:38:10 +00:00
Arvid Norberg 0029ac62a8 add unit test for extract_peer_info 2015-05-10 18:24:38 +00:00
Arvid Norberg 242dad0743 fix dht build 2015-05-10 18:24:09 +00:00
Arvid Norberg 2819d5f68e remove the remains of the dht logging 2015-05-10 05:28:50 +00:00
Arvid Norberg 1357fd5265 clean up usage of printf attribute (encapsulate it in a macro) 2015-05-10 05:11:51 +00:00
Arvid Norberg b60934288b turn DHT logging into alerts instead of writing to a file 2015-05-10 04:54:02 +00:00
Arvid Norberg ca581f2258 rename dht::node_impl -> dht::node, since this hasn't been a pimpl for quite a while 2015-05-09 19:00:22 +00:00
Arvid Norberg 6557910c7f remove the DHT's last dependency on session_impl 2015-05-09 18:06:02 +00:00
Arvid Norberg b4a6a14dfb clean up utf8 conversion wrapper a bit, to not rely on dead-code elimination in constant conditions 2015-05-09 13:58:32 +00:00
Arvid Norberg a83dcbaaf0 removed access-log build option and log parser. added incoming_request_alert. This feature can now be implemented by clients 2015-05-09 03:04:08 +00:00
Arvid Norberg ddfef97696 don't use iostream in dht routing table debug logging 2015-05-08 05:21:26 +00:00
Arvid Norberg 202b4921b6 merged changes from RC_1_0 2015-05-08 04:28:24 +00:00
Arvid Norberg 4b585dcc0e minor cleanup and fix no-deprecated build 2015-05-06 01:11:54 +00:00
Arvid Norberg db4a9962e9 take const references where we can in magnet_uri 2015-05-05 05:44:42 +00:00
Arvid Norberg f90537c52d fix some more coverity issues and add more todo comments 2015-05-05 02:32:14 +00:00
Arvid Norberg 8fdacf9534 address coverity issues and build issue with non atomic 64 bit operations 2015-05-03 22:21:19 +00:00
Arvid Norberg 4a304273fd fix some coverity issues 2015-05-03 03:28:39 +00:00
Arvid Norberg 4f216dece3 factor out strings of peer logs to be enums instead, in peer_log_alert 2015-05-03 02:53:54 +00:00
Arvid Norberg ab0c97755e merged fixes from RC_1_0 2015-04-29 05:48:09 +00:00
Arvid Norberg 0d72163a56 fix coverity warnings 2015-04-29 05:46:35 +00:00
Arvid Norberg a1dbba7cf4 make clear_read_cache() code less confusing 2015-04-29 05:11:55 +00:00
Arvid Norberg 8aa3c22796 fix coverity issues 2015-04-29 04:05:29 +00:00
Arvid Norberg 42120014d0 merged changes from RC_1_0 2015-04-28 04:01:40 +00:00
Arvid Norberg 2fff222235 silence some warnings on msvc 2015-04-27 02:21:12 +00:00
Arvid Norberg f97168241f build fix 2015-04-27 00:56:58 +00:00
Arvid Norberg c6a4bd8dec add missing cpuid.cpp 2015-04-26 21:54:45 +00:00
Arvid Norberg d128d36faa fix cpuid use (apparently it's not appropriate to use in an inlined function) 2015-04-26 18:46:45 +00:00
Arvid Norberg a15bc13392 build fixes 2015-04-26 13:38:56 +00:00
Arvid Norberg 93a19b44c0 fix another format string issue and add comments to kademlia 2015-04-26 06:25:08 +00:00
Arvid Norberg a0e6b52a3f fix msvc build issues 2015-04-26 01:45:23 +00:00
Arvid Norberg 2fb1a0f3c7 fix msvc build issue 2015-04-26 01:25:45 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 821e34c795 fix examples build. fix print formatting bugs. fix some gcc warnings 2015-04-25 04:22:51 +00:00
Arvid Norberg f7e4f83469 separate out session_stats into its own header. silences warning and cleans up 2015-04-25 02:12:02 +00:00
Arvid Norberg 8e08cd7639 deprecate use of boost.date_time. use boost.chrono instead 2015-04-25 01:40:39 +00:00
Arvid Norberg 3bf9fa8fca move out merkle functions into their own file and test 2015-04-24 06:06:41 +00:00
Arvid Norberg c19c6b2cc1 fix some warnings 2015-04-24 05:37:17 +00:00
Arvid Norberg 924fb5d03c merged fixes from RC_1_0 2015-04-24 04:42:26 +00:00
Arvid Norberg 31a87c26f0 move another unused time function into the one place it was used from (which will be removed) 2015-04-24 04:08:08 +00:00
Arvid Norberg 3ea67e2bf5 move time_now_string out to the unit test library (basically unused in libtorrent itself) 2015-04-24 03:48:08 +00:00
Arvid Norberg 91e66f65d3 removed unused argument (and silence warning) 2015-04-23 06:12:53 +00:00
Arvid Norberg cc999d85ae fix typo in alert_manager 2015-04-23 05:34:34 +00:00
Arvid Norberg 87c46a144d fix more warnings and some build issues 2015-04-22 04:24:45 +00:00
Arvid Norberg a1f59f6cf1 make puff const correct instead of const-casting 2015-04-22 02:11:12 +00:00
Arvid Norberg 3664c7c137 fix more warnings and bare_bones build 2015-04-22 00:59:35 +00:00
Arvid Norberg 0b063de9ff fix more warnings 2015-04-21 04:30:34 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 4d15f1410f fix warnings, some clean-up and todo comments 2015-04-20 04:52:49 +00:00
Arvid Norberg 4fd230dbe5 fix build and some warnings 2015-04-20 00:01:27 +00:00
Arvid Norberg bf32895de9 fix asserts=off build 2015-04-19 13:18:54 +00:00
Arvid Norberg 21751347bc more warnings fixes and cleanup 2015-04-19 06:28:21 +00:00
Arvid Norberg 51e86ca2d5 more warning fixes and cleanup 2015-04-18 22:00:27 +00:00
Arvid Norberg 60d1b8fa7c fix gcc build 2015-04-18 21:21:22 +00:00
Arvid Norberg 23536dcc42 fix a few warnings and GCC build 2015-04-18 13:56:36 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 1b20755c03 fix inlude in resolve_links.cpp 2015-04-18 02:00:03 +00:00
Arvid Norberg 8ac5a32548 improve deprecation macros. increase default warning level. fix deprecation warnings while building libtorrent itself (gcc and clang) 2015-04-17 01:49:49 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg 5f0b941a54 add more information to the invalid_request_alert and be more forgiving about requests from peers that have not sent an interested-message first 2015-04-13 01:34:19 +00:00
Arvid Norberg 8200f33925 fix gcc build issue in test_peer_list 2015-04-13 00:50:55 +00:00
Arvid Norberg 208fbe8545 extend test_peer_list 2015-04-12 06:39:16 +00:00
Arvid Norberg baaeac7809 extend some unit tests. primarily test_alert_manager and fixed a bug in alert_manager 2015-04-11 18:44:43 +00:00
Arvid Norberg 0cedddbba0 fix build with no deprecated functions 2015-04-11 15:31:36 +00:00
Arvid Norberg b3e061ca94 clean up of some test and fix warnings 2015-04-11 15:25:24 +00:00
Arvid Norberg fb40cb484e merged changes from RC_1_0 2015-04-11 14:17:33 +00:00
Arvid Norberg af57bdfe6a clean up use of error categories in file.cpp 2015-04-10 23:19:47 +00:00
Arvid Norberg 10cbe7f969 log fewer false positive udp tracker errors (when we can't find the transaction ID) 2015-04-10 04:20:20 +00:00
Arvid Norberg c47699005f merge fixes from RC_1_0 2015-04-10 03:25:02 +00:00
Arvid Norberg bb48b6e83c eliminate one more session dependency in peer_connection 2015-04-10 01:50:42 +00:00
Arvid Norberg 06135941f3 be a bit more lenient with invalid metadata requests 2015-04-09 04:24:13 +00:00
Arvid Norberg 20aa53953c fix etensions being passed all alerts 2015-04-07 00:50:21 +00:00
Arvid Norberg 6d09050d08 fix build without deprecated functions 2015-04-06 00:06:26 +00:00
Arvid Norberg b07b208a4a rate limit how often recalculate_auto_managed can be called (it's expensive) 2015-04-05 19:35:58 +00:00
Arvid Norberg 2a3a34bf8d fix warnings in alert_manager and fix test_resolve_links for windows 2015-04-04 19:11:14 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg f168849f51 clean up lsd logging 2015-03-29 23:25:25 +00:00
Arvid Norberg 837e709628 deprecate RSS API 2015-03-28 17:31:27 +00:00
Arvid Norberg a516bf46e5 merged changes from RC_1_0 2015-03-22 04:34:11 +00:00
Arvid Norberg 9af3066b56 fix file collision logic in torrent_info 2015-03-21 16:55:23 +00:00
Arvid Norberg 3f21a846f6 fix build without deprecated function. extend test_coverage script. comment out DHT sanity check assert that fires in the wild 2015-03-21 00:50:28 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00
Arvid Norberg 1b07ec491d fix build issue out of recent changes of exported functions 2015-03-16 04:38:28 +00:00
Arvid Norberg 74ca290fe6 attempt to fix build 2015-03-15 06:05:41 +00:00
Arvid Norberg 6c67694d22 fix windows and linux build 2015-03-15 04:25:54 +00:00
Arvid Norberg 794de25212 moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp 2015-03-14 23:10:20 +00:00
Arvid Norberg fad1c42970 documetation fixes and polish 2015-03-14 21:55:26 +00:00
Arvid Norberg 37225b71ae const static -> static const (thanks gubatron). helps swigs parser 2015-03-14 00:42:27 +00:00
Arvid Norberg 65a9d76938 fix dht logging build 2015-03-13 05:53:22 +00:00
Arvid Norberg 881fa4dce6 remove sleep() from the libtorrent API 2015-03-13 05:52:48 +00:00
Arvid Norberg 6c1df7eb55 landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node 2015-03-12 05:20:12 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 10333221bc attempt at fixing file permission issues on windows 2015-03-09 06:09:50 +00:00
Arvid Norberg 14e97b8151 build fix 2015-03-08 04:49:10 +00:00
Arvid Norberg f981221cff fixes to close-reason patch 2015-03-01 07:02:32 +00:00
Arvid Norberg 0c8aee014c implemented utp extension header to indicate the reason to close the connection 2015-02-28 19:51:15 +00:00
Arvid Norberg c4b112f23a add comment 2015-02-24 04:15:47 +00:00
Arvid Norberg fd1d349457 valgrind build fix 2015-02-24 01:58:26 +00:00
Arvid Norberg f364fe7beb include tracker message in tracker_alert 2015-02-21 22:45:45 +00:00
Arvid Norberg 89055c4c7a some more optimizations on loading torrents 2015-02-18 03:32:49 +00:00
Arvid Norberg c4a294e88a deprecate file_base feature in file_storage/torrent_info 2015-02-17 04:53:49 +00:00
Arvid Norberg d49e97afb3 optimized loading and parsing torrents. Specifically detecting duplicate filenames (optimizing the common case of no collisions). Expanded unit test to uncover an unsupported case (not fixed yet). cutting down on memory allocation and copying when parsing torrent files in memory 2015-02-17 02:08:47 +00:00
Arvid Norberg 3d47a1fb81 extend file_storage unit test a bit 2015-02-16 21:53:23 +00:00