From: Tobias Brunner Date: Fri, 19 Feb 2021 09:14:45 +0000 (+0100) Subject: cmd: Use message if available when prompting for passwords X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65f0794e0672d273d9d548bef082fc013c3489f5;p=thirdparty%2Fstrongswan.git cmd: Use message if available when prompting for passwords --- 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) {