dropbear: bump to version 2013.62
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 4 Dec 2013 13:24:00 +0000 (10:24 -0300)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 4 Dec 2013 13:29:11 +0000 (14:29 +0100)
Bump to version 2013.62 with ECC support.
Switch the initscript to on-demand key generation and add systemd unit
file.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/dropbear/S50dropbear
package/dropbear/dropbear.mk
package/dropbear/dropbear.service [new file with mode: 0644]

index 991a1219c4af01e4eb296406e8844dfb11962b78..d94310c04e501aeff6f27a74e7c26f07d0f61759 100644 (file)
@@ -3,34 +3,20 @@
 # Starts dropbear sshd.
 #
 
-# Make sure the dropbearkey progam exists
-[ -f /usr/bin/dropbearkey ] || exit 0
-
 start() {
        echo -n "Starting dropbear sshd: "
        # Make sure dropbear directory exists
        if [ ! -d /etc/dropbear ] ; then
                mkdir -p /etc/dropbear
        fi
-       # Check for the Dropbear RSA key
-       if [ ! -f /etc/dropbear/dropbear_rsa_host_key ] ; then
-               echo -n "generating rsa key... "
-               /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key > /dev/null 2>&1
-       fi
-
-       # Check for the Dropbear DSS key
-       if [ ! -f /etc/dropbear/dropbear_dss_host_key ] ; then
-               echo -n "generating dsa key... "
-               /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key > /dev/null 2>&1
-       fi
        umask 077
-       start-stop-daemon -S -q -p /var/run/dropbear.pid --exec /usr/sbin/dropbear
-       echo "OK"
+       start-stop-daemon -S -q -p /var/run/dropbear.pid --exec /usr/sbin/dropbear -- -R
+       [ $? == 0 ] && echo "OK" || echo "FAIL"
 }
 stop() {
        echo -n "Stopping dropbear sshd: "
        start-stop-daemon -K -q -p /var/run/dropbear.pid
-       echo "OK"
+       [ $? == 0 ] && echo "OK" || echo "FAIL"
 }
 restart() {
        stop
@@ -53,4 +39,3 @@ case "$1" in
 esac
 
 exit $?
-
index 7fa92735b1d6bd8e6ff353121602fd490906e4ec..3ef6c8dac6da8f4ec975840db5dea1314fbb82f9 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-DROPBEAR_VERSION = 2013.60
+DROPBEAR_VERSION = 2013.62
 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
 DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
 DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh
@@ -24,8 +24,8 @@ endef
 
 DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_FIX_XAUTH
 
-define DROPBEAR_DISABLE_REVERSE_DNS
-       $(SED) 's:\(#define DO_HOST_LOOKUP\):/*\1 */:' $(@D)/options.h
+define DROPBEAR_ENABLE_REVERSE_DNS
+       $(SED) 's:.*\(#define DO_HOST_LOOKUP\).*:\1:' $(@D)/options.h
 endef
 
 define DROPBEAR_BUILD_SMALL
@@ -43,6 +43,14 @@ define DROPBEAR_DISABLE_STANDALONE
        $(SED) 's:\(#define NON_INETD_MODE\):/*\1 */:' $(@D)/options.h
 endef
 
+define DROPBEAR_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/dropbear/dropbear.service \
+               $(TARGET_DIR)/etc/systemd/system/dropbear.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -fs ../dropbear.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dropbear.service
+endef
+
 ifeq ($(BR2_USE_MMU),y)
 define DROPBEAR_INSTALL_INIT_SYSV
        $(INSTALL) -D -m 755 package/dropbear/S50dropbear \
@@ -52,8 +60,8 @@ else
 DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_STANDALONE
 endif
 
-ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),y)
-DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_REVERSE_DNS
+ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),)
+DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS
 endif
 
 ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y)
diff --git a/package/dropbear/dropbear.service b/package/dropbear/dropbear.service
new file mode 100644 (file)
index 0000000..4e6c879
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=Dropbear SSH daemon
+After=syslog.target network.target auditd.service
+
+[Service]
+ExecStart=/usr/sbin/dropbear -F -R
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target