Skip to content
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

password-manager/password-secret-service: Implement and document #3083

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

johanwiden
Copy link

An interface to https://specifications.freedesktop.org/secret-service

Description

Implement a password interface that uses Secret Service: https://specifications.freedesktop.org/secret-service

One can normally use this service without having to provide a master password at each interaction.

Depends on two python packages, and three script files:

  • Password entries are retrieved using python package SecretStorage. This package may be provided by your linux distribution. In Ubuntu python3-secretstorage.
  • Password entries are written using python package keyring. This package may be provided by your linux distribution. In Ubuntu python3-keyring.
  • The three extra command line scripts are documented in the interface lisp file. They may also be retrieved from secret-service-scripts

Fixes # (issue)
No issue has currently been created.

Discussion

A current limitation of the interface, is that it does not generate a new password, if the user saves an empty password. The user must use some other facility to generate a new password.

Checklist:

Everything in this checklist is required for each PR. Please do not approve a PR that does not have all of these items.

  • [v] Git hygiene:
    • I have pulled from master before submitting this PR yes
    • There are no merge conflicts. yes
  • [v] I've added the new dependencies as:
    • ASDF dependencies, yes, in nyxt.asd
    • Git submodules,
      cd /path/to/nyxt/checkout
      git submodule add https://gitlab.common-lisp.net/nyxt/py-configparser _build/py-configparser
    • and Guix dependencies.
  • [v] My code follows the style guidelines for Common Lisp code. See:
  • [v] I have performed a self-review of my own code.
  • My code has been reviewed by at least one peer. (The peer review to approve a PR counts. The reviewer must download and test the code.)
  • [v] Documentation:
    • All my code has docstrings and :documentations written in the aforementioned style. (It's OK to skip the docstring for really trivial parts.) Docstrings are provided by the super class: password.lisp
    • I have updated the existing documentation to match my changes. yes
    • I have commented my code in hard-to-understand areas. yes
    • I have updated the changelog.lisp with my changes if it's anything user-facing (new features, important bug fix, compatibility breakage). no
      • Changelog update should be a separate commit.
    • I have added a migration.lisp entry for all compatibility-breaking changes. It is not compatibility-breaking.
    • (If this changes something about the features showcased on Nyxt website) I have these changes described in the new/existing article at Nyxt website or will notify one of maintainters to do so.
  • Compilation and tests:
    • My changes generate no new warnings.
    • I have added tests that prove my fix is effective or that my feature works. (If possible.) no
    • I ran the tests locally ((asdf:test-system :nyxt) and (asdf:test-system :nyxt/gi-gtk)) and they pass.

@johanwiden
Copy link
Author

I have created issue #3084 for this pull request.

@jmercouris
Copy link
Member

Really cool, thank you for this PR! I'll have to install password secret service to give it a try! :-)

@aartaka
Copy link
Contributor

aartaka commented Jul 21, 2023

This might be related to #1996.

@aadcg
Copy link
Member

aadcg commented Dec 14, 2023

Not a priority @jmercouris, but it would be nice to have a conclusion on this one at me point.

@jmercouris
Copy link
Member

Yes, just need to install that software...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants