Commit Graph

10996 Commits

Author SHA1 Message Date
arvidn b750b6cc2c deprecate (and disable) the force-proxy setting. Instead, always use the proxy when set, never fall back on circumventing it 2018-07-08 18:26:47 +02:00
arvidn 2ba0e5ae2c move the file priority vector throught the disk_io_job, to avoid copies 2018-07-08 18:25:06 +02:00
arvidn e45df614fe improve type safety of internal leave_seed_mode() function 2018-07-08 17:32:50 +02:00
Alden Torres 6d2f804d9f code refactor related to the use of index_range and end index 2018-07-08 17:32:30 +02:00
arvidn 0659a929af fix some validation issues in read_resume_data() 2018-07-08 17:32:14 +02:00
Arvid Norberg 3fede4b223 merged RC_1_1 into master 2018-07-08 11:55:32 +02:00
arvidn efe3036879 clean up proxy_settings constructors 2018-07-07 18:02:43 +02:00
arvidn b5cd959dd1 bump the minimum number of hash jobs per thread from 2 to 4 2018-07-07 18:02:24 +02:00
d_komarov 1c86e94de6 Fix deadlock when loading libtorrent Dll
Definition of `bool file::has_manage_volume_privs` involves a call to
`get_manage_volume_privs()`, causing restricted tasks to be performed
from within `DllMain` function. They introduce possibility that client
application deadlocks or crashes.

You should never perform the following tasks from within DllMain:

* Call `LoadLibrary` or `LoadLibraryEx` (either directly or indirectly).
  This can cause a deadlock or a crash.

* Call the registry functions. These functions are implemented in
  'Advapi32.dll'. If not initialized before your DLL, it can access
  uninitialized memory and cause the process to crash.
2018-07-07 18:00:07 +02:00
Arvid Norberg c7e705e158 merged RC_1_1 into master 2018-07-07 13:33:15 +02:00
arvidn 3249b70cbd fix recent patch to support setting file priorities on torrents that don't have metadata yet 2018-07-07 11:34:11 +02:00
arvidn b76c149bdc use std::aray for the temporary buffer in socks5 UDP socket 2018-07-04 08:17:35 +02:00
d-komarov 6d5a6f05ad Fix torrent files prioritization (#3133)
After setting file priority, any subsequent attempt to set different priorities will fail if there is a `file_priority` job running in in disk thread. This happens because `torrent::m_file_priority` is being updated before adding disk thread job. The problem is gone if the file priority vector owned by the torrent object, is modified in the `torrent::on_file_priority` callback, when disk job finishes.
2018-07-04 08:16:33 +02:00
arvidn 10deff2f91 fix some unintentional copies (with explicit moves) 2018-07-01 18:22:32 +02:00
arvidn d439c8729a qualify some assignment operators to disallow assignment to temporaries 2018-07-01 17:29:50 +02:00
Alden Torres 2c5da2778a more lint oriented code refactor/cleanup 2018-06-29 13:27:29 +02:00
arvidn 4576723090 bump version to 1.1.8 2018-06-25 12:25:11 +02:00
Arvid Norberg ab56bf964f fix missing move of file object in part_file 2018-06-24 21:34:56 +02:00
arvidn b67166b29d merged RC_1_1 into master 2018-06-24 17:59:28 +02:00
Arvid Norberg 17300decb5 improve naming of deprecated settings enums 2018-06-24 16:50:18 +02:00
Arvid Norberg 78d9c284e9 use more threads when creating torrents 2018-06-24 16:49:57 +02:00
Arvid Norberg 56a25ce280 bump checking_mem_usage default setting 2018-06-24 07:44:58 +02:00
Arvid Norberg b0b1bfb7a9 enable coalesce_reads and coalesce_writes by default on windows 2018-06-24 07:39:59 +02:00
Alden Torres be78a43d05 more use of empty(), emplace_back, const and auto in disk_io_thread code 2018-06-24 07:02:17 +02:00
arvidn 2cb29f88ac merged RC_1_1 into master 2018-06-23 23:22:26 +02:00
Alden Torres f139afc1ad minor code refactor, cleanup and typo in peer related code 2018-06-23 23:11:48 +02:00
Steven Siloti b7f230316c set the minimum number of checking jobs based on the number of hasher threads
To effectively mask the latency of generating more hash jobs there need to be
at least two jobs in-flight for each hasher thread.
2018-06-23 23:10:55 +02:00
Arvid Norberg 107337f821 make tests print more of peer logs 2018-06-23 23:09:45 +02:00
arvidn 1e3a7cf0f4 fix hash-job fast-path 2018-06-23 23:08:58 +02:00
arvidn 16b32741ce fix coalesce read bug 2018-06-23 21:46:52 +02:00
arvidn 7ca769884c merged RC_1_1 into master 2018-06-22 08:33:44 +02:00
arvidn 0c147164bc introduce a fast-path for the hash disk job 2018-06-20 01:00:16 +02:00
arvidn f5a2015302 merge RC_1_1 into master 2018-06-19 22:26:01 +02:00
arvidn 4ae262d2d4 fix race condition in part_file 2018-06-19 14:50:02 +02:00
d-komarov 81ce7aa4ab Fix parts file i/o errors (#3110)
Since i/o operations are not synchronized, it is possible that one thread closes file handle, opened in another thread. With addition of `hidden` file attribute, an old bug in `part_file::open_file()` revealed both problems, causing a lot of random i/o errors in parts file. Fixing `open_file` bug should reduce the number of such errors back to 'normal'.
2018-06-18 14:34:39 +02:00
arvidn 923797a14d simplify dht_put.cpp by using fstream 2018-06-18 09:44:35 +02:00
arvidn 9eb5595c48 remove some unused python scripts. add vim modelines to python files 2018-06-18 09:44:35 +02:00
arvidn ca7313580e merged RC_1_1 into master 2018-06-16 17:47:32 +02:00
arvidn af686a3819 add switch to client_test to log session stats 2018-06-16 17:42:34 +02:00
Alden Torres 03971be80b some refactor, more use of auto and const in peer_connection.cpp (#3105) 2018-06-16 17:22:04 +02:00
Alden Torres dfe47aa2a9 fixed sign implicit conversion warnings in new enum_net code (#3107) 2018-06-16 15:19:02 +02:00
arvidn 5530793c75 improve the API for iterating over all files and pieces, with the new strong index types. 2018-06-12 11:44:29 +02:00
Andrew Resch 596d98cac4 Clean-up python code (#3075)
lint and enforce python code formatting
2018-06-12 11:43:13 +02:00
Alden Torres a2ea79de4e minor code refactor in utp related code, more use of const 2018-06-12 11:41:32 +02:00
Alden Torres 95b753778d use TORRENT_ABI_VERSION for new error_code_enum deprecated values (#3099) 2018-06-12 00:46:22 +02:00
Arvid Norberg 0e49051f17 make create_random_files() take a span instead of pointer, length parameters 2018-06-11 01:35:31 +02:00
arvidn 2364699292 clarify documentation for move_storage() 2018-06-11 00:05:36 +02:00
Arvid Norberg b26467c04e deprecate network-threads setting 2018-06-10 19:34:07 +02:00
Arvid Norberg e8f971a54a scrape_reply_alert should be high priority, since it's triggered by the client 2018-06-10 19:28:45 +02:00
Arvid Norberg 6647b0988d
add support for multi-home NAT-PMP and PCP 2018-06-10 16:55:42 +02:00