summary refs log tree commit diff
path: root/clients/cli/agent.c
diff options
context:
space:
mode:
Diffstat (limited to 'clients/cli/agent.c')
-rw-r--r--clients/cli/agent.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/clients/cli/agent.c b/clients/cli/agent.c
index bbfe47fb..6c116153 100644
--- a/clients/cli/agent.c
+++ b/clients/cli/agent.c
@@ -25,7 +25,6 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <errno.h>
 #include <readline/readline.h>
 #include <readline/history.h>
 
@@ -85,7 +84,8 @@ set_deftext (void)
 }
 
 static gboolean
-get_secrets_from_user (const char *request_id,
+get_secrets_from_user (const NmcConfig *nmc_config,
+                       const char *request_id,
                        const char *title,
                        const char *msg,
                        GPtrArray *secrets)
@@ -104,7 +104,10 @@ get_secrets_from_user (const char *request_id,
 			rl_startup_hook = set_deftext;
 			pre_input_deftext = g_strdup (secret->value);
 		}
-		pwd = nmc_readline ("%s (%s): ", secret->pretty_name, secret->entry_id);
+		if (secret->no_prompt_entry_id)
+			pwd = nmc_readline (nmc_config, "%s: ", secret->pretty_name);
+		else
+			pwd = nmc_readline (nmc_config, "%s (%s): ", secret->pretty_name, secret->entry_id);
 
 		/* No password provided, cancel the secrets. */
 		if (!pwd)
@@ -123,17 +126,16 @@ secrets_requested (NMSecretAgentSimple *agent,
                    GPtrArray           *secrets,
                    gpointer             user_data)
 {
-	NmCli *nmc = (NmCli *) user_data;
-	gboolean success = FALSE;
+	NmCli *nmc = user_data;
+	gboolean success;
 
 	if (nmc->nmc_config.print_output == NMC_PRINT_PRETTY)
 		nmc_terminal_erase_line ();
 
-	success = get_secrets_from_user (request_id, title, msg, secrets);
-	if (success)
-		nm_secret_agent_simple_response (agent, request_id, secrets);
-	else
-		nm_secret_agent_simple_response (agent, request_id, NULL);
+	success = get_secrets_from_user (&nmc->nmc_config, request_id, title, msg, secrets);
+	nm_secret_agent_simple_response (agent,
+	                                 request_id,
+	                                 success ? secrets : NULL);
 }
 
 static NMCResultCode
@@ -149,7 +151,7 @@ do_agent_secret (NmCli *nmc, int argc, char **argv)
 		/* We keep running */
 		nmc->should_wait++;
 
-		nm_secret_agent_simple_enable (NM_SECRET_AGENT_SIMPLE (nmc->secret_agent), NULL);
+		nm_secret_agent_simple_enable (nmc->secret_agent, NULL);
 		g_signal_connect (nmc->secret_agent,
 		                  NM_SECRET_AGENT_SIMPLE_REQUEST_SECRETS,
 		                  G_CALLBACK (secrets_requested),