Blame misc/dracut_90reencrypt/parse-reencrypt.sh

Packit Service a9384c
#!/bin/sh
Packit Service a9384c
Packit Service a9384c
REENC=$(getargs rd.luks.reencrypt=)
Packit Service a9384c
# shellcheck disable=SC2086
Packit Service a9384c
REENC_DEV=$(echo $REENC | sed 's/:.*//')
Packit Service a9384c
# shellcheck disable=SC2086
Packit Service a9384c
REENC_SIZE=$(echo $REENC | sed -n 's/.*://p')
Packit Service a9384c
Packit Service a9384c
REENC_KEY=$(getargs rd.luks.reencrypt_key=)
Packit Service a9384c
if [ -z "$REENC_KEY" ] ; then
Packit Service a9384c
    REENC_KEY=none
Packit Service a9384c
fi
Packit Service a9384c
Packit Service a9384c
REENC_SLOT=$(getargs rd.luks.reencrypt_keyslot=)
Packit Service a9384c
if [ -z "$REENC_SLOT" ] ; then
Packit Service a9384c
    REENC_SLOT=any
Packit Service a9384c
fi
Packit Service a9384c
Packit Service a9384c
# shellcheck disable=SC2086
Packit Service a9384c
# shellcheck disable=SC1004
Packit Service a9384c
# shellcheck disable=SC2016
Packit Service a9384c
if [ -n "$REENC_DEV" ] ; then
Packit Service a9384c
{
Packit Service a9384c
   printf 'SUBSYSTEM!="block", GOTO="reenc_end"\n'
Packit Service a9384c
   printf 'ACTION!="add|change", GOTO="reenc_end"\n'
Packit Service a9384c
   printf 'KERNEL=="%s", ' $REENC_DEV
Packit Service a9384c
   printf 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="/sbin/initqueue \
Packit Service a9384c
           --unique --onetime --settled --name crypt-reencrypt-%%k \
Packit Service a9384c
           /sbin/reencrypt $env{DEVNAME} %s"\n' "$REENC_KEY $REENC_SLOT $REENC_SIZE"
Packit Service a9384c
Packit Service a9384c
   printf 'ENV{ID_FS_UUID}=="*%s*", ' $REENC_DEV
Packit Service a9384c
   printf 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="/sbin/initqueue \
Packit Service a9384c
           --unique --onetime --settled --name crypt-reencrypt-%%k \
Packit Service a9384c
           /sbin/reencrypt $env{DEVNAME} %s"\n' "$REENC_KEY $REENC_SLOT $REENC_SIZE"
Packit Service a9384c
   printf 'LABEL="reenc_end"\n'
Packit Service a9384c
} > /etc/udev/rules.d/69-reencryption.rules
Packit Service a9384c
   initqueue --unique --finished --name crypt-reencrypt-finished-${REENC_DEV} [ -e /tmp/reencrypted ]
Packit Service a9384c
fi