Reduce the runtime of the GELI tests
There is no reduction in test coverage. On my system runtime is reduced from 38m32s to 6m24s. tests/sys/geom/class/eli/conf.sh tests/sys/geom/class/eli/init_a_test.sh tests/sys/geom/class/eli/init_test.sh tests/sys/geom/class/eli/integrity_copy_test.sh tests/sys/geom/class/eli/integrity_data_test.sh tests/sys/geom/class/eli/integrity_hmac_test.sh tests/sys/geom/class/eli/onetime_a_test.sh tests/sys/geom/class/eli/onetime_test.sh Move the looping code into common functions in conf.sh, and remove alias ciphers from the list. tests/sys/geom/class/eli/init_a_test.sh tests/sys/geom/class/eli/init_test.sh tests/sys/geom/class/eli/integrity_copy_test.sh tests/sys/geom/class/eli/integrity_data_test.sh tests/sys/geom/class/eli/integrity_hmac_test.sh tests/sys/geom/class/eli/onetime_a_test.sh Move a few commands that don't need to be in the inner loop out. tests/sys/geom/class/eli/init_test.sh tests/sys/geom/class/eli/onetime_a_test.sh Reduce the sector count tests/sys/geom/class/eli/Makefile tests/sys/geom/class/eli/init_alias_test.sh Add a test for initializing a GELI device using one of the cipher aliases, and check that the alias is correctly interpreted. MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D8814
This commit is contained in:
parent
4349a2145f
commit
f92ce0224a
@ -11,6 +11,7 @@ TAP_TESTS_SH+= detach_l_test
|
||||
TAP_TESTS_SH+= init_B_test
|
||||
TAP_TESTS_SH+= init_J_test
|
||||
TAP_TESTS_SH+= init_a_test
|
||||
TAP_TESTS_SH+= init_alias_test
|
||||
TAP_TESTS_SH+= init_i_P_test
|
||||
TAP_TESTS_SH+= init_test
|
||||
TAP_TESTS_SH+= integrity_copy_test
|
||||
|
@ -11,6 +11,54 @@ while [ -c /dev/md$no ]; do
|
||||
: $(( no += 1 ))
|
||||
done
|
||||
|
||||
# Execute `func` for each combination of cipher, sectorsize, and hmac algo
|
||||
# `func` usage should be:
|
||||
# func <cipher> <aalgo> <secsize>
|
||||
for_each_geli_config() {
|
||||
func=$1
|
||||
|
||||
for cipher in aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des-cbc:192 \
|
||||
blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 \
|
||||
blowfish-cbc:224 blowfish-cbc:256 blowfish-cbc:288 \
|
||||
blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 \
|
||||
hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
${func} $cipher $aalgo $secsize
|
||||
done
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# Execute `func` for each combination of cipher, and sectorsize, with no hmac
|
||||
# `func` usage should be:
|
||||
# func <cipher> <secsize>
|
||||
for_each_geli_config_nointegrity() {
|
||||
func=$1
|
||||
|
||||
for cipher in aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des-cbc:192 \
|
||||
blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 \
|
||||
blowfish-cbc:224 blowfish-cbc:256 blowfish-cbc:288 \
|
||||
blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
${func} $cipher $aalgo $secsize
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
geli_test_cleanup()
|
||||
{
|
||||
[ -c /dev/md${no}.eli ] && geli detach md${no}.eli
|
||||
|
@ -6,55 +6,45 @@
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..1380"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
aalgo=$2
|
||||
secsize=$3
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
geli detach md${no}
|
||||
rm -f $rnd
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
done
|
||||
echo "1..600"
|
||||
|
||||
i=1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
dd if=/dev/random of=${rnd} bs=8192 count=${sectors} >/dev/null 2>&1
|
||||
|
||||
for_each_geli_config do_test
|
||||
|
||||
rm -f $rnd
|
||||
rm -f $keyfile
|
||||
|
64
tests/sys/geom/class/eli/init_alias_test.sh
Executable file
64
tests/sys/geom/class/eli/init_alias_test.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
# Test "geli init"'s various cipher aliases
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
do_test() {
|
||||
ealgo=$1
|
||||
keylen=$2
|
||||
expected_ealgo=$3
|
||||
expected_keylen=$4
|
||||
|
||||
geli init -B none -e $ealgo -l $keylen -P -K $keyfile md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
real_ealgo=`geli list md${no}.eli | awk '/EncryptionAlgorithm/ {print $2}'`
|
||||
real_keylen=`geli list md${no}.eli | awk '/KeyLength/ {print $2}'`
|
||||
|
||||
if [ ${real_ealgo} = ${expected_ealgo} ]; then
|
||||
echo "ok $i - ${ealgo} aliased to ${real_ealgo}"
|
||||
else
|
||||
echo "not ok $i - expected ${expected_ealgo} but got ${real_ealgo}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
if [ ${real_keylen} = ${expected_keylen} ]; then
|
||||
echo "ok $i - keylen=${keylen} for ealgo=${ealgo} aliases to ${real_keylen}"
|
||||
else
|
||||
echo "not ok $i - expected ${expected_keylen} but got ${real_keylen}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
geli detach md${no}
|
||||
}
|
||||
|
||||
echo "1..38"
|
||||
i=1
|
||||
mdconfig -a -t malloc -s 1024k -u $no || exit 1
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
|
||||
for spec in aes:0:AES-XTS:128 aes:128:AES-XTS:128 aes:256:AES-XTS:256 \
|
||||
3des:0:3DES-CBC:192 3des:192:3DES-CBC:192 \
|
||||
blowfish:0:Blowfish-CBC:128 blowfish:128:Blowfish-CBC:128 \
|
||||
blowfish:160:Blowfish-CBC:160 blowfish:192:Blowfish-CBC:192 \
|
||||
blowfish:224:Blowfish-CBC:224 blowfish:256:Blowfish-CBC:256 \
|
||||
blowfish:288:Blowfish-CBC:288 blowfish:352:Blowfish-CBC:352 \
|
||||
blowfish:384:Blowfish-CBC:384 blowfish:416:Blowfish-CBC:416 \
|
||||
blowfish:448:Blowfish-CBC:448 \
|
||||
camellia:0:CAMELLIA-CBC:128 camellia:128:CAMELLIA-CBC:128 \
|
||||
camellia:256:CAMELLIA-CBC:256 ; do
|
||||
|
||||
ealgo=`echo $spec | cut -d : -f 1`
|
||||
keylen=`echo $spec | cut -d : -f 2`
|
||||
expected_ealgo=`echo $spec | cut -d : -f 3`
|
||||
expected_keylen=`echo $spec | cut -d : -f 4`
|
||||
|
||||
do_test $ealgo $keylen $expected_ealgo $expected_keylen
|
||||
done
|
||||
|
||||
rm -f $keyfile
|
@ -4,62 +4,52 @@
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
sectors=32
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..460"
|
||||
echo "1..200"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
secsize=$2
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
|
||||
geli init -B none -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
geli init -B none -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_edev=`dd if=/dev/md${no} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_edev=`dd if=/dev/md${no} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} != ${md_edev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} != ${md_edev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
geli detach md${no}
|
||||
rm -f $rnd
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
i=1
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
for_each_geli_config_nointegrity do_test
|
||||
|
||||
rm -f $rnd
|
||||
rm -f $keyfile
|
||||
|
@ -4,96 +4,85 @@
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
sector=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..5520"
|
||||
echo "1..2400"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
aalgo=$2
|
||||
secsize=$3
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
#mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 1
|
||||
mdconfig -a -t malloc -s $sectors -u $no || exit 1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 1
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - small 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - small 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - small 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - small 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
# Copy first small sector to the second small sector.
|
||||
# This should be detected as corruption.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 seek=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
geli detach md${no}
|
||||
# Copy first small sector to the second small sector.
|
||||
# This should be detected as corruption.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 seek=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - small 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - small 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - small 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - small 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
ms=`diskinfo /dev/md${no} | awk '{print $3 - 512}'`
|
||||
ns=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
usecsize=`echo "($ms / $ns) - (($ms / $ns) % 512)" | bc`
|
||||
|
||||
ms=`diskinfo /dev/md${no} | awk '{print $3 - 512}'`
|
||||
ns=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
usecsize=`echo "($ms / $ns) - (($ms / $ns) % 512)" | bc`
|
||||
# Fix the corruption
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=2 >/dev/null 2>&1
|
||||
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=2 >/dev/null 2>&1
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=2 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - big 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - big 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=2 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - big 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - big 1 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
# Copy first big sector to the second big sector.
|
||||
# This should be detected as corruption.
|
||||
dd if=/dev/md${no} of=${sector} bs=${usecsize} count=1 >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=${usecsize} count=1 seek=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
geli detach md${no}
|
||||
# Copy first big sector to the second big sector.
|
||||
# This should be detected as corruption.
|
||||
dd if=/dev/md${no} of=${sector} bs=${usecsize} count=1 >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=${usecsize} count=1 seek=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=2 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - big 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - big 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=2 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - big 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - big 2 aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
i=1
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
|
||||
for_each_geli_config do_test
|
||||
|
||||
rm -f $keyfile $sector
|
||||
|
@ -4,66 +4,42 @@
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
sector=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..2760"
|
||||
echo "1..600"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
aalgo=$2
|
||||
secsize=$3
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 1
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
# Corrupt 8 bytes of data.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=/dev/random of=${sector} bs=1 count=8 seek=64 conv=notrunc >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
geli detach md${no}
|
||||
# Corrupt 8 bytes of data.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=/dev/random of=${sector} bs=1 count=8 seek=64 conv=notrunc >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
i=1
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
|
||||
dd if=/dev/md${no}.eli of=/dev/null bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
done
|
||||
for_each_geli_config do_test
|
||||
|
||||
rm -f $keyfile $sector
|
||||
|
@ -4,66 +4,43 @@
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
keyfile=`mktemp $base.XXXXXX` || exit 1
|
||||
sector=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..2760"
|
||||
echo "1..600"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
aalgo=$2
|
||||
secsize=$3
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 1
|
||||
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* 2 + 512`b -u $no || exit 2
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
|
||||
geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize md${no} 2>/dev/null
|
||||
geli attach -p -k $keyfile md${no}
|
||||
# Corrupt 8 bytes of HMAC.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=/dev/random of=${sector} bs=1 count=16 conv=notrunc >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
dd if=/dev/random of=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
geli detach md${no}
|
||||
# Corrupt 8 bytes of HMAC.
|
||||
dd if=/dev/md${no} of=${sector} bs=512 count=1 >/dev/null 2>&1
|
||||
dd if=/dev/random of=${sector} bs=1 count=16 conv=notrunc >/dev/null 2>&1
|
||||
dd if=${sector} of=/dev/md${no} bs=512 count=1 >/dev/null 2>&1
|
||||
geli attach -p -k $keyfile md${no}
|
||||
|
||||
dd if=/dev/md${no}.eli bs=${secsize} count=1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
i=1
|
||||
dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
|
||||
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
done
|
||||
for_each_geli_config do_test
|
||||
|
||||
rm -f $keyfile $sector
|
||||
|
@ -4,51 +4,42 @@
|
||||
. $(dirname $0)/conf.sh
|
||||
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
sectors=8
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
|
||||
echo "1..1380"
|
||||
echo "1..600"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
aalgo=$2
|
||||
secsize=$3
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for aalgo in hmac/md5 hmac/sha1 hmac/ripemd160 hmac/sha256 hmac/sha384 hmac/sha512; do
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
|
||||
geli onetime -a $aalgo -e $ealgo -l $keylen -s $secsize md${no} 2>/dev/null
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors + 512`b -u $no || exit 1
|
||||
geli onetime -a $aalgo -e $ealgo -l $keylen -s $secsize md${no} 2>/dev/null
|
||||
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
geli detach md${no}
|
||||
rm -f $rnd
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
done
|
||||
geli detach md${no}
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
i=1
|
||||
dd if=/dev/random of=${rnd} bs=1024 count=1024 >/dev/null 2>&1
|
||||
|
||||
for_each_geli_config do_test
|
||||
|
||||
rm -f $rnd
|
||||
|
@ -6,54 +6,45 @@
|
||||
base=`basename $0`
|
||||
sectors=100
|
||||
|
||||
echo "1..460"
|
||||
echo "1..200"
|
||||
|
||||
i=1
|
||||
for cipher in aes:0 aes:128 aes:256 \
|
||||
aes-xts:0 aes-xts:128 aes-xts:256 \
|
||||
aes-cbc:0 aes-cbc:128 aes-cbc:192 aes-cbc:256 \
|
||||
3des:0 3des:192 \
|
||||
3des-cbc:0 3des-cbc:192 \
|
||||
blowfish:0 blowfish:128 blowfish:160 blowfish:192 blowfish:224 \
|
||||
blowfish:256 blowfish:288 blowfish:320 blowfish:352 blowfish:384 \
|
||||
blowfish:416 blowfish:448 \
|
||||
blowfish-cbc:0 blowfish-cbc:128 blowfish-cbc:160 blowfish-cbc:192 blowfish-cbc:224 \
|
||||
blowfish-cbc:256 blowfish-cbc:288 blowfish-cbc:320 blowfish-cbc:352 blowfish-cbc:384 \
|
||||
blowfish-cbc:416 blowfish-cbc:448 \
|
||||
camellia:0 camellia:128 camellia:192 camellia:256 \
|
||||
camellia-cbc:0 camellia-cbc:128 camellia-cbc:192 camellia-cbc:256; do
|
||||
do_test() {
|
||||
cipher=$1
|
||||
secsize=$2
|
||||
ealgo=${cipher%%:*}
|
||||
keylen=${cipher##*:}
|
||||
for secsize in 512 1024 2048 4096 8192; do
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors`b -u $no || exit 1
|
||||
|
||||
geli onetime -e $ealgo -l $keylen -s $secsize md${no} 2>/dev/null
|
||||
rnd=`mktemp $base.XXXXXX` || exit 1
|
||||
mdconfig -a -t malloc -s `expr $secsize \* $sectors`b -u $no || exit 1
|
||||
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
geli onetime -e $ealgo -l $keylen -s $secsize md${no} 2>/dev/null
|
||||
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'`
|
||||
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_edev=`dd if=/dev/md${no} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1
|
||||
dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null
|
||||
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} != ${md_edev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
md_edev=`dd if=/dev/md${no} bs=${secsize} count=${secs} 2>/dev/null | md5`
|
||||
|
||||
geli detach md${no}
|
||||
rm -f $rnd
|
||||
mdconfig -d -u $no
|
||||
done
|
||||
done
|
||||
if [ ${md_rnd} = ${md_ddev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
if [ ${md_rnd} != ${md_edev} ]; then
|
||||
echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
else
|
||||
echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
|
||||
fi
|
||||
i=$((i+1))
|
||||
|
||||
geli detach md${no}
|
||||
rm -f $rnd
|
||||
mdconfig -d -u $no
|
||||
}
|
||||
|
||||
i=1
|
||||
for_each_geli_config_nointegrity do_test
|
||||
|
Loading…
Reference in New Issue
Block a user