From 65f0794e0672d273d9d548bef082fc013c3489f5 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 19 Feb 2021 10:14:45 +0100 Subject: [PATCH] cmd: Use message if available when prompting for passwords --- src/charon-cmd/cmd/cmd_creds.c | 39 +++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/charon-cmd/cmd/cmd_creds.c b/src/charon-cmd/cmd/cmd_creds.c index 8ae918208f..90cb9a5f5c 100644 --- a/src/charon-cmd/cmd/cmd_creds.c +++ b/src/charon-cmd/cmd/cmd_creds.c @@ -69,31 +69,36 @@ CALLBACK(callback_shared, shared_key_t*, id_match_t *match_other) { shared_key_t *shared; - char *label, *pwd = NULL; + const char *label = msg; + char buf[BUF_LEN], *pwd = NULL; if (type == this->prompted) { return NULL; } - switch (type) + if (!label || !*label) { - case SHARED_EAP: - label = "EAP password: "; - break; - case SHARED_IKE: - label = "Preshared Key: "; - break; - case SHARED_PRIVATE_KEY_PASS: - label = "Password: "; - break; - case SHARED_PIN: - label = "PIN: "; - break; - default: - return NULL; + switch (type) + { + case SHARED_EAP: + label = "EAP password"; + break; + case SHARED_IKE: + label = "Preshared Key"; + break; + case SHARED_PRIVATE_KEY_PASS: + label = "Password"; + break; + case SHARED_PIN: + label = "PIN"; + break; + default: + return NULL; + } } + snprintf(buf, sizeof(buf), "%s: ", label); #ifdef HAVE_GETPASS - pwd = getpass(label); + pwd = getpass(buf); #endif if (!pwd || strlen(pwd) == 0) { -- 2.47.2