~ubuntu-branches/ubuntu/jaunty/heimdal/jaunty

« back to all changes in this revision

Viewing changes to tests/kdc/check-cc.in

  • Committer: Bazaar Package Importer
  • Author(s): Nick Ellery
  • Date: 2008-11-17 22:25:58 UTC
  • mfrom: (1.1.5 upstream) (2.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20081117222558-jd1aj1jth6ycdb0x
Tags: 1.2.dfsg.1-2.1ubuntu1
* Merge from debian unstable, remaining changes (LP: #299345):
  - Change libdb4.2-dev to libdb4.6-dev in build-deps
  - Add netbase to heimdal-kdc depends.
  - Set CPPFLAGS=-DLDAP_DEPRECATED to fix build with OpenLDAP 2.4 on
    64-bit architectures.
* Remove dependency on update-inetd to heimdal-servers and heimdal-kdc,
  as packages should rely on the inet-superserver to provide the
  update-inetd command.
* Drop the addition of -1 to the version of comerr-dev in build depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#
 
3
# Copyright (c) 2006 - 2008 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
#
 
34
# $Id$
 
35
#
 
36
 
 
37
srcdir="@srcdir@"
 
38
objdir="@objdir@"
 
39
EGREP="@EGREP@"
 
40
 
 
41
testfailed="echo test failed; exit 1"
 
42
 
 
43
# If there is no useful db support compile in, disable test
 
44
../db/have-db || exit 77
 
45
 
 
46
R=TEST.H5L.SE
 
47
 
 
48
port=@port@
 
49
pwport=@pwport@
 
50
 
 
51
kinit="${TESTS_ENVIRONMENT} ../../kuser/kinit --password-file=${objdir}/foopassword --no-afslog"
 
52
klist="${TESTS_ENVIRONMENT} ../../kuser/klist"
 
53
kswitch="${TESTS_ENVIRONMENT} ../../kuser/kswitch"
 
54
kdestroy="${TESTS_ENVIRONMENT} ../../kuser/kdestroy --no-unlog"
 
55
kadmin="${TESTS_ENVIRONMENT} ../../kadmin/kadmin -l -r $R"
 
56
kdc="${TESTS_ENVIRONMENT} ../../kdc/kdc --addresses=localhost -P $port"
 
57
 
 
58
 
 
59
server=host/datan.test.h5l.se
 
60
cache="FILE:${objdir}/cache.krb5"
 
61
keytabfile=${objdir}/server.keytab
 
62
keytab="FILE:${keytabfile}"
 
63
 
 
64
KRB5_CONFIG="${objdir}/krb5-cc.conf"
 
65
export KRB5_CONFIG
 
66
 
 
67
rm -f ${keytabfile}
 
68
rm -f current-db*
 
69
rm -f out-*
 
70
rm -f mkey.file*
 
71
 
 
72
> messages.log
 
73
 
 
74
cp "${objdir}/krb5.conf" "${objdir}/krb5-cc.conf"
 
75
 
 
76
echo Creating database
 
77
${kadmin} \
 
78
    init \
 
79
    --realm-max-ticket-life=1day \
 
80
    --realm-max-renewable-life=1month \
 
81
    ${R} || exit 1
 
82
 
 
83
${kadmin} add -p foo --use-defaults foo@${R} || exit 1
 
84
${kadmin} add -p foo --use-defaults bar@${R} || exit 1
 
85
${kadmin} add -p kaka --use-defaults ${server}@${R} || exit 1
 
86
${kadmin} ext -k ${keytab} ${server}@${R} || exit 1
 
87
 
 
88
echo "Doing database check"
 
89
${kadmin} check ${R} || exit 1
 
90
 
 
91
echo foo > ${objdir}/foopassword
 
92
 
 
93
echo Starting kdc
 
94
${kdc} &
 
95
kdcpid=$!
 
96
 
 
97
sh ${srcdir}/wait-kdc.sh
 
98
if [ "$?" != 0 ] ; then
 
99
    kill ${kdcpid}
 
100
    exit 1
 
101
fi
 
102
 
 
103
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT
 
104
 
 
105
ec=0
 
106
 
 
107
(cat ${objdir}/krb5.conf ;                      \
 
108
 echo '' ;                                      \
 
109
 echo '[libdefaults]' ;                         \
 
110
 echo "    default_cc_type = SDB" ;             \
 
111
 echo '' )                                      \
 
112
    > ${objdir}/krb5-cc.conf
 
113
 
 
114
 
 
115
echo "getting default tickets"; > messages.log
 
116
${kinit} foo@${R} || { ec=1 ; eval "${testfailed}"; }
 
117
${kswitch} -p foo@${R} || { ec=1 ; eval "${testfailed}"; }
 
118
${klist} -l | grep foo@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
119
${kdestroy}
 
120
 
 
121
echo "getting both tickets"; > messages.log
 
122
${kinit} -c SDB:1 foo@${R} || { ec=1 ; eval "${testfailed}"; }
 
123
${kinit} -c SDB:2 bar@${R} || { ec=1 ; eval "${testfailed}"; }
 
124
echo "switch foo"
 
125
${kswitch} -p foo@${R} || { ec=1 ; eval "${testfailed}"; }
 
126
${klist} | head -2 | grep foo@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
127
${klist} -l | grep foo@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
128
${klist} -l | grep bar@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
129
echo "switch bar"
 
130
${kswitch} -p bar@${R} || { ec=1 ; eval "${testfailed}"; }
 
131
${klist} | head -2 | grep bar@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
132
${klist} -l | grep foo@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
133
${klist} -l | grep bar@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
134
echo "delete bar"
 
135
${kdestroy}
 
136
echo "check that bar is gone"
 
137
${klist} -l | grep bar@ >/dev/null && { ec=1 ; eval "${testfailed}"; }
 
138
echo "check that foo is still there"
 
139
${klist} -l | grep foo@ >/dev/null || { ec=1 ; eval "${testfailed}"; }
 
140
${kswitch} -p foo@${R} || { ec=1 ; eval "${testfailed}"; }
 
141
echo "delete foo"
 
142
${kdestroy} || { ec=1 ; eval "${testfailed}"; }
 
143
echo "check that foo is gone"
 
144
${klist} -l | grep foo@ >/dev/null && { ec=1 ; eval "${testfailed}"; }
 
145
echo "check that bar is gone"
 
146
${klist} -l | grep bar@ >/dev/null && { ec=1 ; eval "${testfailed}"; }
 
147
 
 
148
 
 
149
echo "killing kdc (${kdcpid})"
 
150
kill $kdcpid || exit 1
 
151
 
 
152
trap "" EXIT
 
153
 
 
154
exit $ec