virt-manager/d9b5090e-Fix-forgetting-password-from-keyring.patch

30 lines
1.3 KiB
Diff
Raw Normal View History

Subject: Fix forgetting password from keyring
From: WGH wgh@torlan.ru Sun Mar 21 20:44:02 2021 +0300
Date: Tue Apr 6 18:30:08 2021 -0400:
Git: d9b5090e061e9fad9738359a8b1f86f16eac45cf
First, Item.Delete never accepted any arguments, so this code likely
never worked.
Second, Item.Delete might return a Prompt object, which client
is supposed to call if keyring wants to confirm deletion.
diff --git a/virtManager/lib/keyring.py b/virtManager/lib/keyring.py
index 203886dc..c0f50142 100644
--- a/virtManager/lib/keyring.py
+++ b/virtManager/lib/keyring.py
@@ -87,7 +87,12 @@ class vmmKeyring(vmmGObject):
iface = Gio.DBusProxy.new_sync(self._dbus, 0, None,
"org.freedesktop.secrets", path,
"org.freedesktop.Secret.Item", None)
- iface.Delete("(s)", "/")
+ prompt = iface.Delete()
+ if prompt != "/":
+ iface = Gio.DBusProxy.new_sync(self._dbus, 0, None,
+ "org.freedesktop.secrets", prompt,
+ "org.freedesktop.Secret.Prompt", None)
+ iface.Prompt("(s)", "")
except Exception:
log.exception("Failed to delete keyring secret")