From: Selva Nair Date: Fri, 27 Nov 2015 02:20:53 +0000 (-0500) Subject: Unbreak read username password from management X-Git-Tag: v2.4_alpha1~182 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdd69bb7f1c207fb5a9648f36440d7c6e2dcaa76;p=thirdparty%2Fopenvpn.git Unbreak read username password from management Commit 6e9373c846.. introduced a bug by which auth-user-pass or need-ok input falls back to read-from-stdin after successfully reading from management or console. Fix by treating stdin as the last option for input. Signed-off-by: Selva Nair Acked-by: Gert Doering Message-Id: <1448590853-26862-1-git-send-email-selva.nair@gmail.com> URL: http://article.gmane.org/gmane.network.openvpn.devel/10630 Signed-off-by: Gert Doering --- diff --git a/src/openvpn/misc.c b/src/openvpn/misc.c index 14bb0e6b6..31815cb54 100644 --- a/src/openvpn/misc.c +++ b/src/openvpn/misc.c @@ -1036,8 +1036,8 @@ get_user_pass_cr (struct user_pass *up, if (!up->defined) { bool from_authfile = (auth_file && !streq (auth_file, "stdin")); - bool username_from_stdin = !from_authfile; - bool password_from_stdin = !from_authfile; + bool username_from_stdin = false; + bool password_from_stdin = false; if (flags & GET_USER_PASS_PREVIOUS_CREDS_FAILED) msg (M_WARN, "Note: previous '%s' credentials failed", prefix); @@ -1134,6 +1134,11 @@ get_user_pass_cr (struct user_pass *up, if (!(flags & GET_USER_PASS_PASSWORD_ONLY) && strlen (up->username) == 0) msg (M_FATAL, "ERROR: username from %s authfile '%s' is empty", prefix, auth_file); } + else + { + username_from_stdin = true; + password_from_stdin = true; + } /* * Get username/password from standard input?