delkey_test.sh revision 148459
1148459Spjd#!/bin/sh 2148459Spjd# $FreeBSD: head/tools/regression/geom_eli/delkey.t 148459 2005-07-27 22:27:30Z pjd $ 3148459Spjd 4148459Spjdbase=`basename $0` 5148459Spjdno=45 6148459Spjdsectors=100 7148459Spjdkeyfile1=`mktemp /tmp/$base.XXXXXX` || exit 1 8148459Spjdkeyfile2=`mktemp /tmp/$base.XXXXXX` || exit 1 9148459Spjdkeyfile3=`mktemp /tmp/$base.XXXXXX` || exit 1 10148459Spjdkeyfile4=`mktemp /tmp/$base.XXXXXX` || exit 1 11148459Spjdmdconfig -a -t malloc -s `expr $sectors + 1` -u $no || exit 1 12148459Spjd 13148459Spjdecho "1..14" 14148459Spjd 15148459Spjddd if=/dev/random of=${keyfile1} bs=512 count=16 >/dev/null 2>&1 16148459Spjddd if=/dev/random of=${keyfile2} bs=512 count=16 >/dev/null 2>&1 17148459Spjddd if=/dev/random of=${keyfile3} bs=512 count=16 >/dev/null 2>&1 18148459Spjddd if=/dev/random of=${keyfile4} bs=512 count=16 >/dev/null 2>&1 19148459Spjd 20148459Spjdgeli init -P -K $keyfile1 md${no} 21148459Spjdgeli attach -p -k $keyfile1 md${no} 22148459Spjdgeli setkey -n 1 -P -K $keyfile2 md${no} 23148459Spjd 24148459Spjd# Remove key 0 for attached provider. 25148459Spjdgeli delkey -n 0 md${no} 26148459Spjdif [ $? -eq 0 ]; then 27148459Spjd echo "ok 1" 28148459Spjdelse 29148459Spjd echo "not ok 1" 30148459Spjdfi 31148459Spjdgeli detach md${no} 32148459Spjd 33148459Spjd# We cannot use keyfile1 anymore. 34148459Spjdgeli attach -p -k $keyfile1 md${no} 2>/dev/null 35148459Spjdif [ $? -ne 0 ]; then 36148459Spjd echo "ok 2" 37148459Spjdelse 38148459Spjd echo "not ok 2" 39148459Spjdfi 40148459Spjd 41148459Spjd# Attach with key 1. 42148459Spjdgeli attach -p -k $keyfile2 md${no} 43148459Spjdif [ $? -eq 0 ]; then 44148459Spjd echo "ok 3" 45148459Spjdelse 46148459Spjd echo "not ok 3" 47148459Spjdfi 48148459Spjd 49148459Spjd# We cannot remove last key without -f option (for attached provider). 50148459Spjdgeli delkey -n 1 md${no} 2>/dev/null 51148459Spjdif [ $? -ne 0 ]; then 52148459Spjd echo "ok 4" 53148459Spjdelse 54148459Spjd echo "not ok 4" 55148459Spjdfi 56148459Spjd 57148459Spjd# Remove last key for attached provider. 58148459Spjdgeli delkey -f -n 1 md${no} 59148459Spjdif [ $? -eq 0 ]; then 60148459Spjd echo "ok 5" 61148459Spjdelse 62148459Spjd echo "not ok 5" 63148459Spjdfi 64148459Spjd 65148459Spjd# If there are no valid keys, but provider is attached, we can save situation. 66148459Spjdgeli setkey -n 0 -P -K $keyfile3 md${no} 67148459Spjdif [ $? -eq 0 ]; then 68148459Spjd echo "ok 6" 69148459Spjdelse 70148459Spjd echo "not ok 6" 71148459Spjdfi 72148459Spjdgeli detach md${no} 73148459Spjd 74148459Spjd# We cannot use keyfile2 anymore. 75148459Spjdgeli attach -p -k $keyfile2 md${no} 2>/dev/null 76148459Spjdif [ $? -ne 0 ]; then 77148459Spjd echo "ok 7" 78148459Spjdelse 79148459Spjd echo "not ok 7" 80148459Spjdfi 81148459Spjd 82148459Spjd# Attach with key 0. 83148459Spjdgeli attach -p -k $keyfile3 md${no} 84148459Spjdif [ $? -eq 0 ]; then 85148459Spjd echo "ok 8" 86148459Spjdelse 87148459Spjd echo "not ok 8" 88148459Spjdfi 89148459Spjd 90148459Spjd# Setup key 1. 91148459Spjdgeli setkey -n 1 -P -K $keyfile4 md${no} 92148459Spjdif [ $? -eq 0 ]; then 93148459Spjd echo "ok 9" 94148459Spjdelse 95148459Spjd echo "not ok 9" 96148459Spjdfi 97148459Spjdgeli detach md${no} 98148459Spjd 99148459Spjd# Remove key 1 for detached provider. 100148459Spjdgeli delkey -n 1 md${no} 101148459Spjdif [ $? -eq 0 ]; then 102148459Spjd echo "ok 10" 103148459Spjdelse 104148459Spjd echo "not ok 10" 105148459Spjdfi 106148459Spjd 107148459Spjd# We cannot use keyfile4 anymore. 108148459Spjdgeli attach -p -k $keyfile4 md${no} 2>/dev/null 109148459Spjdif [ $? -ne 0 ]; then 110148459Spjd echo "ok 11" 111148459Spjdelse 112148459Spjd echo "not ok 11" 113148459Spjdfi 114148459Spjd 115148459Spjd# We cannot remove last key without -f option (for detached provider). 116148459Spjdgeli delkey -n 0 md${no} 2>/dev/null 117148459Spjdif [ $? -ne 0 ]; then 118148459Spjd echo "ok 12" 119148459Spjdelse 120148459Spjd echo "not ok 12" 121148459Spjdfi 122148459Spjd 123148459Spjd# Remove last key for detached provider. 124148459Spjdgeli delkey -f -n 0 md${no} 125148459Spjdif [ $? -eq 0 ]; then 126148459Spjd echo "ok 13" 127148459Spjdelse 128148459Spjd echo "not ok 13" 129148459Spjdfi 130148459Spjd 131148459Spjd# We cannot use keyfile3 anymore. 132148459Spjdgeli attach -p -k $keyfile3 md${no} 2>/dev/null 133148459Spjdif [ $? -ne 0 ]; then 134148459Spjd echo "ok 14" 135148459Spjdelse 136148459Spjd echo "not ok 14" 137148459Spjdfi 138148459Spjd 139148459Spjdmdconfig -d -u $no 140148459Spjdrm -f $keyfile1 $keyfile2 $keyfile3 $keyfile4 141