Commit Graph

14411 Commits

Author SHA1 Message Date
Antoine Cœur d498aa1ae1
The left operand of '+' is a garbage value (#3041) 2022-05-01 07:26:45 -05:00
Charles Kerr 88a0b292d9
fixup: fix fd regression in tr_open_files (#3036)
Fixes #3032.
2022-04-30 23:30:49 -05:00
Charles Kerr 4cc952f0ca
fixup! fixup! fix: ensure all bytes read / written to file (#2682) (#2780) (#3035)
fix spurious tr_error being set when reading up to eof

Fix error introduced in the previous fixup :P
2022-04-30 18:43:32 -05:00
Charles Kerr c8f5cff564
fixup! fixup! fix: ensure all bytes read / written to file (#2682) (#2780) (#3033)
fix spurious tr_error being set when reading up to EOF.

This regression generated invalid error messages when no error occurred.
2022-04-30 16:57:11 -05:00
Antoine Cœur 7eecdca68e
clang-format version 12.0.1 + 14.0.3 (#3027) 2022-04-30 12:49:52 -05:00
dependabot[bot] 81ef0de2f4
build(deps): bump async from 2.6.3 to 2.6.4 in /web (#3023)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-29 17:52:53 -05:00
Antoine Cœur 34ec2f5aa4
Adopting lightweight generics (#2974) 2022-04-29 17:51:40 -05:00
Antoine Cœur aafedcaae1
Address deprecations with NSKeyedUnarchiver (#2973) 2022-04-29 16:44:59 -05:00
Charles Kerr a4b1c2cadc
deps: update dht to 0.27 (#3015) 2022-04-29 14:40:52 -05:00
Charles Kerr e4221916b1
fix: invalid tr_peerMsgsImpl::prefetchCount value (#3024)
* fix: invalid tr_peerMsgsImpl::prefetchCount value

This count could get corrupted due to imprecise bookkeeping when
processing peers' cancel messages. This PR replaces the field with
a `prefetched` flag in the struct that represents a peer request.

This approach has simpler code, simpler logic, and is harder to break.
2022-04-29 12:44:22 -05:00
Charles Kerr d487a5d8d7
refactor: make tr_swarm.peers a std::vector (#3017) 2022-04-29 08:32:15 -05:00
Charles Kerr 5dbe1f4669
refactor: replace tr_fdlimit with tr_open_files (#3016) 2022-04-28 21:35:47 -05:00
Charles Kerr 2f16e4a143
deps: update libdeflate to v1.10 (#3014) 2022-04-28 12:51:18 -05:00
Charles Kerr a400682247
refactor: remove unused tr_torrent fields (#3013)
* refactor: remove unused field tr_torrent.prefetchMagnetMetadata

* refactor: remove unused field tr_torrent.dhtAnnounce6InProgress

* refactor: remove unused field tr_torrent.dhtAnnounceInProgress

* refactor: fold etaULSpeed and etaDLSpeed into one field

* refactor: re-arrange fields to avoid padding
2022-04-28 11:52:07 -05:00
Charles Kerr 5e769fbc55
refactor: make tr_recentHistory a template class (#3012)
This gives more flexibility on the size of the count bins, so we can save space on smaller counts
2022-04-28 10:52:26 -05:00
maxz d8c5c65725
Specify the umask and IPC socket permission as strings. (#2984)
* Support specifying the umask as a string representing an octal number.

* Save the umask as a string representing an octal number.

* Support specifying the IPC socket permission as a string representing an octal number.

* Save the IPC socket permission as a string representing an octal number.

* Add a `base` parameter to `tr_parseNum()` for specifying the radix.
2022-04-28 09:16:19 -05:00
Charles Kerr 7c2477dddf
refactor: reduce field padding in some structs (#3006)
* refactor: use smaller integral types in tr_bandwidth

* refactor: re-arrange tr_torrent fields to avoid padding

* refactor: re-arrange tr_torrent fields to avoid padding

* refactor: re-arrange tr_announcer fields to avoid padding
2022-04-28 08:44:24 -05:00
Charles Kerr bf655a921d
refactor: use smaller integral types in some structs (#3005) 2022-04-27 20:06:51 -05:00
Charles Kerr fca85c2f4d
refactor: add Handshakes helper class in peer-mgr (#3002) 2022-04-27 12:20:55 -05:00
Charles Kerr 304fffa6b3
refactor: intern tr_torrent.bandwidth_group_ (#3000)
Most use cases involve either (a) using the default group or (b) sharing
a group with other torrents. In both cases, using a tr_quark is cheaper
than a std::string.
2022-04-27 10:41:28 -05:00
Charles Kerr a818ac9b13
perf: limit the scope of bitfield assertions (#2994)
Fixes #2830.
2022-04-26 19:51:24 -05:00
Charles Kerr 20be816fee
perf: faster file-lists in the GTK client's details dialog (#2993)
* perf: faster file tree building in GTK client

* perf: faster GTK client FileList

* use a std::map for faster node lookup when building a file tree

* use tr_get_mime_type_for_filename() for mime-type lookup

* remove unnecessary layer of indirection when building the
  keys for lookuops in the mime-type icon cache

* be more careful to only call operator= on proxies whose values
  have actually changed, since that assignment is expensive
2022-04-26 18:24:07 -05:00
Charles Kerr 0025363ede
perf: faster file priorities (#2992) 2022-04-26 11:11:21 -05:00
Antoine Cœur 42713c6716
OS X → macOS (#2986) 2022-04-26 09:11:44 -05:00
Antoine Cœur 026174ae51
update documentation links (#2985) 2022-04-25 18:19:09 -05:00
Antoine Cœur c708b83a3f
update documentation links (#2985) 2022-04-25 18:18:35 -05:00
Antoine Cœur b734b17a4b
adding missing transmission targets (#2976) 2022-04-25 08:12:21 -05:00
Charles Kerr ca13842c84
refactor: make tr_torrent::verify_state_ private (#2982) 2022-04-24 22:43:26 -05:00
Charles Kerr aa2bb367ab
chore: iwyu cleanup (#2981) 2022-04-24 20:49:52 -05:00
Antoine Cœur 7f9264940e
Compatibility to build on the last macOS 32 bit system with its last compatible Xcode (#2844)
* Compatibility to build on the last macOS 32 bit system with its last compatible Xcode

* Code review: Compatibility declarations

* compatibility with `make`

* Code review: headers

* Avoiding dummy NSImageSymbolConfiguration implementation

* clang-format

* Don't force-include compat header

* Remove compat header from pch header

Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-04-24 21:34:30 +01:00
qu1ck 07dc81170a
Fix fields handling in session-get (#2972) 2022-04-24 14:34:32 -05:00
Charles Kerr d4e1b32e38
fix: corruptin when downloading webseeds (#2978)
Fixes #2909.
2022-04-24 12:46:44 -05:00
Antoine Cœur fe40692dea
Balancing HTML opening-closing tags (#2975) 2022-04-24 12:15:02 -05:00
Charles Kerr 4f70baa27e
fix: cell-renderer up/down ui layout order (#2970) 2022-04-22 22:41:30 -05:00
Charles Kerr 0a3018d706
refactor: decouple peer limits from fdlimit (#2969) 2022-04-22 16:15:06 -05:00
Charles Kerr 1ebac744a5
build: re-enable cert-err33-c clang-tidy warning (#2968)
* refactor: re-enable cert-err33-c clang-tidy warning

* refactor: use fmt::chrono in transmission-remote

* refactor: use fmt::chrono in transmission-show

* refactor: use fmt::chrono in GTK details dialog

* refactor: use fmt::chrono in tr_session

* refactor: remove tr_localtime_r

* refactor: remove tr_gmtime_r
2022-04-22 14:56:54 -05:00
Charles Kerr ed897f93f2
refactor: remove evbuffer_free_to_str() (#2967) 2022-04-22 13:05:49 -05:00
Charles Kerr 32facb50d7
refactor: prefer tr_pathbuf over tr_strvPath() (#2966) 2022-04-22 11:35:56 -05:00
Charles Kerr 7918113e0b
refactor: partially c++ifiy tr_rpc_server (#2965)
Replace the older C-style API methods to be class methods.
2022-04-22 09:19:20 -05:00
Charles Kerr 3643a8aee5
refactor: prefer std::vector as the default container (#2964) 2022-04-22 08:08:02 -05:00
goldsteinn f823df364e
Refactor: use popcnt in bitfield and cleanup warnings (#2950)
Co-authored-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-04-22 06:54:35 -05:00
Charles Kerr 4d7d35ad57
fix: heap-buffer-overflow in variant-json (#2963)
Fixes #2953.
2022-04-22 01:28:02 -05:00
Charles Kerr 41cb8cbc91
refactor: add tr_address.readable (#2962) 2022-04-21 18:37:02 -05:00
Charles Kerr a25da4f376
refactor: add tr_address::fromCompact() (#2961) 2022-04-21 17:06:00 -05:00
Charles Kerr a52edbcbbe
refactor: remove tr_announce_list.tiers (#2960) 2022-04-21 15:48:30 -05:00
Charles Kerr 68a43c1684
fix: when loading resume state, load filenames before mtimes (#2958) 2022-04-21 12:07:09 -05:00
Charles Kerr 32f854a7cf
refactor: add a tr_port safety class (#2952) 2022-04-21 10:58:13 -05:00
Antoine Cœur bdac708762
docs: fix various typos and misspellings (#2955) 2022-04-21 09:28:38 -05:00
Charles Kerr 0eb1857c6c
build: re-enable cert str34 c clang tidy (#2946)
* build: add clang-analyzer-deadcode.* to clang-tidy

* build: do not disable cert-str34-c checks in libtransmission
2022-04-19 09:51:25 -05:00
Charles Kerr 345b71ffda
refactor: use std::vector for tr_torrents.removed_ (#2943) 2022-04-18 14:24:20 -05:00