Antoine Cœur
d3e1c83c9b
Address build warnings ( #3052 )
2022-05-04 18:54:41 -05:00
Antoine Cœur
9069e4c910
Fix TeamCity Code Style ( #3045 )
2022-05-01 13:06:32 -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
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
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
0025363ede
perf: faster file priorities ( #2992 )
2022-04-26 11:11: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
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
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
Antoine Cœur
9c0038ac8e
Pause magnet download when "Start when added" is unchecked ( #2902 )
...
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-04-18 01:03:44 -05:00
Charles Kerr
18da7eb125
refactor: use std::vector<tr_quark> for torrent labels ( #2942 )
2022-04-18 00:53:48 -05:00
Charles Kerr
3a8cac3914
fix: uninintialized field tr_torrent_files.total_size_ ( #2941 )
2022-04-17 23:21:18 -05:00
Charles Kerr
af49e0f1af
fix: do not load magnet file resume files ( #2940 )
2022-04-17 21:55:20 -05:00
Charles Kerr
fc2f6e9725
refactor: make tr_peerMgr.webseeds a std::vector ( #2937 )
2022-04-17 17:29:06 -05:00
goldsteinn
9c84e85432
Refactor: Cleanup misc inefficiencies throughout the file ( #2933 )
...
Co-authored-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-04-17 10:54:38 -05:00
Charles Kerr
6cdc7e3828
refactor: remove tr_announce_list::tracker info.announce ( #2931 )
2022-04-16 15:41:51 -05:00
Charles Kerr
ef4fcf7ffd
refactor: remove tr_announce_list.tracker_info.scrape ( #2930 )
2022-04-16 14:14:18 -05:00
Charles Kerr
2f97655981
refactor: remove tr_url_parsed_t.portstr ( #2929 )
2022-04-16 13:13:42 -05:00
Charles Kerr
881860ac6f
refactor: remove tr_torrent.magicNumber ( #2927 )
2022-04-16 10:48:51 -05:00
Charles Kerr
f4bb09428b
fixup: more libfmt usage regressions ( #2924 )
2022-04-15 19:56:16 -05:00
Charles Kerr
2866638e1b
refactor: add tr_torrent_files::move() and remove() ( #2919 )
2022-04-15 18:39:04 -05:00
Antoine Cœur
4590d172de
meta info piece_size should be maximum UINT32_MAX ( #2914 )
2022-04-15 00:38:59 -05:00