xref: /netbsd-src/crypto/external/bsd/heimdal/dist/tests/kdc/check-tester.in (revision 929c70cba110089af68ff46da658d45500ef61a1)
1#!/bin/sh
2#
3# Copyright (c) 2006 - 2007 Kungliga Tekniska Högskolan
4# (Royal Institute of Technology, Stockholm, Sweden).
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10#
11# 1. Redistributions of source code must retain the above copyright
12#    notice, this list of conditions and the following disclaimer.
13#
14# 2. Redistributions in binary form must reproduce the above copyright
15#    notice, this list of conditions and the following disclaimer in the
16#    documentation and/or other materials provided with the distribution.
17#
18# 3. Neither the name of the Institute nor the names of its contributors
19#    may be used to endorse or promote products derived from this software
20#    without specific prior written permission.
21#
22# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
23# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25# ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
26# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32# SUCH DAMAGE.
33
34top_builddir="@top_builddir@"
35env_setup="@env_setup@"
36objdir="@objdir@"
37srcdir="@srcdir@"
38
39. ${env_setup}
40
41KRB5_CONFIG="${1-${objdir}/krb5.conf}"
42export KRB5_CONFIG
43
44testfailed="echo test failed; cat messages.log; exit 1"
45
46# If there is no useful db support compiled in, disable test
47${have_db} || exit 77
48
49R=TEST.H5L.SE
50
51keytabfile=${objdir}/server.keytab
52keytab="FILE:${keytabfile}"
53keyfile="${hx509_data}/key.der"
54keyfile2="${hx509_data}/key2.der"
55
56kadmin="${kadmin} -l -r $R"
57
58server=host/datan.test.h5l.se
59
60rsa=yes
61pkinit=no
62if ${hxtool} info | grep 'rsa: hx509 null RSA' > /dev/null ; then
63    rsa=no
64fi
65if ${hxtool} info | grep 'rand: not available' > /dev/null ; then
66    rsa=no
67fi
68
69if ${kinit} --help 2>&1 | grep "CA certificates" > /dev/null; then
70    pkinit=yes
71fi
72
73# If we doesn't support pkinit and have RSA, give up
74if test "$rsa" != yes ; then
75    pkinit=no
76fi
77
78rm -f ${keytabfile}
79rm -f current-db*
80rm -f out-*
81rm -f mkey.file*
82
83> messages.log
84
85echo Creating database
86${kadmin} \
87    init \
88    --realm-max-ticket-life=1day \
89    --realm-max-renewable-life=1month \
90    ${R} || exit 1
91
92${kadmin} add -p foo --use-defaults ${server}@${R} || exit 1
93${kadmin} add -p foo --use-defaults foo@${R} || exit 1
94${kadmin} ext -k ${keytab} foo@${R} || exit 1
95${kadmin} ext -k ${keytab} ${server}@${R} || exit 1
96
97echo "password"
98${kdc_tester} ${srcdir}/kdc-tester1.json > out-log 2>&1 || exit 1
99sed 's/^/	/' out-log
100
101echo "keytab"
102${kdc_tester} ${srcdir}/kdc-tester2.json > out-log 2>&1 || exit 1
103sed 's/^/	/' out-log
104
105echo "FAST + keytab"
106${kdc_tester} ${srcdir}/kdc-tester3.json > out-log 2>&1 || exit 1
107sed 's/^/	/' out-log
108
109
110if test "$pkinit" = yes ; then
111
112    echo "pkinit"
113    ${kdc_tester} ${objdir}/kdc-tester4.json > out-log 2>&1 || exit 1
114    sed 's/^/	/' out-log
115
116fi
117
118exit $ec
119