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