10 atf_check -s exit:0 -o ignore -e ignore \
11 geli onetime -e $ealgo -l $keylen -s $secsize ${md}
13 atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${sectors} status=none
15 md_rnd=`dd if=rnd bs=${secsize} count=${sectors} status=none | md5`
17 md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${sectors} status=none | md5`
19 md_edev=`dd if=/dev/${md} bs=${secsize} count=${sectors} status=none | md5`
22 if [ ${md_rnd} != ${md_ddev} ]; then
23 atf_fail "geli did not return the original data"
25 if [ ${md_rnd} == ${md_edev} ]; then
26 atf_fail "geli did not encrypt the data"
29 atf_test_case onetime cleanup
32 atf_set "descr" "geli onetime can create temporary providers"
33 atf_set "require.user" "root"
34 atf_set "timeout" 1800
38 . $(atf_get_srcdir)/conf.sh
41 dd if=/dev/random of=rnd bs=${MAX_SECSIZE} count=${sectors} status=none
42 for_each_geli_config_nointegrity onetime_test
46 . $(atf_get_srcdir)/conf.sh
58 atf_check -s exit:0 -o ignore -e ignore \
59 geli onetime -a $aalgo -e $ealgo -l $keylen -s $secsize ${md}
61 atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${sectors} status=none
63 md_rnd=`dd if=rnd bs=${secsize} count=${sectors} status=none | md5`
65 md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${sectors} status=none | md5`
68 if [ ${md_rnd} != ${md_ddev} ]; then
69 atf_fail "Miscompare for aalgo=${aalgo} ealgo=${ealgo} keylen=${keylen} sec=${secsize}"
72 atf_test_case onetime_a cleanup
75 atf_set "descr" "geli onetime with HMACs"
76 atf_set "require.user" "root"
77 atf_set "timeout" 1800
81 . $(atf_get_srcdir)/conf.sh
84 atf_check dd if=/dev/random of=rnd bs=$MAX_SECSIZE count=$sectors \
86 for_each_geli_config onetime_a_test
90 . $(atf_get_srcdir)/conf.sh
94 atf_test_case onetime_d cleanup
97 atf_set "descr" "geli onetime -d will create providers that detach on last close"
98 atf_set "require.user" "root"
102 . $(atf_get_srcdir)/conf.sh
105 md=$(attach_md -t malloc -s $sectors)
107 atf_check geli onetime -d ${md}
108 if [ ! -c /dev/${md}.eli ]; then
109 atf_fail "Provider not created, or immediately detached"
112 # Be sure it doesn't detach on read.
113 atf_check dd if=/dev/${md}.eli of=/dev/null status=none
115 if [ ! -c /dev/${md}.eli ]; then
116 atf_fail "Provider detached when a reader closed"
119 # It should detach when a writer closes
120 true > /dev/${md}.eli
122 if [ -c /dev/${md}.eli ]; then
123 atf_fail "Provider didn't detach on last close of a writer"
128 . $(atf_get_srcdir)/conf.sh
132 atf_init_test_cases()
134 atf_add_test_case onetime
135 atf_add_test_case onetime_a
136 atf_add_test_case onetime_d