Charles Kerr
d72cb67cfb
chore: include directory name in libtransmission #includes ( #5308 )
2023-04-14 14:33:23 -05: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
2b89ee508b
feat: change 403 error message ( #4567 )
2023-01-09 10:52:19 -06:00
Charles Kerr
9678b26984
refactor: misc-use-anonymous-namespace pt. 3 ( #4539 )
2023-01-07 08:27:54 -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
Mike Gelfand
5fd0aff818
Automatically (re)order include directives (GTK client) ( #4475 )
...
* Automatically (re)order include directives (GTK client)
Include our headers first to ease IWYU enforcement.
* Fix includes missing from headers (GTK client)
* Fix build on Mac after includes reordering
2022-12-26 21:13:21 +00:00
Charles Kerr
59335eac03
fix: sonarcloud cpp:S6004 ( #4270 )
...
reduce scope of variables by using if-based initializer
2022-11-28 21:03:28 -06:00
Charles Kerr
af9f1b4e42
fix: potentially incorrect error message in rpc-server whitelist ( #4264 )
...
Fixes #928 .
2022-11-28 15:46:30 -06:00
Charles Kerr
14dfafde32
refactor: add std::unique_ptr<evhttp> handler to utils-ev ( #4261 )
2022-11-28 08:07:04 -06:00
Charles Kerr
8a35aa0903
refactor: add tr_rand_obj() ( #4238 )
...
* refactor: add tr_rand_obj()
There are a lot of places in the codebase where we need to populate
an integral type or a fixed-size array with random data. To do this,
we instantiate a local on the stack, fill it with tr_rand_buffer(),
and then use it.
This PR creates a helper function to make this a one-liner.
2022-11-25 15:04:37 -06:00
Charles Kerr
554ba06ae2
fix: coverity warnings, sonarcloud code smells ( #4232 )
2022-11-24 10:17:02 -06:00
Charles Kerr
134363d83d
fixup! refactor: decouple session settings from the session class ( #4053 ) ( #4175 )
...
fixes #4134
2022-11-14 19:10:19 -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
A Cœur
64b5fde8b2
fixup: silence "empty expression statement has no effect" warning ( #4074 )
2022-11-02 09:04:22 -05:00
Charles Kerr
611d36ac84
refactor: decouple session settings from the session class ( #4053 )
2022-11-01 19:32:26 -05:00
Charles Kerr
cdf817f2e7
fix: FTBFS on Windows ( #4036 )
...
* refactor: getPiececLength() now returns size_t
* refactor: tr_torrentSetMetadataPiece() length arg is now size_t
* refactor: tr_peerIo::flushOutgoingProtocolMsgs() returns size_t, takes a tr_error** for reporting errors
* refactor: define tr_mode_t for convenience
* fix: suseconds_t portability fix
2022-10-28 19:12:37 -05:00
A Cœur
12e564096b
fix: "Implicit conversion loses integer precision" warnings ( #3960 )
2022-10-25 11:14:42 -05:00
Charles Kerr
257d98545b
refactor: add tr_port_forwarding::Mediator ( #3855 )
...
* refactor: add a Mediator class to decouple tr_session and tr_port_forwarding
* refactor: add tr_port_forwarding::Mediator::privatePeerPort()
* refactor: add tr_port_forwarding::Mediator::onPortForwarded()
* chore: avoid unnecessary include of timer.h in other headers
* refactor: use a uniform timerMaker() API in mediators
2022-10-01 09:12:49 -05:00
Charles Kerr
56e0a1bda8
chore: add cppcoreguidelines-pro-type-member-init to libtransmission/.clang-tidy ( #3840 )
2022-09-23 00:51:15 -05:00
Charles Kerr
dd12fd010a
chore: iwyu headers ( #3833 )
2022-09-21 18:34:18 -05:00
Charles Kerr
1782dc6d7a
refactor: use readability-identifier-naming in clang-tidy ( #3784 )
2022-09-07 11:04:28 -05:00
Charles Kerr
d17341d784
refactor: constify ( #3780 )
2022-09-06 12:52:58 -05:00
Charles Kerr
1062ae8f1f
refactor: split tr_parseNum inout var into two vars ( #3748 )
...
build: re-enable cert-err34-c warning
2022-09-02 01:04:09 -05:00
Charles Kerr
072bb0322c
refactor: remove tr_quark_get_string() ( #3728 )
2022-08-28 16:17:07 -05:00
Charles Kerr
a24679d89f
refactor: modernize-avoid-c-arrays pt. 2 ( #3713 )
2022-08-26 13:35:28 -05:00
Charles Kerr
e191407dee
refactor: modernize-avoid-c-arrays pt. 1 ( #3702 )
2022-08-24 20:19:21 -05:00
Charles Kerr
bfec98c323
refactor: avoid tr_new() in transmission-remote ( #3665 )
2022-08-17 20:25:42 -05:00
Charles Kerr
29f57bc296
chore: iwyu headers ( #3661 )
2022-08-17 11:08:36 -05:00
Charles Kerr
0fbfed60b1
refactor: make tr_session.speed_limit_Bps_ private ( #3645 )
...
* refactor: make tr_session.speed_limit_Bps_ private
* refactor: make tr_session.is_utp_enabled_ private
* refactor: make tr_session.is_prefetch_enabled_ private
* refactor: make tr_session.is_ratio_limited_ private
* refactor: make tr_session.upload_slots_per_torrent_ private
* refactor: make tr_session.peer_id_ttl_hours_ private
* refactor: make tr_session.blocklists_ private
* refactor: make tr_session.umask_ private
* refactor: make tr_session.evdns_base_ private
* fixup! refactor: make tr_session.blocklists_ private
* refactor: make tr_session.default_trackers_ private
* refactor: make tr_session.idle_limit_minutes_ private
* refactor: make tr_session.WebMediator private
* refactor: make tr_session.session_id_ private
* refactor: make tr_session.peer_socket_tos_ private
2022-08-15 12:48:05 -05:00
Charles Kerr
c7466b3ff4
fix: coverity warnings ( #3632 )
...
* fix: uninitialized field natpmp
* fix: unchecked downcast result
* fix: potential tr_error leak
* fix: potential tr_error leak
* fix: potential tr_error leak
* fix: potential nullptr dereference in test fixtures
* fix: handshake fields not initialized in constructor
* chore: cast unchecked return value to void
* chore: cast unchecked return value to void
* chore: cast unchecked return value to void
* chore: make single-arg constructors explicit
* fix: code smell make variable a pointer-to-const
* fix: code smell make variable a pointer-to-const
* chore: make single-arg constructors explicit
* chore: silence sonarcloud false warning on commented-out-code
* chore: fix code smell use std::array
* chore: make EvTimer::handleTimer() const
* chore: mark tr_bandwidth remove_child as noexcept
2022-08-13 12:11:07 -05:00
Charles Kerr
63eab54fd5
refactor: timer pt 2 ( #3617 )
...
* feat: add convenience variants of TimerMaker::create()
* refactor: use libtransmission::Timer in peer-mgr
* refactor: use libtransmission::Timer in peer-msgs
* refactor: use libtransmission::Timer in tr-utp
* refactor: use libtransmission::Timer in tr-dht
* refactor: use libtransmission::Timer in port-forwarding
* refactor: use libtransmission::Timer in webseed
* refactor: use libtransmission::Timer in tr-lpd
* refactor: use libtransmission::Timer in rpc-server
* chore: remove unused function tr_timerAdd()
* chore: remove unused function tr_gettimeofday()
* fixup! chore: remove unused function tr_timerAdd()
* fixup! refactor: use libtransmission::Timer in port-forwarding
2022-08-11 12:28:37 -05:00
Charles Kerr
b49cccbd3e
refactor: add timer class ( #3603 )
...
Wraps around evtimer so that some of the codebase can use libevent without coupling to it.
2022-08-08 17:53:20 -05:00
Charles Kerr
31a733fab7
refactor: make tr_session_id a class ( #3598 )
2022-08-06 14:27:37 -05:00
Charles Kerr
90f08f4fa1
refactor: fix recent sonarcloud warnings ( #3593 )
2022-08-05 20:37:21 -05:00
Charles Kerr
3ed6b187bb
refactor: iwyu utils.h ( #3583 )
2022-08-04 08:44:18 -05:00
Charles Kerr
dab81c1af6
fix: readability-inconsistent-declaration-parameter-name warnings in libtransmission ( #3572 )
2022-08-03 01:15:37 -05:00
Charles Kerr
822fabb233
refactor: remove unused GET handler in rpc-server.cc ( #3549 )
...
* refactor: when serving files, use string_view
* refactor: remove HTTP GET servicing code
This has not been needed for awhile but did not get removed
2022-07-29 13:02:33 -05:00
Charles Kerr
e0ca366b2d
refactor: remove tr_loadFile() ( #3540 )
...
* refactor: use the std::vector variant of tr_loadFile() in rpc-server.cc
* refactor: use the std::vector variant of tr_loadFile() in rename-test.cc
* refactor: remove the unused raw ptr variant of tr_loadFile()
2022-07-28 14:22:32 -05:00
Charles Kerr
1a0afbe95e
refactor: iwyu ( #3525 )
2022-07-25 21:45:54 -05:00
Charles Kerr
445aad56a0
test: add platform tests ( #3514 )
...
* test: add tr_getDefaultDownloadDir() tests
this also indirectly tests xdg and homedir
* test: add PlatformTest.defaultConfigDirEnv
* test: add PlatformTest.defaultConfigDirXdgConfig
test: add PlatformTest.defaultConfigDirXdgConfigHome
* test: add PlatformTest.webClientDirEnvClutch
test: add PlatformTest.webClientDirEnvTr
test: add PlatformTest.webClientDirXdgDataHome
* fixup! test: add PlatformTest.webClientDirEnvClutch
fix: win32 breakage
2022-07-22 20:10:02 -05:00
Charles Kerr
0da1cbb6ec
fix: 3508 location invalidation ( #3511 )
...
* Revert "refactor: remove tr_sessionGetConfigDir() (#3506 )"
This reverts commit c50da43ae0
.
* Revert "fix: do not leak in tr_getWebClientDir() (#3502 )"
This reverts commit 5a75e37033
.
2022-07-22 00:52:48 -05:00
Charles Kerr
5a75e37033
fix: do not leak in tr_getWebClientDir() ( #3502 )
2022-07-21 17:02:13 -05:00
Charles Kerr
2bcab6be7e
refactor: remove tr_dh code ( #3443 )
...
Refactor the MSE handshake Diffie-Hellman key code.
2022-07-14 19:54:10 -05:00
Charles Kerr
67a078402d
fix: compiler warnings ( #3123 )
...
* fix: unused function warning tr_rpc_address_is_valid
* fix: unused variable warning old_byte_pop
* fix: method-can-be-made-static warning assertValidRules
* fix: signed-unsigned comparison warning
* fix: invalid case style warning for KBps
* chore: disable warning for static class member varaible
2022-05-22 21:22:34 -05:00
Charles Kerr
36e6d4ed07
chore: remove unused header fdlimit.h ( #3084 )
2022-05-14 11:17:55 -05:00
maxz
d8c5c65725
Specify the umask and IPC socket permission as strings. ( #2984 )
...
* Support specifying the umask as a string representing an octal number.
* Save the umask as a string representing an octal number.
* Support specifying the IPC socket permission as a string representing an octal number.
* Save the IPC socket permission as a string representing an octal number.
* Add a `base` parameter to `tr_parseNum()` for specifying the radix.
2022-04-28 09:16:19 -05:00
Charles Kerr
1ebac744a5
build: re-enable cert-err33-c clang-tidy warning ( #2968 )
...
* refactor: re-enable cert-err33-c clang-tidy warning
* refactor: use fmt::chrono in transmission-remote
* refactor: use fmt::chrono in transmission-show
* refactor: use fmt::chrono in GTK details dialog
* refactor: use fmt::chrono in tr_session
* refactor: remove tr_localtime_r
* refactor: remove tr_gmtime_r
2022-04-22 14:56:54 -05:00
Charles Kerr
7918113e0b
refactor: partially c++ifiy tr_rpc_server ( #2965 )
...
Replace the older C-style API methods to be class methods.
2022-04-22 09:19:20 -05:00