30 lines
1.3 KiB
Diff
30 lines
1.3 KiB
Diff
|
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")
|
||
|
|