]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - tests/sys/geom/class/eli/init_alias_test.sh
MFC r310786, r310803, r310985, r311894
[FreeBSD/stable/10.git] / tests / sys / geom / class / eli / init_alias_test.sh
1 #!/bin/sh
2 # $FreeBSD$
3
4 # Test "geli init"'s various cipher aliases
5 . $(dirname $0)/conf.sh
6
7 base=`basename $0`
8 sectors=100
9 keyfile=`mktemp $base.XXXXXX` || exit 1
10 rnd=`mktemp $base.XXXXXX` || exit 1
11
12 do_test() {
13         ealgo=$1
14         keylen=$2
15         expected_ealgo=$3
16         expected_keylen=$4
17
18         geli init -B none -e $ealgo -l $keylen -P -K $keyfile md${no} 2>/dev/null
19         geli attach -p -k $keyfile md${no}
20         real_ealgo=`geli list md${no}.eli | awk '/EncryptionAlgorithm/ {print $2}'`
21         real_keylen=`geli list md${no}.eli | awk '/KeyLength/ {print $2}'`
22
23         if [ ${real_ealgo} = ${expected_ealgo} ]; then
24                 echo "ok $i - ${ealgo} aliased to ${real_ealgo}"
25         else
26                 echo "not ok $i - expected ${expected_ealgo} but got ${real_ealgo}"
27         fi
28         i=$((i+1))
29
30         if [ ${real_keylen} = ${expected_keylen} ]; then
31                 echo "ok $i - keylen=${keylen} for ealgo=${ealgo} aliases to ${real_keylen}"
32         else
33                 echo "not ok $i - expected ${expected_keylen} but got ${real_keylen}"
34         fi
35         i=$((i+1))
36
37         geli detach md${no}
38 }
39
40 echo "1..38"
41 i=1
42 mdconfig -a -t malloc -s 1024k -u $no || exit 1
43 dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
44
45 for spec in aes:0:AES-XTS:128 aes:128:AES-XTS:128 aes:256:AES-XTS:256 \
46         3des:0:3DES-CBC:192 3des:192:3DES-CBC:192 \
47         blowfish:0:Blowfish-CBC:128 blowfish:128:Blowfish-CBC:128 \
48         blowfish:160:Blowfish-CBC:160 blowfish:192:Blowfish-CBC:192 \
49         blowfish:224:Blowfish-CBC:224 blowfish:256:Blowfish-CBC:256 \
50         blowfish:288:Blowfish-CBC:288 blowfish:352:Blowfish-CBC:352 \
51         blowfish:384:Blowfish-CBC:384 blowfish:416:Blowfish-CBC:416 \
52         blowfish:448:Blowfish-CBC:448 \
53         camellia:0:CAMELLIA-CBC:128 camellia:128:CAMELLIA-CBC:128 \
54         camellia:256:CAMELLIA-CBC:256 ; do
55
56         ealgo=`echo $spec | cut -d : -f 1`
57         keylen=`echo $spec | cut -d : -f 2`
58         expected_ealgo=`echo $spec | cut -d : -f 3`
59         expected_keylen=`echo $spec | cut -d : -f 4`
60
61         do_test $ealgo $keylen $expected_ealgo $expected_keylen
62 done
63
64 rm -f $keyfile