#!/sbin/openrc-run

description="Dropbear SSH server"

depend() {
    need localmount
    after bee-sshsetup
    use logger
}

check_config() {
    if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
        einfo "Generating RSA host key..."
        /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
    fi
    if [ ! -e /etc/dropbear/dropbear_ecdsa_host_key ]; then
        einfo "Generating ECDSA host key..."
        /usr/bin/dropbearkey -t ecdsa -f /etc/dropbear/dropbear_ecdsa_host_key
    fi
    if [ ! -e /etc/dropbear/dropbear_ed25519_host_key ]; then
        einfo "Generating ED25519 host key..."
        /usr/bin/dropbearkey -t ed25519 -f /etc/dropbear/dropbear_ed25519_host_key
    fi
}

start() {
    check_config || return 1
    ebegin "Starting dropbear"
    /usr/sbin/dropbear ${DROPBEAR_OPTS}
    eend $?
}

stop() {
    ebegin "Stopping dropbear"
    start-stop-daemon --stop --pidfile /var/run/dropbear.pid
    eend $?
}
