gsterjov / go-libsecret

A native go library that manages secrets via the freedesktop.org Secret Service DBus API
MIT License
14 stars 9 forks source link

Fix Prompt's handling #5

Open Neverous opened 1 year ago

Neverous commented 1 year ago

Secret Service API specification doesn't specify whether signals are broadcast or unicast so it depends on the specific server implementation. Because of that it seems we have to explicitly connect to signal to handle both cases, otherwise we might miss the response and hang waiting (hit this with aws-vault that uses this library).

While I found two (most popular?) implementations use unicast signals:

For example keepassxc doesn't and just issues broadcast signals, and widely used client library libsecret also explicitly subscribes to the signals making all other clients work regardless of the transmission type.