Commit Graph

14078 Commits

Author SHA1 Message Date
Charles Kerr 7f60738cce
refactor: use the new benc parser in announcer-http (#2529) 2022-01-28 12:39:45 -06:00
Charles Kerr b998032305
fix: paused torrents not scraped even if scrape-paused-torrents-enabled setting is true (#2528) 2022-01-27 22:17:11 -06:00
Charles Kerr 3c5442dd7b
test: add tests for parsing http tracker scrape responses (#2527) 2022-01-27 17:18:50 -06:00
Charles Kerr 4c36ba35bc fixup! web: preferences: incomplete-dir (#2183)
chore: code-style.sh
2022-01-26 22:31:57 -06:00
Tomáš Kelemen ef198858b1
web: preferences: incomplete-dir (#2183)
* web: preferences: incomplete-dir

This minor change adds an option to enable/disable/set the folder for
downloads in progress via the web interface preferences dialog.
2022-01-26 22:31:02 -06:00
FX Coudert 4fe33496c7
macOS: remove quitting badge (#2495)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-01-25 11:45:06 -06:00
Ilkka 020a9e45ae
Add more decimals for low ratios (#2508) 2022-01-25 10:52:22 -06:00
Charles Kerr 02e9fd6b59
fix: use libdeflate_gzip_compress in rpc-server.cc (#2507) 2022-01-24 23:40:01 -06:00
Charles Kerr 4c4b2714f1
feat: remember tab selection in Details dialog (#2506) 2022-01-24 23:16:33 -06:00
Charles Kerr 064ad6a436
refactor: saxlike benc pt. 2: add announce response parsing tests (#2505) 2022-01-24 22:25:55 -06:00
Charles Kerr 81066aae25
fixup! refactor: use C++ objects in announcer (#2474) (#2502)
fix Jan 22 regression in parsing port numbers from pex
2022-01-24 20:21:35 -06:00
Charles Kerr ac823f3cc4
fix: sonarcloud warnings in new code (#2500) 2022-01-24 19:05:24 -06:00
Charles Kerr e83a57efa3
refactor: re-enable some clang-tidy rules (#2498) 2022-01-24 13:07:55 -06:00
Charles Kerr 5efec26a3b
refactor: SAX-like benc parser pt. 1 (#2490)
* refactor: add SAX-like benc parser

This is the first part of a series of PRs whose end goal is to avoid
the overhead of tr_variant when parsing bencoded data, e.g. when
parsing .torrent files on startup or when parsing announce/scrape
tracker responses.

This PR introduces a SAX-like benc parser, reimplements variant-benc
to use the SAX benc parser (so that we don't have two benc parsers),
and updates the benc + variant tests.
2022-01-24 00:30:00 -06:00
Charles Kerr 2329f7541f
refactor: quark's static_assert formatting (#2489)
Slight refactor to libt/quark's static asserts so that the codebase
formats the same between clang-format 12, 13, and 14.
2022-01-23 23:26:14 -06:00
Charles Kerr 43bd736eb4
fixup! [android] Use android logger (#585) (#2488)
clang-format
2022-01-23 21:53:49 -06:00
Andrey d8dfbbe2d2
[android] Use android logger (#585) 2022-01-23 20:44:43 -06:00
Charles Kerr b5cbbb7f8f
refactor: clang-tidy 14 (#2487)
get transmission building cleanly with clang-tidy 14
2022-01-23 20:44:14 -06:00
C.W. Betts 3b4909ac9d
Move private interfaces to interface extensions (#932) 2022-01-23 19:32:45 -06:00
Charles Kerr 26bb9f3440
fix: sonarcloud code smells (#2486) 2022-01-23 18:53:35 -06:00
FX Coudert a2e30235c4
Make macOS crash reports provide more information (#2471)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-01-23 18:10:06 -06:00
Charles Kerr e51527203e
refactor: re-enable clang-tidy warnings (#2485) 2022-01-23 16:47:41 -06:00
Carles Pastor Badosa 8d1d445fbc
Add content_rating to appdata (#1487)
This tag can be used by app stores such as kde discover, gnome software, elementary appcenter, flathub or similar to discern age-appropriate content.

It uses the Open Age Ratings Service (OARS) in order to provide the required information.
2022-01-23 15:23:53 -06:00
Peter Bailey 96d9ab5abb
allow stopping torrents in verification states (#715) 2022-01-23 14:46:56 -06:00
Charles Kerr 85566c372e
test: tests for magnet links with bad/junk values (#2483)
Co-authored-by: Srinidhi Kaushik <shrinidhi.kaushik@gmail.com>
2022-01-23 13:01:48 -06:00
Charles Kerr c5bc3091cc
fixup! NAT-PMP private/public port and lifetime fix (#1602) (#2482)
ensure the value passed to tr_timerAdd() is non-negative
2022-01-23 11:31:20 -06:00
Charles Kerr fa3cbc3e27
fix: memory leak in upnp (#2481)
Fixes #2480
2022-01-23 11:16:36 -06:00
Esa Varemo 032e01c9d8
Add the option of automatically picking up URLs from the clipboard on window focus (#1633) 2022-01-23 09:57:21 -06:00
dependabot[bot] bda754bbeb
build(deps): bump nanoid from 3.1.23 to 3.2.0 in /web (#2473)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.23 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.23...3.2.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-01-23 08:39:53 -06:00
Charles Kerr b45c831bcb
refactor: use C++ objects in announcer (#2474) 2022-01-22 23:41:01 -06:00
Charles Kerr e0c3a7f3e6
docs: add CONTRIBUTING.md (#2452) 2022-01-21 21:34:23 -06:00
mickaelifs 6c582469fa
NAT-PMP private/public port and lifetime fix (#1602) 2022-01-21 18:07:24 -06:00
Charles Kerr da4ad59290
fix: in check input before calling tr_sha1_from_string() (#2468)
Fixes #2467
2022-01-21 17:17:49 -06:00
Charles Kerr 4833723651
fixup! fix: don't follow symlinks when removing junk files (#1638) (#1638) (#2470)
code style
2022-01-21 12:39:01 -06:00
Vincent Vinel ddca909699
fix: don't follow symlinks when removing junk files (#1638) (#1638)
This prevents accidentally following a symlink that points outside of
the torrent's folder and crawling the rest of the drive for junk files
to remove.

This also prevents symlinks that point to a folder from being treated as
real directories, which would cause them to be removed even if the folder
they point to is not actually empty.
2022-01-21 11:53:00 -06:00
LaserEyess 9e5e27adb6
Add bind-address-ipv4 to upnp (#845)
Pass the bind-address-ipv4 to upnpDiscover to allow for upnp to only
use the interface specified. Prevents upnp packet leaks.

Authored-by: LaserEyess <lasereyess@lasereyess.net>
2022-01-21 09:44:45 -06:00
Charles Kerr f94f7923e8
add multiline wrapping in error label (#2465) 2022-01-20 17:22:23 -06:00
Charles Kerr 2d916ab9a8
fixup! Fixed wrong ipv6 addr used in announces. (#265) (#2464)
fix unused variable warning
2022-01-20 16:34:43 -06:00
vuori a89b98f9e5
Fixed wrong ipv6 addr used in announces. (#265) 2022-01-20 15:28:04 -06:00
Charles Kerr df1cca9b57
chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
Charles Kerr 0166b6e688
fix: explicitly use unsigned char when checking isprint() (#2444) 2022-01-18 15:20:49 -06:00
Charles Kerr 5b8dae3557
fix: make add-torrent dialogs modal in GTK client (#2443)
This solves the issue of the dialogs not centering above the main GTK
client window. Fixes #2214.
2022-01-18 14:16:25 -06:00
Charles Kerr 8189c68190
fix: remove assert() that shouldn't always be true (#2442)
Fixes #2441.
2022-01-18 12:35:08 -06:00
Charles Kerr 0e3a695af2
fix: string leak regression when udp announces fail (#2440) 2022-01-18 11:20:14 -06:00
dependabot[bot] 546fefbd9c
build(deps): bump follow-redirects from 1.13.0 to 1.14.7 in /web (#2395)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.0 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.0...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-01-18 01:14:03 -06:00
Charles Kerr 8d75736ad1
fix: empty torrent filename (#2435)
fix torrents readded due to unremoved cfg files.
2022-01-17 23:14:00 -06:00
Charles Kerr aa2183c9c5
fix: torrents readded due to unremoved cfg files (#2433)
Fixes #2430.

When removing a torrent, try to remove config filenames under both old
and new filename formats. This prevents torrents from being incorrectly
re-added when old-format files aren't removed.
2022-01-17 20:36:41 -06:00
Charles Kerr bcf5e4636a
fix: calculate seed ratio by torrent size. (#2424)
Previously was calculated by number of bytes downloaded, which caused
edge cases when those two numbers were not the same, e.g. if the user
already had part of the torrent from another source and only downloaded
a small part. When this happened, the ratio could be very large and use
of seedratio would behave in a way that most people would not expect.

Note, the old behavior has been around for a VERY LONG TIME. Even though
this is a bugfix, it does change semantics. I don't think there is any
third-party code that depends on the old behavior but this is arguably
a breaking change.
2022-01-17 17:16:37 -06:00
Charles Kerr f415de0626
explicitly use unsigned chars (#2423)
Fixes #2106
2022-01-17 15:13:22 -06:00
Charles Kerr 3036a76beb
fix: sonarcloud code smells (#2421) 2022-01-17 12:39:50 -06:00