Mike Gelfand
b3abadf8ba
Bump bundled libutp to rollback anonymous unions fix ( #4877 )
2023-02-18 02:59:15 +00:00
goldsteinn
1e5546280e
fix: Remove faulty `popcnt` features checks for MSVC [ #4872 ] ( #4886 )
...
The `popcnt` feature checks weren't actually checking the ISA feature
or cpuid. This caused an illegal instruction exception on x86 hardware
that doesn't support `popcnt` when compiled with MSVC.
Since MSVC doesn't support any x86 ISA defines, the only way to check
for `popcnt` is with cpuid. Since this is a tiny inline function,
dynamic dispatch is likley not worth it so just removing the MSVC
for `popcnt`. MSVC will now fallback to the generic implementation.
2023-02-18 02:11:56 +00:00
Cœur
9b69c7d5ff
Don't force fetch metainfo at startup and new torrents. ( #4895 )
2023-02-14 22:19:47 -06:00
Charles Kerr
4461aa68d9
fix: handle block fragments that arrive from peers out-of-order ( #4890 )
2023-02-14 13:50:28 -06:00
Charles Kerr
9d91d1e969
fix: checksum of pieces that don't align on block boundaries ( #4880 )
2023-02-13 20:57:20 -06:00
Charles Kerr
a982c96518
fix: assertion failed leftUntilDone <= sizeWhenDone ( #4879 )
2023-02-13 19:51:23 -06:00
Charles Kerr
f551b4adbf
fix: magnet links are always paused when added ( #4856 )
2023-02-13 12:33:33 -06:00
Thomas Klausner
62a60b4ea4
fix: link libquota on NetBSD to fix FTBFS ( #4863 )
2023-02-13 12:04:14 -06:00
Charles Kerr
a2faaabe69
chore: remove invalid assertion test ( #4860 )
...
Fixes #4078 .
2023-02-12 18:38:18 -06:00
Cœur
649fd4d0d2
fix: do not lose magnet links when upgrading from tr3 to 4 ( #4840 )
2023-02-12 18:10:54 -06:00
Cœur
0be7091eb1
Revert "fix: remove abort() call from tr_assert_message() ( #4696 )" ( #4851 )
...
This reverts commit 0493542f62
.
2023-02-12 08:16:20 -06:00
Charles Kerr
b7099270b6
fix: tr_swarm order of destruction ( #4847 )
2023-02-12 00:30:30 -06:00
Charles Kerr
8cee2f952e
fix: port forwarding flag not saved between sessions ( #4842 )
2023-02-11 20:49:16 -06:00
Charles Kerr
ba679a814f
fix: try a tcp peer connection before a utp one. ( #4826 )
2023-02-11 16:14:32 -06:00
Julien
4b8cfa2e57
chore: update copyrights to 2023 ( #4834 )
2023-02-11 14:49:42 -06:00
Berbe
b155374137
fix: add nullptr dereference safguard in announcer code
2023-02-11 08:25:28 -06:00
Daniel Kamil Kozar
e0753fedb9
fix: put "private" and "source" inside the metadata "info" key ( #4809 )
2023-02-10 20:33:24 -06:00
Charles Kerr
d0b148c033
fix: misleading error message when resume file is missing ( #4799 )
...
Fixes #4712 .
2023-02-10 14:01:39 -06:00
Charles Kerr
0c582c6d7e
fix: race condition in RPC ( #4725 )
2023-02-06 10:42:37 -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
SweetPPro
1e988c9ce4
fix magnet link start logic ( #4528 )
2023-02-02 00:19:20 -06:00
Charles Kerr
0493542f62
fix: remove abort() call from tr_assert_message() ( #4696 )
2023-02-01 18:19:40 -06:00
Cœur
61fa6f6088
Fix WebUtilsTest.urlParse and psl_builtin for Xcode ( #4642 )
2023-01-31 23:51:04 -06:00
Dmitry Antipov
52d49b84eb
perf: optimize the only block case in Cache::writeContiguous() ( #4679 )
2023-01-30 12:04:40 -06:00
Charles Kerr
e35d65bf4c
fix: call setHasPiece(piece, false) on checkPiece fail ( #4665 )
2023-01-29 19:46:26 -06:00
Charles Kerr
0e5f7f86d7
fix: coverity warnings ( #4687 )
...
* fix: minor tr_error leak warning in tests
* fix: socket leak in tr_globalIPv6()
2023-01-29 16:49:59 -06:00
Charles Kerr
724a0f48f0
fix: clang-tidy header warnings ( #4686 )
2023-01-28 17:58:20 -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
948f597d15
refactor: buffer snake case ( #4682 )
2023-01-27 20:12:09 -06:00
Charles Kerr
c75f9a4a7a
refactor: tidy libtransmission symbol visibility ( #4680 )
2023-01-27 14:25:08 -06:00
Charles Kerr
568b23374c
chore: don't warn on ECONNREFUSED to peer sockets. ( #4678 )
...
Fixes #1031 .
2023-01-27 00:00:00 -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
aabf1b7e0a
fix: remove CURL_VERSION_BITS macro ( #4673 )
...
Fixes #4671 .
2023-01-26 11:25:53 -06:00
anarcat
331e1699bc
add remote HTTPS support to Qt GUI ( #4622 )
2023-01-26 00:24:04 -06:00
Charles Kerr
c81d0b130c
refactor: add tr_error_set_from_errno() ( #4662 )
2023-01-25 12:20:10 -06:00
Charles Kerr
977a190646
fix: msvc warnings ( #4651 )
...
* fix: C4189 local variable is initialized but not referenced
* fix: C4706 assignment within conditional expression
* fix: C4018 signed/unsigned mismatch
* fix: warning C4996 High-DPI scaling is always enabled.
* fix: C4996: QApplication::fontMetrics() is deprecated
eed5514eaf
2023-01-23 19:24:52 -06:00
Cœur
c89edcd1f6
underscores in documentation comments should be code escaped ( #4639 )
2023-01-23 10:26:11 -06:00
Charles Kerr
7367d465b5
style: use the new paragraph comment style everywhere ( #4634 )
2023-01-22 13:21:30 -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
43bb4bc1c8
refactor: remove unused declarations from tr-macros.h ( #4630 )
2023-01-21 17:53:58 -06:00
Charles Kerr
b5c9e3d697
fix: clang-tidy warnings in libtransmission/transmission.h ( #4628 )
2023-01-21 13:49:43 -06:00
InsaneKnight
8755207dcf
fix: semantics for tr_peer_socket dtor, move ctor, and move assignment
...
Default implementations for these functions may leak sockets during
destructing and moving.
2023-01-20 02:28:56 -06:00
Dmitry Antipov
770da79cf3
daemon: check whether log file is regular and may be flushed ( #4612 )
2023-01-18 12:46:57 -06:00
Charles Kerr
33a7d131b4
feat: add setting to choose between lazy-verify or full verify ( #4611 )
2023-01-18 02:09:29 -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
Cœur
e4c5981545
feat: log which tracker is giving a warning ( #4544 )
2023-01-17 01:46:43 -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
bd461e1081
refactor: use std::function for announcer callback ( #4575 )
2023-01-15 12:37:54 -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
Dmitry Antipov
a5c7b65869
perf: avoid extra time() call ( #4577 )
2023-01-11 09:26:58 -06:00
Dmitry Antipov
0af121004c
chore: remove unused callback arg ( #4573 )
2023-01-10 14:47:53 -06:00
Charles Kerr
e4b480ecd4
fix: tr_torrentStat() acquires a session thread lock ( #4571 )
2023-01-10 09:05:31 -06:00
Charles Kerr
2b89ee508b
feat: change 403 error message ( #4567 )
2023-01-09 10:52:19 -06:00
Charles Kerr
8b1290c895
build: remove explicit iconv dependency in libtransmission ( #4565 )
2023-01-08 22:21:31 -06:00
Charles Kerr
d9278bd167
refactor: misc-use-anonymous-namespace pt. 5 ( #4552 )
2023-01-07 16:55:00 -06:00
Charles Kerr
cb10255ef1
refactor: misc-use-anonymous-namespace pt. 4 ( #4550 )
2023-01-07 12:58:16 -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
634b1e8fc1
fixup! fix: Couldnt send to IPv6 address warnings ( #4527 ) ( #4537 )
2023-01-04 18:18:22 -06:00
Charles Kerr
b47c34726b
refactor: tr_peer_socket keeps track of peer count ( #4534 )
2023-01-04 15:37:55 -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
Charles Kerr
dc968892ec
fix: Couldnt send to IPv6 address warnings ( #4527 )
2023-01-03 21:12:05 -06:00
Charles Kerr
1e521b9030
fix: -Wredundant-decls warning when building with g++ ( #4526 )
2023-01-03 15:26:04 -06:00
Charles Kerr
106bcbbe7b
fix: clang-tidy-15 warnings ( #4525 )
2023-01-03 14:10:12 -06:00
Mike Gelfand
105d23c09e
Fix clang-tidy issue in `iconv` 2nd argument helper ( #4520 )
...
Since operators were intentionally implicit and we don't want to add more
`NOLINT` comments than necessary, rework the approach to deduce the argument
type instead and cast to it.
2023-01-02 22:59:53 +00:00
Charles Kerr
eb27220662
perf: avoid vector temporary in announcer-udp ( #4519 )
2023-01-02 12:41:47 -06:00
Charles Kerr
2d2a5e1ad6
refactor: more constexpr ( #4518 )
2023-01-02 11:34:36 -06:00
Mike Gelfand
57e6b06921
Modernize CMake code (ongoing refactoring) ( #4515 )
...
* Use imported CMake target for CURL
* Use imported CMake target for fmtlib
* Use imported CMake target for WideInteger
* Use imported CMake target for FastFloat
* Use imported CMake target for UtfCpp
* Use imported CMake target for Threads
* Use imported CMake target for Iconv
* Use imported CMake target for crypto backend
* Use imported CMake target for GTK
* Use imported CMake target for Qt
* Use imported CMake target for deflate
* Use imported CMake target for libevent
* Use imported CMake target for natpmp
* Use imported CMake target for miniupnpc
* Use imported CMake target for dht
* Use imported CMake target for psl
* Use imported CMake target for libutp
* Use imported CMake target for libb64
* Use include directories from libtransmission target
2023-01-02 16:23:51 +00:00
Charles Kerr
806491232b
refactor: add constexpr ( #4514 )
2023-01-01 22:43:23 -06:00
Charles Kerr
24eb6ef293
fix: use SO_REUSEADDR when binding UDP ports ( #4513 )
...
* fix: use SO_REUSEPORT when binding UDP ports
* chore: cast 3rd arg of setsockopt
2023-01-01 20:36:20 -06:00
Charles Kerr
d338eb3bdc
refactor: simplify tr_udp_core::sendto() ( #4510 )
2023-01-01 17:16:13 -06:00
Charles Kerr
47ebb3f63a
refactor: remove obsolete lightweight build option ( #4509 )
2023-01-01 16:24:12 -06:00
Mike Gelfand
bc380511db
Modernize CMake code (ongoing refactoring) ( #4507 )
...
* Reformat CMake code
* Bump minimum CMake version to 3.12
* Add target sources separately via `target_source()`
* Make `tr_win32_app_info()` add target sources on its own
* Don't use `include_directories()`
* Don't use `add_definitions()`
* Limit use of `add_compile_options()`
* Move VDKQueue target declaration to a subdirectory
* Add `tr_disable_source_files_compile()` helper
* Add `tr_target_glib_resources()` helper
* Add `tr_gettext_msgfmt()` helper
* Enable AUTOUIC for Qt client
* Enable AUTORCC for Qt client
* Remove AUTO{MOC,RCC,UIC} source group overrides
* Add `tr_target_idl_files()` helper
* Move source group setup to `tr_qt_add_translation()`
* Add `tr_target_xib_files()` helper
* Prefer `target_sources()` to intermediate variables
* Use explicit visibility versions of `target_*()` commands
* Prefer genexes to conditions in `target_*()` commands
* Add `tr_allow_compile_if()` helper
* Leave only top-level `project()`, remove the rest
* Minor fixups
* Fixup Mac QL plugin install
* Fixup IDE target folders and source groups
2023-01-01 19:49:48 +00:00
Charles Kerr
453836f324
refactor: make announce key param unique per-torrent ( #4508 )
2023-01-01 13:22:50 -06:00
Charles Kerr
611b181a99
feat: add `yourip` to extension protocol handshake ( #4504 )
...
* feat: add yourip to the extension protocol handshake
2023-01-01 12:20:46 -06:00
Charles Kerr
db38f9aa2c
fix: remove announce ipv4 ipv6 query params ( #4502 )
2022-12-31 13:13:59 -06:00
Charles Kerr
53f5a33616
fix: fix omitted fmt call ( #4494 )
2022-12-31 10:49:27 -06:00
Mike Gelfand
f7edcfcb2a
Drop obsolete CyaSSL and PolarSSL crypto backends ( #4495 )
...
* Drop support for CyaSSL (keep WolfSSL)
* Drop support for PolarSSL (keep MbedTLS)
2022-12-29 22:38:04 +00:00
Charles Kerr
2b90a5fd55
refactor: possible FTBFS fix on arm7 ( #4492 )
...
* refactor: possible FTBFS fix on arm7
* chore: remove tr_rand_int_weak() from crypto-test-ref
* refactor: move tr_rand_int() to header
2022-12-29 10:30:03 -06:00
Charles Kerr
5ce503f1ab
refactor: udp_core constructor ( #4469 )
...
* refactor: udp_core constructor
* refactor: invert dependency between tr_session.publicAddress() and tr_globalIPv6()
2022-12-28 02:03:35 -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
ab9e971903
refactor: tr_globalIPv6() returns a std::optional<tr_address> ( #4464 )
2022-12-25 07:55:51 -06:00
Charles Kerr
a3f561bcc0
refactor: add tr_address.is_global_unicast_address() ( #4462 )
...
Was previously private to net.cc. Expose here so that we can add tests.
Add tests.
2022-12-24 18:53:50 -06:00
Charles Kerr
1402cb2949
refactor: add TR_CONSTEXPR20 to make future C++20 migration easier ( #4457 )
2022-12-23 15:21:40 -06:00
Cœur
559b759ea0
Fix tr_torrent_view incorrectly returning is_folder false for single files in a single folder ( #4454 )
2022-12-23 13:52:16 -06:00
Cœur
3cee8bae36
Fixed crash on exit while downloading from webseed ( #4451 )
2022-12-23 11:34:08 -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
07a5e560b7
fixup: peer counts ( #4445 )
2022-12-22 17:43:36 -06:00
Charles Kerr
4549cc74a0
refactor: add tr_torrent::do_idle_work() ( #4434 )
2022-12-21 17:21:28 -06:00
Charles Kerr
c74ac4f4ed
perf: cache the peer, atom count instead of always recomputing it ( #4431 )
2022-12-21 12:07:40 -06:00
Charles Kerr
092d411663
refactor: tr_rand_buffer(), tr_rand_int() again ( #4415 )
2022-12-21 09:58:32 -06:00
Charles Kerr
e17da3e19e
refactor: xunused ( #4416 )
...
* chore: remove unused function gtr_combo_box_new_enum()
* chore: remove unused function gtr_priority_combo_new()
* chore: remove unused function tr_logLevelToKey()
* refactor: remove unused tr_sessionGetDeleteSource()
* refactor: remove unused peer_atom::isValid()
2022-12-20 18:48:36 -06:00
Charles Kerr
1e734f36b1
perf: cache the result of thread_current_id() ( #4425 )
2022-12-20 14:59:02 -06:00
Charles Kerr
ebc93788ce
perf: make bandwidth.allocate() bidirectional ( #4424 )
...
Previously `bandwidth.allocate()` was called twice in a row, once for
upload bandwidth and once for download bandwidth.
It has some semi-expensive housekeeping though, so avoid doing that work
twice by having a single call to `bandwidth.allocate()` operate on both
up and down bandwidth.
2022-12-20 13:49:37 -06:00
Charles Kerr
5493ed644e
refactor: use tr_rand_buf() in tr_bandwidth::phaseOne() ( #4404 ) ( #4411 )
2022-12-19 17:31:24 -06:00
Charles Kerr
d290ece0c8
perf: recycle DH MSE keys iff peer was unreachable ( #4412 )
2022-12-19 16:49:26 -06:00
Reed Morrison
edfce44d35
refactor: remove unused UTP Socket code. ( #4409 )
2022-12-19 15:16:46 -06:00