Make sure getpass() is available

It's not on Android for example.
This commit is contained in:
Tobias Brunner 2014-05-29 12:25:21 +02:00
parent 95d13fcc3f
commit b2b54bd71d
3 changed files with 9 additions and 3 deletions

View File

@ -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) id_match_t *match_me, id_match_t *match_other)
{ {
shared_key_t *shared; shared_key_t *shared;
char *label, *pwd; char *label, *pwd = NULL;
if (type == this->prompted) if (type == this->prompted)
{ {
@ -95,7 +95,9 @@ static shared_key_t* callback_shared(private_cmd_creds_t *this,
default: default:
return NULL; return NULL;
} }
#ifdef HAVE_GETPASS
pwd = getpass(label); pwd = getpass(label);
#endif
if (!pwd || strlen(pwd) == 0) if (!pwd || strlen(pwd) == 0)
{ {
return NULL; return NULL;

View File

@ -165,7 +165,7 @@ static shared_key_t* cb(void *data, shared_key_type_t type,
identification_t *me, identification_t *other, identification_t *me, identification_t *other,
id_match_t *match_me, id_match_t *match_other) id_match_t *match_me, id_match_t *match_other)
{ {
char buf[64], *label, *secret; char buf[64], *label, *secret = NULL;
switch (type) switch (type)
{ {
@ -179,7 +179,9 @@ static shared_key_t* cb(void *data, shared_key_type_t type,
return NULL; return NULL;
} }
snprintf(buf, sizeof(buf), "%s: ", label); snprintf(buf, sizeof(buf), "%s: ", label);
#ifdef HAVE_GETPASS
secret = getpass(buf); secret = getpass(buf);
#endif
if (secret) if (secret)
{ {
if (match_me) if (match_me)

View File

@ -144,13 +144,15 @@ CALLBACK(password_cb, shared_key_t*,
identification_t *me, identification_t *other, identification_t *me, identification_t *other,
id_match_t *match_me, id_match_t *match_other) id_match_t *match_me, id_match_t *match_other)
{ {
char *pwd; char *pwd = NULL;
if (type != SHARED_PRIVATE_KEY_PASS) if (type != SHARED_PRIVATE_KEY_PASS)
{ {
return NULL; return NULL;
} }
#ifdef HAVE_GETPASS
pwd = getpass(prompt); pwd = getpass(prompt);
#endif
if (!pwd || strlen(pwd) == 0) if (!pwd || strlen(pwd) == 0)
{ {
return NULL; return NULL;