1178825Sdfr#!/bin/sh 2178825Sdfr# 3178825Sdfr# Copyright (c) 2006 Kungliga Tekniska H�gskolan 4178825Sdfr# (Royal Institute of Technology, Stockholm, Sweden). 5178825Sdfr# All rights reserved. 6178825Sdfr# 7178825Sdfr# Redistribution and use in source and binary forms, with or without 8178825Sdfr# modification, are permitted provided that the following conditions 9178825Sdfr# are met: 10178825Sdfr# 11178825Sdfr# 1. Redistributions of source code must retain the above copyright 12178825Sdfr# notice, this list of conditions and the following disclaimer. 13178825Sdfr# 14178825Sdfr# 2. Redistributions in binary form must reproduce the above copyright 15178825Sdfr# notice, this list of conditions and the following disclaimer in the 16178825Sdfr# documentation and/or other materials provided with the distribution. 17178825Sdfr# 18178825Sdfr# 3. Neither the name of the Institute nor the names of its contributors 19178825Sdfr# may be used to endorse or promote products derived from this software 20178825Sdfr# without specific prior written permission. 21178825Sdfr# 22178825Sdfr# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 23178825Sdfr# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24178825Sdfr# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25178825Sdfr# ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 26178825Sdfr# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27178825Sdfr# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28178825Sdfr# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29178825Sdfr# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30178825Sdfr# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31178825Sdfr# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32178825Sdfr# SUCH DAMAGE. 33178825Sdfr# 34178825Sdfr# $Id: check-gssmask.in 21845 2007-08-08 06:54:48Z lha $ 35178825Sdfr# 36178825Sdfr 37178825Sdfrsrcdir="@srcdir@" 38178825Sdfrobjdir="@objdir@" 39178825Sdfr 40178825Sdfr# If there is no useful db support compile in, disable test 41178825Sdfr../db/have-db || exit 77 42178825Sdfr 43178825SdfrR=TEST.H5L.SE 44178825Sdfr 45178825Sdfrport=@port@ 46178825Sdfr 47178825Sdfrkadmin="${TESTS_ENVIRONMENT} ../../kadmin/kadmin -l -r $R" 48178825Sdfrkdc="${TESTS_ENVIRONMENT} ../../kdc/kdc --addresses=localhost -P $port" 49178825Sdfrkeytabfile=${objdir}/server.keytab 50178825Sdfrkeytab="FILE:${keytabfile}" 51178825Sdfr 52178825Sdfrgssmask="${TESTS_ENVIRONMENT} ../../appl/gssmask/gssmask" 53178825Sdfrgssmaskn1="${gssmask} -p 8889 --spn=host/n1.test.h5l.se@${R} --logfile=n1.log" 54178825Sdfrgssmaskn2="${gssmask} -p 8890 --spn=host/n2.test.h5l.se@${R} --logfile=n2.log" 55178825Sdfrgssmaskn3="${gssmask} -p 8891 --spn=host/n3.test.h5l.se@${R} --logfile=n3.log" 56178825Sdfrgssmaestro="../../appl/gssmask/gssmaestro" 57178825Sdfr 58178825SdfrKRB5_CONFIG="${objdir}/krb5.conf" 59178825Sdfrexport KRB5_CONFIG 60178825Sdfr 61178825Sdfrrm -f ${keytabfile} 62178825Sdfrrm -f current-db* 63178825Sdfrrm -f out-* 64178825Sdfrrm -f mkey.file* 65178825Sdfr 66178825Sdfr> messages.log 67178825Sdfr 68178825Sdfrecho Creating database 69178825Sdfr${kadmin} \ 70178825Sdfr init \ 71178825Sdfr --realm-max-ticket-life=1day \ 72178825Sdfr --realm-max-renewable-life=1month \ 73178825Sdfr ${R} || exit 1 74178825Sdfr 75178825Sdfr${kadmin} add -p p1 --use-defaults host/n1.test.h5l.se@${R} || exit 1 76178825Sdfr${kadmin} add -p p2 --use-defaults host/n2.test.h5l.se@${R} || exit 1 77178825Sdfr${kadmin} add -p p3 --use-defaults host/n3.test.h5l.se@${R} || exit 1 78178825Sdfr${kadmin} ext -k ${keytab} host/n1.test.h5l.se@${R} || exit 1 79178825Sdfr${kadmin} ext -k ${keytab} host/n2.test.h5l.se@${R} || exit 1 80178825Sdfr${kadmin} ext -k ${keytab} host/n3.test.h5l.se@${R} || exit 1 81178825Sdfr 82178825Sdfr${kadmin} add -p u1 --use-defaults user1@${R} || exit 1 83178825Sdfr 84178825Sdfrecho "Doing database check" 85178825Sdfr${kadmin} check ${R} || exit 1 86178825Sdfr 87178825Sdfrecho Starting kdc 88178825Sdfr${kdc} & 89178825Sdfrkdcpid=$! 90178825Sdfr 91178825Sdfrsh ${srcdir}/../kdc/wait-kdc.sh 92178825Sdfrif [ "$?" != 0 ] ; then 93178825Sdfr kill ${kdcpid} 94178825Sdfr exit 1 95178825Sdfrfi 96178825Sdfr 97178825Sdfrtrap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT 98178825Sdfr 99178825Sdfrexitcode=0 100178825Sdfr 101178825Sdfrecho "Starting client 1" 102178825Sdfr${gssmaskn1} --moniker=n1 & 103178825Sdfrn1pid=$! 104178825Sdfr#echo $n1pid 105178825Sdfr#xterm -display :0 -e g ${gssmaskn1} & 106178825Sdfr#read x 107178825Sdfr 108178825Sdfrecho "Starting client 2" 109178825Sdfr${gssmaskn2} --moniker=n2 & 110178825Sdfrn2pid=$! 111178825Sdfr 112178825Sdfrecho "Starting client 3" 113178825Sdfr${gssmaskn3} --moniker=n3 & 114178825Sdfrn3pid=$! 115178825Sdfr 116178825Sdfrtrap "kill ${kdcpid} ${n1pid} ${n2pid} ${n3pid} 2> /dev/null; echo signal killing kdc and maskar; exit 1;" EXIT 117178825Sdfr 118178825Sdfrsleep 10 119178825Sdfr 120178825Sdfr${gssmaestro} \ 121178825Sdfr --slaves=localhost:8889 \ 122178825Sdfr --slaves=localhost:8890 \ 123178825Sdfr --slaves=localhost:8891 \ 124178825Sdfr --principals=user1@${R}:u1 || exitcode=1 125178825Sdfr 126178825Sdfrtrap "" EXIT 127178825Sdfr 128178825Sdfrecho "killing kdc and clients (${kdcpid}, ${n1pid}, ${n2pid}, ${n3pid})" 129178825Sdfrkill ${kdcpid} ${n1pid} ${n2pid} ${n3pid} 2> /dev/null 130178825Sdfr 131178825Sdfrexit $exitcode 132178825Sdfr 133178825Sdfr 134