ask-password: Add --echo to enable echoing the user input

Programs such as OpenVPN may use ask-password for not only retrieving
passwords, but also usernames.  Masking usernames with * seems just silly.

 v2 - Don't mess with termios flags, instead print the input
      instead of an asterix.  Resolves issues with backspace
      and TAB input.

 v3 - Renamed 'do_echo' variables and argument to 'echo'.  Also
      modified the ask_password_{tty,agent,auto} API instead of
      additional wrapper functions.

[zj: undo changes to ask_password_auto, since no callers were using
     the new argument.]
This commit is contained in:
David Sommerseth
2014-10-05 15:29:41 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent 75a0da952f
commit 64845bdc82
6 changed files with 35 additions and 11 deletions
+2 -2
View File
@@ -491,7 +491,7 @@ static int prompt_root_password(void) {
for (;;) {
_cleanup_free_ char *a = NULL, *b = NULL;
r = ask_password_tty(msg1, 0, NULL, &a);
r = ask_password_tty(msg1, 0, false, NULL, &a);
if (r < 0) {
log_error("Failed to query root password: %s", strerror(-r));
return r;
@@ -502,7 +502,7 @@ static int prompt_root_password(void) {
break;
}
r = ask_password_tty(msg2, 0, NULL, &b);
r = ask_password_tty(msg2, 0, false, NULL, &b);
if (r < 0) {
log_error("Failed to query root password: %s", strerror(-r));
clear_string(a);