[gnome-keyring/wip/dueno/ssh-agent: 21/24] ssh-agent: don't remove preloaded keys on agent operations



commit c042ccf7e6c736c605575f4c54b0c284e6b35edf
Author: Daiki Ueno <dueno src gnome org>
Date:   Sun Dec 17 08:23:26 2017 +0100

    ssh-agent: don't remove preloaded keys on agent operations

 daemon/ssh-agent/gkd-ssh-agent-ops.c     |   12 ++----------
 daemon/ssh-agent/gkd-ssh-agent-preload.c |   29 -----------------------------
 daemon/ssh-agent/gkd-ssh-agent-preload.h |    4 ----
 3 files changed, 2 insertions(+), 43 deletions(-)
---
diff --git a/daemon/ssh-agent/gkd-ssh-agent-ops.c b/daemon/ssh-agent/gkd-ssh-agent-ops.c
index eb94476..2d82b1b 100644
--- a/daemon/ssh-agent/gkd-ssh-agent-ops.c
+++ b/daemon/ssh-agent/gkd-ssh-agent-ops.c
@@ -62,11 +62,8 @@ op_add_identity (GkdSshAgentCall *call)
        ret = gkd_ssh_agent_process_call (call->process, call->req, call->resp);
 
        if (key) {
-               /* Move the key from preloaded list to loaded list */
-               if (ret) {
-                       gkd_ssh_agent_preload_clear (key);
+               if (ret)
                        gkd_ssh_agent_process_add_key (call->process, key);
-               }
                g_bytes_unref (key);
        }
 
@@ -196,8 +193,6 @@ load_key_if_necessary (GkdSshAgentCall *call,
                g_message ("the %s command failed: %s", argv[0], error->message);
 
        } else {
-               /* Move the key from preloaded list to loaded list */
-               gkd_ssh_agent_preload_clear (key);
                gkd_ssh_agent_process_add_key (call->process, key);
        }
 
@@ -245,10 +240,8 @@ op_remove_identity (GkdSshAgentCall *call)
        /* If the key doesn't exist what happens here? */
        ret = gkd_ssh_agent_process_call (call->process, call->req, call->resp);
        if (key) {
-               if (ret) {
-                       gkd_ssh_agent_preload_clear (key);
+               if (ret)
                        gkd_ssh_agent_process_remove_key (call->process, key);
-               }
                g_bytes_unref (key);
        }
        return ret;
@@ -258,7 +251,6 @@ static gboolean
 op_remove_all_identities (GkdSshAgentCall *call)
 {
        if (gkd_ssh_agent_process_call (call->process, call->req, call->resp)) {
-               gkd_ssh_agent_preload_clear_all ();
                gkd_ssh_agent_process_clear_keys (call->process);
                return TRUE;
        }
diff --git a/daemon/ssh-agent/gkd-ssh-agent-preload.c b/daemon/ssh-agent/gkd-ssh-agent-preload.c
index cac8fb9..3f0b767 100644
--- a/daemon/ssh-agent/gkd-ssh-agent-preload.c
+++ b/daemon/ssh-agent/gkd-ssh-agent-preload.c
@@ -221,35 +221,6 @@ gkd_ssh_agent_preload_path (GBytes *key)
 }
 
 void
-gkd_ssh_agent_preload_clear (GBytes *key)
-{
-       Preload *preload;
-
-       preload_lock_and_update ();
-
-       preload = g_hash_table_lookup (preloads_by_key, key);
-       if (preload)
-               g_clear_pointer (&preload->private_file, (GDestroyNotify) g_bytes_unref);
-
-       preload_unlock ();
-}
-
-void
-gkd_ssh_agent_preload_clear_all (void)
-{
-       GHashTableIter iter;
-       Preload *preload;
-
-       preload_lock_and_update ();
-
-       g_hash_table_iter_init (&iter, preloads_by_key);
-       while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&preload))
-               g_clear_pointer (&preload->private_file, (GDestroyNotify) g_bytes_unref);
-
-       preload_unlock ();
-}
-
-void
 gkd_ssh_agent_preload_cleanup (void)
 {
        g_mutex_lock (&preload_mutex);
diff --git a/daemon/ssh-agent/gkd-ssh-agent-preload.h b/daemon/ssh-agent/gkd-ssh-agent-preload.h
index 00d1ce2..98eb611 100644
--- a/daemon/ssh-agent/gkd-ssh-agent-preload.h
+++ b/daemon/ssh-agent/gkd-ssh-agent-preload.h
@@ -34,10 +34,6 @@ gchar *              gkd_ssh_agent_preload_path               (GBytes *key);
 
 GBytes *             gkd_ssh_agent_preload_private            (GBytes *key);
 
-void                 gkd_ssh_agent_preload_clear              (GBytes *key);
-
-void                 gkd_ssh_agent_preload_clear_all          (void);
-
 void                 gkd_ssh_agent_preload_cleanup            (void);
 
 #endif /* __GKD_SSH_AGENT_PRELOAD_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]