From owner-svn-src-user@freebsd.org Mon Nov 16 08:58:06 2015 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0A0CA3062B for ; Mon, 16 Nov 2015 08:58:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 561C51A32; Mon, 16 Nov 2015 08:58:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG8w5QW013165; Mon, 16 Nov 2015 08:58:05 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG8w3Fq013149; Mon, 16 Nov 2015 08:58:03 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160858.tAG8w3Fq013149@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 08:58:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r290925 - in user/ngie/more-tests2: etc/mtree sbin/geom/class/tests sbin/geom/class/tests/concat sbin/geom/class/tests/eli sbin/geom/class/tests/gate sbin/geom/class/tests/gpt sbin/geom... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Nov 2015 08:58:07 -0000 Author: ngie Date: Mon Nov 16 08:58:03 2015 New Revision: 290925 URL: https://svnweb.freebsd.org/changeset/base/290925 Log: Integrate tools/regression/geom* into the FreeBSD test suite under sbin/geom/... XXX: test Added: user/ngie/more-tests2/sbin/geom/class/tests/ user/ngie/more-tests2/sbin/geom/class/tests/Makefile (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/concat/ user/ngie/more-tests2/sbin/geom/class/tests/concat/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/concat/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/concat/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/ user/ngie/more-tests2/sbin/geom/class/tests/eli/attach_d_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/configure_b_B_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/delkey_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/detach_l_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/init_B_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/init_J_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/init_a_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/init_i_P_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/init_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/integrity_copy_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/integrity_data_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/integrity_hmac_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/kill_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/nokey_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/onetime_a_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/onetime_d_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/onetime_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/readonly_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/resize_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/eli/setkey_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/gate/ user/ngie/more-tests2/sbin/geom/class/tests/gate/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/gate/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/gate/3_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/gate/Makefile (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/geom_subr.sh - copied unchanged from r290924, user/ngie/more-tests2/tools/regression/geom_subr.sh user/ngie/more-tests2/sbin/geom/class/tests/gpt/ user/ngie/more-tests2/sbin/geom/class/tests/gpt/gctl.c (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/gpt/gctl_test.pl (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/ user/ngie/more-tests2/sbin/geom/class/tests/mirror/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/3_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/4_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/5_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/6_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/7_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/mirror/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/nop/ user/ngie/more-tests2/sbin/geom/class/tests/nop/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/nop/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/nop/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/ user/ngie/more-tests2/sbin/geom/class/tests/raid3/10_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/11_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/12_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/3_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/4_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/5_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/6_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/7_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/8_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/9_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/raid3/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/shsec/ user/ngie/more-tests2/sbin/geom/class/tests/shsec/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/shsec/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/shsec/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/stripe/ user/ngie/more-tests2/sbin/geom/class/tests/stripe/1_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/stripe/2_test.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/stripe/conf.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/uzip/ user/ngie/more-tests2/sbin/geom/class/tests/uzip/1.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/uzip/2.sh (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/uzip/Makefile (contents, props changed) user/ngie/more-tests2/sbin/geom/class/tests/uzip/etalon/ user/ngie/more-tests2/sbin/geom/class/tests/uzip/etalon/etalon.txt (contents, props changed) user/ngie/more-tests2/sbin/geom/core/tests/ user/ngie/more-tests2/sbin/geom/core/tests/ConfCmp/ - copied from r290924, user/ngie/more-tests2/tools/regression/geom/ConfCmp/ user/ngie/more-tests2/sbin/geom/core/tests/Data/ - copied from r290924, user/ngie/more-tests2/tools/regression/geom/Data/ user/ngie/more-tests2/sbin/geom/core/tests/MdLoad/ - copied from r290924, user/ngie/more-tests2/tools/regression/geom/MdLoad/ user/ngie/more-tests2/sbin/geom/core/tests/Ref/ - copied from r290924, user/ngie/more-tests2/tools/regression/geom/Ref/ user/ngie/more-tests2/sbin/geom/core/tests/run_test.sh - copied unchanged from r290924, user/ngie/more-tests2/tools/regression/geom/RunTest.t Deleted: user/ngie/more-tests2/tools/regression/geom/ user/ngie/more-tests2/tools/regression/geom_concat/ user/ngie/more-tests2/tools/regression/geom_eli/ user/ngie/more-tests2/tools/regression/geom_gate/ user/ngie/more-tests2/tools/regression/geom_gpt/ user/ngie/more-tests2/tools/regression/geom_mirror/ user/ngie/more-tests2/tools/regression/geom_nop/ user/ngie/more-tests2/tools/regression/geom_raid3/ user/ngie/more-tests2/tools/regression/geom_shsec/ user/ngie/more-tests2/tools/regression/geom_stripe/ user/ngie/more-tests2/tools/regression/geom_subr.sh user/ngie/more-tests2/tools/regression/geom_uzip/ Modified: user/ngie/more-tests2/etc/mtree/BSD.tests.dist user/ngie/more-tests2/sbin/geom/core/tests/ConfCmp/ConfCmp.c user/ngie/more-tests2/sbin/geom/core/tests/ConfCmp/Makefile user/ngie/more-tests2/sbin/geom/core/tests/MdLoad/Makefile user/ngie/more-tests2/sbin/geom/core/tests/MdLoad/MdLoad.c Modified: user/ngie/more-tests2/etc/mtree/BSD.tests.dist ============================================================================== --- user/ngie/more-tests2/etc/mtree/BSD.tests.dist Mon Nov 16 07:10:42 2015 (r290924) +++ user/ngie/more-tests2/etc/mtree/BSD.tests.dist Mon Nov 16 08:58:03 2015 (r290925) @@ -336,6 +336,42 @@ .. devd .. + geom + class + concat + .. + eli + .. + gate + .. + gpt + .. + mirror + .. + nop + .. + raid3 + .. + shsec + .. + stripe + .. + uzip + etalon + .. + .. + .. + core + ConfCmp + .. + Data + .. + MdLoad + .. + Ref + .. + .. + .. growfs .. ifconfig Added: user/ngie/more-tests2/sbin/geom/class/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/Makefile Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,18 @@ +# $FreeBSD$ + +TESTS_SUBDIRS+= concat +TESTS_SUBDIRS+= eli +TESTS_SUBDIRS+= gate +TESTS_SUBDIRS+= gpt +TESTS_SUBDIRS+= mirror +TESTS_SUBDIRS+= nop +TESTS_SUBDIRS+= raid3 +TESTS_SUBDIRS+= shsec +TESTS_SUBDIRS+= stripe +TESTS_SUBDIRS+= uzip + +BINDIR= ${TESTSBASE}/sbin/geom/class + +FILES+= geom_subr.sh + +.include Added: user/ngie/more-tests2/sbin/geom/class/tests/concat/1_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/concat/1_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,30 @@ +#!/bin/sh +# $FreeBSD$ + +. `dirname $0`/conf.sh + +echo '1..1' + +us=45 + +mdconfig -a -t malloc -s 1M -u $us || exit 1 +mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 +mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 + +gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +devwait + +# Size of created device should be 1MB + 2MB + 3MB. + +size=`diskinfo /dev/concat/${name} | awk '{print $3}'` + +if [ $size -eq 6291456 ]; then + echo "ok - Size is 6291456" +else + echo "not ok - Size is 6291456" +fi + +gconcat destroy $name +mdconfig -d -u $us +mdconfig -d -u `expr $us + 1` +mdconfig -d -u `expr $us + 2` Added: user/ngie/more-tests2/sbin/geom/class/tests/concat/2_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/concat/2_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,35 @@ +#!/bin/sh +# $FreeBSD$ + +. `dirname $0`/conf.sh + +echo '1..1' + +us=45 +tsize=6 +src=`mktemp /tmp/$base.XXXXXX` || exit 1 +dst=`mktemp /tmp/$base.XXXXXX` || exit 1 + +dd if=/dev/random of=${src} bs=1m count=$tsize >/dev/null 2>&1 + +mdconfig -a -t malloc -s 1M -u $us || exit 1 +mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 +mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 + +gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +devwait + +dd if=${src} of=/dev/concat/${name} bs=1m count=$tsize >/dev/null 2>&1 +dd if=/dev/concat/${name} of=${dst} bs=1m count=$tsize >/dev/null 2>&1 + +if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then + echo "not ok - md5 checksum comparison" +else + echo "ok - md5 checksum comparison" +fi + +gconcat destroy $name +mdconfig -d -u $us +mdconfig -d -u `expr $us + 1` +mdconfig -d -u `expr $us + 2` +rm -f ${src} ${dst} Added: user/ngie/more-tests2/sbin/geom/class/tests/concat/conf.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/concat/conf.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,8 @@ +#!/bin/sh +# $FreeBSD$ + +name="test" +class="concat" +base=`basename $0` + +. `dirname $0`/../geom_subr.sh Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/attach_d_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/attach_d_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,38 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..3" + +dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1 + +geli init -B none -P -K $keyfile md${no} +geli attach -d -p -k $keyfile md${no} +if [ -c /dev/md${no}.eli ]; then + echo "ok 1" +else + echo "not ok 1" +fi +# Be sure it doesn't detach on read. +dd if=/dev/md${no}.eli of=/dev/null 2>/dev/null +sleep 1 +if [ -c /dev/md${no}.eli ]; then + echo "ok 2" +else + echo "not ok 2" +fi +true > /dev/md${no}.eli +sleep 1 +if [ ! -c /dev/md${no}.eli ]; then + echo "ok 3" +else + echo "not ok 3" +fi + +mdconfig -d -u $no +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/configure_b_B_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/configure_b_B_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,130 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..17" + +geli init -B none -P -K /dev/null md${no} +if [ $? -eq 0 ]; then + echo "ok 1" +else + echo "not ok 1" +fi + +geli dump md${no} | egrep 'flags: 0x0$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 2" +else + echo "not ok 2" +fi + +geli init -B none -b -P -K /dev/null md${no} +if [ $? -eq 0 ]; then + echo "ok 3" +else + echo "not ok 3" +fi + +geli dump md${no} | egrep 'flags: 0x2$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 4" +else + echo "not ok 4" +fi + +geli configure -B md${no} +if [ $? -eq 0 ]; then + echo "ok 5" +else + echo "not ok 5" +fi + +geli dump md${no} | egrep 'flags: 0x0$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 6" +else + echo "not ok 6" +fi + +geli configure -b md${no} +if [ $? -eq 0 ]; then + echo "ok 7" +else + echo "not ok 7" +fi + +geli dump md${no} | egrep 'flags: 0x2$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 8" +else + echo "not ok 8" +fi + +geli attach -p -k /dev/null md${no} +if [ $? -eq 0 ]; then + echo "ok 9" +else + echo "not ok 9" +fi + +geli list md${no}.eli | egrep '^Flags: .*BOOT' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 10" +else + echo "not ok 10" +fi + +geli configure -B md${no} +if [ $? -eq 0 ]; then + echo "ok 11" +else + echo "not ok 11" +fi + +geli list md${no}.eli | egrep '^Flags: .*BOOT' >/dev/null +if [ $? -ne 0 ]; then + echo "ok 12" +else + echo "not ok 12" +fi + +geli dump md${no} | egrep 'flags: 0x0$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 13" +else + echo "not ok 13" +fi + +geli configure -b md${no} +if [ $? -eq 0 ]; then + echo "ok 14" +else + echo "not ok 14" +fi + +geli list md${no}.eli | egrep '^Flags: .*BOOT' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 15" +else + echo "not ok 15" +fi + +geli dump md${no} | egrep 'flags: 0x2$' >/dev/null +if [ $? -eq 0 ]; then + echo "ok 16" +else + echo "not ok 16" +fi + +geli detach md${no} +if [ $? -eq 0 ]; then + echo "ok 17" +else + echo "not ok 17" +fi + +mdconfig -d -u $no Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/delkey_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/delkey_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,140 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile1=`mktemp $base.XXXXXX` || exit 1 +keyfile2=`mktemp $base.XXXXXX` || exit 1 +keyfile3=`mktemp $base.XXXXXX` || exit 1 +keyfile4=`mktemp $base.XXXXXX` || exit 1 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..14" + +dd if=/dev/random of=${keyfile1} bs=512 count=16 >/dev/null 2>&1 +dd if=/dev/random of=${keyfile2} bs=512 count=16 >/dev/null 2>&1 +dd if=/dev/random of=${keyfile3} bs=512 count=16 >/dev/null 2>&1 +dd if=/dev/random of=${keyfile4} bs=512 count=16 >/dev/null 2>&1 + +geli init -B none -P -K $keyfile1 md${no} +geli attach -p -k $keyfile1 md${no} +geli setkey -n 1 -P -K $keyfile2 md${no} + +# Remove key 0 for attached provider. +geli delkey -n 0 md${no} +if [ $? -eq 0 ]; then + echo "ok 1" +else + echo "not ok 1" +fi +geli detach md${no} + +# We cannot use keyfile1 anymore. +geli attach -p -k $keyfile1 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 2" +else + echo "not ok 2" +fi + +# Attach with key 1. +geli attach -p -k $keyfile2 md${no} +if [ $? -eq 0 ]; then + echo "ok 3" +else + echo "not ok 3" +fi + +# We cannot remove last key without -f option (for attached provider). +geli delkey -n 1 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 4" +else + echo "not ok 4" +fi + +# Remove last key for attached provider. +geli delkey -f -n 1 md${no} +if [ $? -eq 0 ]; then + echo "ok 5" +else + echo "not ok 5" +fi + +# If there are no valid keys, but provider is attached, we can save situation. +geli setkey -n 0 -P -K $keyfile3 md${no} +if [ $? -eq 0 ]; then + echo "ok 6" +else + echo "not ok 6" +fi +geli detach md${no} + +# We cannot use keyfile2 anymore. +geli attach -p -k $keyfile2 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 7" +else + echo "not ok 7" +fi + +# Attach with key 0. +geli attach -p -k $keyfile3 md${no} +if [ $? -eq 0 ]; then + echo "ok 8" +else + echo "not ok 8" +fi + +# Setup key 1. +geli setkey -n 1 -P -K $keyfile4 md${no} +if [ $? -eq 0 ]; then + echo "ok 9" +else + echo "not ok 9" +fi +geli detach md${no} + +# Remove key 1 for detached provider. +geli delkey -n 1 md${no} +if [ $? -eq 0 ]; then + echo "ok 10" +else + echo "not ok 10" +fi + +# We cannot use keyfile4 anymore. +geli attach -p -k $keyfile4 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 11" +else + echo "not ok 11" +fi + +# We cannot remove last key without -f option (for detached provider). +geli delkey -n 0 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 12" +else + echo "not ok 12" +fi + +# Remove last key for detached provider. +geli delkey -f -n 0 md${no} +if [ $? -eq 0 ]; then + echo "ok 13" +else + echo "not ok 13" +fi + +# We cannot use keyfile3 anymore. +geli attach -p -k $keyfile3 md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 14" +else + echo "not ok 14" +fi + +mdconfig -d -u $no +rm -f $keyfile1 $keyfile2 $keyfile3 $keyfile4 Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/detach_l_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/detach_l_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,44 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..4" + +dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1 + +geli init -B none -P -K $keyfile md${no} +geli attach -p -k $keyfile md${no} +if [ -c /dev/md${no}.eli ]; then + echo "ok 1" +else + echo "not ok 1" +fi +# Be sure it doesn't detach before 'detach -l'. +dd if=/dev/md${no}.eli of=/dev/null 2>/dev/null +sleep 1 +if [ -c /dev/md${no}.eli ]; then + echo "ok 2" +else + echo "not ok 2" +fi +geli detach -l md${no} +if [ -c /dev/md${no}.eli ]; then + echo "ok 3" +else + echo "not ok 3" +fi +dd if=/dev/md${no}.eli of=/dev/null 2>/dev/null +sleep 1 +if [ ! -c /dev/md${no}.eli ]; then + echo "ok 4" +else + echo "not ok 4" +fi + +mdconfig -d -u $no +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/init_B_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/init_B_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,106 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 +backupfile=`mktemp $base.XXXXXX` || exit 1 + +echo "1..13" + +dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1 + +mdconfig -a -t malloc -s $sectors -u $no || exit 1 + +# -B none +rm -f /var/backups/md${no}.eli +geli init -B none -P -K $keyfile md${no} 2>/dev/null +if [ ! -f /var/backups/md${no}.eli ]; then + echo "ok 1 - -B none" +else + echo "not ok 1 - -B none" +fi + +# no -B +rm -f /var/backups/md${no}.eli +geli init -P -K $keyfile md${no} >/dev/null 2>&1 +if [ -f /var/backups/md${no}.eli ]; then + echo "ok 2 - no -B" +else + echo "not ok 2 - no -B" +fi +geli clear md${no} +geli attach -p -k $keyfile md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 3 - no -B" +else + echo "not ok 3 - no -B" +fi +if [ ! -c /dev/md${no}.eli ]; then + echo "ok 4 - no -B" +else + echo "not ok 4 - no -B" +fi +geli restore /var/backups/md${no}.eli md${no} +if [ $? -eq 0 ]; then + echo "ok 5 - no -B" +else + echo "not ok 5 - no -B" +fi +geli attach -p -k $keyfile md${no} 2>/dev/null +if [ $? -eq 0 ]; then + echo "ok 6 - no -B" +else + echo "not ok 6 - no -B" +fi +if [ -c /dev/md${no}.eli ]; then + echo "ok 7 - no -B" +else + echo "not ok 7 - no -B" +fi +geli detach md${no} +rm -f /var/backups/md${no}.eli + +# -B file +rm -f $backupfile +geli init -B $backupfile -P -K $keyfile md${no} >/dev/null 2>&1 +if [ -f $backupfile ]; then + echo "ok 8 - -B file" +else + echo "not ok 8 - -B file" +fi +geli clear md${no} +geli attach -p -k $keyfile md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 9 - -B file" +else + echo "not ok 9 - -B file" +fi +if [ ! -c /dev/md${no}.eli ]; then + echo "ok 10 - -B file" +else + echo "not ok 10 - -B file" +fi +geli restore $backupfile md${no} +if [ $? -eq 0 ]; then + echo "ok 11 - -B file" +else + echo "not ok 11 - -B file" +fi +geli attach -p -k $keyfile md${no} 2>/dev/null +if [ $? -eq 0 ]; then + echo "ok 12 - -B file" +else + echo "not ok 12 - -B file" +fi +if [ -c /dev/md${no}.eli ]; then + echo "ok 13 - -B file" +else + echo "not ok 13 - -B file" +fi +geli detach md${no} +rm -f $backupfile + +mdconfig -d -u $no +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/init_J_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/init_J_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,126 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile0=`mktemp $base.XXXXXX` || exit 1 +keyfile1=`mktemp $base.XXXXXX` || exit 1 +passfile0=`mktemp $base.XXXXXX` || exit 1 +passfile1=`mktemp $base.XXXXXX` || exit 1 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..150" + +dd if=/dev/random of=${keyfile0} bs=512 count=16 >/dev/null 2>&1 +dd if=/dev/random of=${keyfile1} bs=512 count=16 >/dev/null 2>&1 +dd if=/dev/random bs=512 count=16 2>/dev/null | sha1 > ${passfile0} +dd if=/dev/random bs=512 count=16 2>/dev/null | sha1 > ${passfile1} + +i=1 +for iter in -1 0 64; do + geli init -i ${iter} -B none -J ${passfile0} -P md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli init -i ${iter} -B none -J ${passfile0} -P -K ${keyfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli init -i ${iter} -B none -J ${passfile0} -K ${keyfile0} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -p md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${keyfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${passfile0} -p md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${keyfile0} -k ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${keyfile0} -k ${keyfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} -k ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} -k ${keyfile0} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${keyfile0} | geli attach -j ${passfile0} -k - md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${passfile0} | geli attach -j - -k ${keyfile0} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + + geli init -i ${iter} -B none -J ${passfile0} -J ${passfile1} -P md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli init -i ${iter} -B none -J ${passfile0} -J ${passfile1} -P -K ${keyfile0} -K ${keyfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli init -i ${iter} -B none -J ${passfile0} -J ${passfile1} -K ${keyfile0} -K ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -p md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -p md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -k ${keyfile1} -p md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -j ${passfile0} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -j ${passfile0} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -k ${keyfile1} -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -k ${keyfile1} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -k ${keyfile0} -j ${passfile0} -j ${passfile1} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile0} -k ${keyfile1} -j ${passfile1} -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -k ${keyfile1} -k ${keyfile0} -j ${passfile1} -j ${passfile0} md${no} 2>/dev/null && echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli attach -j ${passfile0} -j ${passfile1} -k ${keyfile0} -k ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${passfile0} | geli attach -j - -j ${passfile1} -k ${keyfile0} -k ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${passfile1} | geli attach -j ${passfile0} -j - -k ${keyfile0} -k ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${keyfile0} | geli attach -j ${passfile0} -j ${passfile1} -k - -k ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${keyfile1} | geli attach -j ${passfile0} -j ${passfile1} -k ${keyfile0} -k - md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${keyfile0} ${keyfile1} | geli attach -j ${passfile0} -j ${passfile1} -k - md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + cat ${passfile0} ${passfile1} | awk '{printf "%s", $0}' | geli attach -j - -k ${keyfile0} -k ${keyfile1} md${no} 2>/dev/null || echo -n "not " + echo "ok ${i}"; i=$((i+1)) + geli detach md${no} || echo -n "not " + echo "ok ${i}"; i=$((i+1)) +done + +mdconfig -d -u $no +rm -f ${keyfile0} ${keyfile1} ${passfile0} ${passfile1} Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/init_a_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/init_a_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,59 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`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 + 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 + + 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}'` + + 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` + + 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 + +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/init_i_P_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/init_i_P_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,22 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 +mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 + +echo "1..1" + +dd if=/dev/random of=${keyfile} bs=512 count=16 >/dev/null 2>&1 + +geli init -B none -i 64 -P -K ${keyfile} md${no} 2>/dev/null +if [ $? -ne 0 ]; then + echo "ok 1" +else + echo "not ok 1" +fi + +mdconfig -d -u $no +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/init_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/init_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,64 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 + +echo "1..460" + +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 + 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 + + 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}'` + + 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` + + 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 + +rm -f $keyfile Added: user/ngie/more-tests2/sbin/geom/class/tests/eli/integrity_copy_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/sbin/geom/class/tests/eli/integrity_copy_test.sh Mon Nov 16 08:58:03 2015 (r290925) @@ -0,0 +1,98 @@ +#!/bin/sh +# $FreeBSD$ + +base=`basename $0` +no=45 +sectors=100 +keyfile=`mktemp $base.XXXXXX` || exit 1 +sector=`mktemp $base.XXXXXX` || exit 1 + +echo "1..5520" + +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 + 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 + + 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/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} + + 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` + + 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)) + + 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)) + + geli detach md${no} + mdconfig -d -u $no *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***