include $(TOPDIR)/rules.mk
PKG_NAME:=dropbear
-PKG_VERSION:=0.52
-PKG_RELEASE:=5
+PKG_VERSION:=0.53.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
http://matt.ucc.asn.au/dropbear/releases/ \
http://www.mirrors.wiretapped.net/security/cryptography/apps/ssh/dropbear/
-PKG_MD5SUM:=1c69ec674481d7745452f68f2ea5597e
+PKG_MD5SUM:=6b8d901859d9b8a18e2f6bfe0a892a03
PKG_BUILD_PARALLEL:=1
--disable-loginfunc \
--disable-pututline \
--disable-pututxline \
- --disable-zlib
+ --disable-zlib \
+ --enable-bundled-libtom
TARGET_CFLAGS += -DARGTYPE=3 -ffunction-sections -fdata-sections
TARGET_LDFLAGS += -Wl,--gc-sections
--- a/svr-chansession.c
+++ b/svr-chansession.c
-@@ -852,12 +852,12 @@ static void execchild(void *user_data) {
+@@ -881,12 +881,12 @@ static void execchild(void *user_data) {
/* We can only change uid/gid as root ... */
if (getuid() == 0) {
(initgroups(ses.authstate.pw_name,
- ses.authstate.pw_gid) < 0)) {
+ ses.authstate.pw_gid) < 0))) {
- dropbear_exit("error changing user group");
+ dropbear_exit("Error changing user group");
}
- if (setuid(ses.authstate.pw_uid) < 0) {
+ if ((ses.authstate.pw_uid != 0) && (setuid(ses.authstate.pw_uid) < 0)) {
- dropbear_exit("error changing user");
+ dropbear_exit("Error changing user");
}
} else {
--- /dev/null
+--- a/options.h
++++ b/options.h
+@@ -49,7 +49,7 @@
+ several kB in binary size however will make the symmetrical ciphers and hashes
+ slower, perhaps by 50%. Recommended for small systems that aren't doing
+ much traffic. */
+-/*#define DROPBEAR_SMALL_CODE*/
++#define DROPBEAR_SMALL_CODE
+
+ /* Enable X11 Forwarding - server only */
+ #define ENABLE_X11FWD
--- a/cli-runopts.c
+++ b/cli-runopts.c
-@@ -271,6 +271,10 @@ void cli_getopts(int argc, char ** argv)
+@@ -287,6 +287,10 @@ void cli_getopts(int argc, char ** argv)
debug_trace = 1;
break;
#endif
case 'F':
case 'e':
case 'c':
-@@ -282,7 +286,6 @@ void cli_getopts(int argc, char ** argv)
+@@ -298,7 +302,6 @@ void cli_getopts(int argc, char ** argv)
#ifndef ENABLE_CLI_LOCALTCPFWD
case 'L':
#endif