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
Arvid Norberg
5ea0db3145
extend piece_picker unit test and comment out unused function
2015-02-15 22:01:15 +00:00
Arvid Norberg
cb6d3cdd44
extend piece_picker unit test. extend http_parser unit test and fix resolve_redirect_location
2015-02-15 20:01:30 +00:00
Arvid Norberg
40980df545
extend storage unit test to cover iovec operations
2015-02-15 07:31:35 +00:00
Arvid Norberg
91270a0c2b
make operation_t public and document it. include peer disconnects in client_test log
2015-02-15 05:17:09 +00:00
Arvid Norberg
a831a78fd5
simplify and clean up utp_stream. fix missing error check in read handler in peer_connection
2015-02-15 00:25:56 +00:00
Arvid Norberg
43021f5f22
remove todo comment
2015-02-14 23:31:44 +00:00
Arvid Norberg
1dbba7c410
optimize disk buffer allocation when seeding
2015-02-14 23:20:45 +00:00
Arvid Norberg
2fdb7499fa
optimize block_info allocation and downloading_piece size in piece_picker
2015-02-14 21:32:41 +00:00
Arvid Norberg
51f1a61d2d
more piece_picker unit tests and some fixes
2015-02-13 02:58:21 +00:00
Arvid Norberg
01ee9cd9af
more work on piece_picker unit test
2015-02-12 06:43:46 +00:00
Arvid Norberg
72d015c86a
extend piece_picker unit test
2015-02-12 03:16:53 +00:00
Arvid Norberg
2d4949cfed
test coverage script
2015-02-10 06:02:51 +00:00
Arvid Norberg
9ff3030c7d
remove residual from peer speed affinity
2015-02-10 04:37:10 +00:00
Arvid Norberg
678385f358
share mode polish and remove old comment
2015-02-08 22:29:10 +00:00
Arvid Norberg
7395a91bf4
clean up piece picker interface to make piece_pos private again
2015-02-08 22:15:59 +00:00
Arvid Norberg
84fe616ccb
extend piece picker unit test
2015-02-08 21:44:58 +00:00
Arvid Norberg
9fb98b1151
remove speed affinity feature in piece-picker and peers
2015-02-08 21:17:00 +00:00
Arvid Norberg
497f7a4a27
piece picker fix for random mode
2015-02-08 21:12:10 +00:00
Arvid Norberg
a8623a9b23
request partial pieces in rarest-first order
2015-02-08 18:01:29 +00:00
Arvid Norberg
512113510b
introduce another rule where we prioritize partial pieces in the piece picker to avoid having too many bytes outstanding in partial pieces (especially very large pieces)
2015-02-08 16:52:57 +00:00
Arvid Norberg
1b9b6f7292
support http basic auth in http_connection passed in from the outside as opposed to part of the url
2015-02-08 16:03:09 +00:00
Arvid Norberg
04c33d6fb2
move closing of files outside of file pool mutex
2015-02-08 14:44:33 +00:00
Arvid Norberg
2a0789594d
fix linux build
2015-02-08 00:59:54 +00:00
Arvid Norberg
46ef448711
fix issue with upload only while trying to download metadata. also added a unit test to catch it in the future
2015-02-07 01:01:48 +00:00
Arvid Norberg
9b91508c38
clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable
2015-02-01 14:30:43 +00:00
Arvid Norberg
fe10128d53
fix invalid memory access
2015-01-27 01:09:16 +00:00
Arvid Norberg
678d4f3a82
fix warning
2015-01-26 03:09:32 +00:00
Arvid Norberg
d92d53f27a
merged changes from RC_1_0
2015-01-26 02:07:03 +00:00
Arvid Norberg
097d5b484d
improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers
2015-01-26 02:04:58 +00:00
Arvid Norberg
bc9281a27c
deprecate file_entry (used by file_storage) and clean up the add_file overload that borrows memory (and improve implementation and documentation). The python bindings were updated to more closely match the c++ API (specifically actually using file_storage)
2015-01-21 15:46:12 +00:00
Arvid Norberg
3286437a7d
extend peer_list unit test and fix some bugs
2015-01-20 23:56:45 +00:00
Arvid Norberg
d9e69db0cb
actually make use of the max_failcount setting
2015-01-20 06:26:22 +00:00
Arvid Norberg
d41d59d780
improve prefer-contiguous-blocks in piece_picker, to actually pick a contiguous range
2015-01-20 03:46:40 +00:00
Arvid Norberg
54eb499803
make post_torrent_updates more flexible by allowing to pass flags to it. The same flags as torrent_handle::status. Also make the default return accurante progress
2015-01-20 02:46:23 +00:00
Arvid Norberg
d8d069675c
improve piece picker to better support torrents with very large pieces and web seeds
2015-01-20 02:34:55 +00:00
Arvid Norberg
e6eb920021
piece picker cleanup
2015-01-19 22:07:53 +00:00
Arvid Norberg
431fa2ac55
fix python binding build (and expose the new dht stats alert)
2015-01-18 21:36:24 +00:00
Arvid Norberg
a7bec127f1
relying on local statics being threadsafe still does not seem safe on msvc
2015-01-18 16:52:39 +00:00
Arvid Norberg
609b5eb4ba
fix dht logging build
2015-01-18 15:03:18 +00:00
Arvid Norberg
8614ed795a
attempt to fix build
2015-01-18 04:40:01 +00:00
Arvid Norberg
de616b29c5
fix c++98 support
2015-01-18 02:06:18 +00:00
Arvid Norberg
0afea4bb3e
move some DHT verbose stats logging over to performance counters
2015-01-18 01:06:36 +00:00
Arvid Norberg
7441a0a3b3
fix build
2015-01-17 22:09:20 +00:00
Arvid Norberg
22a02f4a1f
make dht_tracker be held by shared_ptr instead of intrusive_ptr. remove redundant performance counter (total dht sent/received). report DHT IP overhead to the IP overhead counters
2015-01-17 22:06:30 +00:00
Arvid Norberg
58d93e5aa1
add new (non-deprecated) access to dht stats, asynchronously via an alert
2015-01-17 17:02:58 +00:00
Arvid Norberg
b9b657c3d4
post alerts instead of writing to a file, in local peer discovery, when logging is enabled
2015-01-16 23:01:14 +00:00
Arvid Norberg
1ab8d2fa5c
fix test_privacy build. fix uninitialized bit in torrent. attempt to filter output from valgrind in regression tests
2015-01-16 04:57:58 +00:00
Arvid Norberg
7668bf5d4c
downgrade some todo comments
2015-01-15 19:13:45 +00:00
Arvid Norberg
9bfbb8a52a
fix partfile on windows
2015-01-15 03:35:13 +00:00
Arvid Norberg
e2d73cfe38
file not found is not an error in exists()
2015-01-15 02:31:38 +00:00
Arvid Norberg
2943bd4d7d
make test_privacy more reliable
2015-01-14 01:59:23 +00:00
Arvid Norberg
223154b1f1
fix build
2015-01-13 22:40:16 +00:00
Arvid Norberg
d140d71e1a
extend logging of UDP tracker announces (to track down unit test flapping)
2015-01-13 21:34:43 +00:00
Arvid Norberg
9172874b5c
fix storage error (recently introduced) where the mapped_files object would not be updated when renaming files that did not exist on disk
2015-01-13 18:28:06 +00:00
Arvid Norberg
95f889b247
some debug output
2015-01-13 06:11:42 +00:00
Arvid Norberg
c9903bdaf2
use O_SYNC when available
2015-01-07 23:21:54 +00:00
Arvid Norberg
c9075a530d
fix build
2015-01-06 22:17:22 +00:00
Arvid Norberg
1a53a454ec
fix ssl unit test
2015-01-06 08:16:03 +00:00
Arvid Norberg
0f37e3403c
transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings
2015-01-06 08:08:49 +00:00
Arvid Norberg
a462f58372
use hardware optimized CRC32C function in DHT
2015-01-05 13:50:42 +00:00
Arvid Norberg
1b254e16c2
remove comment
2015-01-05 12:25:10 +00:00