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

KeepassXC: freezes and org.freedesktop.Secret.IsLocked #88

Open
voidus opened this issue Apr 16, 2023 · 8 comments
Open

KeepassXC: freezes and org.freedesktop.Secret.IsLocked #88

voidus opened this issue Apr 16, 2023 · 8 comments

Comments

@voidus
Copy link

voidus commented Apr 16, 2023

Heya 👋

I was checking out gh (the github cli) and it got stuck after running gh auth login. So I dug a little and localized the issue in the interaction between this library and keepassxc, which I use as a keyring.

As far as I can tell, both this library and keepassxc are weird with the secret service protocol, so I'll cross-post it to their issue tracker.

While playring around, I've encountered unhandled errors and freeze.

Not sure about the freezes, but the secret service api spec this regarding IsLocked:

A client application should always be ready to unlock the items for the secrets it needs, or objects it must modify. It must not assume that an item is already unlocked for whatever reason.
A service may lock previously unlocked items for any reason at any time. Usually this is done in response to user actions, timeouts, or external actions (such as the computer sleeping). The inherent race conditions present due to this are unavoidable, and must be handled gracefully.

gh auth login freezes instead of exiting, but it does get a new token from github and saves it. It doesn't seem to apply, but as far as I can tell, that's because it fails to read the secret from the store. (Which arguably should be reported to the user, but it should also work.)

dbus-monitor, with messages not containing org.freedesktop.Secret removed
# 1.241 is gh
method call time=1681678963.125907 sender=:1.241 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method return time=1681678963.130388 sender=:1.28 -> destination=:1.241 serial=1575 reply_serial=2
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681678963.130985 sender=:1.241 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681678963.131601 sender=:1.28 -> destination=:1.241 serial=1576 reply_serial=3
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681678963.132177 sender=:1.241 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=SearchItems
   array [
      dict entry(
         string "username"
         string ""
      )
      dict entry(
         string "service"
         string "gh:github.com"
      )
   ]
method return time=1681678963.133262 sender=:1.28 -> destination=:1.241 serial=1577 reply_serial=4
   array [
      object path "/org/freedesktop/secrets/collection/passwords/d72fb5ce71ea4196835b86ff53826c9b"
   ]
method call time=1681678963.133718 sender=:1.241 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method return time=1681678963.134195 sender=:1.28 -> destination=:1.241 serial=1578 reply_serial=5
   variant       string ""
   object path "/org/freedesktop/secrets/session/f4c480f8b9e64673ae53238eee74a4d6"
method call time=1681678963.134689 sender=:1.241 -> destination=org.freedesktop.secrets serial=6 path=/org/freedesktop/secrets/collection/passwords/d72fb5ce71ea4196835b86ff53826c9b; interface=org.freedesktop.Secret.Item; member=GetSecret
   object path "/org/freedesktop/secrets/session/f4c480f8b9e64673ae53238eee74a4d6"
error time=1681678963.135092 sender=:1.28 -> destination=:1.241 error_name=org.freedesktop.Secret.Error.IsLocked reply_serial=6
method call time=1681678963.135611 sender=:1.241 -> destination=org.freedesktop.secrets serial=7 path=/org/freedesktop/secrets/session/f4c480f8b9e64673ae53238eee74a4d6; interface=org.freedesktop.Secret.Session; member=Close
method return time=1681678963.136162 sender=:1.28 -> destination=:1.241 serial=1580 reply_serial=7
method call time=1681678963.136718 sender=:1.241 -> destination=org.freedesktop.secrets serial=8 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method return time=1681678963.137231 sender=:1.28 -> destination=:1.241 serial=1581 reply_serial=8
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681678963.137773 sender=:1.241 -> destination=org.freedesktop.secrets serial=9 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681678963.138249 sender=:1.28 -> destination=:1.241 serial=1582 reply_serial=9
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681678963.138731 sender=:1.241 -> destination=org.freedesktop.secrets serial=10 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=SearchItems
   array [
      dict entry(
         string "service"
         string "gh:github.com"
      )
      dict entry(
         string "username"
         string ""
      )
   ]
method return time=1681678963.139639 sender=:1.28 -> destination=:1.241 serial=1583 reply_serial=10
   array [
      object path "/org/freedesktop/secrets/collection/passwords/d72fb5ce71ea4196835b86ff53826c9b"
   ]
method call time=1681678963.140248 sender=:1.241 -> destination=org.freedesktop.secrets serial=11 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method return time=1681678963.140984 sender=:1.28 -> destination=:1.241 serial=1584 reply_serial=11
   variant       string ""
   object path "/org/freedesktop/secrets/session/3754810ae21f448091efecb69caf0fa5"
method call time=1681678963.141441 sender=:1.241 -> destination=org.freedesktop.secrets serial=12 path=/org/freedesktop/secrets/collection/passwords/d72fb5ce71ea4196835b86ff53826c9b; interface=org.freedesktop.Secret.Item; member=GetSecret
   object path "/org/freedesktop/secrets/session/3754810ae21f448091efecb69caf0fa5"
error time=1681678963.142054 sender=:1.28 -> destination=:1.241 error_name=org.freedesktop.Secret.Error.IsLocked reply_serial=12
method call time=1681678963.142504 sender=:1.241 -> destination=org.freedesktop.secrets serial=13 path=/org/freedesktop/secrets/session/3754810ae21f448091efecb69caf0fa5; interface=org.freedesktop.Secret.Session; member=Close
method return time=1681678963.142976 sender=:1.28 -> destination=:1.241 serial=1586 reply_serial=13

Tests

Here's my test tool:

package main

import (
	"fmt"
    "os"
	"github.com/zalando/go-keyring"
)

func main()  {
    var err error;
    switch os.Args[1] {
    case "set":
        err = keyring.Set("gh:github.com", "foo", "aloha!")
    case "get":
        var secret string;
        secret, err = keyring.Get("gh:github.com", "foo")
        if err == nil {
            fmt.Println(secret)
        }
    }
    if err != nil {
        fmt.Printf("err, %s\n", err)
    }
}

These have a single password file opened and unlocked

Actual test cases have to go in comments because of github length restrictions 🐼

Versions and stuff

Go stuff:

> cat go.mod
module test

go 1.20

require (
	github.com/alessio/shellescape v1.4.1 // indirect
	github.com/danieljoos/wincred v1.1.2 // indirect
	github.com/godbus/dbus/v5 v5.1.0 // indirect
	github.com/zalando/go-keyring v0.2.2 // indirect
	golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c // indirect
)

Keepassxc debug output:

KeePassXC - Version 2.7.4

Qt 5.15.8
Debugging mode is disabled.

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

Enabled extensions:
- Auto-Type
- Browser Integration
- SSH Agent
- KeeShare
- YubiKey
- Secret Service Integration

Cryptographic libraries:
- Botan 2.19.3

dbus-daemon is 1.14.6, just in case.
Generally, I'm on arch linux with a lot of stuff, including keepassxc, gh and go, pulled in via nix and home-manager

@voidus
Copy link
Author

voidus commented Apr 16, 2023

Password not present

test get -> err, org.freedesktop.Secret.Error.IsLocked

dbus-monitor
method call time=1681677329.681767 sender=:1.234 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1681677329.681795 sender=org.freedesktop.DBus -> destination=:1.234 serial=1 reply_serial=1
   string ":1.234"
signal time=1681677329.681835 sender=org.freedesktop.DBus -> destination=(null destination) serial=419 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.234"
   string ""
   string ":1.234"
signal time=1681677329.681913 sender=org.freedesktop.DBus -> destination=:1.234 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.234"
method call time=1681677329.682308 sender=:1.234 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method call time=1681677329.682772 sender=:1.28 -> destination=org.freedesktop.DBus serial=1164 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.234"
method return time=1681677329.684027 sender=org.freedesktop.DBus -> destination=:1.28 serial=106 reply_serial=1164
   uint32 396744
method call time=1681677329.684132 sender=:1.28 -> destination=org.freedesktop.DBus serial=1165 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.234"
method return time=1681677329.684190 sender=org.freedesktop.DBus -> destination=:1.28 serial=107 reply_serial=1165
   uint32 396744
method call time=1681677329.685279 sender=:1.28 -> destination=org.freedesktop.DBus serial=1166 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.234',arg2=''"
method return time=1681677329.685763 sender=:1.28 -> destination=:1.234 serial=1167 reply_serial=2
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681677329.686381 sender=:1.234 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681677329.686622 sender=:1.28 -> destination=:1.234 serial=1168 reply_serial=3
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681677329.687140 sender=:1.234 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=SearchItems
   array [
      dict entry(
         string "username"
         string "foo"
      )
      dict entry(
         string "service"
         string "gh:github.com"
      )
   ]
method return time=1681677329.687851 sender=:1.28 -> destination=:1.234 serial=1169 reply_serial=4
   array [
   ]
signal time=1681677329.689461 sender=org.freedesktop.DBus -> destination=:1.234 serial=13 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.234"
signal time=1681677329.689601 sender=org.freedesktop.DBus -> destination=(null destination) serial=108 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.234"
   string ":1.234"
   string ""
method call time=1681677329.690070 sender=:1.28 -> destination=org.freedesktop.DBus serial=1170 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.234',arg2=''"

./test set -> password is saved, but application freezes

dbus-monitor
method call time=1681677566.370043 sender=:1.236 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1681677566.370054 sender=org.freedesktop.DBus -> destination=:1.236 serial=1 reply_serial=1
   string ":1.236"
signal time=1681677566.370061 sender=org.freedesktop.DBus -> destination=(null destination) serial=421 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.236"
   string ""
   string ":1.236"
signal time=1681677566.370202 sender=org.freedesktop.DBus -> destination=:1.236 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.236"
method call time=1681677566.370234 sender=:1.236 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method call time=1681677566.370408 sender=:1.28 -> destination=org.freedesktop.DBus serial=1383 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.236"
method return time=1681677566.370418 sender=org.freedesktop.DBus -> destination=:1.28 serial=112 reply_serial=1383
   uint32 397567
method call time=1681677566.370752 sender=:1.28 -> destination=org.freedesktop.DBus serial=1384 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.236"
method return time=1681677566.370760 sender=org.freedesktop.DBus -> destination=:1.28 serial=113 reply_serial=1384
   uint32 397567
method call time=1681677566.371098 sender=:1.28 -> destination=org.freedesktop.DBus serial=1385 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.236',arg2=''"
method return time=1681677566.371153 sender=:1.28 -> destination=:1.236 serial=1386 reply_serial=2
   variant       string ""
   object path "/org/freedesktop/secrets/session/575b988c25ef4b839bbfedeb3176ca5b"
method call time=1681677566.371259 sender=:1.236 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method return time=1681677566.371376 sender=:1.28 -> destination=:1.236 serial=1387 reply_serial=3
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681677566.371488 sender=:1.236 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681677566.371567 sender=:1.28 -> destination=:1.236 serial=1388 reply_serial=4
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681677566.371708 sender=:1.236 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=CreateItem
   array [
      dict entry(
         string "org.freedesktop.Secret.Item.Attributes"
         variant             array [
               dict entry(
                  string "username"
                  string "foo"
               )
               dict entry(
                  string "service"
                  string "gh:github.com"
               )
            ]
      )
      dict entry(
         string "org.freedesktop.Secret.Item.Label"
         variant             string "Password for 'foo' on 'gh:github.com'"
      )
   ]
   struct {
      object path "/org/freedesktop/secrets/session/575b988c25ef4b839bbfedeb3176ca5b"
      array [
      ]
      array of bytes "aloha!"
      string "text/plain; charset=utf8"
   }
   boolean true
method return time=1681677566.371898 sender=:1.28 -> destination=:1.236 serial=1389 reply_serial=5
   object path "/"
   object path "/org/freedesktop/secrets/prompt/88f9960b43394c2c93714e468a99d48b"
method call time=1681677566.371993 sender=:1.236 -> destination=org.freedesktop.secrets serial=6 path=/org/freedesktop/secrets/prompt/88f9960b43394c2c93714e468a99d48b; interface=org.freedesktop.Secret.Prompt; member=Prompt
   string ""
method return time=1681677566.372052 sender=:1.28 -> destination=:1.236 serial=1390 reply_serial=6
signal time=1681677566.372123 sender=:1.28 -> destination=(null destination) serial=1391 path=/org/freedesktop/secrets/prompt/e802f12bebb044f5ad0a7dcc8d1ba162; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
signal time=1681677566.372706 sender=:1.28 -> destination=(null destination) serial=1392 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=CollectionChanged
   object path "/org/freedesktop/secrets/collection/passwords"
signal time=1681677566.376172 sender=:1.28 -> destination=(null destination) serial=1393 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376188 sender=:1.28 -> destination=(null destination) serial=1394 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376191 sender=:1.28 -> destination=(null destination) serial=1395 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376195 sender=:1.28 -> destination=(null destination) serial=1396 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376198 sender=:1.28 -> destination=(null destination) serial=1397 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376202 sender=:1.28 -> destination=(null destination) serial=1398 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376205 sender=:1.28 -> destination=(null destination) serial=1399 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376209 sender=:1.28 -> destination=(null destination) serial=1400 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376514 sender=:1.28 -> destination=(null destination) serial=1401 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376528 sender=:1.28 -> destination=(null destination) serial=1402 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376637 sender=:1.28 -> destination=(null destination) serial=1403 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376913 sender=:1.28 -> destination=(null destination) serial=1404 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376927 sender=:1.28 -> destination=(null destination) serial=1405 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376939 sender=:1.28 -> destination=(null destination) serial=1406 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376951 sender=:1.28 -> destination=(null destination) serial=1407 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.376963 sender=:1.28 -> destination=(null destination) serial=1408 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377028 sender=:1.28 -> destination=(null destination) serial=1409 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377041 sender=:1.28 -> destination=(null destination) serial=1410 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377053 sender=:1.28 -> destination=(null destination) serial=1411 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377065 sender=:1.28 -> destination=(null destination) serial=1412 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377076 sender=:1.28 -> destination=(null destination) serial=1413 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377088 sender=:1.28 -> destination=(null destination) serial=1414 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemCreated
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377100 sender=:1.28 -> destination=(null destination) serial=1415 path=/org/freedesktop/secrets/prompt/3f1cb5243c9c437e86e10968f61c4009; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       array [
      ]
signal time=1681677566.377122 sender=:1.28 -> destination=(null destination) serial=1416 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377134 sender=:1.28 -> destination=(null destination) serial=1417 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377146 sender=:1.28 -> destination=(null destination) serial=1418 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377157 sender=:1.28 -> destination=(null destination) serial=1419 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377169 sender=:1.28 -> destination=(null destination) serial=1420 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377181 sender=:1.28 -> destination=(null destination) serial=1421 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377192 sender=:1.28 -> destination=(null destination) serial=1422 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377196 sender=:1.28 -> destination=(null destination) serial=1423 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377202 sender=:1.28 -> destination=(null destination) serial=1424 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377265 sender=:1.28 -> destination=(null destination) serial=1425 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377271 sender=:1.28 -> destination=(null destination) serial=1426 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377276 sender=:1.28 -> destination=(null destination) serial=1427 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377282 sender=:1.28 -> destination=(null destination) serial=1428 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377287 sender=:1.28 -> destination=(null destination) serial=1429 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377292 sender=:1.28 -> destination=(null destination) serial=1430 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377297 sender=:1.28 -> destination=(null destination) serial=1431 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377302 sender=:1.28 -> destination=(null destination) serial=1432 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377307 sender=:1.28 -> destination=(null destination) serial=1433 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377314 sender=:1.28 -> destination=(null destination) serial=1434 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377319 sender=:1.28 -> destination=(null destination) serial=1435 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377325 sender=:1.28 -> destination=(null destination) serial=1436 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377330 sender=:1.28 -> destination=(null destination) serial=1437 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377336 sender=:1.28 -> destination=(null destination) serial=1438 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377342 sender=:1.28 -> destination=(null destination) serial=1439 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377347 sender=:1.28 -> destination=(null destination) serial=1440 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377352 sender=:1.28 -> destination=(null destination) serial=1441 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377405 sender=:1.28 -> destination=(null destination) serial=1442 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377411 sender=:1.28 -> destination=(null destination) serial=1443 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377416 sender=:1.28 -> destination=(null destination) serial=1444 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377422 sender=:1.28 -> destination=(null destination) serial=1445 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377427 sender=:1.28 -> destination=(null destination) serial=1446 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377433 sender=:1.28 -> destination=(null destination) serial=1447 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377438 sender=:1.28 -> destination=(null destination) serial=1448 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377444 sender=:1.28 -> destination=(null destination) serial=1449 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377449 sender=:1.28 -> destination=(null destination) serial=1450 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377680 sender=:1.28 -> destination=(null destination) serial=1451 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377792 sender=:1.28 -> destination=(null destination) serial=1452 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377798 sender=:1.28 -> destination=(null destination) serial=1453 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377804 sender=:1.28 -> destination=(null destination) serial=1454 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377809 sender=:1.28 -> destination=(null destination) serial=1455 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.377815 sender=:1.28 -> destination=(null destination) serial=1456 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378042 sender=:1.28 -> destination=(null destination) serial=1457 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378201 sender=:1.28 -> destination=(null destination) serial=1458 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378239 sender=:1.28 -> destination=(null destination) serial=1459 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378252 sender=:1.28 -> destination=(null destination) serial=1460 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378264 sender=:1.28 -> destination=(null destination) serial=1461 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378276 sender=:1.28 -> destination=(null destination) serial=1462 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378288 sender=:1.28 -> destination=(null destination) serial=1463 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378300 sender=:1.28 -> destination=(null destination) serial=1464 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378312 sender=:1.28 -> destination=(null destination) serial=1465 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378324 sender=:1.28 -> destination=(null destination) serial=1466 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378336 sender=:1.28 -> destination=(null destination) serial=1467 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378349 sender=:1.28 -> destination=(null destination) serial=1468 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378361 sender=:1.28 -> destination=(null destination) serial=1469 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378373 sender=:1.28 -> destination=(null destination) serial=1470 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378385 sender=:1.28 -> destination=(null destination) serial=1471 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378397 sender=:1.28 -> destination=(null destination) serial=1472 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378409 sender=:1.28 -> destination=(null destination) serial=1473 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378474 sender=:1.28 -> destination=(null destination) serial=1474 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378488 sender=:1.28 -> destination=(null destination) serial=1475 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378500 sender=:1.28 -> destination=(null destination) serial=1476 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378512 sender=:1.28 -> destination=(null destination) serial=1477 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378523 sender=:1.28 -> destination=(null destination) serial=1478 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378535 sender=:1.28 -> destination=(null destination) serial=1479 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378547 sender=:1.28 -> destination=(null destination) serial=1480 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378559 sender=:1.28 -> destination=(null destination) serial=1481 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378571 sender=:1.28 -> destination=(null destination) serial=1482 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378583 sender=:1.28 -> destination=(null destination) serial=1483 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378595 sender=:1.28 -> destination=(null destination) serial=1484 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378606 sender=:1.28 -> destination=(null destination) serial=1485 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378618 sender=:1.28 -> destination=(null destination) serial=1486 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378630 sender=:1.28 -> destination=(null destination) serial=1487 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378642 sender=:1.28 -> destination=(null destination) serial=1488 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378654 sender=:1.28 -> destination=(null destination) serial=1489 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378666 sender=:1.28 -> destination=(null destination) serial=1490 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378726 sender=:1.28 -> destination=(null destination) serial=1491 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378739 sender=:1.28 -> destination=(null destination) serial=1492 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378751 sender=:1.28 -> destination=(null destination) serial=1493 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378762 sender=:1.28 -> destination=(null destination) serial=1494 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378774 sender=:1.28 -> destination=(null destination) serial=1495 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378786 sender=:1.28 -> destination=(null destination) serial=1496 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378798 sender=:1.28 -> destination=(null destination) serial=1497 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378809 sender=:1.28 -> destination=(null destination) serial=1498 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378821 sender=:1.28 -> destination=(null destination) serial=1499 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378833 sender=:1.28 -> destination=(null destination) serial=1500 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378847 sender=:1.28 -> destination=(null destination) serial=1501 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378857 sender=:1.28 -> destination=(null destination) serial=1502 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378868 sender=:1.28 -> destination=(null destination) serial=1503 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378879 sender=:1.28 -> destination=(null destination) serial=1504 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378889 sender=:1.28 -> destination=(null destination) serial=1505 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378900 sender=:1.28 -> destination=(null destination) serial=1506 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378959 sender=:1.28 -> destination=(null destination) serial=1507 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378971 sender=:1.28 -> destination=(null destination) serial=1508 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378982 sender=:1.28 -> destination=(null destination) serial=1509 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.378992 sender=:1.28 -> destination=(null destination) serial=1510 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379004 sender=:1.28 -> destination=(null destination) serial=1511 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379017 sender=:1.28 -> destination=(null destination) serial=1512 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379028 sender=:1.28 -> destination=(null destination) serial=1513 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379039 sender=:1.28 -> destination=(null destination) serial=1514 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379049 sender=:1.28 -> destination=(null destination) serial=1515 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379062 sender=:1.28 -> destination=(null destination) serial=1516 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379074 sender=:1.28 -> destination=(null destination) serial=1517 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379086 sender=:1.28 -> destination=(null destination) serial=1518 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379098 sender=:1.28 -> destination=(null destination) serial=1519 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379110 sender=:1.28 -> destination=(null destination) serial=1520 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379122 sender=:1.28 -> destination=(null destination) serial=1521 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379134 sender=:1.28 -> destination=(null destination) serial=1522 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379200 sender=:1.28 -> destination=(null destination) serial=1523 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379213 sender=:1.28 -> destination=(null destination) serial=1524 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379225 sender=:1.28 -> destination=(null destination) serial=1525 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379236 sender=:1.28 -> destination=(null destination) serial=1526 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379247 sender=:1.28 -> destination=(null destination) serial=1527 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379259 sender=:1.28 -> destination=(null destination) serial=1528 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379271 sender=:1.28 -> destination=(null destination) serial=1529 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379282 sender=:1.28 -> destination=(null destination) serial=1530 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379294 sender=:1.28 -> destination=(null destination) serial=1531 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379306 sender=:1.28 -> destination=(null destination) serial=1532 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379318 sender=:1.28 -> destination=(null destination) serial=1533 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379330 sender=:1.28 -> destination=(null destination) serial=1534 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379342 sender=:1.28 -> destination=(null destination) serial=1535 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379353 sender=:1.28 -> destination=(null destination) serial=1536 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379365 sender=:1.28 -> destination=(null destination) serial=1537 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379377 sender=:1.28 -> destination=(null destination) serial=1538 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379389 sender=:1.28 -> destination=(null destination) serial=1539 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379431 sender=:1.28 -> destination=(null destination) serial=1540 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379444 sender=:1.28 -> destination=(null destination) serial=1541 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379456 sender=:1.28 -> destination=(null destination) serial=1542 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379468 sender=:1.28 -> destination=(null destination) serial=1543 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379479 sender=:1.28 -> destination=(null destination) serial=1544 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379491 sender=:1.28 -> destination=(null destination) serial=1545 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379503 sender=:1.28 -> destination=(null destination) serial=1546 path=/org/freedesktop/secrets/collection/passwords; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379514 sender=:1.28 -> destination=(null destination) serial=1547 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=ItemChanged
   object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
signal time=1681677566.379526 sender=:1.28 -> destination=(null destination) serial=1548 path=/org/freedesktop/secrets/prompt/88f9960b43394c2c93714e468a99d48b; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"


<I press CTRL-C>

signal time=1681677792.109862 sender=org.freedesktop.DBus -> destination=:1.236 serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.236"
signal time=1681677792.109925 sender=org.freedesktop.DBus -> destination=(null destination) serial=114 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.236"
   string ":1.236"
   string ""
method call time=1681677792.110588 sender=:1.28 -> destination=org.freedesktop.DBus serial=1549 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.236',arg2=''"

@voidus
Copy link
Author

voidus commented Apr 16, 2023

Password present

./test get -> err, org.freedesktop.Secret.Error.IsLocked

dbus-monitor
method call time=1681677824.223147 sender=:1.237 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1681677824.223292 sender=org.freedesktop.DBus -> destination=:1.237 serial=1 reply_serial=1
   string ":1.237"
signal time=1681677824.223497 sender=org.freedesktop.DBus -> destination=(null destination) serial=422 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.237"
   string ""
   string ":1.237"
signal time=1681677824.223612 sender=org.freedesktop.DBus -> destination=:1.237 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.237"
method call time=1681677824.223837 sender=:1.237 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method call time=1681677824.224628 sender=:1.28 -> destination=org.freedesktop.DBus serial=1550 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.237"
method return time=1681677824.224655 sender=org.freedesktop.DBus -> destination=:1.28 serial=115 reply_serial=1550
   uint32 398572
method call time=1681677824.226292 sender=:1.28 -> destination=org.freedesktop.DBus serial=1551 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.237"
method return time=1681677824.226313 sender=org.freedesktop.DBus -> destination=:1.28 serial=116 reply_serial=1551
   uint32 398572
method call time=1681677824.227884 sender=:1.28 -> destination=org.freedesktop.DBus serial=1552 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.237',arg2=''"
method return time=1681677824.228141 sender=:1.28 -> destination=:1.237 serial=1553 reply_serial=2
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681677824.228596 sender=:1.237 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681677824.229201 sender=:1.28 -> destination=:1.237 serial=1554 reply_serial=3
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681677824.229698 sender=:1.237 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=SearchItems
   array [
      dict entry(
         string "service"
         string "gh:github.com"
      )
      dict entry(
         string "username"
         string "foo"
      )
   ]
method return time=1681677824.230580 sender=:1.28 -> destination=:1.237 serial=1555 reply_serial=4
   array [
      object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
   ]
method call time=1681677824.231039 sender=:1.237 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method return time=1681677824.231645 sender=:1.28 -> destination=:1.237 serial=1556 reply_serial=5
   variant       string ""
   object path "/org/freedesktop/secrets/session/c28d5f2dd2c64867b31369be0296164c"
method call time=1681677824.232239 sender=:1.237 -> destination=org.freedesktop.secrets serial=6 path=/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470; interface=org.freedesktop.Secret.Item; member=GetSecret
   object path "/org/freedesktop/secrets/session/c28d5f2dd2c64867b31369be0296164c"
error time=1681677824.232767 sender=:1.28 -> destination=:1.237 error_name=org.freedesktop.Secret.Error.IsLocked reply_serial=6
method call time=1681677824.233156 sender=:1.237 -> destination=org.freedesktop.secrets serial=7 path=/org/freedesktop/secrets/session/c28d5f2dd2c64867b31369be0296164c; interface=org.freedesktop.Secret.Session; member=Close
method return time=1681677824.233685 sender=:1.28 -> destination=:1.237 serial=1558 reply_serial=7
signal time=1681677824.236236 sender=org.freedesktop.DBus -> destination=:1.237 serial=16 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.237"
signal time=1681677824.236294 sender=org.freedesktop.DBus -> destination=(null destination) serial=117 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.237"
   string ":1.237"
   string ""
method call time=1681677824.236388 sender=:1.28 -> destination=org.freedesktop.DBus serial=1559 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.237',arg2=''"

./test set -> I get a keepassxc popup asking if test is allowed to access.
I click "Allow" -> freeze

dbus-monitor
method call time=1681677873.757864 sender=:1.238 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1681677873.757946 sender=org.freedesktop.DBus -> destination=:1.238 serial=1 reply_serial=1
   string ":1.238"
signal time=1681677873.758070 sender=org.freedesktop.DBus -> destination=(null destination) serial=423 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.238"
   string ""
   string ":1.238"
signal time=1681677873.758118 sender=org.freedesktop.DBus -> destination=:1.238 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.238"
method call time=1681677873.758499 sender=:1.238 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method call time=1681677873.759135 sender=:1.28 -> destination=org.freedesktop.DBus serial=1560 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.238"
method return time=1681677873.759179 sender=org.freedesktop.DBus -> destination=:1.28 serial=118 reply_serial=1560
   uint32 398804
method call time=1681677873.760666 sender=:1.28 -> destination=org.freedesktop.DBus serial=1561 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.238"
method return time=1681677873.760707 sender=org.freedesktop.DBus -> destination=:1.28 serial=119 reply_serial=1561
   uint32 398804
method call time=1681677873.762111 sender=:1.28 -> destination=org.freedesktop.DBus serial=1562 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.238',arg2=''"
method return time=1681677873.762358 sender=:1.28 -> destination=:1.238 serial=1563 reply_serial=2
   variant       string ""
   object path "/org/freedesktop/secrets/session/22cbe6f2c0f04888b0a466c6e799ed9b"
method call time=1681677873.762856 sender=:1.238 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method return time=1681677873.763363 sender=:1.28 -> destination=:1.238 serial=1564 reply_serial=3
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]
method call time=1681677873.764072 sender=:1.238 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/aliases/default"
   ]
method return time=1681677873.764464 sender=:1.28 -> destination=:1.238 serial=1565 reply_serial=4
   array [
      object path "/org/freedesktop/secrets/collection/passwords"
   ]
   object path "/"
method call time=1681677873.765058 sender=:1.238 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.Secret.Collection; member=CreateItem
   array [
      dict entry(
         string "org.freedesktop.Secret.Item.Label"
         variant             string "Password for 'foo' on 'gh:github.com'"
      )
      dict entry(
         string "org.freedesktop.Secret.Item.Attributes"
         variant             array [
               dict entry(
                  string "username"
                  string "foo"
               )
               dict entry(
                  string "service"
                  string "gh:github.com"
               )
            ]
      )
   ]
   struct {
      object path "/org/freedesktop/secrets/session/22cbe6f2c0f04888b0a466c6e799ed9b"
      array [
      ]
      array of bytes "aloha!"
      string "text/plain; charset=utf8"
   }
   boolean true
method return time=1681677873.765629 sender=:1.28 -> destination=:1.238 serial=1566 reply_serial=5
   object path "/"
   object path "/org/freedesktop/secrets/prompt/0060ca15ea264fe7b9310e7d28c7739c"
method call time=1681677873.766104 sender=:1.238 -> destination=org.freedesktop.secrets serial=6 path=/org/freedesktop/secrets/prompt/0060ca15ea264fe7b9310e7d28c7739c; interface=org.freedesktop.Secret.Prompt; member=Prompt
   string ""
method return time=1681677873.766480 sender=:1.28 -> destination=:1.238 serial=1567 reply_serial=6
signal time=1681677873.767182 sender=:1.28 -> destination=(null destination) serial=1568 path=/org/freedesktop/secrets/prompt/91b62ad5af07484084d89adf3cf4e85a; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords"
      ]


<I click Allow>

signal time=1681677950.212075 sender=:1.28 -> destination=(null destination) serial=1569 path=/org/freedesktop/secrets/prompt/a0f4978affe7492b97535eda6dacfb8b; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
      ]
signal time=1681677950.213253 sender=:1.28 -> destination=(null destination) serial=1570 path=/org/freedesktop/secrets/prompt/0060ca15ea264fe7b9310e7d28c7739c; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"


<I press CTRL-C>


signal time=1681677998.020800 sender=org.freedesktop.DBus -> destination=:1.238 serial=17 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.238"
signal time=1681677998.021006 sender=org.freedesktop.DBus -> destination=(null destination) serial=120 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.238"
   string ":1.238"
   string ""
method call time=1681677998.021062 sender=:1.28 -> destination=org.freedesktop.DBus serial=1571 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.238',arg2=''"

For comparison, secret-tool lookup service gh:github.com username foo prints aloha! after
I click "Accept" in the keepassxc popup.
expected.

dbus-monitor
method call time=1681679463.660637 sender=:1.245 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1681679463.660659 sender=org.freedesktop.DBus -> destination=:1.245 serial=1 reply_serial=1
   string ":1.245"
signal time=1681679463.660670 sender=org.freedesktop.DBus -> destination=(null destination) serial=433 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.245"
   string ""
   string ":1.245"
signal time=1681679463.660685 sender=org.freedesktop.DBus -> destination=:1.245 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.245"
method call time=1681679463.661312 sender=:1.245 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.secrets',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/org/freedesktop/secrets',arg0='org.freedesktop.Secret.Service'"
method return time=1681679463.661335 sender=org.freedesktop.DBus -> destination=:1.245 serial=3 reply_serial=2
method call time=1681679463.661340 sender=:1.245 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.secrets',interface='org.freedesktop.Secret.Service',path='/org/freedesktop/secrets'"
method return time=1681679463.661349 sender=org.freedesktop.DBus -> destination=:1.245 serial=4 reply_serial=3
method call time=1681679463.661354 sender=:1.245 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.freedesktop.secrets'"
method return time=1681679463.661370 sender=org.freedesktop.DBus -> destination=:1.245 serial=5 reply_serial=4
method call time=1681679463.661706 sender=:1.245 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
   string "org.freedesktop.secrets"
   uint32 0
error time=1681679463.661731 sender=org.freedesktop.DBus -> destination=:1.245 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=5
   string "The name org.freedesktop.secrets was not provided by any .service files"
method call time=1681679463.662138 sender=:1.245 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string "org.freedesktop.secrets"
method return time=1681679463.662159 sender=org.freedesktop.DBus -> destination=:1.245 serial=7 reply_serial=6
   string ":1.28"
method call time=1681679463.662423 sender=:1.245 -> destination=:1.28 serial=7 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=GetAll
   string "org.freedesktop.Secret.Service"
method call time=1681679463.662853 sender=:1.28 -> destination=org.freedesktop.DBus serial=1606 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.245"
method return time=1681679463.662885 sender=org.freedesktop.DBus -> destination=:1.28 serial=130 reply_serial=1606
   uint32 407510
method call time=1681679463.663634 sender=:1.28 -> destination=org.freedesktop.DBus serial=1607 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
   string ":1.245"
method return time=1681679463.663671 sender=org.freedesktop.DBus -> destination=:1.28 serial=131 reply_serial=1607
   uint32 407510
method call time=1681679463.664348 sender=:1.28 -> destination=org.freedesktop.DBus serial=1608 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.245',arg2=''"
method return time=1681679463.664501 sender=:1.28 -> destination=:1.245 serial=1609 reply_serial=7
   array [
      dict entry(
         string "Collections"
         variant             array [
               object path "/org/freedesktop/secrets/collection/passwords"
            ]
      )
   ]
method call time=1681679463.667679 sender=:1.245 -> destination=:1.28 serial=8 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "dh-ietf1024-sha256-aes128-cbc-pkcs7"
   variant       array of bytes [
         3a 7a ac c5 23 4a 9b 3c 7c ab 87 fe 77 c6 9a 53 00 2b e3 b2 48 d4 c9
         d9 61 c3 ac 44 da d7 8b 82 6c c2 08 da 8c d0 13 5f 02 44 04 d5 d1 7b
         ee c7 65 24 ce a9 b5 69 dd 5c 08 31 11 c6 55 84 e3 54 54 83 b9 57 7f
         dd 4e 91 3f 5e 6a b1 db 08 45 53 12 e2 26 b9 92 3f c2 69 11 4c bb 80
         f1 98 06 45 69 7f f5 83 c6 6f f6 a5 82 f9 72 17 fa c0 c6 c4 ae 98 29
         d1 12 d3 2f 4b aa a2 0f b9 49 f0 4e ba
      ]
method return time=1681679463.669610 sender=:1.28 -> destination=:1.245 serial=1610 reply_serial=8
   variant       array of bytes [
         ef 90 f2 42 50 60 b6 9c ca 9d 0a 17 bd 8c 8a a5 30 81 2e ee 84 00 59
         ad 70 89 a1 53 a2 48 80 73 8f 6c ff e7 f5 9d 59 42 53 78 b3 cf f7 6a
         c9 04 ec e9 e8 83 16 e5 1e 83 83 c1 ec 7b 4c 0e 69 b2 00 38 70 23 c7
         03 c5 a3 24 f9 cc ba fe 0a 4f b7 a8 5f 77 9c bd bd 04 7b 2d c1 71 22
         31 e6 0f b3 67 0c 2a 88 08 34 f7 e2 07 b2 82 9a 7f d0 07 3a 1a f4 1a
         f8 1b 1f 95 b1 07 8f d6 68 16 a7 f7 7f
      ]
   object path "/org/freedesktop/secrets/session/063a0a60940345d5808eeccd2890f636"
method call time=1681679463.673029 sender=:1.245 -> destination=:1.28 serial=9 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=SearchItems
   array [
      dict entry(
         string "service"
         string "gh:github.com"
      )
      dict entry(
         string "username"
         string "foo"
      )
   ]
method return time=1681679463.673441 sender=:1.28 -> destination=:1.245 serial=1611 reply_serial=9
   array [
   ]
   array [
      object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
   ]
method call time=1681679463.673709 sender=:1.245 -> destination=:1.28 serial=10 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
   array [
      object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
   ]
method return time=1681679463.674039 sender=:1.28 -> destination=:1.245 serial=1612 reply_serial=10
   array [
   ]
   object path "/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2"
method call time=1681679463.674540 sender=:1.245 -> destination=org.freedesktop.DBus serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.secrets',interface='org.freedesktop.Secret.Prompt',path='/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2'"
method return time=1681679463.674557 sender=org.freedesktop.DBus -> destination=:1.245 serial=8 reply_serial=11
method call time=1681679463.674823 sender=:1.245 -> destination=org.freedesktop.DBus serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
   string "org.freedesktop.secrets"
   uint32 0
error time=1681679463.674842 sender=org.freedesktop.DBus -> destination=:1.245 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=12
   string "The name org.freedesktop.secrets was not provided by any .service files"
method call time=1681679463.675139 sender=:1.245 -> destination=org.freedesktop.DBus serial=13 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string "org.freedesktop.secrets"
method return time=1681679463.675155 sender=org.freedesktop.DBus -> destination=:1.245 serial=10 reply_serial=13
   string ":1.28"
method call time=1681679463.675533 sender=:1.245 -> destination=org.freedesktop.DBus serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender=':1.28',interface='org.freedesktop.Secret.Prompt',member='Completed',path='/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2'"
method return time=1681679463.675568 sender=org.freedesktop.DBus -> destination=:1.245 serial=11 reply_serial=14
method call time=1681679463.675575 sender=:1.245 -> destination=org.freedesktop.DBus serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0=':1.28'"
method return time=1681679463.675582 sender=org.freedesktop.DBus -> destination=:1.245 serial=12 reply_serial=15
method call time=1681679463.675586 sender=:1.245 -> destination=org.freedesktop.DBus serial=16 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string ":1.28"
method return time=1681679463.675593 sender=org.freedesktop.DBus -> destination=:1.245 serial=13 reply_serial=16
   string ":1.28"
method call time=1681679463.675615 sender=:1.245 -> destination=:1.28 serial=17 path=/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2; interface=org.freedesktop.Secret.Prompt; member=Prompt
   string ""
method return time=1681679463.675843 sender=:1.28 -> destination=:1.245 serial=1613 reply_serial=17



<I click accept>




signal time=1681679471.483002 sender=:1.28 -> destination=(null destination) serial=1614 path=/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2; interface=org.freedesktop.Secret.Prompt; member=Completed
   boolean false
   variant       array [
         object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
      ]
method call time=1681679471.484700 sender=:1.245 -> destination=org.freedesktop.DBus serial=18 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender=':1.28',interface='org.freedesktop.Secret.Prompt',member='Completed',path='/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2'"
method return time=1681679471.484884 sender=org.freedesktop.DBus -> destination=:1.245 serial=14 reply_serial=18
method call time=1681679471.484944 sender=:1.245 -> destination=org.freedesktop.DBus serial=19 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0=':1.28'"
method return time=1681679471.485057 sender=org.freedesktop.DBus -> destination=:1.245 serial=15 reply_serial=19
method call time=1681679471.485113 sender=:1.245 -> destination=:1.28 serial=20 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=GetSecrets
   array [
      object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
   ]
   object path "/org/freedesktop/secrets/session/063a0a60940345d5808eeccd2890f636"
method call time=1681679471.485995 sender=:1.245 -> destination=org.freedesktop.DBus serial=21 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.secrets',interface='org.freedesktop.Secret.Prompt',path='/org/freedesktop/secrets/prompt/921086b0766d4fd99467e9a50f0bd1a2'"
method return time=1681679471.486024 sender=org.freedesktop.DBus -> destination=:1.245 serial=16 reply_serial=21
method return time=1681679471.499793 sender=:1.28 -> destination=:1.245 serial=1615 reply_serial=20
   array [
      dict entry(
         object path "/org/freedesktop/secrets/collection/passwords/57f2caa420e441978563a5f42943c470"
         struct {
            object path "/org/freedesktop/secrets/session/063a0a60940345d5808eeccd2890f636"
            array of bytes [
               b6 85 61 3f d5 7e 78 ad a9 05 e6 ce 18 c5 66 da
            ]
            array of bytes [
               d4 73 ef c2 da 43 c2 17 36 a3 1f 31 5b 93 69 21
            ]
            string "text/plain"
         }
      )
   ]
signal time=1681679471.504176 sender=org.freedesktop.DBus -> destination=:1.245 serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.245"
signal time=1681679471.504226 sender=org.freedesktop.DBus -> destination=(null destination) serial=132 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.245"
   string ":1.245"
   string ""
method call time=1681679471.506302 sender=:1.28 -> destination=org.freedesktop.DBus serial=1616 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.245',arg2=''"

@mislav
Copy link
Contributor

mislav commented May 16, 2023

@voidus Thanks for all the detailed info. I am the maintainer of GitHub CLI and I'm also wondering about the freezes and slow credential lookups that some of our users were experiencing (typically either under Windows proper or under WSL2). Do you have an idea of what the go-keyring could improve or change to avoid these types of hangs?

@maidul98
Copy link

Also would love to hear any thoughts on this

@voidus
Copy link
Author

voidus commented Jul 30, 2023

I'm not sure, but I assume that either keepassxc or go-keyring aren't fully compliant with the spec. If someone has time, they could read into it and look at the dbus monitor output for anything amiss.

@voidus
Copy link
Author

voidus commented Jan 6, 2024

I have a feeling that nobody here knows enough about the spec, maybe we could ask this in a forum or reddit or twitter bubble where there is a chance to find people who could help?

@Laevos
Copy link

Laevos commented Jan 29, 2024

FYI I get a similar issue using Supersonic (which uses go-keyring) while using KeepassXC as my secret service. It works the first time I connect, but if I quit the application and re-open it, after I put in my credentials, the application basically hangs, and I get the following error in the application logs:

error getting password from keyring: org.freedesktop.Secret.Error.IsLocked

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x5e33a2]

goroutine 79 [running]:
github.com/zalando/go-keyring/secret_service.(*SecretService).handlePrompt(0xc0091ef050, {0xc000462380?, 0x2c?})
	github.com/zalando/go-keyring@v0.2.1/secret_service/secret_service.go:197 +0x122
github.com/zalando/go-keyring/secret_service.(*SecretService).CreateItem(0xd69990?, {0xe6cdb0, 0xc0089842d0}, {0xc009084780, 0x43}, 0xc00a337620, {{0xc008e7d1d0, 0x41}, {0x1b1af00, 0x0, ...}, ...})
	github.com/zalando/go-keyring@v0.2.1/secret_service/secret_service.go:175 +0x370
github.com/zalando/go-keyring.secretServiceProvider.Set({}, {0xd1127f, 0xa}, {0xc0089b61b0, 0x24}, {0xc008402c80, 0x40})
	github.com/zalando/go-keyring@v0.2.1/keyring_unix.go:43 +0x3be
github.com/zalando/go-keyring.Set(...)
	github.com/zalando/go-keyring@v0.2.1/keyring.go:27
[...]

@voidus
Copy link
Author

voidus commented Sep 4, 2024

This seems to be resolved with KeePassXC - Version 2.7.9 and gh version 2.49.2 (which uses go-keyring v0.2.4)

Anybody seeing something similar?

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

No branches or pull requests

4 participants