From: Tobias Brunner Date: Thu, 29 May 2014 10:25:21 +0000 (+0200) Subject: Make sure getpass() is available X-Git-Tag: 5.2.0dr5~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2b54bd71dec810fe374d230947f734cfccd6f5d;p=thirdparty%2Fstrongswan.git Make sure getpass() is available It's not on Android for example. --- diff --git a/src/charon-cmd/cmd/cmd_creds.c b/src/charon-cmd/cmd/cmd_creds.c index 7fee85d789..45d008e7b6 100644 --- a/src/charon-cmd/cmd/cmd_creds.c +++ b/src/charon-cmd/cmd/cmd_creds.c @@ -72,7 +72,7 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this, id_match_t *match_me, id_match_t *match_other) { shared_key_t *shared; - char *label, *pwd; + char *label, *pwd = NULL; if (type == this->prompted) { @@ -95,7 +95,9 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this, default: return NULL; } +#ifdef HAVE_GETPASS pwd = getpass(label); +#endif if (!pwd || strlen(pwd) == 0) { return NULL; diff --git a/src/pki/pki.c b/src/pki/pki.c index ae4ef1cb0b..8d880f066f 100644 --- a/src/pki/pki.c +++ b/src/pki/pki.c @@ -165,7 +165,7 @@ static shared_key_t* cb(void *data, shared_key_type_t type, identification_t *me, identification_t *other, id_match_t *match_me, id_match_t *match_other) { - char buf[64], *label, *secret; + char buf[64], *label, *secret = NULL; switch (type) { @@ -179,7 +179,9 @@ static shared_key_t* cb(void *data, shared_key_type_t type, return NULL; } snprintf(buf, sizeof(buf), "%s: ", label); +#ifdef HAVE_GETPASS secret = getpass(buf); +#endif if (secret) { if (match_me) diff --git a/src/swanctl/commands/load_creds.c b/src/swanctl/commands/load_creds.c index 94d31f49f0..ee792adb02 100644 --- a/src/swanctl/commands/load_creds.c +++ b/src/swanctl/commands/load_creds.c @@ -144,13 +144,15 @@ CALLBACK(password_cb, shared_key_t*, identification_t *me, identification_t *other, id_match_t *match_me, id_match_t *match_other) { - char *pwd; + char *pwd = NULL; if (type != SHARED_PRIVATE_KEY_PASS) { return NULL; } +#ifdef HAVE_GETPASS pwd = getpass(prompt); +#endif if (!pwd || strlen(pwd) == 0) { return NULL;