From 3363bad8c29682a62ccba9eaa1d92cbae9e1a081 Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Sun, 17 Apr 2022 16:25:39 +0200 Subject: [PATCH] Speed-up tcrypt test. We can limit hash and cipher to not scan all variants here. --- tests/tcrypt-compat-test | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/tcrypt-compat-test b/tests/tcrypt-compat-test index 475af790..9ec17eaa 100755 --- a/tests/tcrypt-compat-test +++ b/tests/tcrypt-compat-test @@ -66,6 +66,13 @@ function test_kdf() # hash fi } +function get_HASH_CIPHER() # filename +{ + # speed up the test by limiting options for hash and (first) cipher + HASH=$(echo $file | cut -d'-' -f3) + CIPHER=$(echo $file | cut -d'-' -f5) +} + function test_required() { command -v lsblk >/dev/null || skip "lsblk tool required, test skipped." @@ -130,7 +137,8 @@ for file in $(ls $TST_DIR/[tv]c_* $TST_DIR/vcpim_* $TST_DIR/sys_[tv]c_*) ; do [[ $file =~ vcpim.* ]] && PIM_OPT="--veracrypt-pim $PIM" SYS_OPT="" [[ $file =~ sys_.* ]] && SYS_OPT="--tcrypt-system" - echo $PASSWORD | $CRYPTSETUP tcryptDump $SYS_OPT $PIM_OPT $file >/dev/null || fail + get_HASH_CIPHER $file + echo $PASSWORD | $CRYPTSETUP tcryptDump $SYS_OPT $PIM_OPT -h $HASH -c $CIPHER $file >/dev/null || fail if [[ $file =~ .*-sha512-xts-aes$ ]] ; then echo $PASSWORD | $CRYPTSETUP tcryptDump $SYS_OPT $PIM_OPT -h sha512 -c aes $file >/dev/null || fail echo $PASSWORD | $CRYPTSETUP tcryptDump $SYS_OPT $PIM_OPT -h xxxx $file 2>/dev/null && fail @@ -144,14 +152,16 @@ for file in $(ls $TST_DIR/vc_* $TST_DIR/vcpim_*) ; do echo -n " $file" PIM_OPT="" [[ $file =~ vcpim.* ]] && PIM_OPT="--veracrypt-pim $PIM" - echo $PASSWORD | $CRYPTSETUP tcryptDump --disable-veracrypt $PIM_OPT $file >/dev/null 2>&1 && fail + get_HASH_CIPHER $file + echo $PASSWORD | $CRYPTSETUP tcryptDump --disable-veracrypt $PIM_OPT -h $HASH -c $CIPHER $file >/dev/null 2>&1 && fail echo " [OK]" done echo "HEADER CHECK (HIDDEN)" for file in $(ls $TST_DIR/[tv]c_*-hidden) ; do echo -n " $file (hidden)" - echo $PASSWORD_HIDDEN | $CRYPTSETUP tcryptDump --tcrypt-hidden $file >/dev/null || fail + get_HASH_CIPHER $file + echo $PASSWORD_HIDDEN | $CRYPTSETUP tcryptDump --tcrypt-hidden -h $HASH -c $CIPHER $file >/dev/null || fail echo " [OK]" done @@ -161,7 +171,8 @@ for file in $(ls $TST_DIR/[tv]ck_*) ; do PWD=$PASSWORD [[ $file =~ vck_1_nopw.* ]] && PWD="" [[ $file =~ vck_1_pw72.* ]] && PWD=$PASSWORD_72C - echo $PWD | $CRYPTSETUP tcryptDump -d $TST_DIR/keyfile1 -d $TST_DIR/keyfile2 $file >/dev/null || fail + get_HASH_CIPHER $file + echo $PWD | $CRYPTSETUP tcryptDump -d $TST_DIR/keyfile1 -d $TST_DIR/keyfile2 -h $HASH -c $CIPHER $file >/dev/null || fail echo " [OK]" done @@ -179,7 +190,8 @@ for file in $(ls $TST_DIR/[tv]c_* $TST_DIR/vcpim_* $TST_DIR/sys_[tv]c_*) ; do [[ $file =~ vcpim.* ]] && PIM_OPT="--veracrypt-pim $PIM" SYS_OPT="" [[ $file =~ sys_.* ]] && SYS_OPT="--tcrypt-system" - out=$(echo $PASSWORD | $CRYPTSETUP tcryptOpen $SYS_OPT $PIM_OPT -r $file $MAP 2>&1) + get_HASH_CIPHER $file + out=$(echo $PASSWORD | $CRYPTSETUP tcryptOpen $SYS_OPT $PIM_OPT -r -h $HASH -c $CIPHER $file $MAP 2>&1) ret=$? [ $ret -eq 1 ] && ( echo "$out" | grep -q -e "TCRYPT legacy mode" ) && echo " [N/A]" && continue [ $ret -eq 1 ] && ( echo "$out" | grep -q -e "TCRYPT compatible mapping" ) && echo " [N/A]" && continue @@ -195,7 +207,8 @@ done echo "ACTIVATION FS UUID (HIDDEN) CHECK" for file in $(ls $TST_DIR/[tv]c_*-hidden) ; do echo -n " $file" - out=$(echo $PASSWORD_HIDDEN | $CRYPTSETUP tcryptOpen -r $file $MAP --tcrypt-hidden 2>&1) + get_HASH_CIPHER $file + out=$(echo $PASSWORD_HIDDEN | $CRYPTSETUP tcryptOpen -r -h $HASH -c $CIPHER $file $MAP --tcrypt-hidden 2>&1) ret=$? [ $ret -eq 1 ] && ( echo "$out" | grep -q -e "TCRYPT legacy mode" ) && echo " [N/A]" && continue [ $ret -eq 1 ] && ( echo "$out" | grep -q -e "TCRYPT compatible mapping" ) && echo " [N/A]" && continue