diff options
author | pjd <pjd@FreeBSD.org> | 2005-01-11 18:06:44 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2005-01-11 18:06:44 +0000 |
commit | 8d8363ee39b0aaa863e2d66fc53f7875726629dd (patch) | |
tree | 50739506a34f12ac2d48b48e25a355d25730ce7e /tools | |
parent | f89878315b95a6c4d45310a7f827818440db1c95 (diff) | |
download | FreeBSD-src-8d8363ee39b0aaa863e2d66fc53f7875726629dd.zip FreeBSD-src-8d8363ee39b0aaa863e2d66fc53f7875726629dd.tar.gz |
Introduce a new GEOM class - SHSEC. It provides sharing secret between
the given providers. Without even one of the configured components there
should be no way to get the secret.
Supported by: WHEEL Sp. z o.o.
http://www.wheel.pl
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/geom_shsec/Makefile | 8 | ||||
-rw-r--r-- | tools/regression/geom_shsec/runtests.sh | 10 | ||||
-rw-r--r-- | tools/regression/geom_shsec/test-1.sh | 34 | ||||
-rw-r--r-- | tools/regression/geom_shsec/test-2.sh | 57 |
4 files changed, 109 insertions, 0 deletions
diff --git a/tools/regression/geom_shsec/Makefile b/tools/regression/geom_shsec/Makefile new file mode 100644 index 0000000..11b4e3e --- /dev/null +++ b/tools/regression/geom_shsec/Makefile @@ -0,0 +1,8 @@ +# +# $FreeBSD$ +# +# Regression tests for geom_shsec. +# + +test: + @sh runtests.sh diff --git a/tools/regression/geom_shsec/runtests.sh b/tools/regression/geom_shsec/runtests.sh new file mode 100644 index 0000000..24e017b --- /dev/null +++ b/tools/regression/geom_shsec/runtests.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# $FreeBSD$ + +dir=`dirname $0` + +gshsec load >/dev/null 2>&1 +for ts in `dirname $0`/test-*.sh; do + sh $ts +done +gshsec unload diff --git a/tools/regression/geom_shsec/test-1.sh b/tools/regression/geom_shsec/test-1.sh new file mode 100644 index 0000000..0b779c0 --- /dev/null +++ b/tools/regression/geom_shsec/test-1.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# $FreeBSD$ + +name="test" +base=`basename $0` +us0=45 +us1=`expr $us0 + 1` +us2=`expr $us0 + 2` + +mdconfig -a -t malloc -s 1M -u $us0 || exit 1 +mdconfig -a -t malloc -s 2M -u $us1 || exit 1 +mdconfig -a -t malloc -s 3M -u $us2 || exit 1 + +gshsec label $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1 + +# Size of created device should be 1MB - 512B. + +mediasize=`diskinfo /dev/shsec/${name} | awk '{print $3}'` +if [ $mediasize -eq 1048064 ]; then + echo "PASS" +else + echo "FAIL" +fi +sectorsize=`diskinfo /dev/shsec/${name} | awk '{print $2}'` +if [ $sectorsize -eq 512 ]; then + echo "PASS" +else + echo "FAIL" +fi + +gshsec stop $name +mdconfig -d -u $us0 +mdconfig -d -u $us1 +mdconfig -d -u $us2 diff --git a/tools/regression/geom_shsec/test-2.sh b/tools/regression/geom_shsec/test-2.sh new file mode 100644 index 0000000..8e4fcee --- /dev/null +++ b/tools/regression/geom_shsec/test-2.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# $FreeBSD$ + +name="test" +base=`basename $0` +us0=45 +us1=`expr $us0 + 1` +us2=`expr $us0 + 2` +nblocks1=1024 +nblocks2=`expr $nblocks1 + 1` +src=`mktemp /tmp/$base.XXXXXX` || exit 1 +dst=`mktemp /tmp/$base.XXXXXX` || exit 1 + +dd if=/dev/random of=${src} count=$nblocks1 >/dev/null 2>&1 + +mdconfig -a -t malloc -s $nblocks2 -u $us0 || exit 1 +mdconfig -a -t malloc -s $nblocks2 -u $us1 || exit 1 +mdconfig -a -t malloc -s $nblocks2 -u $us2 || exit 1 + +gshsec label $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1 +sleep 1 + +dd if=${src} of=/dev/shsec/${name} count=$nblocks1 >/dev/null 2>&1 + +dd if=/dev/shsec/${name} of=${dst} count=$nblocks1 >/dev/null 2>&1 +if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then + echo "FAIL" +else + echo "PASS" +fi + +dd if=/dev/md${us0} of=${dst} count=$nblocks1 >/dev/null 2>&1 +if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then + echo "FAIL" +else + echo "PASS" +fi + +dd if=/dev/md${us1} of=${dst} count=$nblocks1 >/dev/null 2>&1 +if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then + echo "FAIL" +else + echo "PASS" +fi + +dd if=/dev/md${us2} of=${dst} count=$nblocks1 >/dev/null 2>&1 +if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then + echo "FAIL" +else + echo "PASS" +fi + +gshsec stop $name +mdconfig -d -u $us0 +mdconfig -d -u $us1 +mdconfig -d -u $us2 +rm -f ${src} ${dst} |