changeset 1278:0c47d97aa9d5

merge
author Matt Johnston <matt@ucc.asn.au>
date Wed, 16 Mar 2016 22:53:27 +0800
parents a20b6af6f182 (diff) 07ee7736397e (current diff)
children f107cef4be68
files cli-session.c signkey.c
diffstat 8 files changed, 27 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES	Thu Dec 31 17:34:17 2015 +0100
+++ b/CHANGES	Wed Mar 16 22:53:27 2016 +0800
@@ -1,3 +1,22 @@
+- Fix crash when fallback initshells() is used, reported by Michael Nowak and Mike Tzou
+
+- Support syslog in dbclient, option -o usesyslog=yes. Patch from Konstantin Tokarev
+
+- Kill a proxycommand when dbclient exits, patch from Konstantin Tokarev
+
+- Option to exit when a TCP forward fails, patch from Konstantin Tokarev
+
+- New "-o" option parsing from Konstantin Tokarev. This allows handling some extra options
+  in the style of OpenSSH, though implementing all OpenSSH options is not planned.
+
+- Various cleanups for issues found by a lint tool, patch from Francois Perrad
+
+- Allow specifying commands eg "dropbearmulti dbclient ..." instead of symlinks
+
+- Fix tab indent consistency, patch from Francois Perrad
+
+- Fix issues found by cppcheck, reported by Mike Tzou
+
 2016.72 - 9 March 2016
 
 - Validate X11 forwarding input. Could allow bypass of authorized_keys command= restrictions,
--- a/cli-kex.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/cli-kex.c	Wed Mar 16 22:53:27 2016 +0800
@@ -186,7 +186,7 @@
 
 	char* fp = NULL;
 	FILE *tty = NULL;
-	char response = 'z';
+	int response = 'z';
 
 	fp = sign_key_fingerprint(keyblob, keybloblen);
 	if (cli_opts.always_accept_key) {
--- a/cli-session.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/cli-session.c	Wed Mar 16 22:53:27 2016 +0800
@@ -361,9 +361,10 @@
 
 	/* Set std{in,out,err} back to non-blocking - busybox ash dies nastily if
 	 * we don't revert the flags */
-	fcntl(cli_ses.stdincopy, F_SETFL, cli_ses.stdinflags);
-	fcntl(cli_ses.stdoutcopy, F_SETFL, cli_ses.stdoutflags);
-	fcntl(cli_ses.stderrcopy, F_SETFL, cli_ses.stderrflags);
+	/* Ignore return value since there's nothing we can do */
+	(void)fcntl(cli_ses.stdincopy, F_SETFL, cli_ses.stdinflags);
+	(void)fcntl(cli_ses.stdoutcopy, F_SETFL, cli_ses.stdoutflags);
+	(void)fcntl(cli_ses.stderrcopy, F_SETFL, cli_ses.stderrflags);
 
 	cli_tty_cleanup();
 
--- a/loginrec.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/loginrec.c	Wed Mar 16 22:53:27 2016 +0800
@@ -305,21 +305,6 @@
 	li->tv_usec = tv.tv_usec;
 }
 
-/* copy a sockaddr_* into our logininfo */
-void
-login_set_addr(struct logininfo *li, const struct sockaddr *sa,
-	       const unsigned int sa_size)
-{
-	unsigned int bufsize = sa_size;
-
-	/* make sure we don't overrun our union */
-	if (sizeof(li->hostaddr) < sa_size)
-		bufsize = sizeof(li->hostaddr);
-
-	memcpy((void *)&(li->hostaddr.sa), (const void *)sa, bufsize);
-}
-
-
 /**
  ** login_write: Call low-level recording functions based on autoconf
  ** results
--- a/loginrec.h	Thu Dec 31 17:34:17 2015 +0100
+++ b/loginrec.h	Wed Mar 16 22:53:27 2016 +0800
@@ -173,10 +173,6 @@
 int login_write (struct logininfo *li);
 int login_log_entry(struct logininfo *li);
 
-/* set the network address based on network address type */
-void login_set_addr(struct logininfo *li, const struct sockaddr *sa,
-		    const unsigned int sa_size);
-
 /* produce various forms of the line filename */
 char *line_fullname(char *dst, const char *src, size_t dstsize);
 char *line_stripname(char *dst, const char *src, size_t dstsize);
--- a/signkey.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/signkey.c	Wed Mar 16 22:53:27 2016 +0800
@@ -93,7 +93,7 @@
 			}
 #endif
 
-			return i;
+			return (enum signkey_type)i;
 		}
 	}
 
--- a/svr-kex.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/svr-kex.c	Wed Mar 16 22:53:27 2016 +0800
@@ -138,7 +138,7 @@
 			break;
 #endif
 		default:
-			(void)0;
+			dropbear_assert(0);
 	}
 
 	if (readhostkey(fn, svr_opts.hostkey, &type) == DROPBEAR_SUCCESS) {
--- a/svr-x11fwd.c	Thu Dec 31 17:34:17 2015 +0100
+++ b/svr-x11fwd.c	Wed Mar 16 22:53:27 2016 +0800
@@ -119,7 +119,7 @@
 	/* cleanup */
 	m_free(chansess->x11authprot);
 	m_free(chansess->x11authcookie);
-	close(fd);
+	m_close(fd);
 
 	return DROPBEAR_FAILURE;
 }