diff options
author | Dan Williams <dcbw@redhat.com> | 2013-06-19 17:51:09 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-06-21 11:53:58 -0500 |
commit | ae8d3126d336a107934d811b4ace77a594a9531d (patch) | |
tree | 08ae0d71c03294b98dd652143fef73f225900dcb | |
parent | 23732ea5583f025c7ce21744d8608f92ba6b49bb (diff) | |
download | NetworkManager-dcbw/agent-secrets-refactor.tar.gz |
agents: change secrets request hints back to char **dcbw/agent-secrets-refactor
Previously I didn't think they'd be used for anything other than connection secrets
which only have one hint, but in the future we'll want to pass more information.
-rw-r--r-- | src/nm-activation-request.c | 3 | ||||
-rw-r--r-- | src/settings/nm-agent-manager.c | 14 | ||||
-rw-r--r-- | src/settings/nm-agent-manager.h | 2 | ||||
-rw-r--r-- | src/settings/nm-secret-agent.c | 3 | ||||
-rw-r--r-- | src/settings/nm-secret-agent.h | 2 | ||||
-rw-r--r-- | src/settings/nm-settings-connection.c | 25 | ||||
-rw-r--r-- | src/settings/nm-settings-connection.h | 2 |
7 files changed, 29 insertions, 22 deletions
diff --git a/src/nm-activation-request.c b/src/nm-activation-request.c index e17f2a7e80..359a68e54e 100644 --- a/src/nm-activation-request.c +++ b/src/nm-activation-request.c @@ -116,6 +116,7 @@ nm_act_request_get_secrets (NMActRequest *self, guint32 call_id; NMConnection *connection; gboolean user_requested; + const char *hints[2] = { hint, NULL }; g_return_val_if_fail (self, 0); g_return_val_if_fail (NM_IS_ACT_REQUEST (self), 0); @@ -137,7 +138,7 @@ nm_act_request_get_secrets (NMActRequest *self, nm_active_connection_get_user_uid (NM_ACTIVE_CONNECTION (self)), setting_name, flags, - hint, + hints, get_secrets_cb, info, NULL); diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c index f17753315a..7947963228 100644 --- a/src/settings/nm-agent-manager.c +++ b/src/settings/nm-agent-manager.c @@ -646,7 +646,7 @@ typedef struct { NMSettingsGetSecretsFlags flags; NMConnection *connection; char *setting_name; - char *hint; + char **hints; GHashTable *existing_secrets; @@ -670,7 +670,7 @@ connection_request_free (gpointer data) g_object_unref (req->connection); g_free (req->setting_name); - g_free (req->hint); + g_strfreev (req->hints); if (req->existing_secrets) g_hash_table_unref (req->existing_secrets); if (req->chain) @@ -707,7 +707,7 @@ connection_request_new_get (NMConnection *connection, const char *setting_name, const char *verb, NMSettingsGetSecretsFlags flags, - const char *hint, + const char **hints, NMAgentSecretsResultFunc callback, gpointer callback_data, gpointer other_data2, @@ -736,7 +736,7 @@ connection_request_new_get (NMConnection *connection, if (existing_secrets) req->existing_secrets = g_hash_table_ref (existing_secrets); req->setting_name = g_strdup (setting_name); - req->hint = g_strdup (hint); + req->hints = g_strdupv ((char **) hints); req->flags = flags; req->callback = callback; req->callback_data = callback_data; @@ -891,7 +891,7 @@ get_agent_request_secrets (ConnectionRequest *req, gboolean include_system_secre parent->current_call_id = nm_secret_agent_get_secrets (parent->current, tmp, req->setting_name, - req->hint, + (const char **) req->hints, req->flags, get_done_cb, req); @@ -1140,7 +1140,7 @@ nm_agent_manager_get_secrets (NMAgentManager *self, GHashTable *existing_secrets, const char *setting_name, NMSettingsGetSecretsFlags flags, - const char *hint, + const char **hints, NMAgentSecretsResultFunc callback, gpointer callback_data, gpointer other_data2, @@ -1173,7 +1173,7 @@ nm_agent_manager_get_secrets (NMAgentManager *self, setting_name, "getting", flags, - hint, + hints, callback, callback_data, other_data2, diff --git a/src/settings/nm-agent-manager.h b/src/settings/nm-agent-manager.h index 343f8a9392..2145edd0f1 100644 --- a/src/settings/nm-agent-manager.h +++ b/src/settings/nm-agent-manager.h @@ -80,7 +80,7 @@ guint32 nm_agent_manager_get_secrets (NMAgentManager *manager, GHashTable *existing_secrets, const char *setting_name, NMSettingsGetSecretsFlags flags, - const char *hint, + const char **hints, NMAgentSecretsResultFunc callback, gpointer callback_data, gpointer other_data2, diff --git a/src/settings/nm-secret-agent.c b/src/settings/nm-secret-agent.c index f889b7b3c5..a44625a921 100644 --- a/src/settings/nm-secret-agent.c +++ b/src/settings/nm-secret-agent.c @@ -251,14 +251,13 @@ gconstpointer nm_secret_agent_get_secrets (NMSecretAgent *self, NMConnection *connection, const char *setting_name, - const char *hint, + const char **hints, NMSettingsGetSecretsFlags flags, NMSecretAgentCallback callback, gpointer callback_data) { NMSecretAgentPrivate *priv; GHashTable *hash; - const char *hints[2] = { hint, NULL }; Request *r; g_return_val_if_fail (self != NULL, NULL); diff --git a/src/settings/nm-secret-agent.h b/src/settings/nm-secret-agent.h index f2fb16c5a4..ace060919a 100644 --- a/src/settings/nm-secret-agent.h +++ b/src/settings/nm-secret-agent.h @@ -80,7 +80,7 @@ typedef void (*NMSecretAgentCallback) (NMSecretAgent *agent, gconstpointer nm_secret_agent_get_secrets (NMSecretAgent *agent, NMConnection *connection, const char *setting_name, - const char *hint, + const char **hints, NMSettingsGetSecretsFlags flags, NMSecretAgentCallback callback, gpointer callback_data); diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c index edabc60ff3..dcca265ec4 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c @@ -848,7 +848,8 @@ agent_secrets_done_cb (NMAgentManager *manager, * to this UID * @setting_name: the setting to return secrets for * @flags: flags to modify the secrets request - * @hint: the name of a key in @setting_name for which a secret may be required + * @hints: key names in @setting_name for which secrets may be required, or some + * other information about the request * @callback: the function to call with returned secrets * @callback_data: user data to pass to @callback * @@ -863,7 +864,7 @@ nm_settings_connection_get_secrets (NMSettingsConnection *self, gulong uid, const char *setting_name, NMSettingsGetSecretsFlags flags, - const char *hint, + const char **hints, NMSettingsConnectionSecretsFunc callback, gpointer callback_data, GError **error) @@ -871,6 +872,7 @@ nm_settings_connection_get_secrets (NMSettingsConnection *self, NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE (self); GHashTable *existing_secrets; guint32 call_id = 0; + char *joined_hints = NULL; /* Use priv->secrets to work around the fact that nm_connection_clear_secrets() * will clear secrets on this object's settings. @@ -898,7 +900,7 @@ nm_settings_connection_get_secrets (NMSettingsConnection *self, existing_secrets, setting_name, flags, - hint, + hints, agent_secrets_done_cb, self, callback, @@ -906,12 +908,17 @@ nm_settings_connection_get_secrets (NMSettingsConnection *self, if (existing_secrets) g_hash_table_unref (existing_secrets); - nm_log_dbg (LOGD_SETTINGS, "(%s/%s:%u) secrets requested flags 0x%X hint '%s'", - nm_connection_get_uuid (NM_CONNECTION (self)), - setting_name, - call_id, - flags, - hint); + if (nm_logging_level_enabled (LOGL_DEBUG)) { + if (hints) + joined_hints = g_strjoinv (",", (char **) hints); + nm_log_dbg (LOGD_SETTINGS, "(%s/%s:%u) secrets requested flags 0x%X hints '%s'", + nm_connection_get_uuid (NM_CONNECTION (self)), + setting_name, + call_id, + flags, + joined_hints ? joined_hints : "(none)"); + g_free (joined_hints); + } return call_id; } diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h index 0c93614156..8b995ab661 100644 --- a/src/settings/nm-settings-connection.h +++ b/src/settings/nm-settings-connection.h @@ -108,7 +108,7 @@ guint32 nm_settings_connection_get_secrets (NMSettingsConnection *connection, gulong uid, const char *setting_name, NMSettingsGetSecretsFlags flags, - const char *hint, + const char **hints, NMSettingsConnectionSecretsFunc callback, gpointer callback_data, GError **error); |