delkey_test.sh revision 182452
1#!/bin/sh 2# $FreeBSD: head/tools/regression/geom_eli/delkey.t 182452 2008-08-29 18:10:18Z pjd $ 3 4base=`basename $0` 5no=45 6sectors=100 7keyfile1=`mktemp /tmp/$base.XXXXXX` || exit 1 8keyfile2=`mktemp /tmp/$base.XXXXXX` || exit 1 9keyfile3=`mktemp /tmp/$base.XXXXXX` || exit 1 10keyfile4=`mktemp /tmp/$base.XXXXXX` || exit 1 11mdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 12 13echo "1..14" 14 15dd if=/dev/random of=${keyfile1} bs=512 count=16 >/dev/null 2>&1 16dd if=/dev/random of=${keyfile2} bs=512 count=16 >/dev/null 2>&1 17dd if=/dev/random of=${keyfile3} bs=512 count=16 >/dev/null 2>&1 18dd if=/dev/random of=${keyfile4} bs=512 count=16 >/dev/null 2>&1 19 20geli init -B none -P -K $keyfile1 md${no} 21geli attach -p -k $keyfile1 md${no} 22geli setkey -n 1 -P -K $keyfile2 md${no} 23 24# Remove key 0 for attached provider. 25geli delkey -n 0 md${no} 26if [ $? -eq 0 ]; then 27 echo "ok 1" 28else 29 echo "not ok 1" 30fi 31geli detach md${no} 32 33# We cannot use keyfile1 anymore. 34geli attach -p -k $keyfile1 md${no} 2>/dev/null 35if [ $? -ne 0 ]; then 36 echo "ok 2" 37else 38 echo "not ok 2" 39fi 40 41# Attach with key 1. 42geli attach -p -k $keyfile2 md${no} 43if [ $? -eq 0 ]; then 44 echo "ok 3" 45else 46 echo "not ok 3" 47fi 48 49# We cannot remove last key without -f option (for attached provider). 50geli delkey -n 1 md${no} 2>/dev/null 51if [ $? -ne 0 ]; then 52 echo "ok 4" 53else 54 echo "not ok 4" 55fi 56 57# Remove last key for attached provider. 58geli delkey -f -n 1 md${no} 59if [ $? -eq 0 ]; then 60 echo "ok 5" 61else 62 echo "not ok 5" 63fi 64 65# If there are no valid keys, but provider is attached, we can save situation. 66geli setkey -n 0 -P -K $keyfile3 md${no} 67if [ $? -eq 0 ]; then 68 echo "ok 6" 69else 70 echo "not ok 6" 71fi 72geli detach md${no} 73 74# We cannot use keyfile2 anymore. 75geli attach -p -k $keyfile2 md${no} 2>/dev/null 76if [ $? -ne 0 ]; then 77 echo "ok 7" 78else 79 echo "not ok 7" 80fi 81 82# Attach with key 0. 83geli attach -p -k $keyfile3 md${no} 84if [ $? -eq 0 ]; then 85 echo "ok 8" 86else 87 echo "not ok 8" 88fi 89 90# Setup key 1. 91geli setkey -n 1 -P -K $keyfile4 md${no} 92if [ $? -eq 0 ]; then 93 echo "ok 9" 94else 95 echo "not ok 9" 96fi 97geli detach md${no} 98 99# Remove key 1 for detached provider. 100geli delkey -n 1 md${no} 101if [ $? -eq 0 ]; then 102 echo "ok 10" 103else 104 echo "not ok 10" 105fi 106 107# We cannot use keyfile4 anymore. 108geli attach -p -k $keyfile4 md${no} 2>/dev/null 109if [ $? -ne 0 ]; then 110 echo "ok 11" 111else 112 echo "not ok 11" 113fi 114 115# We cannot remove last key without -f option (for detached provider). 116geli delkey -n 0 md${no} 2>/dev/null 117if [ $? -ne 0 ]; then 118 echo "ok 12" 119else 120 echo "not ok 12" 121fi 122 123# Remove last key for detached provider. 124geli delkey -f -n 0 md${no} 125if [ $? -eq 0 ]; then 126 echo "ok 13" 127else 128 echo "not ok 13" 129fi 130 131# We cannot use keyfile3 anymore. 132geli attach -p -k $keyfile3 md${no} 2>/dev/null 133if [ $? -ne 0 ]; then 134 echo "ok 14" 135else 136 echo "not ok 14" 137fi 138 139mdconfig -d -u $no 140rm -f $keyfile1 $keyfile2 $keyfile3 $keyfile4 141