mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
bring up to date with nbd's br2_test20.tar.bz2
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@308 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
10
package/dropbear/Config.in
Normal file
10
package/dropbear/Config.in
Normal file
@@ -0,0 +1,10 @@
|
||||
config BR2_PACKAGE_DROPBEAR
|
||||
tristate "SSH Server/Client"
|
||||
default y
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
dropbear
|
||||
|
||||
A small SSH 2 server/client designed for small memory environments.
|
||||
|
||||
http://matt.ucc.asn.au/dropbear/
|
||||
80
package/dropbear/Makefile
Normal file
80
package/dropbear/Makefile
Normal file
@@ -0,0 +1,80 @@
|
||||
#############################################################
|
||||
#
|
||||
# dropbear
|
||||
#
|
||||
#############################################################
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
DROPBEAR_VERSION:=0.44
|
||||
DROPBEAR_SOURCE:=dropbear-$(DROPBEAR_VERSION).tar.bz2
|
||||
DROPBEAR_SITE:=http://matt.ucc.asn.au/dropbear/releases/
|
||||
DROPBEAR_DIR:=$(BUILD_DIR)/dropbear-$(DROPBEAR_VERSION)
|
||||
DROPBEAR_CAT:=bzcat
|
||||
DROPBEAR_BINARY:=dropbearmulti
|
||||
DROPBEAR_TARGET_BINARY:=usr/sbin/dropbear
|
||||
DROPBEAR_IPK:=dropbear_$(DROPBEAR_VERSION)-1_$(ARCH).ipk
|
||||
DROPBEAR_IPK_DIR:=$(DROPBEAR_DIR)/ipkg
|
||||
|
||||
$(DL_DIR)/$(DROPBEAR_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(DROPBEAR_SITE)/$(DROPBEAR_SOURCE)
|
||||
|
||||
$(DROPBEAR_DIR)/.patched: $(DL_DIR)/$(DROPBEAR_SOURCE)
|
||||
$(DROPBEAR_CAT) $(DL_DIR)/$(DROPBEAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
$(PATCH) $(DROPBEAR_DIR) ./patches \*.patch
|
||||
$(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_DIR)/options.h
|
||||
touch $(DROPBEAR_DIR)/.patched
|
||||
|
||||
$(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched
|
||||
(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 \
|
||||
);
|
||||
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)
|
||||
|
||||
$(PACKAGE_DIR)/$(DROPBEAR_IPK): $(DROPBEAR_DIR)/$(DROPBEAR_BINARY)
|
||||
$(SCRIPT_DIR)/make-ipkg-dir.sh $(DROPBEAR_IPK_DIR) dropbear.control $(DROPBEAR_VERSION)-1 $(ARCH)
|
||||
mkdir -p $(DROPBEAR_IPK_DIR)/usr/bin
|
||||
mkdir -p $(DROPBEAR_IPK_DIR)/usr/sbin
|
||||
install -m 755 $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) \
|
||||
$(DROPBEAR_IPK_DIR)/$(DROPBEAR_TARGET_BINARY)
|
||||
$(STRIP) $(DROPBEAR_IPK_DIR)/usr/sbin/dropbear
|
||||
ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/scp
|
||||
ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/ssh
|
||||
ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearkey
|
||||
ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearconvert
|
||||
mkdir -p $(DROPBEAR_IPK_DIR)/etc/init.d
|
||||
cp ./files/S50dropbear $(DROPBEAR_IPK_DIR)/etc/init.d/
|
||||
chmod a+x $(DROPBEAR_IPK_DIR)/etc/init.d/S50dropbear
|
||||
$(IPKG_BUILD) $(DROPBEAR_IPK_DIR) $(PACKAGE_DIR)
|
||||
|
||||
source: $(DL_DIR)/$(DROPBEAR_SOURCE)
|
||||
prepare: $(DROPBEAR_DIR)/.patched
|
||||
compile: $(PACKAGE_DIR)/$(DROPBEAR_IPK)
|
||||
install: compile
|
||||
$(IPKG) install $(PACKAGE_DIR)/$(DROPBEAR_IPK)
|
||||
clean:
|
||||
rm -rf $(DROPBEAR_DIR)
|
||||
rm -f $(PACKAGE_DIR)/$(DROPBEAR_IPK)
|
||||
|
||||
9
package/dropbear/dropbear.control
Normal file
9
package/dropbear/dropbear.control
Normal file
@@ -0,0 +1,9 @@
|
||||
Package: dropbear
|
||||
Priority: optional
|
||||
Depends: zlib
|
||||
Section: net
|
||||
Version: 0.44-1
|
||||
Architecture: mipsel
|
||||
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
|
||||
Source: buildroot internal
|
||||
Description: a small SSH 2 server/client designed for small memory environments.
|
||||
64
package/dropbear/files/S50dropbear
Executable file
64
package/dropbear/files/S50dropbear
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/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
|
||||
[ -f /etc/dropbear/dropbear_rsa_host_key ] && exec $0 $*
|
||||
) > /dev/null 2> /dev/null &
|
||||
exit 0
|
||||
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
|
||||
[ -f /etc/dropbear/dropbear_dss_host_key ] && exec $0 $*
|
||||
) > /dev/null 2> /dev/null &
|
||||
exit 0
|
||||
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 dropbear 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 $?
|
||||
|
||||
15
package/dropbear/patches/change-user.patch
Normal file
15
package/dropbear/patches/change-user.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
--- dropbear-0.44.old/svr-chansession.c 2005-02-03 02:29:44.000000000 +0100
|
||||
+++ dropbear-0.44/svr-chansession.c 2005-02-03 02:31:05.000000000 +0100
|
||||
@@ -859,10 +859,10 @@
|
||||
/* We can only change uid/gid as root ... */
|
||||
if (getuid() == 0) {
|
||||
|
||||
- if ((setgid(ses.authstate.pw->pw_gid) < 0) ||
|
||||
+ if ((ses.authstate.pw->pw_uid != 0) && ((setgid(ses.authstate.pw->pw_gid) < 0) ||
|
||||
(initgroups(ses.authstate.pw->pw_name,
|
||||
ses.authstate.pw->pw_gid) < 0) ||
|
||||
- (setuid(ses.authstate.pw->pw_uid) < 0)) {
|
||||
+ (setuid(ses.authstate.pw->pw_uid) < 0))) {
|
||||
dropbear_exit("error changing user");
|
||||
}
|
||||
} else {
|
||||
12
package/dropbear/patches/use-dev-urandom.patch
Normal file
12
package/dropbear/patches/use-dev-urandom.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -urN dropbear-0.44.old/options.h dropbear-0.44/options.h
|
||||
--- dropbear-0.44.old/options.h 2005-03-02 23:08:07.000000000 +0100
|
||||
+++ dropbear-0.44/options.h 2005-03-03 01:12:21.000000000 +0100
|
||||
@@ -139,7 +139,7 @@
|
||||
* will prevent Dropbear from blocking on the device. This could
|
||||
* however significantly reduce the security of your ssh connections
|
||||
* if the PRNG state becomes simpler. */
|
||||
-#define DROPBEAR_RANDOM_DEV "/dev/random"
|
||||
+#define DROPBEAR_RANDOM_DEV "/dev/urandom"
|
||||
|
||||
/* prngd must be manually set up to produce output */
|
||||
/*#define DROPBEAR_PRNGD_SOCKET "/var/run/dropbear-rng"*/
|
||||
Reference in New Issue
Block a user