blob: e20793730d1c2248ea0981bd284b0ffc38ef7328 [file] [log] [blame]
#!/bin/sh -vx
. /root/test-config
dmesg -n 7
mkdir -p /vdc
setup_test_dummy_key ()
{
mode='\x00\x00\x00\x00'
raw="$(printf ""\\\\x%02x"" $(seq 0 63))"
if lscpu | grep "Byte Order" | grep -q Little ; then
size='\x40\x00\x00\x00'
else
size='\x00\x00\x00\x40'
fi
key="${mode}${raw}${size}"
keyctl new_session
echo -n -e "${key}" | keyctl padd logon fscrypt:4242424242424242 @s
}
do_mount ()
{
mount -t ext4 $VDC /vdc
}
do_unmount ()
{
umount /vdc
}
do_smoketest ()
{
do_mount
rm -rf /vdc/a /vdc/b
mkdir /vdc/a /vdc/b
echo foobar | e4crypt add_key /vdc/a
cp /etc/motd /vdc
mv /vdc/motd /vdc/a
cp /etc/motd /vdc/a
ln -s motd /vdc/a/link
cp -r /root/xfstests /vdc/a
do_unmount
do_mount
lsattr /vdc/a
ls -l /vdc/a
cat /vdc/a/link
cat /vdc/a/motd
do_unmount
keyctl purge logon
do_mount
lsattr /vdc/a
ls -l /vdc/a
if test -z "$SKIP_CLEANUP" ; then
rm -rf /vdc/a /vdc/b
fi
do_unmount
}
if test -z "$SKIP_NO_DIR_INDEX" ; then
mke2fs -t ext4 -O encrypt,^dir_index -Fq $VDC
do_smoketest
fi
if test -z "$SKIP_DIR_INDEX" ; then
mke2fs -t ext4 -O encrypt -Fq $VDC
do_smoketest
fi