]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
tests/util/grub-shell-luks-tester: Fix detached header test getting wrong header...
authorGlenn Washburn <development@efficientek.com>
Sun, 9 Jun 2024 04:22:05 +0000 (23:22 -0500)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 20 Jun 2024 13:14:20 +0000 (15:14 +0200)
When $detached_header was set 1, $luksdiskfile was set to the LUKS header
file path with "${detached_header:-$luksfile}" appended, which evaluates
to "1". Fix this by using two statements to set $luksdiskfile. The first
sets it to the header file if $detached_header is set, otherwise leave it
unset. The second statement sets it to itself if it is already set,
otherwise it is set to $luksfile.

Fixes: a7b540e6e (tests: Add cryptomount functional test)
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
tests/util/grub-shell-luks-tester.in

index 8926cbc96efaab9c3fb677b4f23512a837b52970..b2a8a91b41f2b16fa61912a1ab7c5d1dffaa17fb 100644 (file)
@@ -162,6 +162,8 @@ get_random_bytes() {
 lukstestdir="`mktemp -d "${TMPDIR:-/tmp}/$(basename "$0").XXXXXXXXXX"`" || exit 20
 luksfile=$lukstestdir/luks.disk
 lukshdrfile=$lukstestdir/luks.header
+luksdiskfile=${detached_header:+$lukshdrfile}
+luksdiskfile=${luksdiskfile:-$luksfile}
 lukskeyfile=$lukstestdir/luks.key
 vfile=$lukstestdir/mnt/test.verify
 vtext="TEST VERIFIED"
@@ -193,7 +195,7 @@ truncate -s $disksize $luksfile || exit 21
 cryptsetup luksFormat -q $csopts $luksfile $lukskeyfile || exit 22
 
 # Run any cryptsetup scripts
-export luksdiskfile=${detached_header:+$lukshdrfile}${detached_header:-$luksfile}
+export luksdiskfile
 export lukskeyfile
 for csscript in $csscripts; do
     [ -f "$csscript" ] && . $csscript