Charles Kerr
c76cb4db51
fix: silence torrent-metainfo warnings for cross_seed_entry, uid ( #5365 )
2023-04-10 11:07:43 -05:00
tearfur
931beba56f
fix: set log level before constructing tr_session ( #5345 )
2023-04-03 15:37:28 -05:00
tearfur
e68c72daa4
fix: tr_net_hasIPv6() ( #5312 )
2023-03-28 13:41:07 -05:00
tearfur
85a00625dc
fix: intermediate fix for HTTP announce behaviour affected by `bind-address-ipv*` ( #5296 )
2023-03-28 12:59:42 -05:00
Mike Gelfand
a216bd7cec
Use locale-dependent decimal separators for user-visible numbers ( #5288 )
...
This includes percents, ratios, sizes, speeds, etc. coming from shared
formatting helpers. Previously based on sprintf-like functions using
locale, now using libfmt which doesn't use locale by default and needs
to be instructed to do it explicitly.
2023-03-23 19:48:45 -05:00
Cœur
3e97d0b9c2
fix: The right operand of '<' is a garbage value ( #5285 )
2023-03-23 12:05:11 -05:00
Charles Kerr
d63165e8a4
perf: fix wishlist cpu load regression, pt. 2 ( #5273 )
2023-03-22 10:24:10 -05:00
Charles Kerr
25f38d5ff3
fix: wrong tier value in torrent get tracker stat response ( #5274 )
2023-03-21 20:23:08 -05:00
Charles Kerr
58ce7bd437
fix: 4.0.2 wishlist CPU perf regression pt. 1 ( #5266 )
2023-03-20 21:08:16 -05:00
Cœur
c60bb5b834
fix: crash when magnet dn isn't utf-8 ( #5244 )
2023-03-19 10:36:16 -05:00
Charles Kerr
5cc3bf8a97
fix: generate peer-id on launch ( #5233 )
2023-03-15 20:53:48 -05:00
Charles Kerr
3aeefec203
chore: remove unused header includes ( #5227 )
2023-03-14 18:36:15 -05:00
Charles Kerr
a87d39f3bd
fix: filter out peers with port 1 from DHT peer lists. ( #5218 )
2023-03-13 19:27:47 -05:00
Charles Kerr
6224b60728
fix: wrong error message when writing to incomplete dir ( #5217 )
2023-03-13 16:20:39 -05:00
Colin B
59a157ebde
feat: restore support for nonstandard `path.utf-8` ( #3454 )
2023-03-13 13:58:59 -05:00
Charles Kerr
dabd29f2b2
fix: std::clamp() assertion failure in maxAvailableReqs() ( #5203 )
2023-03-11 22:25:21 -06: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
86fd89fff4
fix: remove interest strategy code that could contribute to oscillating download speeds. ( #5176 )
2023-03-10 13:21:51 -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
Charles Kerr
033d698306
fix: parsing of ipv6 tracker announce URLs ( #5174 )
2023-03-07 12:19:12 -06:00
Charles Kerr
39e3e1d87b
fix: increase priority of first and last piece of each file ( #5167 )
...
The first and last pieces of a file generally include information needed
by preview generators, so prioritizing those pieces makes life easier
for users or tools that look at files while they're being downloaded.
This worked in 3.00 but isn't present in 4.0.0.
2023-03-06 15:50:19 -06:00
reardonia
56c1bb2a9e
fix: publish 'leechers' iff it was in tracker response ( #5164 )
2023-03-06 09:22:40 -06:00
Charles Kerr
b2b0f0db39
fix: crash in curl_easy_pause() ( #5161 )
2023-03-05 23:42:52 -06:00
Charles Kerr
47001a394e
fix: 7f9ef4730
use-after-free in peerMsgs::canRead ( #5152 )
2023-03-05 11:50:11 -06:00
Charles Kerr
7f9ef4730e
fix: assertion failure in readBtPiece() ( #5097 )
2023-03-03 17:43:51 -06:00
Daniel Kamil Kozar
848212eea1
fix: escaped representation of non-BMP characters when generating JSON ( #5096 )
2023-03-02 00:55:16 -06:00
Charles Kerr
d3273504bd
fix: 5053 old torrent files keep appearing ( #5117 )
2023-03-01 20:12:19 -06:00
Charles Kerr
211e3fc985
fix: always add `announce` key even when including announce-list ( #5106 )
2023-03-01 13:10:20 -06:00
Cœur
63653b4831
fix: recheckCompleteness on setDownloadDir ( #5060 )
2023-02-28 08:51:11 -06:00
Charles Kerr
1a276fb145
fix: 4.0.0 bookkeeping of protocol overhead when receiving peer messages ( #5091 )
2023-02-27 20:25:15 -06:00
Charles Kerr
f53e58c8bd
fix: 4.0.0 regression that broke speed limits for utp peers ( #5086 )
2023-02-27 15:03:45 -06:00
Charles Kerr
ac319321b5
fix: assertion failure in std::clamp() when called from rechokeDownloads() ( #5080 )
2023-02-27 11:59:00 -06:00
HAkos1
238fd96041
fix: don't log full path, only the filename of source file ( #5055 )
...
Co-authored-by: Akos Horvath <koma@koma.sh>
2023-02-27 10:02:58 -06:00
Charles Kerr
47fd150bab
fix: some torrents think they are magnets ( #5025 )
2023-02-25 07:11:19 -06:00
Mike Gelfand
81f8ceb0f9
Limit in-kernel file copying to 2 GiB blocks at a time ( #5039 )
...
This reportedly helps with copying to cifs target where
`copy_file_range()` would sometimes return `EINVAL` for no apparent
reason when copying large files. Extending the limit to `sendfile64()`
to avoid similar issue there, if it exists.
Overall, copying at most 2 GiB at a time will result in more syscalls
but shouldn't affect the performance gain in any noticeable way.
2023-02-25 03:15:17 +00:00
wiz78
450e98fd91
fix: TR_TIME_LOCALTIME value in torrent scripts ( #5006 )
2023-02-23 07:18:29 -06:00
Charles Kerr
9d1a141482
fix: cannot build with clang on Windows ( #4978 )
...
Fixes #4977 .
2023-02-21 11:08:28 -06:00
Charles Kerr
ed8133520f
fix: blocklists allocate more memory than they need ( #4953 )
2023-02-19 09:20:23 -06:00
Charles Kerr
e29064023f
fix: try utp connection first; fix utp timeout issues. ( #4897 )
2023-02-18 10:03:59 -06:00
Charles Kerr
adf5051d46
fix: revert tr_torrentStat() acquires a session thread lock ( #4571 )
...
This reverts commit e4b480ecd4
.
2023-02-17 23:11:24 -06:00
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
Charles Kerr
5743758edd
Revert "perf: recycle Diffie-Hellman keys iff peer was unreachable ( #4408 )"
...
This reverts commit 35a0211118
.
2022-12-19 15:12:33 -06:00
Charles Kerr
35a0211118
perf: recycle Diffie-Hellman keys iff peer was unreachable ( #4408 )
2022-12-19 14:45:01 -06:00
Charles Kerr
76db72bc4b
perf: lazy-calculate torrent seconds-seeding stat ( #4393 )
2022-12-18 22:59:58 -06:00
Charles Kerr
9e6ffa351c
perf: reduce excess rand() calls in tr_bandwidth::phaseOne() ( #4404 )
2022-12-18 13:24:46 -06:00
Mike Gelfand
128cf34123
Move jsonsl and wildmat to third-party ( #4402 )
...
* Move jsonsl to third-party
This treats it as proper 3rd-party code to which our warning and style
settings don't extend.
* Move wildmat to third-party
This treats it as proper 3rd-party code to which our warning and style
settings don't extend.
* Fixup Xcode project to match new project structure
2022-12-18 19:19:07 +00:00
Charles Kerr
28b12f091f
perf: remove libtransmission::Buffer.vecs() ( #4401 )
...
Its two calls to evbuffer_peek() used 3.5% of CPU use (measured with perf
when built with RelWithDebInfo). I added vecs() so that libtransmsision
could send noncontiguous buffers via utp_writev(); but in my testing, all
the buffers being sent are contiguous and so this is unnecessary work.
2022-12-18 12:09:02 -06:00
Charles Kerr
cc4141c619
fixup: 3899255
( #4394 )
2022-12-18 11:18:25 -06:00
Cœur
4ff59b715d
Fixed implicit conversion warning: __LINE__ is a long ( #4397 )
2022-12-18 10:23:44 -06:00
Mike Gelfand
e694c3e3a0
Use C++ (not C) warning flags for GTK client ( #4395 )
...
Use the opportunity to reduce duplication.
2022-12-18 01:02:03 +00:00
Charles Kerr
3899255f1c
fix: tear down utp _after_ peer-mgr ( #4383 )
2022-12-17 14:10:10 -06:00
Charles Kerr
616e79c0a8
refactor: group related tr_peerIo methods together ( #4380 )
...
* refactor: group related functions together in the source
* refactor: make tr_peerIo::decrypt() private
* refactor: make tr_peerIo::is_seed() private
* refactor: remove unused tr_isPeerIo()
2022-12-16 17:21:01 -06:00
Charles Kerr
e6d75a4b77
refactor: tr_peerIo ( #4372 )
2022-12-16 01:23:12 -06:00
Cœur
669faf7474
Dropped tr_rand_int_weak where possible. ( #4271 )
2022-12-14 12:21:56 -06:00
Ștefan Talpalaru
b0eaec47cd
fix: re-enable port forwarding ( #4343 )
2022-12-14 01:31:48 -06:00
Charles Kerr
6f1153cae4
refactor: tr_handshake ( #4362 )
2022-12-13 19:58:39 -06:00
Cœur
4a80f800a6
Fixed crash on exit in tr_utpPacket ( #4348 )
2022-12-13 16:51:54 -06:00
Charles Kerr
2f6315b649
refactor: tr_handshake lifecycle ( #4358 )
2022-12-13 11:59:21 -06:00
Cœur
9e0b42a61d
Fixed logic in tr_wildmat ( #4353 )
2022-12-12 16:35:40 -06:00
Cœur
7814e0736e
Fixed tr_bitfield::operator|= range ( #4351 )
2022-12-12 02:23:59 +00:00
Charles Kerr
5bd4f007ac
fix: remove invalid assertion from bitfield code ( #4346 )
2022-12-10 14:54:22 -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
0061e4f9a9
refactor: tr_address::display_name() ( #4335 )
2022-12-08 16:44:19 -06:00
Charles Kerr
f176bb299a
fix: broken detection of peer udp port ( #4334 )
2022-12-08 14:44:39 -06:00
Charles Kerr
e06e304cc8
refactor: fix shutdown order of utp ( #4331 )
2022-12-06 14:28:48 -06:00
Charles Kerr
22a3a5db25
refactor: peer-socket pt 2 ( #4326 )
...
* refactor: tr_netOpenPeerSocket() now takes a tr_address reference
* refactor: disable copy assignment, copy constructor
* refactor: move log statements to peer_socket constructor
2022-12-06 10:28:28 -06:00
Charles Kerr
9a5d9a0ba2
refactor: tr_peer_socket ( #4325 )
...
* refactor: make tr_peer_socket.type private
* refactor: reimplement tr_peerIo::address() as a wrapper around tr_peer_socket::address()
* refactor: remove tr_address, tr_port from tr_peerIo
* refactor: replace tr_netClosePeerSocket() with tr_peer_socket::close()
2022-12-05 18:53:31 -06:00
Charles Kerr
468310300c
refactor: only need a single handshake mediator ( #4322 )
2022-12-05 11:47:11 -06:00
Charles Kerr
728e5b8350
refactor: stop tracking peerIo creation time ( #4300 )
2022-12-02 10:39:46 -06:00
Dmitry Antipov
bf6c80ae35
refactor, ci: switch clang-format to LLVM 15 ( #4297 )
...
Bump required clang-format version to 15
2022-12-02 09:57:50 -06:00
A Cœur
a656b3b8c9
fix: tr_rand_int modulo bias and fixed tr_rand_int for values larger than INT_MAX. ( #4235 )
2022-11-30 22:58:14 -06:00
Charles Kerr
a7261526ac
fix: shut down utp sooner during session shutdown ( #4287 )
2022-11-30 16:35:10 -06:00
A Cœur
e038121857
refactor: second log of UTP errors as 'trace' messages ( #4283 )
2022-11-30 14:06:08 -06:00
Charles Kerr
f03fc9270b
Fix/long shutdown crash on shutdown ( #4285 )
2022-11-30 13:00:34 -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
22d12aedc5
refactor: GTK favicon lookup improvements ( #4278 )
2022-11-29 18:09:32 -06:00
Charles Kerr
8900a1646e
refactor: do not report peer EOF as an error ( #4275 )
2022-11-29 10:48:20 -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
4adda4dc1e
fix: sonarcloud cpp:S6005 ( #4268 )
2022-11-28 18:26:03 -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
f27c5fa0fa
refactor: make some local pointer vars pointer-to-const ( #4262 )
2022-11-28 09:45:39 -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
0ee93068bb
fix: TR_TORRENT_LABELS env var in scripts ( #4260 )
2022-11-27 21:59:45 -06:00
Charles Kerr
0efb96124b
perf: remove cpu bottleneck in tr_peerIo::write() ( #4258 )
2022-11-27 20:46:03 -06:00
Charles Kerr
49393daf01
refactor: use std::optional.value_or() ( #4255 )
2022-11-27 14:56:34 -06:00
Charles Kerr
33c1098ea0
refactor: reduce scope of TR_NATIVE_EOL_STR, TR_NATIVE_EOL_STR_SIZE ( #4254 )
2022-11-27 12:11:25 -06:00
Charles Kerr
3dd5cb439d
chore: updsate mime-types ( #4246 )
...
just running mime-types.js
2022-11-26 09:03:39 -06:00
Charles Kerr
ec6cb67c5c
fix GTK client message log window does not restore level selection ( #4242 )
...
* fix: save log level, encryption mod, preallocation mode as ints
* fix: ensure log level is saved in tr_sessionGetSettings()
* fix: ensure the right verbosity row is selected
2022-11-26 07:32:51 -06:00
Charles Kerr
feeea2649e
refactor: make tr_announcer.key a uint32_t ( #4241 )
2022-11-25 19:11:55 -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
A Cœur
342484d14a
refactor: log UTP_ETIMEDOUT errors to 'trace' messages ( #4237 )
2022-11-25 14:44:49 -06:00
Charles Kerr
554ba06ae2
fix: coverity warnings, sonarcloud code smells ( #4232 )
2022-11-24 10:17:02 -06:00
Charles Kerr
19bc15523f
fix: new sonarcloud, coverity, gcc warnings ( #4229 )
2022-11-23 13:47:04 -06:00
Charles Kerr
046ba32d33
fixup: heap-use-after-free in announce, scrape response on shutdown ( #4228 )
...
fixes #4222 .
2022-11-23 01:38:31 -06:00
Charles Kerr
a8f2b840f7
perf: improve tr_peerMgrGetDesiredAvailable() ( #4226 )
2022-11-22 23:26:10 -06:00
Charles Kerr
40c7f5bceb
perf: constexpr and move work outside of loops ( #4224 )
2022-11-22 14:00:09 -06:00
Charles Kerr
43c57fb02a
perf: buffer iterators ( #4220 )
2022-11-21 23:54:28 -06:00
Charles Kerr
a3772dc1fa
refactor: aggregate dh in peer io ( #4218 )
2022-11-21 18:08:06 -06:00
A Cœur
d26db72d7e
Fix "Implicit conversion loses integer precision" ( #4194 )
2022-11-21 10:19:45 -06:00