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...
Garrett Cooper
ngie at FreeBSD.org
Mon Nov 16 08:58:07 UTC 2015
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 <bsd.test.mk>
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 ***
More information about the svn-src-user
mailing list