Commit Graph

16055 Commits

Author SHA1 Message Date
orangepizza 8bb49e3fdf
fix: building with mbedtls 3.X (#6822)
uses renamed funtion name for mbedtls 3.x

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
2024-05-25 12:41:03 -05:00
niol be67b33f42
systemd service documentation key (#6781)
Co-authored-by: Barak A. Pearlmutter <barak+git@pearlmutter.net>
2024-05-25 11:51:51 -05:00
Yat Ho 9748f42c5a
fix: restore portable file path check (#6853)
* chore: change to snake_case naming

* fix: restore portable file path check

* fix: macosx build
2024-05-25 10:08:53 -05:00
niol adc405e5be
fir scripts, document usage of systemd overrides rather than changing /lib files (#6800) 2024-05-24 15:52:10 -05:00
Dzmitry Neviadomski e8a72d9c5d
Default initialize sleep callback duration in tr_verify_worker (#6789)
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>
2024-05-24 15:51:16 -05:00
Yat Ho 09b67c84b1
fix: possible heap-use-after-free with magnet links (#6815)
* 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
2024-05-24 15:50:01 -05:00
Cœur 740ce3b904
Avoiding "sec" as abbreviation (#6828)
* Avoiding "sec" as abbreviation

* code review: KBit -> Kb
2024-05-24 10:34:05 -05:00
Cœur 0a299bbbe8
docs: add notes on how to build Qt app with CMake (#6814) 2024-05-24 10:33:24 -05:00
Dzmitry Neviadomski 78c82b4526
Update outdated Doxygen params refs for tr_recentHistory (#6791)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-05-24 10:31:50 -05:00
Dzmitry Neviadomski f24582ea2b
Fix incorrect value for SortIncludes in .clang-format (#6784)
See https://clang.llvm.org/docs/ClangFormatStyleOptions.html#sortincludes

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-05-24 10:31:21 -05:00
Cœur 1be53ac139
removing temporary workaround for sanitizer crashes (#6802) 2024-05-24 10:16:46 -05:00
Yat Ho b6363fcf47
fix: store seconds downloading/seeding when stopping torrent (#6844)
* fix: save seconds downloading when stopping torrent

* fix: save seconds seeding when stopping torrent
2024-05-24 10:12:30 -05:00
Yat Ho 459c8d3791
fix: escape single file torrent name (#6846) 2024-05-24 10:08:33 -05:00
Cœur 6c1cee5f79
fix: crash in printTorrentList() (#6819)
* Fix crash in printTorrentList

* code review: accept nullptr setme
2024-05-05 15:26:41 -05:00
Cœur fcb40c2f22
Avoiding &rarr; in UTF-8. (#6827) 2024-05-04 12:21:02 -05:00
Pooyan Khanjankhani 821a6816ef
doc: fix typo (#6790) 2024-04-21 18:21:17 -05:00
Dzmitry Neviadomski ef18816b7f
Fix code style script path in CONTRIBUTING.md (#6787)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-04-21 07:36:13 -05:00
Dzmitry Neviadomski 0e25584e78
Make std::hash specialization for tr_socket_address a struct (#6788)
To be in line with std::hash declaration

See https://en.cppreference.com/w/cpp/utility/hash

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-04-20 21:01:47 -05:00
Dzmitry Neviadomski bd0b74fccb
Use std::declval instead of nullptr cast trick (#6785)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-04-15 15:18:43 -05:00
Yat Ho 92519281b0
refactor: convert `tr_webseed` to C++ interface (#6708)
* chore: housekeeping

* refactor: convert `on_idle()` to class method

* refactor: convert `task_request_next_chunk()` to class method

* refactor: convert `onPartialDataFetched()` to class method

* refactor: convert `onBufferGotData()` to class method

* refactor: convert `useFetchedBlocks()` to class method

* refactor: hide some `tr_webseed_task` fields and methods

* refactor: convert `tr_webseed_task` methods to snake_case

* refactor: remove `write_block_data`

* refactor: store reference to `tr_torrent` directly

* refactor: convert `ConnectionLimiter` methods to snake_case

* refactor: convert `tr_webseed` methods to snake_case

* refactor: hide `tr_webseed` callback member variables

* refactor: convert `tr_webseed` to C++ interface
2024-04-02 09:31:20 -05:00
Will Thompson de11cbdf85
chore: add Add <launchable> tag to GTK client metainfo (#6720) 2024-04-01 17:29:36 -05:00
Cœur c0c00d0d19
Replace mac app default BindPort with a random port (#5102) 2024-04-01 11:53:04 -05:00
Cœur 5e5ec143b4
bump fast-float to 6.1.1 and miniupnpc to 2.2.7 and libdeflate to 1.2.0 (#6721)
* bump fast-float to 6.1.1

* bump miniupnpc to 2.2.7

* bump libdeflate to 1.2.0
2024-04-01 11:19:49 -05:00
Cœur cdbc8574a7
feat(macos): added last known location (#6610)
* feat(macos): added last known location

* fix data file label and reveal data button positions

* code review: code style

---------

Co-authored-by: BogdanArdelean <bogdan.ardelean@ymail.com>
2024-04-01 09:53:48 -05:00
Nick fb79a2d399
qt: add dynamic RPC keys (#6599)
* add dynamic main stat keys

* make dynamic rpc calls more generic
2024-04-01 09:02:17 -05:00
Yat Ho 87862e506d
feat: support different internal and external port for UPnP (#6672)
* feat: support different internal and external port in upnp

* chore: housekeeping

* code review: better log wording
2024-03-31 18:49:19 -05:00
Cœur 7264e2dc90
feat: support "torrent" in Spotlight indexation (#6578)
* feat: support "torrent" in Spotlight indexation

* removing "btih" from spotlight keywords
2024-03-31 17:05:06 -05:00
Cœur e0fdd4e9c5
doc: no need to adopt an alternative to VDKQueue (#6600) 2024-03-31 16:39:18 -05:00
Cœur ded869974c
ci: support macos-14 universal builds (#6626)
* support macos-14 universal builds

* Apply suggestions from code review

Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* add the arch to the job's name

* revert support macos-14 universal builds

---------

Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-31 16:31:30 -05:00
Cœur 764f2ad85a
ci: re-enable ubuntu tests (#6715)
* re-enabling ubuntu tests

* official GitHub workaround
2024-03-31 15:32:58 -05:00
Yat Ho e619718a1e
fix: save sequential download across sessions (#6746) 2024-03-31 15:01:05 -05:00
Cœur 0ee64695ca
test: disable restartWithDifferentInterval for all platforms (#6745) 2024-03-31 14:07:12 -05:00
Yat Ho e1c9fbde60
fix: restore loose data type parsing in RPC and `settings.json` (#6723)
* refactor: incorporate lenient parsing from `tr_variantGet*()` functions into `tr_variant`

* fix: restore loose data types in RPC and settings.json

* fix: workaround GCC defect

* fix: MSVC build
2024-03-31 14:06:36 -05:00
Cœur 460ce7c302
Add start_paused to settings file and daemon (#6728)
* Add daemon-startPaused to settings file

* code review: naming

* "Predefined quarks must be sorted by their string value"

* code review: replacing paused_ with tr_variantDictAddBool/tr_variantDictFindBool

* code review: doc

* Update docs/Editing-Configuration-Files.md

Co-authored-by: Yat Ho <lagoho7@gmail.com>

---------

Co-authored-by: Eugen Beck <beck@cs.rwth-aachen.de>
Co-authored-by: Yat Ho <lagoho7@gmail.com>
2024-03-30 16:39:44 -05:00
Yat Ho 6384abeb2b
fix: invalid socket address in `tr_peerIo::reconnect()` (#6750)
* fix: don't discard socket if reconnect failed

* fix: don't try to reconnect more than once
2024-03-30 15:26:55 -05:00
Charles Kerr d935d364ed
refactor: remove torrent_view virtual class (#6738)
* refactor: remove torrent_view virtual class

* chore: workaround for google-readability-todo warnings

* chore: fix completion tests
2024-03-30 14:45:00 -05:00
Yat Ho 8944e587f9
fix: assert failure when moving torrents to bottom of the queue (#6751) 2024-03-30 13:49:03 -05:00
Cœur bc7d447949
fix shadowed declaration warnings [-Wshadow] (#6759) 2024-03-30 12:56:48 -05:00
Cœur 465b878e8a
Win32 compatibility for get_peer_stats (#6743) 2024-03-28 09:40:08 +00:00
Yat Ho 2ff3ae07d1
fix: more misc `net.cc` fixes (#6735)
* feat: accept ipv6 string in square brackets for `tr_address::from_string()`

* test: add test case for ipv6 string in square brackets

* fix: include square brackets in host component

According to RFC3986:
  host       = IP-literal / IPv4address / reg-name
  IP-literal = "[" ( IPv6address / IPvFuture  ) "]"

* fix: set ipv6-only socket before binding UDP socket

Will return EINVAL on Linux otherwise

* refactor: simplify code using `evutil` when binding TCP socket

* fix: do not set SO_REUSEADDR for listening sockets on Windows systems

Reason: https://stackoverflow.com/a/14388707/11390656

* fix: do not enclose ipv4 address string in square brackets
2024-03-25 21:10:06 -05:00
Cœur 2917374159
add macos-11 to actions.yml (#6617) 2024-03-25 20:46:11 -05:00
Yat Ho 1568659f95
fix: mismatched `class` forward declaration for `struct tr_peer` (#6725) 2024-03-25 12:00:26 -05:00
Yat Ho c223c70644
fix: potential nullptr deference in rpc (#6734) 2024-03-25 09:55:45 -05:00
Charles Kerr b318bf8d9d
refactor: use fstream in subprocess tests (#6733) 2024-03-25 09:13:09 -05:00
Cœur 4ce8a02916
Disable a long-lived and recurrent flaky test (#6722) 2024-03-25 00:32:29 -05:00
Yat Ho 3e958cfbaf
feat: µTP delayed ack (#6586)
* chore: rename tr utp functions to snake_case

* refactor: make udp sockets non-blocking

* feat: rudimentary uTP delayed ACK

* chore: housekeeping

* chore: correct comment about µTP packet format
2024-03-24 20:48:23 -05:00
Yat Ho 20aef2f79d
fix: misc net.cc and blocklist.cc fixes (#6717)
* fix: `tr_address` should be invalid by default

* fix: allow loopback address for LPD and incoming connections

* fix: `parseCidrline()` should set address type

* code review: keep `memcmp`
2024-03-24 17:09:51 -05:00
Cœur 9ddf609d50
KeepEmptyLinesAtTheStartOfBlocks: false (#6726) 2024-03-24 11:25:00 -05:00
Niccolò Maggioni 86498a71e5
feat: add torrent priority to completion script env vars (#6629) 2024-03-17 19:43:08 -05:00
Yat Ho 2548dd478f
feat: periodically refresh dht node id (#6695) 2024-03-17 18:24:36 -05:00