summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGES19
-rw-r--r--cli-kex.c2
-rw-r--r--cli-session.c7
-rw-r--r--loginrec.c15
-rw-r--r--loginrec.h4
-rw-r--r--signkey.c2
-rw-r--r--svr-kex.c2
-rw-r--r--svr-x11fwd.c2
8 files changed, 27 insertions, 26 deletions
diff --git a/CHANGES b/CHANGES
index a6cd0b6..ca6e7bb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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,
diff --git a/cli-kex.c b/cli-kex.c
index 077fec9..936b95c 100644
--- a/cli-kex.c
+++ b/cli-kex.c
@@ -186,7 +186,7 @@ static void ask_to_confirm(unsigned char* keyblob, unsigned int keybloblen,
char* fp = NULL;
FILE *tty = NULL;
- char response = 'z';
+ int response = 'z';
fp = sign_key_fingerprint(keyblob, keybloblen);
if (cli_opts.always_accept_key) {
diff --git a/cli-session.c b/cli-session.c
index 60f5518..15a2188 100644
--- a/cli-session.c
+++ b/cli-session.c
@@ -361,9 +361,10 @@ static void cli_session_cleanup(void) {
/* 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();
diff --git a/loginrec.c b/loginrec.c
index d6ec75f..1b8b143 100644
--- a/loginrec.c
+++ b/loginrec.c
@@ -305,21 +305,6 @@ login_set_current_time(struct logininfo *li)
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
diff --git a/loginrec.h b/loginrec.h
index 830c045..b2e3778 100644
--- a/loginrec.h
+++ b/loginrec.h
@@ -173,10 +173,6 @@ int login_utmp_only(struct logininfo *li);
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);
diff --git a/signkey.c b/signkey.c
index 2b61106..9cbf2b0 100644
--- a/signkey.c
+++ b/signkey.c
@@ -93,7 +93,7 @@ enum signkey_type signkey_type_from_name(const char* name, unsigned int namelen)
}
#endif
- return i;
+ return (enum signkey_type)i;
}
}
diff --git a/svr-kex.c b/svr-kex.c
index 96f4508..f3828aa 100644
--- a/svr-kex.c
+++ b/svr-kex.c
@@ -138,7 +138,7 @@ static void svr_ensure_hostkey() {
break;
#endif
default:
- (void)0;
+ dropbear_assert(0);
}
if (readhostkey(fn, svr_opts.hostkey, &type) == DROPBEAR_SUCCESS) {
diff --git a/svr-x11fwd.c b/svr-x11fwd.c
index 2af4141..cf213e8 100644
--- a/svr-x11fwd.c
+++ b/svr-x11fwd.c
@@ -119,7 +119,7 @@ fail:
/* cleanup */
m_free(chansess->x11authprot);
m_free(chansess->x11authcookie);
- close(fd);
+ m_close(fd);
return DROPBEAR_FAILURE;
}