Alden Torres
f57612b82d
rename of aux::array_view to span ( #933 )
2016-07-22 09:31:42 -07:00
Arvid Norberg
7bf49c0a1c
modernize hasher to use array_view ( #931 )
...
modernize hasher to use array_view as well as adding array_view support to entry
2016-07-22 07:29:39 -07:00
arvidn
e405f0e02f
merged RC_1_1 into master
2016-07-20 11:34:29 -07:00
Arvid Norberg
5bda955f8f
don't send bitfield to peers whose handshake we haven't fully received yet ( #925 )
2016-07-20 10:11:28 -07:00
Arvid Norberg
a740a49fd6
modernize misc ( #898 )
...
modernize misc
2016-07-10 07:34:45 -04:00
Arvid Norberg
770935cd46
modernize-use-nullptr ( #894 )
2016-07-09 16:26:26 -04:00
Steven Siloti
e0c0b14e6c
limit crypto messages to 1MB ( #884 )
...
limit crypto messages to 1MB
2016-07-04 02:48:13 -04:00
Arvid Norberg
c567a66f5e
simplify peer_connection's read handlers and the receive buffer. ( #853 )
...
simplify peer_connection's read handlers and the receive buffer. removed the concept of soft-packet-size. removed the secondary null-buffer receive path. removed try_read. simplify the buffer class to not be resizeable. make receive_buffer shrink the buffer allocation. add cap to growing the receive buffer. buffer sizes are always divisible by 8.
2016-06-26 20:41:03 -04:00
Arvid Norberg
6aabe3762b
general modernization ( #836 )
...
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg
a9dbbdea37
use array_view instead of std::vector in crypto_plugin interface ( #835 )
...
use array_view instead of std::vector in crypto_plugin interface. return a vector of const_buffers for prepending new buffers. use stack allocated (single buffer) iovecs for receives. general cleanup
2016-06-19 23:05:59 -04:00
Arvid Norberg
b2358666a1
remove lazy_bitfield ( #817 )
...
remove lazy_bitfield feature
2016-06-19 17:00:18 -04:00
Arvid Norberg
ed077c8358
use cstdint intead of boost/cstdint.hpp ( #833 )
...
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg
ead11737b4
fix uses of defines for whether or not asserts are active ( #832 )
2016-06-18 08:31:07 -04:00
Arvid Norberg
4d927f4029
modernize disk_buffer_holder to be move-only ( #824 )
...
modernize disk_buffer_holder to be move-only
2016-06-16 08:24:41 -04:00
Arvid Norberg
c0fb61c5d7
replace the suggest-read-cache logic with something much simpler ( #815 )
...
replace the suggest-read-cache logic with something much simpler that doesn't schedule regular jobs and doesn't query the disk cache
2016-06-15 13:29:54 -04:00
Arvid Norberg
ce161a9d62
remove option to disable contiguous receive buffers ( #818 )
...
removed option to disable contiguous receive buffers
2016-06-15 08:04:53 -04:00
Arvid Norberg
6f87c702fa
simplify dispatching of bittorrent messages ( #820 )
2016-06-14 15:19:32 -04:00
Arvid Norberg
6e55c0564f
suppress shift warnings in boost ( #811 )
...
suppress shift warnings in boost
2016-06-12 21:14:21 -04:00
arvidn
0440c57f68
fix performance issue and assert with receiving metadata
2016-06-11 23:29:33 -04:00
Arvid Norberg
327af3a69e
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-10 01:24:37 -04:00
Arvid Norberg
404d72b9b7
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-10 01:14:37 -04:00
Arvid Norberg
830a79dbcf
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-09 08:02:41 -04:00
Arvid Norberg
5eaf713d1f
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-07 21:45:48 -04:00
Arvid Norberg
8c8f5bb03b
deprecated public to_hex() and from_hex() functions ( #784 )
2016-06-04 10:01:43 -04:00
Arvid Norberg
0583394af7
remove dependency on libtommath and use boost.multiprecision instead
...
remove dependency on libtommath and use boost.multiprecision instead
2016-05-30 14:33:24 -04:00
Arvid Norberg
96999ad67f
replace uses of boost::bind with std::bind and lambdas ( #745 )
2016-05-25 00:31:52 -04:00
Arvid Norberg
748af6eec1
general cleanup. remove valgrind markup, log_hash_failures and C headers ( #752 )
...
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
Arvid Norberg
c91a700c07
Msvc warnings ( #685 )
...
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -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
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
arvidn
2178d1ad2b
improve robustness and performance of uTP PMTU discovery. fix duplicate ACK issue in uTP. demote an invariant check to 'expensive'
2016-03-13 12:40:59 -04:00
arvidn
26f88bb12d
add receive_buffer unit test and some more cleanup and asserts
2016-03-05 00:14:00 -05:00
arvidn
b9ec183e24
increase default connect speed. minor cleanup. add logging for short lived connections
2016-03-03 01:20:15 -05:00
arvidn
1f9f588e75
merge copyright year update and changelog from RC_1_0
2016-01-17 18:57:46 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
c0a4f7ba26
fix super seeding assert (forward port from RC_1_0)
2015-09-08 18:17:13 -04:00
arvidn
17c5759829
disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings
2015-09-06 22:55:41 -04:00
arvidn
a42f9e0c63
fix more warnings
2015-08-22 00:28:12 +02:00
arvidn
ffa870d280
fixed some GCC warnings
2015-08-20 01:33:20 +02:00
Arvid Norberg
68bc4f2cf4
Merge pull request #12 from mlt/wip/i2p
...
Few i2p fixes
2015-08-13 21:55:27 -04:00
arvidn
243b31b56b
trouble shoot segfault on travis
2015-08-12 18:54:57 -04:00
arvidn
1c1698459c
fix warnings
2015-08-08 22:53:11 -04:00
arvidn
655a3ae019
fix some warnings
2015-08-01 23:57:11 -04:00
Mikhail Titov
9c489e2291
Don't include yourip (0.0.0.0) in i2p handshake
2015-07-14 14:13:16 -05:00
arvidn
323af56cc2
update interest when changing upload-only mode
2015-06-16 01:24:35 -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
Arvid Norberg
d43f7b56a2
update copyright year
2015-06-03 05:18:48 +00:00
Arvid Norberg
9856a1fe0c
break out more tests from test_primitives
2015-05-23 01:38:47 +00:00
Arvid Norberg
607e708bc4
fix warnings
2015-05-19 03:13:49 +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
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
42120014d0
merged changes from RC_1_0
2015-04-28 04:01:40 +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
3664c7c137
fix more warnings and bare_bones build
2015-04-22 00:59:35 +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
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
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
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
0c8aee014c
implemented utp extension header to indicate the reason to close the connection
2015-02-28 19:51:15 +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
09bc1550e9
simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin
2014-12-09 09:08:26 +00:00
Arvid Norberg
1ed1963f29
remove size_type typedef in favor of boost::int64_t
2014-12-03 04:32:50 +00:00
Arvid Norberg
4376d26399
merged changes from RC_1_0
2014-12-01 10:43:34 +00:00
Arvid Norberg
658e2ceefd
merged Steven Siloti's peer crypto patch into trunk
2014-11-23 06:14:47 +00:00
Arvid Norberg
e526355d24
merged changes from RC_1_0
2014-11-09 11:17:13 +00:00
Arvid Norberg
aae56c991c
merged changes from RC_1_0
2014-11-08 16:58:18 +00:00
Arvid Norberg
32d368e1ce
merged changes from RC_1_0
2014-10-12 18:16:46 +00:00
Arvid Norberg
ceccc2a483
land branch to remove half-open connection limit / connection queue
2014-10-03 20:56:57 +00:00
Arvid Norberg
d7d498c3a3
more steps towards isolating peer_connections from the session object. unchoking now happens via the torrent object. hopefully in the future, the session can determine which peers to unchoke without having direct access to them (i.e. with a mutex)
2014-09-22 03:47:43 +00:00
Arvid Norberg
ad7d74f255
merged fixes from RC_1_0
2014-09-13 19:47:51 +00:00
Arvid Norberg
252e08a889
merged fixes from RC_1_0
2014-09-04 08:55:24 +00:00
Arvid Norberg
bed6d5c233
fix test builds without deprecated functions
2014-09-03 03:17:47 +00:00
Arvid Norberg
65bb1d0006
pass all the arguments to peer connections as an argument pack
2014-07-14 04:32:41 +00:00
Arvid Norberg
01640e1682
separate stats counters from session_interface (this was the main use of m_ses in peer connections)
2014-07-13 04:56:53 +00:00
Arvid Norberg
bf18e310e6
remove some peer connection dependencies on m_ses
2014-07-12 22:32:55 +00:00
Arvid Norberg
a6f345181f
fixed some unused argument warnings
2014-07-07 06:28:48 +00:00
Arvid Norberg
7351389ce8
land libtorrent_aio branch in trunk
2014-07-06 19:18:00 +00:00
Arvid Norberg
6043e14131
remove pch.hpp
2014-06-28 23:45:46 +00:00
Arvid Norberg
3e25e56f0e
fix initialization order warning
2014-05-12 07:57:58 +00:00
Arvid Norberg
5b89c3f5f9
merged some of steven siloti's changes. expose optimistic unchoke logic to plugins
2014-05-12 07:28:34 +00:00
Arvid Norberg
f037704539
clean up peer-id in bt_peer_connection (for privacy mode) and reduce dependency on session
2014-04-22 23:37:21 +00:00
Arvid Norberg
299b779adf
fix superseeding bug
2014-03-19 04:34:24 +00:00
Arvid Norberg
a943fec777
update copyright
2014-02-23 19:12:25 +00:00
Arvid Norberg
6c22d426d4
make all unit tests pass msvc's /RTCc instrumentation (no implicit integer truncation in casts)
2014-02-05 09:38:32 +00:00
Arvid Norberg
cd4adae4ed
add and fix some documentation. regenerate html. remove bittorrent_utp as a connection type, there's already a utp_socket flag
2014-02-02 09:33:19 +00:00
Arvid Norberg
077f728931
more test_transfer polish. fix issue where passing on our listen port depended on anonymous_mode, instead of use_proxy. not passing it on would break a few unit tests
2014-01-26 08:36:56 +00:00
Arvid Norberg
36c9add067
don't print stuff to stdout in debug builds. when waking up from completing a connection attempt, exit immediately if the connection is disconnecting, or disconnect if we're in graceful pause mode. some test cleanups
2014-01-26 08:18:13 +00:00
Arvid Norberg
f0d1e8636c
extend verbose logging to try to catch test_priority failure on windows
2014-01-26 04:45:49 +00:00
Arvid Norberg
e0644ce8f5
invariant check macro fixes
2014-01-21 19:26:09 +00:00
Arvid Norberg
702b68ecc4
clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized
2014-01-19 19:45:50 +00:00
Arvid Norberg
4e6b1cfbfb
update copyright
2013-12-25 17:07:16 +00:00
Arvid Norberg
603eea7e60
fix one more ifdef issue
2013-12-21 05:59:26 +00:00
Arvid Norberg
be8c918158
fix TORRENT_DISABLE_EXTENSIONS issues (specifically when enabling it)
2013-12-20 08:35:29 +00:00
Arvid Norberg
4170b3adac
fix verbose logging build
2013-12-20 06:43:57 +00:00
Arvid Norberg
faa53d7657
member re-order and struct packing
2013-12-02 04:24:10 +00:00
Arvid Norberg
fc2fc8dfb2
fix initialization order warnings. pack peer_connection and torrent
2013-11-26 07:47:48 +00:00
Arvid Norberg
fde0d6994d
fix build with encryption disabled
2013-11-10 11:05:11 +00:00
Arvid Norberg
dafa812109
merged fixes from RC_0_16
2013-11-08 07:23:36 +00:00
Arvid Norberg
cbe3a72a6e
merged i2p fix from RC_0_16
2013-10-27 19:56:37 +00:00
Arvid Norberg
fb60de086b
merge some cleanup and fixes from libtorrent_aio
2013-10-12 06:03:19 +00:00
Arvid Norberg
2df72d276e
when evicting peers waiting to establish connection, evict the ones that have been trying for the longest first
2013-09-14 21:47:31 +00:00
Arvid Norberg
50ecb07d19
merged silencing of warnings from RC_0_16
2013-06-14 16:41:47 +00:00
Arvid Norberg
7745a2831d
merged encryption settings fix from RC_0_16
2013-05-08 05:43:17 +00:00
Arvid Norberg
a0caa0f4b2
disable invariant_check functions when invariant checks are disabled
2013-02-25 04:13:46 +00:00
Arvid Norberg
5bc3028291
make some stats more configurable and reorder some fields
2013-02-23 22:13:25 +00:00
Arvid Norberg
bca1d62bbe
merged close_redundant_connections fix from RC_0_16
2013-01-27 21:25:06 +00:00
Arvid Norberg
1422f5a1ba
merged logging fix from RC_0_16
2012-12-15 02:50:47 +00:00
Arvid Norberg
27db5e3f49
use random() instead of rand()
2012-12-10 08:08:20 +00:00
Arvid Norberg
6d7e9e4521
remove some iostream dependencies
2012-10-12 04:50:34 +00:00
Arvid Norberg
e44225cb57
merged uTP fix from RC_0_16
2012-10-05 03:20:40 +00:00
Arvid Norberg
bff648a89e
update copyright dates and add tool to do so
2012-10-02 03:16:33 +00:00
Arvid Norberg
3d7dc768da
use random peer IDs in anonymous mode
2012-07-08 22:47:25 +00:00
Arvid Norberg
57769bab11
fix some compiler warnings
2012-06-25 14:17:51 +00:00
Arvid Norberg
5275e75fa5
back-port deletion of the redundant peer_connection constructor from libtorrent_aio
2012-05-14 05:43:45 +00:00
Arvid Norberg
49f74be42f
make super-seeding a bit more robust
2012-04-23 05:48:46 +00:00
Arvid Norberg
697fa4911b
add asserts for peers to be destructed in the network thread
2012-03-30 04:29:54 +00:00
Arvid Norberg
b58a96d76b
log stats of incoming piece requests
2012-03-09 06:24:01 +00:00
Arvid Norberg
5a23d04143
fix some clang warnings
2012-02-18 08:23:48 +00:00
Arvid Norberg
a31134d4a4
fix some invariant check failures in metadata transfer edge cases
2012-02-10 07:31:40 +00:00
Arvid Norberg
8b459a27bd
remove 'encrypted peer connections' feature (ssl is a better idea)
2012-02-09 06:23:58 +00:00
Arvid Norberg
a6b5f761e8
rename is_local to is_outgoing and m_active to m_outgoing
2012-02-07 03:46:21 +00:00
Arvid Norberg
4706807300
fix issue with outgoing connections not being tied to a torrent
2012-01-21 21:29:22 +00:00
Arvid Norberg
ae90a8f85e
verify that torrent names matches the DNS name in its certificate (RFC 2818-style). Fix issues that was breaking SSL support and tidy up a bit
2012-01-15 23:34:43 +00:00
Arvid Norberg
61e8d3dd49
improved peer exchange performance by sharing incoming connections which advertize listen port
2012-01-04 20:49:54 +00:00
Arvid Norberg
c4dded04ca
fixed small memory leak in DHT
2011-11-28 11:11:29 +00:00
Arvid Norberg
f979f7a77b
make receive_buffer() not return a range exceeding the actual buffer
2011-11-27 01:08:28 +00:00
Arvid Norberg
9a49372368
fix invariant check now that interest is calculated lazily
2011-11-03 09:20:16 +00:00
Arvid Norberg
9afd09d797
optimize sending buffers on peer sockets by corking and uncorking
2011-10-24 04:22:53 +00:00
Arvid Norberg
5e3e4c6146
fixed typo in hash-piece parser
2011-10-23 09:21:07 +00:00
Arvid Norberg
d3fb55e1da
optimize socket send buffers a bit
2011-10-19 02:40:37 +00:00
Arvid Norberg
e1bfd8541f
fixed bugs in dont-have and upload-only extension messages
2011-10-11 07:20:12 +00:00
Arvid Norberg
469414d486
initial BitTorrent over SSL support
2011-09-12 03:51:49 +00:00
Arvid Norberg
92bcb9ebfd
feature to encrypt peer connections with a secret AES-256 key stored in .torrent file
2011-09-05 05:50:41 +00:00
Arvid Norberg
8f1a811306
fix bug in verbose logging with encryption
2011-08-31 20:38:48 +00:00
Arvid Norberg
ec74d500a4
clean up encryption code some
2011-08-29 02:00:17 +00:00
Arvid Norberg
bf2e4df2b2
fix build with std::tr1::array instead of boost::array
2011-08-07 23:40:39 +00:00
Arvid Norberg
d4958c9286
support for dont-have extension message
2011-08-07 00:41:13 +00:00
Arvid Norberg
0f72cd3148
fix merkle torrents assert
2011-08-05 06:10:12 +00:00
Arvid Norberg
060b849dda
factor encryption handler a bit and add proposal for an authentication extension
2011-06-18 16:58:36 +00:00
Arvid Norberg
88fa0b9393
optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers
2011-05-19 02:41:28 +00:00
Arvid Norberg
e946ba654f
release assert fixes
2011-05-08 23:52:06 +00:00
Arvid Norberg
a73960aa5a
support release asserts
2011-05-08 09:04:59 +00:00
Arvid Norberg
449733d518
logging fixes
2011-05-01 08:58:45 +00:00
Arvid Norberg
2ab17b7a51
handle incoming invalid piece messages sizes
2011-04-28 08:55:27 +00:00
Arvid Norberg
3435da235d
make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check
2011-04-09 23:57:56 +00:00
Arvid Norberg
ab3b82b8ee
replaced std::rand() with custom random generator
2011-02-26 07:55:51 +00:00
Arvid Norberg
5f5ba94462
cleared some variables in constructors and got rid of an unnecessary constructor
2011-02-25 04:28:32 +00:00