]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/sys/geom/class/eli/integrity_hmac_test.sh
geli: fix the resize test on arm64
[FreeBSD/FreeBSD.git] / tests / sys / geom / class / eli / integrity_hmac_test.sh
1 #!/bin/sh
2 # $FreeBSD$
3
4 . $(dirname $0)/conf.sh
5
6 base=`basename $0`
7 sectors=2
8 keyfile=`mktemp $base.XXXXXX` || exit 1
9 sector=`mktemp $base.XXXXXX` || exit 1
10
11 echo "1..600"
12
13 do_test() {
14         cipher=$1
15         aalgo=$2
16         secsize=$3
17         ealgo=${cipher%%:*}
18         keylen=${cipher##*:}
19
20         geli init -B none -a $aalgo -e $ealgo -l $keylen -P -K $keyfile -s $secsize ${md} 2>/dev/null
21
22         # Corrupt 8 bytes of HMAC.
23         dd if=/dev/${md} of=${sector} bs=512 count=1 >/dev/null 2>&1
24         dd if=/dev/random of=${sector} bs=1 count=16 conv=notrunc >/dev/null 2>&1
25         dd if=${sector} of=/dev/${md} bs=512 count=1 >/dev/null 2>&1
26         geli attach -p -k $keyfile ${md}
27
28         dd if=/dev/${md}.eli bs=${secsize} count=1 >/dev/null 2>&1
29         if [ $? -ne 0 ]; then
30                 echo "ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
31         else
32                 echo "not ok $i - aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
33         fi
34         i=$((i+1))
35 }
36
37
38 i=1
39 dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
40
41 for_each_geli_config do_test
42
43 rm -f $keyfile $sector