Commit Graph

14749 Commits

Author SHA1 Message Date
Charles Kerr ba26e79afe
refactor: decouple tr_handshake (#3435)
Add a shim between the handshake code and the rest of the codebase to 
improve decoupling so that a followup PR can add handshake unit tests. 

The handshake code no longer directly relies on tr_torrent, tr_session, 
tr_dht, or tr_peerMgr.
2022-07-11 18:29:48 -05:00
Gary Elshaw 0c9ca9ac30
Body text changes (#3431)
While i'm in Manjaro Linux and working on the GTK client for a little while, i noticed Linux wasn't included as a platform in the file, and the repetition of frontend and backend was annoying me.

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-07-10 23:16:35 -05:00
Charles Kerr 0a39cb9302
refactor: migrate tr_crypto C functions to members (#3430) 2022-07-10 21:57:05 -05:00
Charles Kerr 5e4c7f9a1e
refactor: use std::deque for tr_peerIo.outbuf_info (#3428) 2022-07-10 13:51:35 -05:00
FX Coudert 58c8de9fd3
Update fmt to 9.0.0 (#3418) 2022-07-10 11:41:23 -05:00
Charles Kerr d164343fe7
refactor: remove tr_address_to_string() (#3427) 2022-07-09 20:03:40 -05:00
Charles Kerr 71bc7143b8
Revert "refactor: tr_address cleanup (#3422)" (#3426)
This reverts commit 9a44eeaa27.
2022-07-09 18:44:20 -05:00
Charles Kerr 9a44eeaa27
refactor: tr_address cleanup (#3422)
* refactor: remove tr_address_compare()

* refactor: remove tr_address_to_string()

* refactor: remove NUM_TR_AF_INET_TYPES

* refactor: replace tr_sessionGetPublicAddress with tr_session::getPublicAddress()

* refactor: tr_peerIo() takes tr_address by value

* refactor: replace tr_sessionIsAddressBlocked with tr_session::isAddressBlocked()

* refactor: tr_peerMgrAddIncoming now takes tr_address by value

* refactor: replace tr_address_is_valid_for_peers() with tr_address.isValidForPeers()

* refactor: tr_netOpenPeerSocket takes tr_address by value

* refactor: remove tr_generateAllowedSet()

* refactor: setup_sockaddr takes a tr_address by value

* refactor: tr_netBindTCP() takes a tr_address by value

* refactor: tr_dhtAddNode() takes a tr_address by value

* refactor: remove tr_address_from_string()

* refactor: rename tr_address.isValidForPeers() to .isValidPeerAddress()

* refactor: replace tr_address_from_sockaddr_storage() with tr_address::fromSockaddrStorage()

* refactor: minor cleanup to tr_address::readable()
2022-07-08 13:23:41 -05:00
Charles Kerr 745adf8332
Update libutp to 3.4+ (TRAC-5888) (#3416)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-07-08 10:13:22 -05:00
Charles Kerr e9a7ddf7f9
fix: minor warnings (#3413)
* fix: signed-unsigned comparison warning

* fix: readability-implicit-bool-conversion warning

* fix: signed-unsigned comparison warning
2022-07-05 18:32:30 -05:00
Charles Kerr 9dfb3bf3df
refactor: add tr_peer.canRequest() (#3408) 2022-07-04 13:03:32 -05:00
Charles Kerr 513f4bc91b
fix: assertion failed "s->leftUntilDone <= s->sizeWhenDone" (#3406) 2022-07-04 11:48:54 -05:00
depler 707fce44da
fix_empty_log_windows (#3396)
\
2022-07-04 00:34:39 -05:00
Charles Kerr d62a0bd81e
Instantiate `tr_parseNum()` template using basic types (#3404)
There're places where e.g. `size_t` is used which may or may not match one of
`(u)intXX_t` types.

Authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-07-03 23:28:41 -05:00
Charles Kerr 36b70ed137
refactor: use svg icons in GTK client (#3395) 2022-07-03 17:14:13 -05:00
Charles Kerr 834f438cd9
fixup! feat: use jimmac ratio icon in qt client (#3399) 2022-07-03 13:34:01 -05:00
Mike Gelfand 142b2a088d
Support wolfSSL 4.6+ (#3398)
* Fix testing against reference crypto implementation

Build would fail on CI if using cyassl/wolfssl or polarssl/mbedtls as a
backend and testing it against reference openssl implementation due to
missing include directories, but only if bundled (non-system) b64 is
used.

* Iniitalize size arguments to `wc_DhGenerateKeyPair`

Despite it not being mentioned in the documentation [1] and v4.6 release
notes [2], the two size parameters became [3] not purely "out", but
"in/out", to avoid potential buffer overflows.

[1] https://www.wolfssl.com/documentation/manuals/wolfssl/group__Diffie-Hellman.html
[2] https://github.com/wolfSSL/wolfssl/releases/tag/v4.6.0-stable
[3] 4364700c01
2022-07-03 14:05:40 +01:00
Gary Elshaw 083529c5bb
update the qt client's icons to svg (#3377) 2022-07-02 20:42:43 -05:00
Dzmitry Neviadomski 3e73913a1d
[macOS] Use NSAlert APIs to show alert suppression checkbox (#3360)
* [macOS] Simplify branching for termination prevention

* [macOS] Use NSAlert APIs to show alert suppression checkbox
2022-07-02 16:38:27 -05:00
Charles Kerr e7627dc209
refactor: add tr_peer.requestBlocks() (#3384) 2022-07-02 14:42:16 -05:00
Colin B 5e43731bcf
Ensure hybrid torrents are parsed correctly. (#3388) 2022-07-02 12:16:34 -05:00
Charles Kerr e9d34519ff
docs: fix installation of release notes (#3390) 2022-07-02 11:25:15 -05:00
Mike Gelfand cce1a15421
Sync translations (#3389)
* Sync translations with code

* Sync translations with Transifex
2022-07-02 04:10:12 +01:00
Charles Kerr dc4c898b8f
docs: move news to news/ directory; add 4.0.0-beta.1 release notes (#3272) 2022-07-01 17:47:53 -05:00
A Cœur 3cd2be381b
Fix Warn -> Warning (#3382)
* Fix Warn -> Warning

* Adopt "Warning" for English
2022-07-01 17:19:19 -05:00
Colin B 3237323b8e
Add basic support for v2 hashes in transmission-show (#3380)
* Add basic support for v2 hashes in transmission-show

* Add sha256 for more libraries

* Fix issue with sha256 digest length
* Add sha256 for polarssl
    Note: Bumping miniumum PolarSSL version to 1.3 because of
    sha2->sha256 name change.
* Add sha256 for CommonCrypto/ccrypto
* Add sha256 for cyassl
2022-07-01 09:49:33 -05:00
Charles Kerr 85a7d0e09d
refactor: rename Bandwidth as tr_bandwidth (#3379) 2022-06-29 15:08:58 -05:00
Dzmitry Neviadomski 129ad3e6d6
[macOS] Fix deprecation warning for third-party/libevent (#3359)
arc4random_addrandom(2) was deprecated as of macOS 10.12
2022-06-29 09:55:11 -05:00
Charles Kerr 0b75751de3
build: re-fix the naming of workflow triggers (#3374)
I thought I fixed this once before?
2022-06-29 00:36:42 -05:00
Dzmitry Neviadomski 37f7f83d4d
[macOS] Apply ObjC modernizations once again. (#3358)
This doesn't include designated initializers refactoring.
2022-06-28 23:20:42 -05:00
Charles Kerr 88a3149ce4
refactor: add tr_peer.activeReqCount() (#3373)
rename peer_stats.pendingReqs to .activeReqs for consistency
2022-06-28 20:48:39 -05:00
Dmitry Serov 7e278c453a
[macOS] Optimise framework imports (#3323) 2022-06-28 19:15:52 -05:00
SweetPPro e678f7c5f5
macOS fix quicklook toolbar icon status (#3345)
Fixes #3235
2022-06-28 18:19:06 -05:00
SweetPPro b80e9bd8c2
macOS use standard toolbar buttons (#3356)
Co-authored-by: Dmitry Serov <barbari100@gmail.com>
2022-06-28 16:14:10 -05:00
Charles Kerr 5407c89237
refactor: use namespaces in peer-msgs.cc (#3370) 2022-06-28 15:24:39 -05:00
Gary Elshaw e683cd504c
Fix: Flexibility of the Encryption column (#3348) 2022-06-28 14:08:15 -05:00
Dzmitry Neviadomski 534f9f7bc1
Update Copyright Year to 2022. (#3352) 2022-06-28 09:07:12 -05:00
Charles Kerr 8ea6b6f6d3
refactor: tr_swarm (#3368)
* refactor: simplify tr_swarmGetStats()

* refactor: make addStrike() a tr_swarm member function

* refactor: make updateEndgame() a tr_swarm member function

* refactor: limit scope of some constexpr values

* refactor: make tr_swarm.is_endgame private

* refactor: make tr_swarm.isAllSeeds() a member function
2022-06-28 01:22:34 -05:00
Gary Elshaw e823b725f2
Delete ActionOn and QuitBadge image directories (#3364)
* Delete macosx/Images/Images.xcassets/ActionOn.imageset directory

* Delete macosx/Images/Images.xcassets/QuitBadge.imageset directory

* Deleted ActionOn and QuitBadge from CMakeLists
2022-06-27 23:33:13 -05:00
Charles Kerr 34788a7eb1
refactor: make tr_peerMgr.timers private std::unique_ptrs (#3366) 2022-06-27 21:15:15 -05:00
Charles Kerr 5841441dd1
fixup! refactor: tr_peerMsgs.percentDone() (#3363) (#3365) 2022-06-27 18:16:08 -05:00
FX Coudert b893289392
Rename Mac OS X to macOS (#3362) 2022-06-27 15:28:37 -05:00
Charles Kerr 81a42c6bb6
refactor: tr_peerMsgs.percentDone() (#3363)
* refactor: add tr_peerMsgs.percentDone()

This moves the `progress` and `have` fields from the `tr_peer` parent
class down into BitTorrent peer subclass, since webseeds by definition
are seeds and have everything.

* refactor: use preferred naming for class members

snake_case for variables, camelCase for methods
2022-06-27 14:12:31 -05:00
SweetPPro eefcbe7cb2
macOS remove gradient from PiecesView (#3342) 2022-06-25 01:03:07 -05:00
SweetPPro 849a36a30d
macOS fix Toolbar show/hide on macOS Mojave (#3327) 2022-06-24 00:26:36 -05:00
SweetPPro 286d438222
macOS use AutoLayout in utility bars (#3326)
update filterbar to use constraints=
2022-06-23 11:18:53 -05:00
A Cœur 7f01ee52fe
Set torrent file's metainfo for magnets (#3322) 2022-06-21 16:47:57 -05:00
Charles Kerr 308ae8487a
fix: code style in macosx/AboutWindowController.mm (#3334)
* build: when code-style fails, try giving a breadcrumb to find the diff

* fix: code style in AboutWindowController.mm

* fix: typo in what-to-make
2022-06-21 12:25:16 -05:00
FX Coudert 2ac049c7ba
Fix NSAttributedString deprecation (#3330) 2022-06-20 14:45:01 -05:00
FX Coudert 83927eade1
Update links in macOS credits (#3329) 2022-06-20 11:50:56 -05:00