diff options
author | Daiki Ueno <ueno@unixuser.org> | 2010-10-25 14:52:17 +0900 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2010-10-25 14:09:57 +0000 |
commit | 538371de09c253365eee64c9479ba023b6dc32f1 (patch) | |
tree | 2f58a88d46d567119fdf40300ee014bc96709209 | |
parent | 9ed868758a071cd478ba2431949abf225f4f9426 (diff) | |
download | gnome-keyring-538371de09c253365eee64c9479ba023b6dc32f1.tar.gz |
gpg-agent: Don't try to cache password when symmetric encryption.
-rw-r--r-- | daemon/gpg-agent/gkd-gpg-agent-ops.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/daemon/gpg-agent/gkd-gpg-agent-ops.c b/daemon/gpg-agent/gkd-gpg-agent-ops.c index 69bbbd43..aa99c014 100644 --- a/daemon/gpg-agent/gkd-gpg-agent-ops.c +++ b/daemon/gpg-agent/gkd-gpg-agent-ops.c @@ -411,11 +411,12 @@ do_get_password (GP11Session *session, const gchar *keyid, const gchar *errmsg, guint ttl; g_assert (GP11_IS_SESSION (session)); - g_assert (keyid); - password = do_lookup_password (session, keyid); - if (password != NULL) - return password; + if (keyid != NULL) { + password = do_lookup_password (session, keyid); + if (password != NULL) + return password; + } /* Do we have the keyid? */ prompt = prepare_password_prompt (session, errmsg, prompt_text, description, confirm); @@ -427,6 +428,11 @@ do_get_password (GP11Session *session, const gchar *keyid, const gchar *errmsg, password = gku_prompt_get_password (prompt, "password"); g_return_val_if_fail (password, NULL); + if (keyid == NULL) { + g_object_unref (prompt); + return password; + } + /* Load up the save options */ attrs = gp11_attributes_new (); |