The unified diff between revisions [78d02301..] and [833d0ade..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "cli-authpasswd.c"
#  from [44b789137e747da6332f48cea540d886d81d14e4]
#    to [a0f36f9a50791c9833ff3926c821a254a49daad1]
#
# patch "cli-runopts.c"
#  from [8bfbc2e5153b38baf7c63678e3a842740a57618b]
#    to [6435ac6046e57fb5d30bdad5297dca84c67f828b]
#
# patch "configure.in"
#  from [126df03d23d3405936c565982b90613613d60f8f]
#    to [cc7d20a40d1035723cefd214951b34ed71f50877]
#
============================================================
--- cli-authpasswd.c	44b789137e747da6332f48cea540d886d81d14e4
+++ cli-authpasswd.c	a0f36f9a50791c9833ff3926c821a254a49daad1
@@ -38,7 +38,9 @@ static int want_askpass()
 	char* askpass_prog = NULL;

 	askpass_prog = getenv("SSH_ASKPASS");
-	return askpass_prog && !isatty(STDIN_FILENO) && getenv("DISPLAY");
+	return askpass_prog &&
+		((!isatty(STDIN_FILENO) && getenv("DISPLAY") )
+		 	|| getenv("SSH_ASKPASS_ALWAYS"));
 }

 /* returns a statically allocated password from a helper app, or NULL
@@ -125,10 +127,16 @@ void cli_auth_password() {
 				cli_opts.username, cli_opts.remotehost);
 #ifdef ENABLE_CLI_ASKPASS_HELPER
 	if (want_askpass())
+	{
 		password = gui_getpass(prompt);
-	else
+		if (!password) {
+			dropbear_exit("No password");
+		}
+	} else
 #endif
+	{
 		password = getpass_or_cancel(prompt);
+	}

 	buf_putbyte(ses.writepayload, SSH_MSG_USERAUTH_REQUEST);

============================================================
--- cli-runopts.c	8bfbc2e5153b38baf7c63678e3a842740a57618b
+++ cli-runopts.c	6435ac6046e57fb5d30bdad5297dca84c67f828b
@@ -92,6 +92,9 @@ void cli_getopts(int argc, char ** argv)
 #endif
 	char* dummy = NULL; /* Not used for anything real */

+	char* recv_window_arg = NULL;
+	char* keepalive_arg = NULL;
+
 	/* see printhelp() for options */
 	cli_opts.progname = argv[0];
 	cli_opts.remotehost = NULL;
@@ -121,8 +124,6 @@ void cli_getopts(int argc, char ** argv)
 	opts.ipv6 = 1;
 	*/
 	opts.recv_window = DEFAULT_RECV_WINDOW;
-	char* recv_window_arg = NULL;
-	char* keepalive_arg = NULL;

 	/* Iterate all the arguments */
 	for (i = 1; i < (unsigned int)argc; i++) {
============================================================
--- configure.in	126df03d23d3405936c565982b90613613d60f8f
+++ configure.in	cc7d20a40d1035723cefd214951b34ed71f50877
@@ -635,6 +635,9 @@ AS_MKDIR_P(libtomcrypt/src/mac/pmac)
 AS_MKDIR_P(libtomcrypt/src/mac/omac)
 AS_MKDIR_P(libtomcrypt/src/mac/pelican)
 AS_MKDIR_P(libtomcrypt/src/mac/pmac)
+AS_MKDIR_P(libtomcrypt/src/mac/f9)
+AS_MKDIR_P(libtomcrypt/src/mac/xcbc)
+AS_MKDIR_P(libtomcrypt/src/math/fp)
 AS_MKDIR_P(libtomcrypt/src/misc/base64)
 AS_MKDIR_P(libtomcrypt/src/misc/crypt)
 AS_MKDIR_P(libtomcrypt/src/misc/mpi)
@@ -644,6 +647,8 @@ AS_MKDIR_P(libtomcrypt/src/modes/ofb)
 AS_MKDIR_P(libtomcrypt/src/modes/ctr)
 AS_MKDIR_P(libtomcrypt/src/modes/ecb)
 AS_MKDIR_P(libtomcrypt/src/modes/ofb)
+AS_MKDIR_P(libtomcrypt/src/modes/f8)
+AS_MKDIR_P(libtomcrypt/src/modes/lrw)
 AS_MKDIR_P(libtomcrypt/src/pk/asn1/der/bit)
 AS_MKDIR_P(libtomcrypt/src/pk/asn1/der/choice)
 AS_MKDIR_P(libtomcrypt/src/pk/asn1/der/ia5)