Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

backport #1911 to GNOME 45 (based on v56) #1929

Open
wants to merge 1 commit into
base: backports/gnome-45
Choose a base branch
from

Conversation

ferdnyc
Copy link
Member

@ferdnyc ferdnyc commented Feb 26, 2025

It will, frankly, be a miracle if I haven't missed or broken anything here, and presumably the CI will need some major adjusting just to be able to test these, but:

This PR is an attempt to bring all of the changes from #1911 to the backports/gnome-45 branch, which is based off of tag v56 (the last GNOME 45 release of GSConnect).

For release as v60, after backports/gnome-43 as v59, followed by main as v61.

@daniellandau
Copy link
Member

I was about to say about the release order, good that you had it in mind too. In principle it shouldn't matter, but the last time we did a backport and AUR chose the latest numbered release instead of the latest compatible one caused way too much unneeded issues.

@ferdnyc
Copy link
Member Author

ferdnyc commented Feb 28, 2025

@daniellandau Oh, it definitely mattered while strict extension version checking was turned off, because if we released, say, a v59 declared compatible with GNOME ["47", "48"], and then a v60 declared compatible with GNOME ["46"], the extension system would've happily "upgraded" the GNOME 47 & 48 installs to that v60.

Now that strict compatibility checking is turned back on, it might not matter as much as long as we're careful to have no overlap in our version mappings... But I figure, better safe than sorry all the same.

refactor(core): update certificate generation

Update the certificate generation to produce EC-based certificates
with the required device ID format.

refactor(core): reject invalid device IDs

Check incoming device IDs and reject connections from those with
an ID not matching `/[a-zA-Z0-9_]{32,38}/`.

refactor(device): generate device IDs per protocol v8

refactor(core): migrate installations to new certificates

Migrate installations to new certificates, with device IDs
following the protocol v8 constraints.

test: update certificates and private keys

feat(daemon): add migration notification

Add a brief notification, explaining that GSConnect has been
updated and some devices may require re-pairing.

device: support protocol v8 verification key

See: https://invent.kde.org/network/kdeconnect-meta/-/merge_requests/10

feat: add support for protocol version 8

Add support for the planned changes in protocol version 8.

See: https://invent.kde.org/network/kdeconnect-android/-/commit/454b2fd5d7b3162443fbec4a6f0b7cafa1b554ee
@ferdnyc ferdnyc force-pushed the backport-proto8-v56 branch from ec65a78 to df86f65 Compare February 28, 2025 06:32
@ferdnyc
Copy link
Member Author

ferdnyc commented Feb 28, 2025

Augh! Just realized I'm probably going to have to backport the ESLint fixes as well, since all the container images are built with ESLint 9. #bother

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants