summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--make/dropbear_sshd.mk6
-rw-r--r--sources/dropbear-init.patch59
2 files changed, 63 insertions, 2 deletions
diff --git a/make/dropbear_sshd.mk b/make/dropbear_sshd.mk
index d694508f9..99f945e7c 100644
--- a/make/dropbear_sshd.mk
+++ b/make/dropbear_sshd.mk
@@ -3,9 +3,9 @@
# dropbear_sshd
#
#############################################################
-DROPBEAR_SSHD_SOURCE:=dropbear-0.41.tar.bz2
+DROPBEAR_SSHD_SOURCE:=dropbear-0.42.tar.bz2
DROPBEAR_SSHD_SITE:=http://matt.ucc.asn.au/dropbear/releases/
-DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.41
+DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.42
DROPBEAR_SSHD_CAT:=bzcat
DROPBEAR_SSHD_BINARY:=dropbearmulti
DROPBEAR_SSHD_TARGET_BINARY:=usr/sbin/dropbear
@@ -61,6 +61,8 @@ $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY): $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SS
$(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearkey
ln -sf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearconvert
+ cp $(DROPBEAR_SSHD_DIR)/S50dropbear $(TARGET_DIR)/etc/init.d/
+ chmod a+x $(TARGET_DIR)/etc/init.d/S50dropbear
dropbear_sshd: uclibc zlib $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
diff --git a/sources/dropbear-init.patch b/sources/dropbear-init.patch
new file mode 100644
index 000000000..d6bf1740a
--- /dev/null
+++ b/sources/dropbear-init.patch
@@ -0,0 +1,59 @@
+--- dropbear-0.42/S50dropbear
++++ dropbear-0.42/S50dropbear
+@@ -0,0 +1,56 @@
++#!/bin/sh
++#
++# Starts dropbear sshd.
++#
++
++# Make sure the dropbearkey progam exists
++[ -f /usr/bin/dropbearkey ] || exit 0
++
++# Check for the Dropbear RSA key
++if [ ! -f /etc/dropbear/dropbear_rsa_host_key ] ; then
++ echo Generating RSA Key...
++ mkdir -p /etc/dropbear
++ /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
++fi
++
++# Check for the Dropbear DSS key
++if [ ! -f /etc/dropbear/dropbear_dss_host_key ] ; then
++ echo Generating DSS Key...
++ mkdir -p /etc/dropbear
++ /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
++fi
++
++umask 077
++
++start() {
++ echo -n "Starting dropbear sshd: "
++ start-stop-daemon --start --quiet --pidfile /var/run/dropbear.pid --exec /usr/sbin/dropbear
++ echo "OK"
++}
++stop() {
++ echo -n "Stopping sshd: "
++ start-stop-daemon --stop --quiet --pidfile /var/run/dropbear.pid
++ echo "OK"
++}
++restart() {
++ stop
++ start
++}
++
++case "$1" in
++ start)
++ start
++ ;;
++ stop)
++ stop
++ ;;
++ restart|reload)
++ restart
++ ;;
++ *)
++ echo $"Usage: $0 {start|stop|restart}"
++ exit 1
++esac
++
++exit $?
++