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
c70c49e87b
fix: encode `ip` in network byte order for udp announce ( #6126 )
2023-10-18 09:46:57 -05:00
Yat Ho
e39045cf69
refactor: tidy up announcer code ( #5945 )
2023-09-01 16:51:58 -05:00
Yat Ho
eea7d4d886
refactor: re-organise `net.h` member functions ( #5878 )
2023-08-17 22:13:01 -05:00
tearfur
5ec4ca550e
chore: iwyu ( #5746 )
2023-07-08 10:24:03 -05:00
Charles Kerr
c364abcb6f
chore: misc-include-cleaner (partial) ( #5738 )
2023-07-06 10:00:07 -05:00
Charles Kerr
6a2a4c3032
perf: move log strings instead of cloning them ( #5726 )
2023-07-04 14:03:45 -05:00
Charles Kerr
ce66e5c442
iwyu: remove, add std headers where used ( #5694 )
...
* chore: remove unused #include <array>
* chore: remove unused #include <chrono>
* chore: remove unused #include <set>
* chore: remove unused #include <algorithm>
* chore: remove unused #include "interned-string.h"
* chore: remove unused #include <list>
* chore: remove unused #include <optional>
* chore: iwyu <cstddef>
* chore: iwyu <ctime>
* chore: remove unused #include <cerrno>
* chore: remove unused #include <deque>
* chore: remove unused #include <vector>
* chore: remove unused #include <memory>
* chore: remove unused #include <unordered_set>
* chore: remove unused #include <array>
* chore: remove unused #include <mutex>
* chore: remove unused #include <functional>
* chore: remove unused #include <cmath>
2023-06-29 23:51:55 -05:00
Charles Kerr
9afced725a
refactor: remove libtransmission::Buffer ( #5676 )
...
* refactor: use StackBuffer in announcer-udp
* chore: update buffer tests
* refactor: remove unused libtransmission::Buffer
superseded by libtransmission::StackBuffer
2023-06-27 19:06:25 -05:00
Charles Kerr
dc88b97f37
refactor: small again ( #5666 )
...
* refactor: restore the non-small parts of 5654
* refactor: restore the peer-mgr-active-requests parts of 5654
* chore: iwyu evbuffer in web.h
2023-06-25 12:33:32 -05:00
Charles Kerr
df1adf0e0f
chore: revert small buffer ( #5654 )
...
* Revert "perf: use libsmall in libtransmission, pt 3 (#5653 )"
This reverts commit 3b03494580
.
* Revert "perf: use small in libtransmission (#5650 )"
This reverts commit 559f6f0332
.
2023-06-22 18:42:48 -05:00
Charles Kerr
559f6f0332
perf: use small in libtransmission ( #5650 )
...
* refactor: reimplement Buffer using small
* refactor: use SmallBuffer in announcer-udp
* refactor: use SmallBuffer in variant-json
* refactor: use SmallBuffer in variant-benc
* refactor: use SmallBuffer in handshake
* refactor: use SmallBuffer in peer-msgs
* refactor: delete move semantics on stack-based buffers
2023-06-21 22:41:09 -05:00
Charles Kerr
52b03c2489
refactor: migrate methods to buffer reader ( #5533 )
2023-05-18 16:56:29 -05:00
Charles Kerr
2cf9678737
fix: revert buffer reserve space ( #5528 )
...
* Revert "refactor: use BufferReader, BufferWriter as function args (#5518 )"
This reverts commit c2d48a7d11
.
* Revert "fixup! refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit b08e17beef
.
* Revert "refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit 51fd7056ba
.
2023-05-14 17:24:42 -05:00
Charles Kerr
c2d48a7d11
refactor: use BufferReader, BufferWriter as function args ( #5518 )
2023-05-12 18:10:08 -05:00
Charles Kerr
51fd7056ba
refactor: add BufferReader, BufferWriter::reserve_space() ( #5513 )
2023-05-12 11:15:15 -05:00
Charles Kerr
0d3b321bac
refactor: use snake_case for libtransmission class methods ( #5497 )
2023-05-05 23:11:05 -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
Julien
4b8cfa2e57
chore: update copyrights to 2023 ( #4834 )
2023-02-11 14:49:42 -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
Charles Kerr
948f597d15
refactor: buffer snake case ( #4682 )
2023-01-27 20:12:09 -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
eb27220662
perf: avoid vector temporary in announcer-udp ( #4519 )
2023-01-02 12:41:47 -06:00
Charles Kerr
806491232b
refactor: add constexpr ( #4514 )
2023-01-01 22:43:23 -06:00
Charles Kerr
453836f324
refactor: make announce key param unique per-torrent ( #4508 )
2023-01-01 13:22:50 -06:00
Charles Kerr
0a69685a4e
refactor: tr_address cleanup ( #4338 )
...
* refactor: move tr_tracker_http_announce() helper funcs into their own namespace
* refactor: move tr_globalIPv6() helper funcs into their own namespace
* refactor: move tr_address_is_valid_for_peers() helper funcs into their own namespace
* refactor: make tr_address_compare() a private method
* refactor: rename tr_address::isIPv4() to is_ipv4()
* refactor: use snake_case for tr_address methods
* refactor: make tr_address_is_valid_for_peers() a member function
2022-12-08 20:27:52 -06:00
Charles Kerr
595d0ac14a
refactor: add tr_announcer.startShutdown() ( #4280 )
2022-11-29 21:05:11 -06:00
Charles Kerr
eeaefca6f3
refactor: UDP and TCP announces use same timeout interval ( #4279 )
...
* refactor: move announce, scrape timeout intervals into announcer-common.h
* refactor: udp and http announces, scrapes use same timeout vals
2022-11-29 19:38:53 -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
19bc15523f
fix: new sonarcloud, coverity, gcc warnings ( #4229 )
2022-11-23 13:47:04 -06:00
Charles Kerr
d27c4c59ce
refactor: incremental announcer refactor pt. 2 ( #4214 )
2022-11-18 23:00:25 -06:00
Charles Kerr
4cc0b77eec
refactor: incremental announcer improvements ( #4211 )
2022-11-17 20:23:54 -06:00
Charles Kerr
42f26aad0b
fix: ftbfs on Windows ( #4204 )
2022-11-16 18:03:48 -06:00
Charles Kerr
a45cc2a79d
refactor: try again to use getaddrinfo in announcer_udp ( #4201 )
2022-11-16 15:13:31 -06:00
Charles Kerr
d2125ee965
perf: revert e065565cd
to restore async dns lookups ( #4182 )
2022-11-15 11:16:49 -06:00
Charles Kerr
250e055c1d
fix: warnings from clang tidy sonarcloud coverity ( #4143 )
2022-11-12 09:53:09 -06:00
Charles Kerr
e065565cd4
reafctor: use getaddrinfo() instead of evdns ( #4094 )
2022-11-04 13:29:56 -05:00
Charles Kerr
088e146cee
fix: crash on large udp announce response ( #4022 )
...
Fixes #4006 .
2022-10-24 17:58:19 -05:00
Charles Kerr
b32f3e0a24
refactor: add tr_address::toCompact() ( #4014 )
...
* refactor: add tr_address::toCompact()
* test: use the theory.org compact ipv4/6 examples in NetTest.compact4, NetTest.compact6
* refactor: add tr_address::toCompact()
* test: add toCompact, fromCompact tests
* refactor: add compact <--> sockaddr_storage conversion
2022-10-24 13:40:12 -05:00
Charles Kerr
d191a04228
refactor: decouple tr_announcer_udp ( #4002 )
2022-10-21 13:15:14 -05:00
Charles Kerr
572e1bb50f
refactor: add tr_address::fromSockaddr() ( #3964 )
...
* refactor: remove TR_DISCARD_ALIGN
* refactor: add tr_address::fromSockaddr()
2022-10-14 01:20:39 -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
Dmitry Antipov
243ab1058d
refactor: fold session UDP innards into C++ class ( #3794 )
...
* Use std::unique_ptr to manage UDP core object
N.B.: it's no longer valid to call socket adjustments quirks from
tr_sessionSetUTPEnabled() because the corresponding object may be
not created yet. We have to create (or re-create) it explicitly
(like it's done in tr_sessionSetDHTEnabled()) or just set
is_utp_enabled_ flag of the session and assume that socket
adjustments will be done later when the object is constructed.
2022-09-21 13:25:53 -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
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