Skip to content

keepassxc as libsecret provider/daemon makes emacs hang/time out on dbus connection #3667

@hrehfeld

Description

@hrehfeld

Since switching to keepassxc as my libsecret daemon (as soon as the commit was pushed a few months ago), secrets in emacs have stopped working.

Expected Behavior

List passwords in the keepass password database (="Keyring") folder (="Keyring") that's marked as exposed to libsecret.

Current Behavior

Emacs times out with

Debugger entered--Lisp error: (dbus-error "call timed out")
  signal(dbus-error ("call timed out"))
  dbus-call-method(:session "org.freedesktop.secrets" "/org/freedesktop/secrets" "org.freedesktop.Secret.Service" "OpenSession" "plain" (:variant ""))
  secrets-open-session()
  secrets-get-items("/org/freedesktop/secrets/collection/keyring")
  secrets-list-items("Keyring Login")
  eval((secrets-list-items "Keyring") nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

Possible Solution

python-keyring stopped working as well, iirc because it assumed different keys in the exposed data?
Because that stopped working, I wrote my own minimal implementation : https://github.com/hrehfeld/python-keyring-minimal/blob/master/keyring

Steps to Reproduce

  1. create a db named Keyring, expose a folder via libsecret
  2. emacs -Q
  3. eval (C-x C-e): (require 'secrets)
  4. eval: (secrets-list-items "Keyring")

Context

GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10) of 2019-08-29

Debug Info

KeePassXC - Version 2.5.0-snapshot
Build Type: Snapshot
Revision: 6ae27fa

Qt 5.13.1
Debugging mode is disabled.

Operating system: Arch Linux
CPU architecture: x86_64
Kernel: linux 5.3.7-arch1-1-ARCH

Enabled extensions:
- Auto-Type
- Browser Integration
- SSH Agent
- KeeShare (signed and unsigned sharing)
- YubiKey

Cryptographic libraries:
 libgcrypt 1.8.5

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions