-
-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.2.0 is broken with secret service on Linux? #207
Comments
3.2.0 is broken, see hwchen/keyring-rs#207
Hi @VorpalBlade - very sorry about the problems you are seeing. It looks like you are running into the (intentional) break introduced in keyring 3.2 with respect to the ability to read 3rd party secret-service credentials (as well as v1 keyring credentials): keyring 3.2 requires the I understand why you see this as a SerVer break. I am willing to treat it that way (yank 3.2 and re-release it as 4.0) if necessary, but first I am going to take a day or two in order to:
|
@ReactorScram, I wanted to give you a heads-up about this bug, since firezone is dependent on the fix for #204. |
Hm looking at your example cli code, it is unfortunate to need platform specific code. I do target all the major platforms and I don't really want to have to have different code for those, as that means I don't get to test the code myself (I only use Linux). Additionally, I haven't found a good way to test the keyring parts in end-to-end integration tests (especially not cross platform). I'm not a fan of mocking the credential store, since that presumably wouldn't have discovered this issue anyway. One solution would be to not recommend using Still, there are downsides:
|
Also, (and I'm sure this is an oversight, or I am missing something) it looks like your example uses |
OK, this bug is fixed in the newly-released version 3.2.1. Keyring, when given an entry with no target, will now find secret-service credentials in the default collection that have no target attribute but have service and username attributes that match the entry. |
This seems to affect both sync and async secret service backends in 3.2.0.
With 3.1.0 I can in chezmoi_modify_manager (actually in ini-merge, which is what uses keyring, the former is the CLI program) query secret service on Linux. With 3.2.0 I get errors like:
which would come from https://github.com/VorpalBlade/ini-merge/blob/0abcabd5712f40b691805ee47f8c07479ce342dc/src/merge/mutations/transforms.rs#L371
I don't have a minimal reproducer (I could try making one if you need it).
In my documentation I suggest users store their entries using:
This seems to no longer work in the new version, which means it is a major semver break in my opinion.
If this was an intentional break the semver of this crate should have been updated (4.0) rather than staying at 3.x, and in that case the correct action would be to yank 3.2 and re-release it as 4.0
The text was updated successfully, but these errors were encountered: