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 | 94e46a7ef35e7d4ffb69de57bc5ac153f546c040 (patch) | |
tree | eded68d8c53a9112da2e28442b0f1dd6dcbb9d5d | |
parent | 6d531dbf84fb891726a24b9067397b8a425ff418 (diff) | |
download | upstream-94e46a7ef35e7d4ffb69de57bc5ac153f546c040.tar.gz upstream-94e46a7ef35e7d4ffb69de57bc5ac153f546c040.tar.bz2 upstream-94e46a7ef35e7d4ffb69de57bc5ac153f546c040.zip |
fix unnecessary dropbear key generation
SVN-Revision: 5354
-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 } |