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>
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"
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