From 408087f128fe745dbfb2b8423f0afd9e0ce2d11a Mon Sep 17 00:00:00 2001 From: Doug Ambrisko Date: Thu, 12 Sep 2024 08:43:03 -0700 Subject: [PATCH] zfskeys: allow prompt to entered during boot up If the ZFS key is setup in prompt mode, use zfs to prompt to load the key during boot to unlock it. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D36081 --- libexec/rc/rc.d/zfskeys | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/zfskeys b/libexec/rc/rc.d/zfskeys index ea38182a66c..aff0224d5c9 100755 --- a/libexec/rc/rc.d/zfskeys +++ b/libexec/rc/rc.d/zfskeys @@ -45,7 +45,15 @@ unlock_fs() local kl="$2" local k="${kl##file://}" - if [ "$k" ] && [ -f "$k" ] && [ -s "$k" ] && [ -r "$k" ]; then + if [ "$kl" == "prompt" ] + then + echo "Key prompt for $fs." + if zfs load-key -L "$kl" "$fs" < /dev/tty > /dev/tty 2>/dev/tty ; then + echo "Key loaded for $fs." + else + echo "Key failed to load for $fs." + fi + elif [ "$k" ] && [ -f "$k" ] && [ -s "$k" ] && [ -r "$k" ]; then if [ "$(zfs get -Ho value keystatus "$fs")" = 'available' ]; then echo "Key already loaded for $fs." elif keytest=$(zfs load-key -n -L "$kl" "$fs" 2>&1); then