Browse Source

Update dropbear to the new version.
Add a config option to handle low entropy system.

Eric Andersen 20 năm trước cách đây
mục cha
commit
4c22057788

+ 14 - 0
package/dropbear_sshd/Config.in

@@ -5,3 +5,17 @@ config BR2_PACKAGE_DROPBEAR_SSHD
 	  A small SSH 2 server designed for small memory environments.
 	  A small SSH 2 server designed for small memory environments.
 
 
 	  http://matt.ucc.asn.au/dropbear/
 	  http://matt.ucc.asn.au/dropbear/
+
+config BR2_PACKAGE_DROPBEAR_SSHD_URANDOM
+	bool "  Use /dev/urandom (low entropy systems only)?"
+	default n
+	depends on BR2_PACKAGE_DROPBEAR_SSHD
+	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.

+ 6 - 2
package/dropbear_sshd/dropbear_sshd.mk

@@ -3,9 +3,9 @@
 # dropbear_sshd
 # dropbear_sshd
 #
 #
 #############################################################
 #############################################################
-DROPBEAR_SSHD_SOURCE:=dropbear-0.44.tar.bz2
+DROPBEAR_SSHD_SOURCE:=dropbear-0.45.tar.bz2
 DROPBEAR_SSHD_SITE:=http://matt.ucc.asn.au/dropbear/releases/
 DROPBEAR_SSHD_SITE:=http://matt.ucc.asn.au/dropbear/releases/
-DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.44
+DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.45
 DROPBEAR_SSHD_CAT:=bzcat
 DROPBEAR_SSHD_CAT:=bzcat
 DROPBEAR_SSHD_BINARY:=dropbearmulti
 DROPBEAR_SSHD_BINARY:=dropbearmulti
 DROPBEAR_SSHD_TARGET_BINARY:=usr/sbin/dropbear
 DROPBEAR_SSHD_TARGET_BINARY:=usr/sbin/dropbear
@@ -44,6 +44,10 @@ $(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
 		$(DISABLE_NLS) \
 		$(DISABLE_NLS) \
 		--with-shared \
 		--with-shared \
 	);
 	);
+ifeq ($(strip $(BR2_PACKAGE_DROPBEAR_SSHD_URANDOM)),y)
+	$(SED) 's,^#define DROPBEAR_RANDOM_DEV.*,#define DROPBEAR_RANDOM_DEV \"/dev/urandom\",' \
+		$(DROPBEAR_SSHD_DIR)/options.h
+endif
 	touch  $(DROPBEAR_SSHD_DIR)/.configured
 	touch  $(DROPBEAR_SSHD_DIR)/.configured
 
 
 $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured
 $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured