Commit Graph

102 Commits

Author SHA1 Message Date
Yat Ho
bfb5e35021 chore: add suffix to private and protected members (#7746) 2025-10-30 10:13:27 -05:00
Mike Gelfand
f8d8676f60 Sync translations (#7742)
* Fix "Message contains an embedded URL" xgettext warnings

See https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html

* Sync translations with code

* Sync translations with Transifex
2025-10-27 14:39:58 +01:00
Yat Ho
c215de34d5 chore: move away from fmt/core.h (#7557) 2025-05-06 01:01:12 -05:00
Yat Ho
03c2dbd63c feat: make proxy_url nullable (#7486)
* fix: clang-tidy warning

* refactor: make `proxy_url` nullable
2025-05-01 16:57:46 +01:00
Alexander Terentyev
2c5b7f94d1 feat: proxy support for web-connections (#5038)
* feature: proxy support for web-connections

* forgotten changes

* fix code-styles

* –Documentation for new setting "proxy-url"

* Create property proxyUrl for class tr_web. Lazy creation of tr_web object in tr_session after loaded settings from file

* Update docs/Editing-Configuration-Files.md

Simplify the documentation text

Co-authored-by: ThinkChaos <ThinkChaos@users.noreply.github.com>

* Fix merge error

* Fix merge error.

* Simplify tr_web's lifecycle. Fix error. Rename quark to sneak_case-style

* Fix parameter value test

---------

Co-authored-by: ThinkChaos <ThinkChaos@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-03-10 17:32:18 -05:00
Dzmitry Neviadomski
7e87adcd91 Fix building transmission with C++23 (#6832)
* fix: operator== should return bool in tr_strbuf

Fixes build error with C++20/C++23

error: return type 'auto' of selected 'operator==' function for rewritten '!=' comparison is not 'bool'

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: explicitly specify Blocklist::size() return type as size_t

Fixes building with C++20/C++23
error: no matching function for call to 'size'
function 'size' with deduced return type cannot be used before it is defined

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: wrap runtime format strings with fmt::runtime in library, daemon and cli

fmt::format_string ctor is consteval with C++20
See https://github.com/fmtlib/fmt/issues/2438

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: wrap runtime format strings with fmt::runtime for GTK client

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: allow to override C and CXX standard via cmdline or env

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: add job to check if transmission compiles with C++23

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Address code review by mikedld

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix new found fmt build errors

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Address code review by tearfur

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fix: make tr_net_init_mgr singleton buildable with C++23

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-03-10 13:08:57 -05:00
Charles Kerr
c398bd26f3 build: remove the test to see if curl is at least 7.15.6 (#7462)
CMakeLists.txt requires curl >= 7.28.0, so we do not need to test this.
2025-03-05 14:35:31 -06:00
Charles Kerr
05797a9e93 perf: cache curl version (#7461)
it doesn't change during runtime, so no need to
keep calling curl_version_info(CURLVERSION_NOW)
2025-03-04 08:16:21 -06:00
pathC
5163ac3e1f fix: not correctly sending UA to trackers related to curl gh6312 (#7447)
fallback to http1.1 when using flawed curl.
curl 7.71.0-7.74.0 are affected.
2025-03-03 23:14:20 -06:00
Yat Ho
43e869b18e feat: warn about problematic curl versions (#7457) 2025-03-03 21:32:25 -06:00
Yat Ho
790bd2f0ab fix: crashes related to curl gh10936 (#7416) 2025-01-27 22:36:47 +00:00
Yat Ho
6bf62959b4 refactor: set CURLOPT_MAXREDIRS once (#7233) 2024-11-06 14:36:34 -06:00
Yat Ho
f1102f0b4d fix: don't double count webseed download data rate (#7235)
Regression from f1a53840f9
2024-11-06 13:55:58 -06:00
Mike Gelfand
c21ee87eea Add CI configuration for clang-tidy on Windows (#6997)
* Add CI configuration for clang-tidy on Windows

* Fix issues reported by clang-tidy on Windows

* Workaround clang-tidy defects on Windows

* Fix C-style casts (which clang-tidy didn't report)
2024-07-16 22:13:29 +01:00
Charles Kerr
eeea3c540f fix: clang-tidy-19 warnings (#6597)
* fix: readability-redundant-casting warnings in libtransmission

* fix: readability-avoid-return-with-void-value warnings in libtransmission

* fix: readability-redundant-member-init warnings in libtransmission

* fix: readability-redundant-inline-specifier warnings in libtransmission

* fix: performance-avoid-endl warnings in libtransmission

* fix: bugprone-multi-level-implicit-pointer-conversion warnings in libtransmission

* fix: bugprone-switch-missing-default-case warnings in libtransmission

* fix: readability-redundant-string-cstr warnings in libtransmission

* fixup! fix: bugprone-multi-level-implicit-pointer-conversion warnings in libtransmission
2024-02-13 10:42:19 -06:00
Charles Kerr
646883174b chore: fix misc-use-anonymous-namespace warnings from clang-tidy (#6488) 2024-01-04 23:12:51 -06:00
Yat Ho
adc209d7e8 refactor: RPC port-test improvements (#6274) 2023-11-22 23:02:21 -06:00
Charles Kerr
64d9d57363 chore: fix minor clang-tidy warnings (#6275) 2023-11-21 09:02:03 -06:00
Yat Ho
90e91d6284 refactor: directly check if announcers are idle instead of using a stop counter (#6237) 2023-11-12 21:43:43 -06:00
Julien
8ac323d5d6 chore: removed copyright timespans in headers (#4850) 2023-11-01 16:11:11 -05:00
Yat Ho
48dcff975a fix: workaround HSTS upgrading to HTTPS for HTTP trackers (#5969) 2023-09-03 18:26:39 -05:00
tearfur
a88b353576 chore: rename other publicAddress() functions (#5873) 2023-08-14 10:31:12 -05:00
tearfur
5ec4ca550e chore: iwyu (#5746) 2023-07-08 10:24:03 -05:00
tearfur
2211086338 fix: conform to libcurl requirements to avoid memory leak (#5702) 2023-07-05 22:05:03 -05:00
Charles Kerr
3474a1da58 chore: remove tr_wait(); use std::this_thread::sleep_for() (#5683) 2023-06-29 08:51:39 -05:00
Charles Kerr
7d86d67bc7 chore: prefer fmt/core.h over fmt/format.h (#5404) 2023-04-16 15:34:19 -05:00
Charles Kerr
d72cb67cfb chore: include directory name in libtransmission #includes (#5308) 2023-04-14 14:33:23 -05:00
Charles Kerr
b2b0f0db39 fix: crash in curl_easy_pause() (#5161) 2023-03-05 23:42:52 -06:00
Julien
4b8cfa2e57 chore: update copyrights to 2023 (#4834) 2023-02-11 14:49:42 -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
c75f9a4a7a refactor: tidy libtransmission symbol visibility (#4680) 2023-01-27 14:25:08 -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
7367d465b5 style: use the new paragraph comment style everywhere (#4634) 2023-01-22 13:21:30 -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
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
acbf483bae refactor: switch to C++11-compatible tr_wait() from tr_wait_msec() (#4576) 2023-01-12 12:03:14 -06:00
Charles Kerr
106bcbbe7b fix: clang-tidy-15 warnings (#4525) 2023-01-03 14:10:12 -06:00
Charles Kerr
806491232b refactor: add constexpr (#4514) 2023-01-01 22:43:23 -06:00
Charles Kerr
14a3d01e45 fix: sonarcloud (#4453) 2022-12-23 10:56:27 -06:00
Charles Kerr
a1892f2c7c fix: 4.0.0-beta.2 regression transmission-show --scrape did not exit cleanly (#4447) 2022-12-23 08:03:26 -06:00
Charles Kerr
f03fc9270b Fix/long shutdown crash on shutdown (#4285) 2022-11-30 13:00:34 -06:00
Charles Kerr
22d12aedc5 refactor: GTK favicon lookup improvements (#4278) 2022-11-29 18:09:32 -06:00
Charles Kerr
67e992ddf0 refactor: better TR_CURL_SSL_NO_VERIFY (#4159)
clear CURLOPT_CAINFO, CURLOPT_CAPATH iff verification is disabled
2022-11-13 17:17:16 -06:00
Charles Kerr
7e817b5a43 refactor: fix thread sanitizer warnings in tr_sessionClose() (#4130) 2022-11-09 20:30:34 -06:00
Charles Kerr
4d8509c180 refactor: add libtransmission::evhelpers (#4104) 2022-11-06 15:11:30 -06:00
Charles Kerr
831eb8d40f refactor: make tr_session_thread a unique_ptr owned by tr_session (#4069) 2022-11-04 16:20:27 -05:00
Charles Kerr
d130f7d593 refactor: prefer std::unique_ptr over std::shared_ptr (#3741) 2022-08-30 19:30:47 -05:00
Viacheslav Chimishuk
cb17ea4914 Fix IPv6 announce socket binding interface. (#3692)
When Transmission listens on both IPv4 and IPv6 interfaces IPv4 listen address
is always passed to CURL's CURLOPT_INTERFACE. In general it stays unnoticed but
if user has multiple IPv6 addresses configured on his system random (first?)
IPv6 address is used. It happens because passed value to CURLOPT_INTERFACE
is not correct -- IPv6 expected but IPv4 is passed.
2022-08-21 18:37:38 -05:00
Charles Kerr
4b615572c3 chore: re-enable readability-redundant-access-specifiers warning (#3685) 2022-08-20 14:49:11 -05:00