diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-10-31 10:29:41 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-10-31 10:29:41 +0000 |
commit | a12078d574eabfe76ab71b1062ca982314a5f6d7 (patch) | |
tree | 71327335b1ad5b7fe8bdf9b3e6487e4fc589b2bb | |
parent | 33ad589de8fe22e0a317e63fb5be612d60634142 (diff) | |
download | master-187ad058-a12078d574eabfe76ab71b1062ca982314a5f6d7.tar.gz master-187ad058-a12078d574eabfe76ab71b1062ca982314a5f6d7.tar.bz2 master-187ad058-a12078d574eabfe76ab71b1062ca982314a5f6d7.zip |
fix unnecessary dropbear key generation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5354 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-x | package/dropbear/files/dropbear.init | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/package/dropbear/files/dropbear.init b/package/dropbear/files/dropbear.init index 6f35672d54..2ea547267e 100755 --- a/package/dropbear/files/dropbear.init +++ b/package/dropbear/files/dropbear.init @@ -21,15 +21,15 @@ config_cb() { esac } -start() { +keygen() { for keytype in rsa dss; do # check for keys - key=/tmp/dropbear/dropbear_${keytype}_host_key - [ ! -f $key ] && { + key=dropbear/dropbear_${keytype}_host_key + [ -f /tmp/$key -o -f /etc/$key ] || { # generate missing keys mkdir -p /tmp/dropbear [ -x /usr/bin/dropbearkey ] && { - /usr/bin/dropbearkey -t $keytype -f $key 2>&- >&- && exec /etc/rc.common "$initscript" start + /usr/bin/dropbearkey -t $keytype -f /etc/$key 2>&- >&- && exec /etc/rc.common "$initscript" start } & exit 0 } @@ -39,9 +39,14 @@ start() { mkdir -p /etc/dropbear mv /tmp/dropbear/dropbear_* /etc/dropbear/ lock -u /tmp/.switch2jffs - chown root /etc/dropbear chmod 0700 /etc/dropbear +} + +start() { + [ -f /etc/dropbear/dropbear_rsa_host_key -a \ + -f /etc/dropbear/dropbear_dss_host_key ] || keygen + config_load dropbear /usr/sbin/dropbear $DROPBEAR_ARGS } |