Commit Graph

5808 Commits

Author SHA1 Message Date
Charles Kerr 25f38d5ff3
fix: wrong tier value in torrent get tracker stat response (#5274) 2023-03-21 20:23:08 -05:00
Charles Kerr 58ce7bd437
fix: 4.0.2 wishlist CPU perf regression pt. 1 (#5266) 2023-03-20 21:08:16 -05:00
Cœur c60bb5b834
fix: crash when magnet dn isn't utf-8 (#5244) 2023-03-19 10:36:16 -05:00
Charles Kerr 5cc3bf8a97
fix: generate peer-id on launch (#5233) 2023-03-15 20:53:48 -05:00
Charles Kerr 3aeefec203
chore: remove unused header includes (#5227) 2023-03-14 18:36:15 -05:00
Charles Kerr a87d39f3bd
fix: filter out peers with port 1 from DHT peer lists. (#5218) 2023-03-13 19:27:47 -05:00
Charles Kerr 6224b60728
fix: wrong error message when writing to incomplete dir (#5217) 2023-03-13 16:20:39 -05:00
Colin B 59a157ebde
feat: restore support for nonstandard `path.utf-8` (#3454) 2023-03-13 13:58:59 -05:00
Charles Kerr dabd29f2b2
fix: std::clamp() assertion failure in maxAvailableReqs() (#5203) 2023-03-11 22:25:21 -06:00
Charles Kerr 900281eb1c
fix: check tr_ctorSetFoo() return values before adding torrent via RPC (#5202) 2023-03-11 19:44:54 -06:00
Charles Kerr 86fd89fff4
fix: remove interest strategy code that could contribute to oscillating download speeds. (#5176) 2023-03-10 13:21:51 -06:00
Charles Kerr b354337720
ci: check for clang tidy errors in libtransmission (#5188) 2023-03-10 00:23:22 -06:00
reardonia 9c436d87dd
fix: torrentGet.wanted RPC breaking change in [4.0.0..4.0.1] (#5170) 2023-03-07 19:44:25 -06:00
Charles Kerr 033d698306
fix: parsing of ipv6 tracker announce URLs (#5174) 2023-03-07 12:19:12 -06:00
Charles Kerr 39e3e1d87b
fix: increase priority of first and last piece of each file (#5167)
The first and last pieces of a file generally include information needed
by preview generators, so prioritizing those pieces makes life easier
for users or tools that look at files while they're being downloaded.

This worked in 3.00 but isn't present in 4.0.0.
2023-03-06 15:50:19 -06:00
reardonia 56c1bb2a9e
fix: publish 'leechers' iff it was in tracker response (#5164) 2023-03-06 09:22:40 -06:00
Charles Kerr b2b0f0db39
fix: crash in curl_easy_pause() (#5161) 2023-03-05 23:42:52 -06:00
Charles Kerr 47001a394e
fix: 7f9ef4730 use-after-free in peerMsgs::canRead (#5152) 2023-03-05 11:50:11 -06:00
Charles Kerr 7f9ef4730e
fix: assertion failure in readBtPiece() (#5097) 2023-03-03 17:43:51 -06:00
Daniel Kamil Kozar 848212eea1
fix: escaped representation of non-BMP characters when generating JSON (#5096) 2023-03-02 00:55:16 -06:00
Charles Kerr d3273504bd
fix: 5053 old torrent files keep appearing (#5117) 2023-03-01 20:12:19 -06:00
Charles Kerr 211e3fc985
fix: always add `announce` key even when including announce-list (#5106) 2023-03-01 13:10:20 -06:00
Cœur 63653b4831
fix: recheckCompleteness on setDownloadDir (#5060) 2023-02-28 08:51:11 -06:00
Charles Kerr 1a276fb145
fix: 4.0.0 bookkeeping of protocol overhead when receiving peer messages (#5091) 2023-02-27 20:25:15 -06:00
Charles Kerr f53e58c8bd
fix: 4.0.0 regression that broke speed limits for utp peers (#5086) 2023-02-27 15:03:45 -06:00
Charles Kerr ac319321b5
fix: assertion failure in std::clamp() when called from rechokeDownloads() (#5080) 2023-02-27 11:59:00 -06:00
HAkos1 238fd96041
fix: don't log full path, only the filename of source file (#5055)
Co-authored-by: Akos Horvath <koma@koma.sh>
2023-02-27 10:02:58 -06:00
Charles Kerr 47fd150bab
fix: some torrents think they are magnets (#5025) 2023-02-25 07:11:19 -06:00
Mike Gelfand 81f8ceb0f9
Limit in-kernel file copying to 2 GiB blocks at a time (#5039)
This reportedly helps with copying to cifs target where
`copy_file_range()` would sometimes return `EINVAL` for no apparent
reason when copying large files. Extending the limit to `sendfile64()`
to avoid similar issue there, if it exists.

Overall, copying at most 2 GiB at a time will result in more syscalls
but shouldn't affect the performance gain in any noticeable way.
2023-02-25 03:15:17 +00:00
wiz78 450e98fd91
fix: TR_TIME_LOCALTIME value in torrent scripts (#5006) 2023-02-23 07:18:29 -06:00
Charles Kerr 9d1a141482
fix: cannot build with clang on Windows (#4978)
Fixes #4977.
2023-02-21 11:08:28 -06:00
Charles Kerr ed8133520f
fix: blocklists allocate more memory than they need (#4953) 2023-02-19 09:20:23 -06:00
Charles Kerr e29064023f
fix: try utp connection first; fix utp timeout issues. (#4897) 2023-02-18 10:03:59 -06:00
Charles Kerr adf5051d46
fix: revert tr_torrentStat() acquires a session thread lock (#4571)
This reverts commit e4b480ecd4.
2023-02-17 23:11:24 -06:00
Mike Gelfand b3abadf8ba
Bump bundled libutp to rollback anonymous unions fix (#4877) 2023-02-18 02:59:15 +00:00
goldsteinn 1e5546280e
fix: Remove faulty `popcnt` features checks for MSVC [#4872] (#4886)
The `popcnt` feature checks weren't actually checking the ISA feature
or cpuid. This caused an illegal instruction exception on x86 hardware
that doesn't support `popcnt` when compiled with MSVC.

Since MSVC doesn't support any x86 ISA defines, the only way to check
for `popcnt` is with cpuid. Since this is a tiny inline function,
dynamic dispatch is likley not worth it so just removing the MSVC
for `popcnt`. MSVC will now fallback to the generic implementation.
2023-02-18 02:11:56 +00:00
Cœur 9b69c7d5ff
Don't force fetch metainfo at startup and new torrents. (#4895) 2023-02-14 22:19:47 -06:00
Charles Kerr 4461aa68d9
fix: handle block fragments that arrive from peers out-of-order (#4890) 2023-02-14 13:50:28 -06:00
Charles Kerr 9d91d1e969
fix: checksum of pieces that don't align on block boundaries (#4880) 2023-02-13 20:57:20 -06:00
Charles Kerr a982c96518
fix: assertion failed leftUntilDone <= sizeWhenDone (#4879) 2023-02-13 19:51:23 -06:00
Charles Kerr f551b4adbf
fix: magnet links are always paused when added (#4856) 2023-02-13 12:33:33 -06:00
Thomas Klausner 62a60b4ea4
fix: link libquota on NetBSD to fix FTBFS (#4863) 2023-02-13 12:04:14 -06:00
Charles Kerr a2faaabe69
chore: remove invalid assertion test (#4860)
Fixes #4078.
2023-02-12 18:38:18 -06:00
Cœur 649fd4d0d2
fix: do not lose magnet links when upgrading from tr3 to 4 (#4840) 2023-02-12 18:10:54 -06:00
Cœur 0be7091eb1
Revert "fix: remove abort() call from tr_assert_message() (#4696)" (#4851)
This reverts commit 0493542f62.
2023-02-12 08:16:20 -06:00
Charles Kerr b7099270b6
fix: tr_swarm order of destruction (#4847) 2023-02-12 00:30:30 -06:00
Charles Kerr 8cee2f952e
fix: port forwarding flag not saved between sessions (#4842) 2023-02-11 20:49:16 -06:00
Charles Kerr ba679a814f
fix: try a tcp peer connection before a utp one. (#4826) 2023-02-11 16:14:32 -06:00
Julien 4b8cfa2e57
chore: update copyrights to 2023 (#4834) 2023-02-11 14:49:42 -06:00
Berbe b155374137
fix: add nullptr dereference safguard in announcer code 2023-02-11 08:25:28 -06:00
Daniel Kamil Kozar e0753fedb9
fix: put "private" and "source" inside the metadata "info" key (#4809) 2023-02-10 20:33:24 -06:00
Charles Kerr d0b148c033
fix: misleading error message when resume file is missing (#4799)
Fixes #4712.
2023-02-10 14:01:39 -06:00
Charles Kerr 0c582c6d7e
fix: race condition in RPC (#4725) 2023-02-06 10:42:37 -06:00
Charles Kerr 6c99e95463
fix: ensure ipv4 for udp announces. (#4723)
This is an interim fix to unblock 4.0.0. See ticket 4719 for details.
2023-02-05 23:31:10 -06:00
SweetPPro 1e988c9ce4
fix magnet link start logic (#4528) 2023-02-02 00:19:20 -06:00
Charles Kerr 0493542f62
fix: remove abort() call from tr_assert_message() (#4696) 2023-02-01 18:19:40 -06:00
Cœur 61fa6f6088
Fix WebUtilsTest.urlParse and psl_builtin for Xcode (#4642) 2023-01-31 23:51:04 -06:00
Dmitry Antipov 52d49b84eb
perf: optimize the only block case in Cache::writeContiguous() (#4679) 2023-01-30 12:04:40 -06:00
Charles Kerr e35d65bf4c
fix: call setHasPiece(piece, false) on checkPiece fail (#4665) 2023-01-29 19:46:26 -06:00
Charles Kerr 0e5f7f86d7
fix: coverity warnings (#4687)
* fix: minor tr_error leak warning in tests

* fix: socket leak in tr_globalIPv6()
2023-01-29 16:49:59 -06:00
Charles Kerr 724a0f48f0
fix: clang-tidy header warnings (#4686) 2023-01-28 17:58:20 -06:00
Charles Kerr 93db8f088a
fix: cppcoreguidelines-pro-type-cstyle-cast (#4685)
* fix: libtransmission cppcoreguidelines-pro-type-cstyle-cast

* fix: libtransmission cppcoreguidelines-avoid-do-while

* refactor: inline static class fields

* fix: libtransmission cppcoreguidelines-avoid-reference-coroutine-parameters

* fix: announcer.cc cppcoreguidelines-narrowing-conversions
2023-01-28 15:26:23 -06:00
Charles Kerr 948f597d15
refactor: buffer snake case (#4682) 2023-01-27 20:12:09 -06:00
Charles Kerr c75f9a4a7a
refactor: tidy libtransmission symbol visibility (#4680) 2023-01-27 14:25:08 -06:00
Charles Kerr 568b23374c
chore: don't warn on ECONNREFUSED to peer sockets. (#4678)
Fixes #1031.
2023-01-27 00:00:00 -06:00
Charles Kerr 5a8aab2c2d fixup! fix: omit curlopt options if curl is old (#4675) 2023-01-26 16:03:11 -06:00
Charles Kerr b1744d513e
fix: omit curlopt options if curl is old (#4675) 2023-01-26 12:52:32 -06:00
Charles Kerr aabf1b7e0a
fix: remove CURL_VERSION_BITS macro (#4673)
Fixes #4671.
2023-01-26 11:25:53 -06:00
anarcat 331e1699bc
add remote HTTPS support to Qt GUI (#4622) 2023-01-26 00:24:04 -06:00
Charles Kerr c81d0b130c
refactor: add tr_error_set_from_errno() (#4662) 2023-01-25 12:20:10 -06:00
Charles Kerr 977a190646
fix: msvc warnings (#4651)
* fix: C4189 local variable is initialized but not referenced

* fix: C4706 assignment within conditional expression

* fix: C4018 signed/unsigned mismatch

* fix: warning C4996 High-DPI scaling is always enabled.

* fix: C4996: QApplication::fontMetrics() is deprecated

eed5514eaf
2023-01-23 19:24:52 -06:00
Cœur c89edcd1f6
underscores in documentation comments should be code escaped (#4639) 2023-01-23 10:26:11 -06:00
Charles Kerr 7367d465b5
style: use the new paragraph comment style everywhere (#4634) 2023-01-22 13:21:30 -06:00
Charles Kerr 0f4077a445
fix: announcer not updated after torrent announce list edited (#4635) 2023-01-22 11:53:08 -06:00
Charles Kerr 43bb4bc1c8
refactor: remove unused declarations from tr-macros.h (#4630) 2023-01-21 17:53:58 -06:00
Charles Kerr b5c9e3d697
fix: clang-tidy warnings in libtransmission/transmission.h (#4628) 2023-01-21 13:49:43 -06:00
InsaneKnight 8755207dcf
fix: semantics for tr_peer_socket dtor, move ctor, and move assignment
Default implementations for these functions may leak sockets during
destructing and moving.
2023-01-20 02:28:56 -06:00
Dmitry Antipov 770da79cf3
daemon: check whether log file is regular and may be flushed (#4612) 2023-01-18 12:46:57 -06:00
Charles Kerr 33a7d131b4
feat: add setting to choose between lazy-verify or full verify (#4611) 2023-01-18 02:09:29 -06:00
Charles Kerr 3bc1a1be04
fix: when setting Accept-Encoding to identity, disable curl decoding. (#4609)
Also, change `CURLOPT_ENCODING` usage to `CURLOPT_ACCEPT_ENCODING`.
This key was renamed upstream in 7.21.6; our CURL_MINIMUM is 7.28.0.

Fixes #753.
2023-01-17 16:07:10 -06:00
Cœur e4c5981545
feat: log which tracker is giving a warning (#4544) 2023-01-17 01:46:43 -06:00
Charles Kerr acd5d28fb1
fix: handle webseed servers that do not serve partial content (#4601)
Fixes #4595.
2023-01-16 15:08:25 -06:00
Dmitry Antipov bd461e1081
refactor: use std::function for announcer callback (#4575) 2023-01-15 12:37:54 -06:00
Dmitry Antipov acbf483bae
refactor: switch to C++11-compatible tr_wait() from tr_wait_msec() (#4576) 2023-01-12 12:03:14 -06:00
Dmitry Antipov a5c7b65869
perf: avoid extra time() call (#4577) 2023-01-11 09:26:58 -06:00
Dmitry Antipov 0af121004c
chore: remove unused callback arg (#4573) 2023-01-10 14:47:53 -06:00
Charles Kerr e4b480ecd4
fix: tr_torrentStat() acquires a session thread lock (#4571) 2023-01-10 09:05:31 -06:00
Charles Kerr 2b89ee508b
feat: change 403 error message (#4567) 2023-01-09 10:52:19 -06:00
Charles Kerr 8b1290c895
build: remove explicit iconv dependency in libtransmission (#4565) 2023-01-08 22:21:31 -06:00
Charles Kerr d9278bd167
refactor: misc-use-anonymous-namespace pt. 5 (#4552) 2023-01-07 16:55:00 -06:00
Charles Kerr cb10255ef1
refactor: misc-use-anonymous-namespace pt. 4 (#4550) 2023-01-07 12:58:16 -06:00
Charles Kerr 9678b26984
refactor: misc-use-anonymous-namespace pt. 3 (#4539) 2023-01-07 08:27:54 -06:00
Charles Kerr cc4cbff049
refactor: misc-use-anonymous-namespace pt. 2 (#4538) 2023-01-04 22:16:22 -06:00
Charles Kerr 634b1e8fc1
fixup! fix: Couldnt send to IPv6 address warnings (#4527) (#4537) 2023-01-04 18:18:22 -06:00
Charles Kerr b47c34726b
refactor: tr_peer_socket keeps track of peer count (#4534) 2023-01-04 15:37:55 -06:00
Charles Kerr bd61bd2558
refactor: use anonymous namespace in rpc-server.cc (#4530)
refactor: use anonymous namespace in rpcimpl.cc
2023-01-03 22:24:12 -06:00
Charles Kerr ee0877c99d
refactor: fix readability-redundant-string-cstr warnings found by clang-tidy-16 (#4529) 2023-01-03 21:43:54 -06:00
Charles Kerr dc968892ec
fix: Couldnt send to IPv6 address warnings (#4527) 2023-01-03 21:12:05 -06:00
Charles Kerr 1e521b9030
fix: -Wredundant-decls warning when building with g++ (#4526) 2023-01-03 15:26:04 -06:00
Charles Kerr 106bcbbe7b
fix: clang-tidy-15 warnings (#4525) 2023-01-03 14:10:12 -06:00