mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 22:11:59 -09:00
rename dropbear_sshd to just dropbear
This commit is contained in:
21
package/dropbear/Config.in
Normal file
21
package/dropbear/Config.in
Normal file
@@ -0,0 +1,21 @@
|
||||
config BR2_PACKAGE_DROPBEAR
|
||||
bool "dropbear"
|
||||
default n
|
||||
help
|
||||
A small SSH 2 server designed for small memory environments.
|
||||
|
||||
http://matt.ucc.asn.au/dropbear/dropbear.html
|
||||
|
||||
config BR2_PACKAGE_DROPBEAR_URANDOM
|
||||
bool " Use /dev/urandom (low entropy systems only)?"
|
||||
default n
|
||||
depends on BR2_PACKAGE_DROPBEAR
|
||||
help
|
||||
By default, dropbear uses the much more secure /dev/random. If you
|
||||
are using a system lacking usable entropy sources, this could cause
|
||||
the dropbear ssh daemon to block forever waiting for entropy that
|
||||
will never arrive. By making dropbear use /dev/urandom, you can
|
||||
prevent Dropbear from blocking while waiting on the random device.
|
||||
This could however significantly reduce the security of your ssh
|
||||
connections. Make sure you know what you are doing if you enable
|
||||
this option -- most people should answer N.
|
||||
59
package/dropbear/dropbear-init.patch
Normal file
59
package/dropbear/dropbear-init.patch
Normal file
@@ -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 $?
|
||||
+
|
||||
93
package/dropbear/dropbear.mk
Normal file
93
package/dropbear/dropbear.mk
Normal file
@@ -0,0 +1,93 @@
|
||||
#############################################################
|
||||
#
|
||||
# dropbear
|
||||
#
|
||||
#############################################################
|
||||
DROPBEAR_VER:=0.46
|
||||
DROPBEAR_SOURCE:=dropbear-$(DROPBEAR_VER).tar.bz2
|
||||
DROPBEAR_SITE:=http://matt.ucc.asn.au/dropbear/releases/
|
||||
DROPBEAR_DIR:=$(BUILD_DIR)/dropbear-$(DROPBEAR_VER)
|
||||
DROPBEAR_CAT:=bzcat
|
||||
DROPBEAR_BINARY:=dropbearmulti
|
||||
DROPBEAR_TARGET_BINARY:=usr/sbin/dropbear
|
||||
|
||||
$(DL_DIR)/$(DROPBEAR_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(DROPBEAR_SITE)/$(DROPBEAR_SOURCE)
|
||||
|
||||
dropbear-source: $(DL_DIR)/$(DROPBEAR_SOURCE)
|
||||
|
||||
$(DROPBEAR_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SOURCE)
|
||||
$(DROPBEAR_CAT) $(DL_DIR)/$(DROPBEAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
toolchain/patch-kernel.sh $(DROPBEAR_DIR) package/dropbear/ dropbear\*.patch
|
||||
$(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_DIR)/options.h
|
||||
touch $(DROPBEAR_DIR)/.unpacked
|
||||
|
||||
$(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.unpacked
|
||||
(cd $(DROPBEAR_DIR); rm -rf config.cache; \
|
||||
autoconf; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
--datadir=/usr/share \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--infodir=/usr/info \
|
||||
$(DISABLE_NLS) \
|
||||
--with-shared \
|
||||
);
|
||||
ifeq ($(strip $(BR2_PACKAGE_DROPBEAR_URANDOM)),y)
|
||||
$(SED) 's,^#define DROPBEAR_RANDOM_DEV.*,#define DROPBEAR_RANDOM_DEV \"/dev/urandom\",' \
|
||||
$(DROPBEAR_DIR)/options.h
|
||||
endif
|
||||
touch $(DROPBEAR_DIR)/.configured
|
||||
|
||||
$(DROPBEAR_DIR)/$(DROPBEAR_BINARY): $(DROPBEAR_DIR)/.configured
|
||||
$(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \
|
||||
PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \
|
||||
MULTI=1 SCPPROGRESS=1 -C $(DROPBEAR_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(DROPBEAR_TARGET_BINARY): $(DROPBEAR_DIR)/$(DROPBEAR_BINARY)
|
||||
#$(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) \
|
||||
# LD=$(TARGET_CC) -C $(DROPBEAR_DIR) install
|
||||
#rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
||||
# $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
||||
install -d -m 755 $(TARGET_DIR)/usr/sbin
|
||||
install -d -m 755 $(TARGET_DIR)/usr/bin
|
||||
install -m 755 $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) \
|
||||
$(TARGET_DIR)/$(DROPBEAR_TARGET_BINARY)
|
||||
$(STRIP) $(TARGET_DIR)/$(DROPBEAR_TARGET_BINARY)
|
||||
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/scp
|
||||
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/ssh
|
||||
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dbclient
|
||||
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearkey
|
||||
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/dropbearconvert
|
||||
cp $(DROPBEAR_DIR)/S50dropbear $(TARGET_DIR)/etc/init.d/
|
||||
chmod a+x $(TARGET_DIR)/etc/init.d/S50dropbear
|
||||
|
||||
dropbear: uclibc zlib $(TARGET_DIR)/$(DROPBEAR_TARGET_BINARY)
|
||||
|
||||
dropbear-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) $(TARGET_CONFIGURE_OPTS) \
|
||||
LD=$(TARGET_CC) -C $(DROPBEAR_DIR) uninstall
|
||||
-$(MAKE) -C $(DROPBEAR_DIR) clean
|
||||
|
||||
dropbear-dirclean:
|
||||
rm -rf $(DROPBEAR_DIR)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Toplevel Makefile options
|
||||
#
|
||||
#############################################################
|
||||
ifeq ($(strip $(BR2_PACKAGE_DROPBEAR_SSHD)),y)
|
||||
TARGETS+=dropbear
|
||||
endif
|
||||
Reference in New Issue
Block a user