/crypto/heimdal/tests/db/add-modify-delete.in
https://bitbucket.org/freebsd/freebsd-head/ · Autoconf · 137 lines · 74 code · 25 blank · 38 comment · 30 complexity · f97d59e977f4e619f8a26eed5264fa86 MD5 · raw file
- #!/bin/sh
- #
- # Copyright (c) 2006 Kungliga Tekniska Högskolan
- # (Royal Institute of Technology, Stockholm, Sweden).
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions
- # are met:
- #
- # 1. Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- #
- # 2. Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in the
- # documentation and/or other materials provided with the distribution.
- #
- # 3. Neither the name of the Institute nor the names of its contributors
- # may be used to endorse or promote products derived from this software
- # without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- # ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- # $Id: add-modify-delete.in 20606 2007-05-08 06:28:09Z lha $
- #
- srcdir="@srcdir@"
- objdir="@objdir@"
- EGREP="@EGREP@"
- # If there is no useful db support compile in, disable test
- ./have-db || exit 77
- R=EXAMPLE.ORG
- kadmin="${TESTS_ENVIRONMENT} ../../kadmin/kadmin -l -r $R"
- iproplog="${TESTS_ENVIRONMENT} ../../lib/kadm5/iprop-log"
- KRB5_CONFIG="${objdir}/krb5.conf"
- export KRB5_CONFIG
- rm -f current-db*
- rm -f log.current-db*
- rm -f out-*
- rm -f mkey.file*
- echo init database
- ${kadmin} \
- init \
- --realm-max-ticket-life=1day \
- --realm-max-renewable-life=1month \
- EXAMPLE.ORG || exit 1
- echo test add
- ${kadmin} add -r --use-defaults foo || exit 1
- ${kadmin} list '*' > /dev/null || exit 1
- ${kadmin} list '*' | ${EGREP} '^foo$' > /dev/null || exit 1
- echo "test add (double)"
- ${kadmin} add -r --use-defaults foo 2>/dev/null && exit 1
- echo test rename
- ${kadmin} rename foo bar
- ${kadmin} list '*' | ${EGREP} '^foo$' > /dev/null && exit 1
- ${kadmin} list '*' | ${EGREP} '^bar$' > /dev/null || exit 1
- echo test delete
- ${kadmin} delete bar || exit 1
- ${kadmin} list '*' | ${EGREP} '^bar$' > /dev/null && exit 1
- echo "test delete (double)"
- ${kadmin} delete bar 2> /dev/null && exit 1
- echo "creating sample user"
- ${kadmin} add -r --use-defaults foo || exit 1
- ${kadmin} get foo > tempfile || exit 1
- echo checking principal
- ${EGREP} " *Principal: foo@EXAMPLE.ORG$" tempfile > /dev/null || exit 1
- echo checking kvno
- ${EGREP} " *Kvno: 1$" tempfile > /dev/null || exit 1
- echo checking failed login count
- ${EGREP} " *Failed login count: 0$" tempfile > /dev/null || exit 1
- echo checking modifier
- ${EGREP} " *Modifier: kadmin/admin@EXAMPLE.ORG$" tempfile > /dev/null || exit 1
- echo checking attributes
- ${EGREP} " *Attributes: $" tempfile > /dev/null || exit 1
- echo checking renew time
- ${EGREP} " *Max renewable life: 1 week$" tempfile > /dev/null || exit 1
- echo modifing renewable-life
- ${kadmin} modify --max-renewable-life=2months foo
- echo checking renew time
- ${kadmin} get foo > tempfile || exit 1
- ${EGREP} " *Max renewable life: 2 months$" tempfile > /dev/null || exit 1
- echo "creating sample server"
- ${kadmin} add -r --use-defaults host/datan.example.org || exit 1
- ${kadmin} get host/datan.example.org > tempfile || exit 1
- echo checking principal
- ${EGREP} " *Principal: host/datan.example.org@EXAMPLE.ORG$" tempfile > /dev/null || exit 1
- echo checking kvno
- ${EGREP} " *Kvno: 1$" tempfile > /dev/null || exit 1
- echo "iprop-log dump"
- ${iproplog} dump > /dev/null || exit 1
- echo "iprop-log last-version"
- ${iproplog} last-version > /dev/null || exit 1
- echo "check iprop replay"
- ${kadmin} dump out-current-db || exit 1
- sort out-current-db > out-current-db-sort
- rm -f current-db*
- echo "replaying"
- ${iproplog} replay > /dev/null || exit 1
- ${kadmin} dump out-current-db2 || exit 1
- sort out-current-db2 > out-current-db2-sort
- # XXX database should really be the same afterward... :(
- # cmp out-current-db-sort out-current-db2-sort || exit 1
- exit 0