Commit Graph

14421 Commits

Author SHA1 Message Date
Charles Kerr 783fa500e7
fix: set the utp state change log level to trace (#2809)
Fixes #2808.
2022-03-24 13:46:34 -05:00
Charles Kerr f19c09ad9b
fix: bugprone-narrowing-conversions warnings in bitfield.cc (#2806) 2022-03-24 08:31:00 -05:00
Charles Kerr b8c3778cf4
fix: sonarcloud warnings (#2804)
* fix: break will never be executed

* refactor: compile the name fallback string

* fix: replace redundant type with auto

* fix: use init-statement to reduce variable scope

* fix: implicit conversion loses precision

* fix: use in-class initializer

* fix: make variable a pointer-to-const

* fix: local variable name shadows class variable

* fix: implicit conversion may lose precision
2022-03-24 00:18:41 -05:00
Charles Kerr 6db3fbfe64
perf: tell curl_share to share everything (#2802) 2022-03-23 22:02:18 -05:00
SweetPPro 791f59e8ba
fix for editing magnet link tracker list (#2793)
Co-authored-by: SweetPPro <sweetppro@users.noreply.github.com>
2022-03-23 10:18:06 -05:00
David Beinder 53dc3a41b4
fix: return correct bitfield when fully downloaded (#2799)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-03-22 14:01:07 -05:00
Charles Kerr 04a4f4a10c
refactor: a little more logging (#2800)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-22 11:45:56 -05:00
SweetPPro 6e1b89d9a7
fixes "no data found..." error on restart for paused torrents (#2797)
Co-authored-by: SweetPPro <sweetppro@users.noreply.github.com>
2022-03-21 16:15:53 -05:00
Charles Kerr 03ee0028d4
refactor: tr_sys_path_dirname returns a std::string (#2792) 2022-03-21 15:22:50 -05:00
Charles Kerr fcc1510ecb
refactor: use fmt to build the GTK client's user-visible strings (#2788)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-21 09:15:48 -05:00
Charles Kerr 44e30bf092
perf: avoid excess filesystem checks (#2786) 2022-03-18 16:31:25 -05:00
Charles Kerr 7b837bca1f
fixup! refactor: remove deep logging (#2749) (#2785)
handle new log levels in daemon cli invocation
2022-03-18 14:15:43 -05:00
Charles Kerr 68646df4e3
docs: add pid-file to transmission-daemon manpage (#2784)
Fixes #2766.

Co-authored-by: Tim Tassonis <stuff@decentral.ch>
2022-03-18 12:59:45 -05:00
Charles Kerr 22499c677a
refactor: aggregate bandwidth objects (#2783) 2022-03-18 11:34:29 -05:00
Matan Ziv-Av c07bac4e19
Limit bandwidth used by a group of torrents (#2761)
* Add support for bandwidth groups. i.e. Bandwidth limit for a (user specified) group of torrents,
2022-03-18 08:11:59 -05:00
Charles Kerr 6cb0498486
fix: log unexpected announce/scrape keys (#2778)
Fixes #2765.
2022-03-17 19:31:24 -05:00
Charles Kerr fa8aaf7631
refactor: remove remaining vararg log messages (#2776) 2022-03-17 17:39:06 -05:00
Charles Kerr 5df252d1e1
fix: calculate ratio as uploaded / sizeWhenDone (#2770) 2022-03-17 13:41:48 -05:00
Charles Kerr ce10a5314a
fixup! fix: ensure all bytes read / written to file (#2682) (#2780)
fix: infinite loop when pread returns 0
2022-03-17 10:41:02 -05:00
Charles Kerr 54ef7341a2
refactor: fmt pt 4 (#2774)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-16 19:23:44 -05:00
SweetPPro 4f2472cd93
Update Torrent.mm (#2777) 2022-03-16 15:16:23 -05:00
Charles Kerr 0be920156b
refactor: fmt part 3 (#2773) 2022-03-15 19:51:36 -05:00
Charles Kerr 72a67054ea
refactor: fmt part 2 (#2771) 2022-03-15 09:52:16 -05:00
Charles Kerr a942c67199
refactor: use fmt (#2758)
* deps: use fmt (8.1.1 tag) to build log strings

Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-13 23:43:35 -05:00
Charles Kerr 2bd42f8225
fixup: macos log error (#2764)
* fix: assertion failure in MessageWindowController

* feat: update messagwindow xib to new log levels
2022-03-12 11:42:43 -06:00
Charles Kerr 91d5388954
fix: memory corruption in RPC when fetching torrent piece info (#2762)
Thanks to MatanZ for finding and tracking down this problem

Fixes #2757.
2022-03-12 10:39:34 -06:00
Mike Gelfand 065cf1146f
Switch to Strawberry Perl for AppVeyor Windows builds (#2763) 2022-03-12 18:49:39 +03:00
Charles Kerr 749bb591fb
feat: stop logging repetitive warnings (#2756)
Fixes #295
2022-03-11 16:06:58 -06:00
Charles Kerr d2f8e1d4e0
refactor: set logging levels (#2755) 2022-03-11 15:09:22 -06:00
Charles Kerr af339a15ed
refactor: remove deep logging (#2749)
* refactor: remove "deep logging"
2022-03-09 23:51:14 -06:00
Charles Kerr 1bafbd18ac
chore: add more descriptive assertion in bitfield (#2748)
Related to #2727
2022-03-09 17:43:42 -06:00
Charles Kerr 7a227917ff
fix: rpc-server shutdown assertion failure (#2747)
Fixes #2742.
2022-03-09 11:13:51 -06:00
Markus Amalthea Magnuson 143c5f5381
Added ability to filter on error status. (#19) 2022-03-07 01:01:01 -05:00
Charles Kerr 0ac8c6079a
refactor: remove redundant MAX_BLOCK_SIZE constant (#2740) 2022-03-04 23:35:22 -08:00
Charles Kerr cdd819772d
feat: tr_runInEventThread() now takes std::function, typesafe args (#2739) 2022-03-04 20:26:03 -08:00
Charles Kerr 8d8ea2f4df
perf: use condition variables during tr thread startup (#2737)
* perf: use condition variables during tr thread startup
2022-03-04 14:43:56 -08:00
Charles Kerr 0cd3eb26ff
fix: webseed assertion failures (#2735) 2022-03-04 12:00:42 -08:00
LaserEyess 377c335d0f
fix broken ip address string size on windows (#2733)
Make sure the buffer is at least as big as an ipv6 address

Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
2022-03-03 21:17:28 -08:00
SweetPPro a009a7f930
migrate macOS client to using tr_sessionLoadTorrents (#2686)
* migrate macOS client to using tr_sessionLoadTorrents

With this PR the macOS client now loads torrents at startup using `tr_sessionLoadTorrents`

The history file is used in tandem to provide macOS specific additions
2022-03-02 15:11:04 -08:00
Charles Kerr 60ef1abadf
refactor: tr_torrents (#2722)
* refactor: add tr_torrents container
2022-03-01 15:06:29 -08:00
FallenWarrior2k e7272fc340
fix(daemon): wait for network-online.target (#2721)
network.target does not guarantee interfaces are fully configured, which
can result in bound addresses not being available when the daemon
starts. This leads to errors on start-up and potentially broken
connectivity.
network-online.target does provide these guarantees, but needs a
slightly different dependency configuration with Wants= on top of After=
(cf. systemd.special(7)).

Closes #2720.
2022-02-28 19:25:07 -08:00
Charles Kerr d115ee6dfb
refactor: remove utils dep from peer-io (#2719) 2022-02-28 14:26:26 -08:00
dependabot[bot] e3d1a251d8
build(deps): bump url-parse from 1.5.4 to 1.5.10 in /web (#2718)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.4 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.4...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 06:15:32 -08:00
LaserEyess 3bc21fe8a6
fixup: unix socket implementation changes (#2707)
* Use std::unique_ptr for bindAddress

* fixup: unix socket implementation changes

Assortment of changes and comments from #2574

- actually assign variables in the tr_rpc_address union for ipv4 and
  ipv6
- use std::size() instead of std::string.length()
- add [[maybe_unused]] to bindUnixSocket() args for Windows
- fix error log for windows to to actually print a string instead of
  an enum int
- use C++ style cast for ecvonnlistener_new_bind()
- refactor rpc URL log line to only substitute a single string
- remove redundant tr_rpc+address_is_valid() check

* change TrUnixSocketPrefix to std::string_view

This allows for removing runtime overhead of strlen() in a few places.

Co-authored-by: WeebDataHoarder <57538841+WeebDataHoarder@users.noreply.github.com>
Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
2022-02-27 14:05:08 -08:00
Charles Kerr 2c7e167436
chore: exploratory change for #2571 (#2717)
This _may_ solve the problem by calling tier.useNextTracker(); but if not, it also adds new assertions to try and fail sooner if the announcer gets into a bad state.
2022-02-26 11:53:34 -06:00
Charles Kerr 1598774b8d
refactor: use std::map for handshake tracking (#2715) 2022-02-26 00:03:32 -06:00
Charles Kerr 70cce3abeb
perf: do not block on upnpDiscover() call during startup (#2714)
* perf: upnpDiscover() is a blocking call that can run for *seconds* on
some routers. Move it to a worker thread where it won't block startup.
2022-02-25 19:26:31 -06:00
Charles Kerr 412ebc63c6
fixup: webseed (#2712)
* fixup! refactor: tr_webseed simplification (#2613)

call connection_limiter.taskStarted in the right place

* perf: put web thread to sleep when inactive
2022-02-25 14:45:00 -06:00
Charles Kerr 8c598c463c
feat: better dialog when adding duplicate magnet (#2709)
Instead of giving the entire magnet link, which can be too long to be
readable, give the magnet's display name (if available) or the info hash
as a fallback.

Fixes #1217.
2022-02-25 01:19:28 -06:00
Charles Kerr 4450973d94
feat: stop announcing on not-registered tracker error (#2708)
Fixes #2051.
2022-02-25 00:26:19 -06:00