diff options
author | mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-04-03 06:35:36 +0000 |
---|---|---|
committer | mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-04-03 06:35:36 +0000 |
commit | c6776925df62a3760b1c24e264a3ca929bb1efc7 (patch) | |
tree | bc06d6d9862638f5dca808b74120047e2bf0af7e /openwrt/package/dropbear/files | |
parent | 070af9ede85988ceb259734808a21182450692a8 (diff) |
cleanup & fix logic not to depend on dropbearkey if keys exist
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@537 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/dropbear/files')
-rwxr-xr-x | openwrt/package/dropbear/files/S50dropbear | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/openwrt/package/dropbear/files/S50dropbear b/openwrt/package/dropbear/files/S50dropbear index fb0bca496..41c99a545 100755 --- a/openwrt/package/dropbear/files/S50dropbear +++ b/openwrt/package/dropbear/files/S50dropbear @@ -1,31 +1,17 @@ #!/bin/sh -# 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 +for type in rsa dss; do { + # check for keys + key=/tmp/dropbear/dropbear_${type}_host_key + [ ! -f $key ] && { + # generate missing keys + mkdir -p /tmp/dropbear + [ -x /usr/bin/dropbearkey ] && { + /usr/bin/dropbearkey -t $type -f $key 2>&- >&- && exec $0 $* + } & + exit 0 + } +}; done umask 077 - /usr/sbin/dropbear - |