net-misc/dropbear: skip default keys generation if -r

Closes: https://bugs.gentoo.org/947598
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
This commit is contained in:
Viorel Munteanu
2025-05-11 11:34:56 +03:00
parent b7c5f3b416
commit 5ebd6d3a2b
2 changed files with 42 additions and 1 deletions

View File

@@ -187,7 +187,7 @@ src_install() {
set_options
emake "${makeopts[@]}" PROGRAMS="${progs[*]}" DESTDIR="${D}" install
doman manpages/*.8
newinitd "${FILESDIR}"/dropbear.init.d dropbear
newinitd "${FILESDIR}"/dropbear.init.d-r1 dropbear
newconfd "${FILESDIR}"/dropbear.conf.d dropbear
dodoc CHANGES README.md SMALL.md MULTI.md

View File

@@ -0,0 +1,41 @@
#!/sbin/openrc-run
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
use logger dns
need net
}
check_config() {
# bug #947598 - don't generate keys if DROPBEAR_OPTS contains option `-r`
echo "${DROPBEAR_OPTS}" | grep -E '(^-r)|(\s-r)' > /dev/null 2>&1 && return
mkdir -p /etc/dropbear
local t k
for t in rsa ecdsa ed25519; do
k="/etc/dropbear/dropbear_${t}_host_key"
if [ ! -e ${k} ] ; then
# See if support is enabled for this key type.
if dropbearkey -h 2>&1 | grep -q " ${t}$" ; then
einfo "Generating ${k} ..."
dropbearkey -t ${t} -f ${k} >/dev/null
fi
fi &
done
wait
}
start() {
check_config || return 1
ebegin "Starting dropbear"
dropbear ${DROPBEAR_OPTS}
eend $?
}
stop() {
ebegin "Stopping dropbear"
start-stop-daemon --stop --pidfile /var/run/dropbear.pid
eend $?
}