When the --config-dir/-g option was passed, this bug caused all options
preceeding it on the command line to be ignored.
Also remove the superfluous break statement.
Regression introduced by e49747ab51.
* ci: bump `clang-tidy` from 14 to 18
`clang-tidy-14` has been crashing when being run on `peer-mgr.cc` since 96de1706af.
According to https://github.com/llvm/llvm-project/issues/95631, upgrading to `clang-tidy-18` fixes this.
* chore: workaround clang-tidy false positives
* fix: limit nolint comment scope
* code review: try avoiding false positive without nolint
* fix compile error with gcc 8.2: no matching function for call to ‘flock::flock(tr_sys_file_t&, const int&)
* #error temp checking which pipelines have XFS
* code review: removing duplicate include
---------
Co-authored-by: yunhai <haihai107@126.com>
This is related to #4850 since libtransmission/mime-types.js generates
libtransmission/mime-types.h and puts it there.
Also add a note that the file is automatically generated for good measure.
* chore: do not include <set> unless we use it
* chore: do not include <map> unless we use it
* chore: do not include <string> unless we use it
* chore: do not include <list> unless we use it
* chore: do not include <memory> unless we use it
* chore: do not include <optional> unless we use it
* chore: do not include <functional> unless we use it
* chore: housekeeping
* refactor: reduce copying when building payloads
* feat: dual-stack udp tracker support
* refactor: convert function names to snake_case
* fix: `readability-identifier-naming` warning
* fix: account for dual-stack in tests
* code review: add prefix to global names
* fix: don't resolve to IPv4-mapped address
* refactor: use `tr_address` method to check ip protocol
* fix: workaround MSVC x86 build failure
* fix: handle host components that has square brackets
* Partial Revert: "fix: account for dual-stack in tests"
Not needed anymore
* fix: store ipv6 peers in pex6
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fix: don't save blocks bitfield to resume when we are seed
* chore: housekeeping
* code review: replace `auto` with `tr_resume::fields_t`
* code review: remove the `have` key in resume
* fix: `blocks` error message
* chore: housekeeping
* refactor: store peer info objects in shared_ptr
* refactor: minimise insert/erase operations to the peer info pool
* refactor: unify `on_got_port()` exit point to simplify cleanup
* fix: use `std::unordered_map` as a stand-in for `small::map`
* refactor: use small maps but with `std::vector` as base
* fix: suppress goto warning
* refactor: use `small::map`
* fix: remove constexpr
* feat: allow upnp to recover from errors
* feat: allow natpmp to recover from errors
* chore: housekeeping
* code review: explicitly list all states to start discovering from
* fix: recover from failed UPnP discovery
* refactor: remove `UpnpState::Failed`
std::chrono::duration is just a wrapper, underlying numerical value member will be default initialized to zero as expected.
See https://en.cppreference.com/w/cpp/chrono/duration
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* fix: queue torrent verification as soon as metadata complete
* fix: avoid heap-use-after-free in `tr_peerMsgsImpl::process_peer_message()`
Details: https://github.com/transmission/transmission/pull/6383#discussion_r1429202253
* code review: move `tr_torrent::do_magnet_idle_work()` to private
* code review: `std::deque::empty()` is not `constexpr`
* fix: test