109d98641SEnji Cooper#!/bin/sh 209d98641SEnji Cooper# $FreeBSD$ 309d98641SEnji Cooper 409d98641SEnji Cooper. $(dirname $0)/conf.sh 509d98641SEnji Cooper 609d98641SEnji Cooperbase=`basename $0` 709d98641SEnji Coopersectors=100 809d98641SEnji Cooper 9*f92ce022SAlan Somersecho "1..200" 1009d98641SEnji Cooper 11*f92ce022SAlan Somersdo_test() { 12*f92ce022SAlan Somers cipher=$1 13*f92ce022SAlan Somers secsize=$2 1409d98641SEnji Cooper ealgo=${cipher%%:*} 1509d98641SEnji Cooper keylen=${cipher##*:} 16*f92ce022SAlan Somers 1709d98641SEnji Cooper rnd=`mktemp $base.XXXXXX` || exit 1 1809d98641SEnji Cooper mdconfig -a -t malloc -s `expr $secsize \* $sectors`b -u $no || exit 1 1909d98641SEnji Cooper 2009d98641SEnji Cooper geli onetime -e $ealgo -l $keylen -s $secsize md${no} 2>/dev/null 2109d98641SEnji Cooper 2209d98641SEnji Cooper secs=`diskinfo /dev/md${no}.eli | awk '{print $4}'` 2309d98641SEnji Cooper 2409d98641SEnji Cooper dd if=/dev/random of=${rnd} bs=${secsize} count=${secs} >/dev/null 2>&1 2509d98641SEnji Cooper dd if=${rnd} of=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null 2609d98641SEnji Cooper 2709d98641SEnji Cooper md_rnd=`dd if=${rnd} bs=${secsize} count=${secs} 2>/dev/null | md5` 2809d98641SEnji Cooper md_ddev=`dd if=/dev/md${no}.eli bs=${secsize} count=${secs} 2>/dev/null | md5` 2909d98641SEnji Cooper md_edev=`dd if=/dev/md${no} bs=${secsize} count=${secs} 2>/dev/null | md5` 3009d98641SEnji Cooper 3109d98641SEnji Cooper if [ ${md_rnd} = ${md_ddev} ]; then 3209d98641SEnji Cooper echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}" 3309d98641SEnji Cooper else 3409d98641SEnji Cooper echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}" 3509d98641SEnji Cooper fi 3609d98641SEnji Cooper i=$((i+1)) 3709d98641SEnji Cooper if [ ${md_rnd} != ${md_edev} ]; then 3809d98641SEnji Cooper echo "ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}" 3909d98641SEnji Cooper else 4009d98641SEnji Cooper echo "not ok $i - ealgo=${ealgo} keylen=${keylen} sec=${secsize}" 4109d98641SEnji Cooper fi 4209d98641SEnji Cooper i=$((i+1)) 4309d98641SEnji Cooper 4409d98641SEnji Cooper geli detach md${no} 4509d98641SEnji Cooper rm -f $rnd 4609d98641SEnji Cooper mdconfig -d -u $no 47*f92ce022SAlan Somers} 48*f92ce022SAlan Somers 49*f92ce022SAlan Somersi=1 50*f92ce022SAlan Somersfor_each_geli_config_nointegrity do_test 51