[gnome-keyring/wip/dueno/ssh-agent: 21/24] ssh-agent: don't remove preloaded keys on agent operations
- From: Daiki Ueno <dueno src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-keyring/wip/dueno/ssh-agent: 21/24] ssh-agent: don't remove preloaded keys on agent operations
- Date: Mon, 12 Feb 2018 17:02:27 +0000 (UTC)
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]