arvidn
a9a12e873f
make DHT bootstrapping more robust by not throwing away nodes
2017-04-25 23:03:52 -04:00
arvidn
4eb5155263
use span<> for peer_connection::send_buffer
2017-04-25 23:02:32 -04:00
arvidn
d138f02424
introduce lt namespace alias
2017-04-23 23:43:58 -04:00
Steven Siloti
bcfaf9621a
fixes from review
2017-04-23 19:49:49 -04:00
Steven Siloti
cdd50be859
create a separate DHT node for each listen socket
2017-04-23 19:49:49 -04:00
Alden Torres
735214a806
avoid connections to trackers when the event is stopped and stop_tracker_timeout <= 0 ( #1932 )
2017-04-22 18:33:26 -04:00
arvidn
04c76249b6
merged RC_1_1 into master
2017-04-21 01:21:31 -04:00
arvidn
227830e757
fix memory leak in the disk cache. if a cached_piece_entry would stick around in a ghost list (ARC), it would keep the torrent object itself alive. when aborting read jobs, the outstanding_read flag need to be cleared on the piece. When reclaiming a block for a piece that should be deleted (not just evicted) it need to know that. This patch adds an additional bit to cached_piece_entry to communicate this
2017-04-19 22:30:27 -04:00
Jan Berkel
cdf066c4e1
magnet links: unescape hash parameter ( #1925 )
2017-04-19 00:52:35 -04:00
arvidn
df299fcb00
use boost::variant for disk_io_job in/out parameter, to support holding a proper disk io buffer handle and string
2017-04-17 15:08:27 -04:00
arvidn
cef9773c70
generalize part_file::export_file to pass back the buffers to a callback function
2017-04-15 20:01:18 -04:00
arvidn
79d7ae3638
separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class
2017-04-11 18:07:55 -04:00
Arvid Norberg
c35718d322
use unsigned integer for file and storage flags ( #1895 )
...
use unsigned integer for file and storage flags
2017-04-09 01:28:46 -04:00
arvidn
51c42adc3e
steps towars making file_pool private to disk_io_thread
2017-04-07 08:38:35 -04:00
Alden Torres
6888296c43
added compare_less_wrap test
2017-04-04 23:12:48 -04:00
Alden Torres
0132221031
minor code cleanup, std:: prefix, consts, typos
2017-04-04 23:12:48 -04:00
Alden Torres
45bea967c2
added resolver_cache_timeout setting ( #1878 )
...
added resolver_cache_timeout setting
2017-04-04 18:23:37 -04:00
Arvid Norberg
64ad4f5c96
enable warnings when building tests ( #1880 )
2017-04-02 14:22:17 -04:00
arvidn
0319b53d5f
imrove some test coverage and fix bug in trim() function
2017-03-31 09:43:25 -04:00
arvidn
6584423737
don't include base32encode in the build when i2p is disabled
2017-03-31 07:24:50 -04:00
Arvid Norberg
65a2413797
make parse_magnet_uri take a string_view instead of std::string ( #1870 )
...
make parse_magnet_uri take a string_view instead of std::string
2017-03-30 22:55:54 -04:00
Arvid Norberg
b8e77444d5
use span for read_resume_data() ( #1867 )
...
use span for read_resume_data()
2017-03-29 16:10:32 -04:00
Arvid Norberg
8ebbad19d4
deprecate add_torrent_params::url field. use parse_magnet_uri instead ( #1864 )
...
deprecate add_torrent_params::url field. use parse_magnet_uri instead
2017-03-29 02:16:07 -04:00
arvidn
86786770b7
merged RC_1_1 into master
2017-03-27 01:24:43 -04:00
arvidn
910ccc528f
deprecate torrent_added_alert in favor of add_torrent_alert
2017-03-26 22:48:17 -04:00
arvidn
6cdd598e7c
make add_torrent_params movable and have add_torrent/async_add_torrent take it by value
2017-03-26 16:48:57 -04:00
Arvid Norberg
103b1176c1
remove torrent_file_path asynchronous loading of .torrent files. ( #1848 )
...
remove torrent_file_path asynchronous loading of .torrent files. This is not the responsibility of the client, to simplify and unify the path of adding torrents
2017-03-26 09:16:42 -04:00
arvidn
488c1a2dcf
deprecated (undocumented) file:// urls, added torrent_file_path alternative
2017-03-23 20:26:55 -04:00
Alden Torres
be0e54b637
expand alerts_types test of static class values to all alerts
2017-03-23 17:46:26 -04:00
Alden Torres
fcbcc250bb
fix setup of DHT logic in session_impl::init ( #1830 )
...
fix setup of DHT logic in session_impl::init
2017-03-23 08:32:56 -04:00
Arvid Norberg
17f371ddf2
fix alignment issues in heterogeneous_queue ( #1834 )
...
fix alignment issues in heterogeneous_queue
2017-03-20 17:41:00 -04:00
arvidn
1dd0e9b280
use string_view instead of strcmp
2017-03-18 15:54:38 -04:00
Alden Torres
1280c7f7ae
is_ip_address refactor and minor code cleanup ( #1828 )
...
is_ip_address refactor and minor code cleanup
2017-03-18 11:07:17 -04:00
Alden Torres
014a07a5c8
allow DHT bootstrap to use nodes of both IP protocols
2017-03-17 20:51:38 -04:00
Alden Torres
dba94a9276
fix IndexType template parameter in typed_span member functions ( #1819 )
...
fix IndexType template parameter in typed_span member functions
2017-03-17 18:15:11 -04:00
Arvid Norberg
827372f9ab
fix master build after merge ( #1813 )
...
fix master build after merge
2017-03-15 07:15:36 -04:00
arvidn
3a1379ef1e
merged RC_1_1 into master
2017-03-14 12:55:13 -04:00
arvidn
6d2d736cec
fix test_ssl.cpp build with newer versions of boost
2017-03-12 21:10:14 -04:00
Arvid Norberg
3f90501934
add support for IPv6 peers from udp trackers ( #1802 )
...
add support for IPv6 peers from udp trackers
2017-03-11 02:46:51 -05:00
Alden Torres
6ab18136f0
created new session_stats_header_alert, master rebase
2017-03-10 21:04:12 -05:00
arvidn
6929d051f1
fix build without deprecated functions
2017-03-09 00:19:02 -05:00
arvidn
6d54c20adf
merge RC_1_1 into master
2017-03-08 18:01:59 -05:00
arvidn
56925ee8f3
fix openssl include in makefile
2017-02-26 14:07:55 -05:00
arvidn
081365fbcf
merge RC_1_1 into master
2017-02-26 00:48:12 -05:00
arvidn
5a19c9a5a1
fix makefile
2017-02-25 23:01:28 -05:00
Arvid Norberg
3e83c4119f
fix recent settings_pack ABI regression ( #1752 )
...
fix recent settings_pack ABI regression
2017-02-24 08:06:59 -05:00
Andrei Kurushin
7a8ffc2f2d
fix web_seed redirects ( #1651 )
...
fix web_seed redirects, make all redirects ephemeral (to avoid resume serialization). remove dup slash for redirects in proxy mode. consolidate {convert_path_to_posix,escape_path} to escape_file_path
2017-02-22 22:46:33 -05:00
Alden Torres
ee4d82d166
fix in DHT counters, alert types test, typos, formatting ( #1747 )
...
fix in DHT counters, alert types test, typos, formatting
2017-02-22 17:40:14 -05:00
Arvid Norberg
5f69e8217c
clean up xml parser, to use string_view ( #1731 )
...
clean up xml parser, to use string_view
2017-02-19 07:34:55 -05:00
Alden Torres
1e98bf19a5
added support for enumerating the internal DHT live nodes ( #1712 )
...
added support for enumerating the internal DHT live nodes
2017-02-18 23:02:23 -05:00
arvidn
2c51c59327
merge RC_1_1 into master
2017-02-18 13:29:12 -05:00
Alden Torres
1ab1b98138
optimized dht_get_peers_reply_alert storage and created alerts unit test ( #1714 )
...
optimized dht_get_peers_reply_alert storage and created alerts unit test
2017-02-18 00:13:46 -05:00
arvidn
f01801339c
add test to make sure magnet links that fail to be parsed report errors
2017-02-17 15:37:38 -05:00
arvidn
3ffa3f2a08
merged RC_1_1 into master
2017-02-17 00:35:49 -05:00
Andrei Kurushin
9bee2146d0
complete UNC path support ( #1689 )
...
complete UNC path support. all internal file api functions handle long size paths (> MAX_PATH) and special names (CON,PRN ...) with unit test
2017-02-16 23:47:08 -05:00
arvidn
49254e5663
fix test_ssl build
2017-02-14 00:16:12 -05:00
Andrei Kurushin
b922357c48
backport test framework directory creation fix ( #1707 )
...
backport test framework directory creation fix
2017-02-13 16:37:45 -05:00
arvidn
cbd1c26a11
fix ABI compatibility issue introduced with preformatted entry type
2017-02-12 20:42:30 -05:00
arvidn
ee2688b83a
use unique_ptr for packets in utp_stream
2017-02-11 17:11:49 -05:00
Alden Torres
c8569b5e34
fixing sign-conversion warnings, part 12, minor refactor, eol cleanup ( #1670 )
...
fixing sign-conversion warnings, part 12, minor refactor, eol cleanup. created aux::clamp and default_piece_priority refactor
2017-02-07 00:22:30 -05:00
Alden Torres
b84766e346
minor cleanup refactor
2017-02-06 18:26:59 -05:00
Arvid Norberg
9e4045ed42
use 32 bit time points in torrent ( #1662 )
...
use 32 bit time points in torrent and add some slack to time point comparisons in python test
2017-02-05 19:18:06 -05:00
arvidn
381defab05
merged RC_1_1 into master
2017-02-05 12:51:48 -05:00
arvidn
7ff4f56ae2
add function to get default settings
2017-02-05 11:31:43 -05:00
Arvid Norberg
c00a25a645
back-port aldenml's fix to not save replacement nodes twice to 1.1 ( #1661 )
...
back-port aldenml's fix to not save replacement nodes twice to 1.1
2017-02-04 19:58:32 -05:00
Alden Torres
3ef4109bf3
avoid double saving of replacements nodes, removed replacement_cache, test ( #1656 )
...
avoid double saving of replacements nodes, deprecated replacement_cache, test
2017-02-04 11:25:11 -05:00
arvidn
c9a2fed2c9
add tests for edge cases of session settings, and fix a few integer overflows
2017-02-03 20:42:59 -05:00
arvidn
335beb4bb1
fix msvc build
2017-02-03 08:17:35 -05:00
arvidn
7492a29ea9
fix typo
2017-02-03 00:12:37 -05:00
arvidn
c8e488b094
merged RC_1_1 into master
2017-02-02 22:58:33 -05:00
Falcosc
e40bdc566c
1.1.2 set queue position by number ( #1617 )
...
set queue position by number
2017-01-30 21:31:31 -05:00
Alden Torres
deecdb6cfa
added support for infohashes sample in dht storage ( #1586 )
...
added support for infohashes sample in dht storage
2017-01-28 20:24:53 -05:00
arvidn
17ee28d176
Merge branch 'master' of https://github.com/arvidn/libtorrent
2017-01-28 14:36:28 -05:00
arvidn
6b91adab6a
merged RC_1_1 into master
2017-01-28 14:36:23 -05:00
Alden Torres
3803661863
moved alloca.hpp to private aux_ and size refactor ( #1634 )
...
moved alloca.hpp to private aux_ and size refactor
2017-01-27 12:43:34 -05:00
arvidn
a5284b583c
fix bug in udp tracker announce messages
2017-01-26 23:46:55 -05:00
arvidn
605227d9da
add test for get_cache_info
2017-01-24 01:31:16 -05:00
arvidn
c239c2bdc4
factor out storage_piece_set into its own file
2017-01-22 09:29:52 -05:00
arvidn
d03540e3b3
move disk_job_fence to its own file
2017-01-22 01:20:27 -05:00
Arvid Norberg
6a701437b6
use strong_typedef for peer_class_t type ( #1595 )
...
use strong_typedef for peer_class_t type
2017-01-21 22:40:19 -05:00
arvidn
173951ec7f
merged RC_1_1 into master
2017-01-21 02:28:29 -05:00
arvidn
6d17f0fb66
storage optimization to peer classes
2017-01-21 01:23:07 -05:00
arvidn
202386dd9d
factor out verify_resume_data to storage_utils
2017-01-20 01:36:03 -05:00
arvidn
c7c204280a
make sure torrent_info::is_valid returns false when the file fails to load
2017-01-18 23:58:33 -05:00
arvidn
8a35e42012
fix build
2017-01-15 08:25:10 -05:00
Arvid Norberg
04589f3bef
don't load user_agent and peer_fingerprint from session_state ( #1538 )
...
don't load user_agent and peer_fingerprint from session_state
2017-01-15 01:21:52 -05:00
arvidn
934c58a816
merged RC_1_1 into master
2017-01-15 00:45:17 -05:00
Falcosc
9199756a27
fix bitfield m_buf null pointer ( #1526 )
...
fix operations on empty bitfield
2017-01-13 17:08:54 -05:00
Arvid Norberg
2120a13869
fix file rename issue with name prefix matching torrent name ( #1524 )
...
fix file rename issue with name prefix matching torrent name
2017-01-13 00:39:49 -05:00
Arvid Norberg
3d06371f31
factor out some common storage utilities out of storage.cpp ( #1515 )
...
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -05:00
arvidn
0c7e86078b
merged RC_1_1 into master
2017-01-08 10:18:41 -05:00
Arvid Norberg
5d1fb97b14
fix torrent_status test ( #1499 )
...
fix torrent_status and tracker interval test
2017-01-08 09:51:01 -05:00
Arvid Norberg
57f52adc88
various cleanup ( #1497 )
...
* various cleanup
* fix
* cleanup
2017-01-06 01:39:01 -05:00
arvidn
7957e2a30e
fix move_storage() to its own directory (would delete the files)
2017-01-03 21:09:26 -05:00
arvidn
41dbb47123
compact block_cache_reference by using storage_index_t instead of pointer. make sure storage object is kept alive by block_cache_references
2017-01-02 13:45:16 -05:00
arvidn
a087a283de
make tests print to stdout instead of stderr
2017-01-02 11:28:41 -05:00
arvidn
4ebc344e48
make disk_io_thread responsible for the storage object. torrents refer to it by index
2017-01-01 13:54:39 -05:00
arvidn
6cfcf45214
fix test output redirection on windows
2017-01-01 13:54:39 -05:00
arvidn
03aa3467f3
don't redirect stderr by default in unit tests (in case the sanitizers fire and print stuff)
2016-12-31 10:28:30 -05:00
arvidn
5a97af54db
optimize chained buffer a bit and factor out nop into non_owning_handle
2016-12-29 07:05:18 -08:00
Arvid Norberg
af126fe507
make buffer_allocator_interface an implementation detail of the disk_io_thread ( #1463 )
...
make buffer_allocator_interface an implementation detail of the disk_io_thread by using disk_buffer_holder in the disk interface. make chained_buffer use holders instead of free deleter functions and userdata to support putting disk_buffer_holder objects in there. Also make the session buffers be held by holders
2016-12-28 17:47:18 -08:00
Arvid Norberg
f1e34dfbd5
remove long-standing deprecated filter_pieces functions ( #1457 )
...
remove long-standing deprecated filter_pieces functions
2016-12-27 12:42:23 -08:00
arvidn
5ed0086b51
removed mmap_cache feature
2016-12-25 21:12:49 -08:00
arvidn
3f612d7e99
cleaning up of left-overs from torrent eviction functionality
2016-12-23 06:06:59 -05:00
Pavel Pimenov
6afb1f3e83
aux::to_hex(sha1) -> sha1.to_hex() ( #1418 )
...
generate hex strings into std::string instead of stack-allocated char arrays
2016-12-22 10:44:36 -05:00
Arvid Norberg
3f1084d63d
strengthened type safety in handling of piece and file indices ( #1409 )
...
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
arvidn
cde9457fdb
fix merge issue
2016-12-22 01:13:17 -05:00
Andrei Kurushin
d62b980278
backport fix upnp xml_parse
2016-12-18 09:01:33 -05:00
Andrei Kurushin
10e3847b40
fix upnp ( #1421 )
...
* fix upnp xml_parser, and listen sockets remap
2016-12-17 17:50:03 -05:00
Alden Torres
f382936d56
headers, end of file, code cleanup
2016-12-12 23:36:45 -05:00
Steven Siloti
ca07ee83a3
mark all converstion to bool operators as explicit
2016-12-12 01:34:36 -05:00
Steven Siloti
b9169609df
support separate external ip for each interface ( #1383 )
...
support separate external ip for each interface
2016-12-04 15:58:51 -05:00
Arvid Norberg
54f052a97b
allocation slot type ( #1352 )
...
use a specialized type for allocation slot indices
2016-11-26 03:09:01 -05:00
Arvid Norberg
15ab8f387b
cleaning up of disk_interface and improving type safety ( #1353 )
...
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
Arvid Norberg
5dd46ec4f4
Fix merge issue
2016-11-24 10:54:26 -05:00
arvidn
b3c3c2aae6
merged RC_1_1 into master
2016-11-24 07:40:32 -05:00
arvidn
f08501b869
update callback interface for async_check_files and async_flush_piece
2016-11-23 19:02:05 -05:00
Steven Siloti
64fed14ccc
split tests and only use IPv4 addresses
2016-11-23 01:09:05 -05:00
Steven Siloti
ae3a39fc05
disable test_listen_socket if we don't have ipv6 support
...
Do we even still need to support building without ipv6?
2016-11-23 01:09:05 -05:00
Steven Siloti
06c53a41d1
revisions based on code review
...
Moved the logic to determine which sockets to keep to a separate function and
add unit tests for it.
Store the port which was originally specified for a listen socket so that we
can match sockets reliably even with port retries.
2016-11-23 01:09:05 -05:00
Mokhtar Naamani
f81e09fe05
update stack_allocator to support 0 size allocations
2016-11-21 20:17:15 -05:00
arvidn
0e33e62627
merged RC_1_1 into master
2016-11-20 11:18:16 -05:00
arvidn
d5b76d2237
move block_cache_reference out of disk_io_job header
2016-11-20 10:34:42 -05:00
arvidn
f83e16f0cc
add unit test for stack allocator
2016-11-19 13:24:45 -05:00
arvidn
14236993ea
collapse logic in piece_manager into storage directly
2016-11-13 02:53:16 -05:00
arvidn
ccd539f977
pull check resume data logic out of piece_manager into disk_io_thread and simplify it
2016-11-12 18:03:18 -05:00
arvidn
20aeed09e1
clean up tests
2016-11-12 17:39:34 -05:00
arvidn
c9333849e6
deprecate relative times in torrent_status, replaced by std::chrono::time_point
2016-11-12 17:37:10 -05:00
arvidn
583082a3a0
merged RC_1_1 into master
2016-11-09 19:53:55 -05:00
arvidn
f33d1b32e3
add trackers from add_torrent_params/magnet links to separate tiers
2016-11-09 18:44:01 -05:00
arvidn
11ca69b9fc
simplify disk_io_thread interface by setting the number of threads via settings rather than a separate function
2016-11-06 23:07:09 -05:00
arvidn
200b3c4965
add rename file test
2016-11-05 15:20:38 -04:00
Arvid Norberg
09cbd0a51d
remove deprecated disk_io_thread operations ( #1284 )
2016-11-02 01:01:27 -04:00
Arvid Norberg
b61ebca14a
moved async-load-torrent feature out of disk-io-thread ( #1282 )
...
moved async-load-torrent feature out of disk-io-thread into a generic worker thread
2016-11-02 01:01:04 -04:00
Arvid Norberg
8daa200d11
simplify interaction with disk_io_thread by removing the uncork interface ( #1271 )
...
simplify the interaction with the disk_io_thread by removing the uncork interface. This should be turned into a transparent part of peer_connection instead and remove cork logic from peer_connection
2016-10-30 18:21:07 -04:00
arvidn
b97bb84a9f
merge RC_1_1 into master
2016-10-29 14:25:57 -04:00
Arvid Norberg
d1a59879cb
deprecate mmap_cache ( #1269 )
...
deprecated mmap_cache feature
2016-10-29 13:42:42 -04:00
arvidn
cb5d116fb9
Merge branch 'RC_1_1'
2016-10-27 21:11:55 -04:00
arvidn
336030c73b
update SSL certificate for test
2016-10-27 18:21:04 -04:00
arvidn
500bb24dba
merged RC_1_1 into master
2016-10-26 23:30:58 -04:00
Steven Siloti
f5366bd816
use span for scatter/gather lists ( #1260 )
...
use span for gather/scatter buffers. remove explicit size parameter from file_op
2016-10-26 20:40:56 -04:00
Alden Torres
6751a1eeb1
removed spaces in template types and more c++11 auto/loop refactor
2016-10-26 00:08:00 -04:00
Arvid Norberg
61af222d92
add utility function for generating peer ID fingerprint ( #1249 )
...
add utility function for generating peer ID fingerprint
2016-10-25 08:03:26 -04:00
Arvid Norberg
f16d0b7953
add unit test for 'file_sizes' entry in resume data ( #1248 )
...
add unit test for 'file_sizes' entry in resume data. fix resume data bug in client_test for magnet links and minor resume data cleanup in default_storage
2016-10-23 22:01:09 -04:00
Steven Siloti
a6e5ba8804
return a span from TORRENT_ALLOCA ( #1244 )
...
return a span from TORRENT_ALLOCA
Unfortunately this requires moving the variable declaration inside the macro.
Due to alloca’s unique properties pretty much the only safe way to call it is
in a simple assign-to-pointer expression. Therefor we need to use a temporary
pointer to store the value returned from alloca before we can call span’s ctor.
This also causes double evaluation of the size parameter which is unfortunate,
but no current callers of TORRENT_ALLOCA have a problem with this. Passing
expressions with side effects to macros is bad mojo anyways.
2016-10-22 14:43:40 -04:00
Arvid Norberg
6148984426
remove whitespace at end of line ( #1245 )
2016-10-22 11:47:24 -04:00
arvidn
b1e22e6183
merged RC_1_1 into master
2016-10-20 00:36:54 -04:00
Pavel Pimenov
91845aa6c8
Prevent duplicate url ( #1231 )
...
prevent creating torrents with duplicate trackers as well as adding duplicate trackers to torrent_info
2016-10-19 17:28:35 -04:00
Alden Torres
ded3ed6abf
refactor in alert types to use more const fields and more clear API ( #1222 )
...
refactor in alert types to use more const fields and more clear API
2016-10-19 01:32:15 -04:00
Arvid Norberg
c966435d1c
fix issue where shutting down the session immediately and asynchronously starting the DHT would cause a shutdown hang ( #1203 )
2016-10-10 22:54:19 -04:00