Commit Graph

177 Commits

Author SHA1 Message Date
Charles Kerr
d1333e6aa1 fix: crash after nullptr dereference in rpcimpl (#6177) (#6348)
Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-12-06 15:24:13 -06:00
Charles Kerr
2e2c86060b fix: in RPC, default to sort torrents by id (#5604)
When getting all torrents in a batch over RPC, the results are sorted by
info-dict hash. Prior to 4.0.0, they were sorted by ID. This change broke
some peoples' workflows.

I'm OK with breaking workflows if it's necessary to improve the program,
but this was an unintentional side-effect and I don't see any inherent
benefit to either sort order. So this PR restores the 3.00 sort order.

https://xkcd.com/1172/
2023-12-03 15:52:43 -06:00
tearfur
2941005e34 perf: convert comparator functors to static constexpr (#5687) 2023-06-30 12:29:53 -05:00
Charles Kerr
e33d9536ef fix: return success on RPC add-torrent duplicate (#5370)
Keep Transmission 3's behavior to avoid unannounced API change
2023-04-12 13:37:04 -05: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
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
Julien
4b8cfa2e57 chore: update copyrights to 2023 (#4834) 2023-02-11 14:49:42 -06:00
Charles Kerr
0c582c6d7e fix: race condition in RPC (#4725) 2023-02-06 10:42:37 -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
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
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
6bec2f22c8 fix: 4.0.0-beta.1 wrong RPC response for group-get (#4171) 2022-11-14 16:31:41 -06:00
Charles Kerr
09bb1a60f0 refactor: add more nodiscard, constexpr, and noexcept (#4089) 2022-11-03 18:08:02 -05:00
Charles Kerr
611d36ac84 refactor: decouple session settings from the session class (#4053) 2022-11-01 19:32:26 -05:00
Charles Kerr
210bb03f2f fix: recent signed-unsigned comparison warnings (#4034) 2022-10-26 11:20:10 -05:00
A Cœur
12e564096b fix: "Implicit conversion loses integer precision" warnings (#3960) 2022-10-25 11:14:42 -05:00
Charles Kerr
2262efdb7f fix: ignore unrecognized torrent-get fields (#4018)
Fixes #2916.

Not actually a Transmission bug, but restores undefined behavior to be
consistent with 3.00's undefined behavior in the RPC spec.
2022-10-24 15:02:48 -05:00
Mike Gelfand
70f623f32b Add user data parameter for torrent removal callback (#4009) 2022-10-23 11:51:35 -05:00
Charles Kerr
4a359fd481 refactor: session private fields (#3961)
* refactor: make tr_session.private_peer_port a private field

chore: make tr_session.public_peer_port a private field

* refactor: make tr_session.web_ a private field

* refactor: make tr_session.lpd_ a private field

* refactor: make tr_session.bind_ipv4_ private

refactor: make tr_session.bind_ipv6_ private

* refactor: make tr_session.bandwidth_groups_ private; add const accessor

* refactor: make tr_session.port_forwarding_ private

* refactor: make tr_session.peerMgr private pt 1: add tr_session::addIncoming()

* refactor: make tr_session.peerMgr private pt 1: add tr_session::addTorrent()

* refactor: make tr_session.peer_mgr_ private

* refactor: make tr_session.setPeerPort() private
2022-10-13 21:25:02 -05:00
Charles Kerr
1782dc6d7a refactor: use readability-identifier-naming in clang-tidy (#3784) 2022-09-07 11:04:28 -05:00
Charles Kerr
d130f7d593 refactor: prefer std::unique_ptr over std::shared_ptr (#3741) 2022-08-30 19:30:47 -05:00
Charles Kerr
072bb0322c refactor: remove tr_quark_get_string() (#3728) 2022-08-28 16:17:07 -05:00
Greg Hazel
fa8b6a5e0a option to disable TCP (#3447) 2022-08-25 21:27:11 -05:00
Charles Kerr
bfec98c323 refactor: avoid tr_new() in transmission-remote (#3665) 2022-08-17 20:25:42 -05:00
Charles Kerr
9374e332ec refactor: avoid tr_new in rpcimpl (#3662) 2022-08-17 13:11:44 -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
a4c1a23fae refactor: make tr_session.is_incomplete_file_naming_enabled_ private (#3642)
* refactor: make tr_session.is_incomplete_file_naming_enabled_ private

* refactor: make session callback setters constexpr

* refactor: make tr_session.is_port_random_ private

* refactor: make tr_session.desired_ratio_ private

* refactor: make tr_session.is_pex_enabled_ private

* refactor: make tr_session.is_idle_limited_ private
2022-08-14 19:33:28 -05:00
Charles Kerr
44a291ca39 refactor: remove tr_session nonmember functions (#3641) 2022-08-14 14:41:57 -05:00
Charles Kerr
6beca85ae2 refactor: make tr_session.rpc_func_ private (#3640) 2022-08-14 10:40:03 -05:00
Charles Kerr
5c8695025a refactor: make tr_session.is_closing_private_ (#3637) 2022-08-13 20:04:36 -05:00
Charles Kerr
f6bf652043 refactor: make tr_session.peer_count private (#3635) 2022-08-13 17:41:42 -05:00
Charles Kerr
ed6ee619a6 refactor: make tr_session.queue fields private (#3634) 2022-08-13 14:56:10 -05:00
Charles Kerr
31a733fab7 refactor: make tr_session_id a class (#3598) 2022-08-06 14:27:37 -05:00
qu1ck
9afbf58c4e Fix peer port change in session rpc (#3573)
Currently transmission keeps listening to the old port when you change
it so incoming peers can't connect.
2022-08-03 10:07:45 -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
9c7fcf85cf refactor: tr_stats (#3542) 2022-07-28 18:56:40 -05:00
Charles Kerr
15056045bd perf: batch up calls to the RNG (#3537) 2022-07-28 10:01:59 -05:00
Charles Kerr
88e898b005 refactor: avoid unnecessary heap alloc when sending magnet link over RPC (#3535) 2022-07-27 23:31:41 -05:00
Charles Kerr
ec79a2a888 fix: clang-tidy misc-const-correctness warnings (#3529) 2022-07-27 09:03:13 -05:00
Charles Kerr
4f7051fe7f refactor: make tr_session's directory fields private (#3516) 2022-07-23 02:13:18 -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
c50da43ae0 refactor: remove tr_sessionGetConfigDir() (#3506)
* refactor: remove tr_sessionGetConfigDir() from GTK client

* refactor: remove tr_sessionGetConfigDir() from daemon

* refactor: remove tr_sessionGetConfigDir()

* refactor: remove tr_getTorrentDir()

* fixup! refactor: remove tr_sessionGetConfigDir()
2022-07-21 20:12:45 -05:00
Charles Kerr
da032e3875 refactor: remove unused tr_stat fields (#3493) 2022-07-20 21:54:41 -05:00
Viacheslav Chimishuk
0397176c10 keep labels in order added, rather than alphabetically (#3271) 2022-06-16 17:08:42 -05:00
Charles Kerr
d20b77a9ab refactor: make tr_sessionGetEncryption() const (#3306) 2022-06-15 17:19:24 -05:00
Charles Kerr
57c49437eb fix: filename too long warning when adding magnet links (#3259)
Fixes #3117.
2022-06-11 15:46:40 -05:00
Charles Kerr
61c1a0f1e8 feat: add rpc torrentGet.availability (#3252) 2022-06-11 12:06:07 -05:00