X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/47f814e7a20fa529539b65464a86d745b618bc24..13aacddda0fae9561b50f847b4ba52d530830228:/package/dropbear/files/S50dropbear diff --git a/package/dropbear/files/S50dropbear b/package/dropbear/files/S50dropbear index fb0bca496..88fc28849 100755 --- a/package/dropbear/files/S50dropbear +++ b/package/dropbear/files/S50dropbear @@ -1,31 +1,16 @@ #!/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 - -umask 077 +for type in rsa dss; do { + # check for keys + key=/etc/dropbear/dropbear_${type}_host_key + [ ! -f $key ] && { + # generate missing keys + mkdir -p /etc/dropbear + [ -x /usr/bin/dropbearkey ] && { + /usr/bin/dropbearkey -t $type -f $key 2>&- >&- && exec $0 $* + } & + exit 0 + } +}; done /usr/sbin/dropbear -