init_alias_test.sh revision 312828
1#!/bin/sh
2# $FreeBSD: stable/10/tests/sys/geom/class/eli/init_alias_test.sh 312828 2017-01-26 20:10:31Z asomers $
3
4# Test "geli init"'s various cipher aliases
5. $(dirname $0)/conf.sh
6
7base=`basename $0`
8sectors=100
9keyfile=`mktemp $base.XXXXXX` || exit 1
10rnd=`mktemp $base.XXXXXX` || exit 1
11
12do_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
40echo "1..38"
41i=1
42mdconfig -a -t malloc -s 1024k -u $no || exit 1
43dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1
44
45for 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
62done
63
64rm -f $keyfile
65