diff --git a/tests/bin/setup-env.in b/tests/bin/setup-env.in index 700b64363..72c287df9 100644 --- a/tests/bin/setup-env.in +++ b/tests/bin/setup-env.in @@ -19,6 +19,7 @@ ipropd_slave="${TESTS_ENVIRONMENT} ${top_builddir}/lib/kadm5/ipropd-slave" kadmin="${TESTS_ENVIRONMENT} ${top_builddir}/kadmin/kadmin" kadmind="${TESTS_ENVIRONMENT} ${top_builddir}/kadmin/kadmind" kdc="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/kdc" +kdc_tester="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/kdc-tester" kdestroy="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kdestroy" kdigest="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kdigest" kgetcred="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kgetcred" diff --git a/tests/kdc/Makefile.am b/tests/kdc/Makefile.am index e324129df..860c52140 100644 --- a/tests/kdc/Makefile.am +++ b/tests/kdc/Makefile.am @@ -28,6 +28,7 @@ SCRIPT_TESTS = \ check-pkinit \ check-iprop \ check-referral \ + check-tester \ check-uu TESTS = $(SCRIPT_TESTS) @@ -94,6 +95,11 @@ check-kdc-weak: check-kdc-weak.in Makefile chmod +x check-kdc-weak.tmp mv check-kdc-weak.tmp check-kdc-weak +check-tester: check-tester.in Makefile + $(do_subst) < $(srcdir)/check-tester.in > check-tester.tmp + chmod +x check-tester.tmp + mv check-tester.tmp check-tester + check-keys: check-keys.in Makefile $(do_subst) < $(srcdir)/check-keys.in > check-keys.tmp chmod +x check-keys.tmp @@ -248,6 +254,7 @@ EXTRA_DIST = \ check-kpasswdd.in \ check-pkinit.in \ check-referral.in \ + check-tester.in \ check-uu.in \ donotexists.txt \ heimdal.acl \ diff --git a/tests/kdc/check-tester.in b/tests/kdc/check-tester.in new file mode 100644 index 000000000..5cdf3e4d2 --- /dev/null +++ b/tests/kdc/check-tester.in @@ -0,0 +1,78 @@ +#!/bin/sh +# +# Copyright (c) 2006 - 2007 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. + +top_builddir="@top_builddir@" +env_setup="@env_setup@" +objdir="@objdir@" +srcdir="@srcdir@" + +. ${env_setup} + +KRB5_CONFIG="${1-${objdir}/krb5.conf}" +export KRB5_CONFIG + +testfailed="echo test failed; cat messages.log; exit 1" + +# If there is no useful db support compile in, disable test +${have_db} || exit 77 + +R=TEST.H5L.SE + +kadmin="${kadmin} -l -r $R" + +server=host/datan.test.h5l.se + + +rm -f ${keytabfile} +rm -f current-db* +rm -f out-* +rm -f mkey.file* + +> messages.log + +echo Creating database +${kadmin} \ + init \ + --realm-max-ticket-life=1day \ + --realm-max-renewable-life=1month \ + ${R} || exit 1 + +${kadmin} add -p foo --use-defaults foo@${R} || exit 1 + +echo "Doing database check" +${kadmin} check ${R} || exit 1 + +${kdc_tester} ${srcdir}/kdc-tester1.json || exit 1 + + +exit $ec diff --git a/tests/kdc/kdc-tester1.json b/tests/kdc/kdc-tester1.json new file mode 100644 index 000000000..c28fd3da1 --- /dev/null +++ b/tests/kdc/kdc-tester1.json @@ -0,0 +1,12 @@ +[ + { + "op" : "repeat", + "num" : 100, + "value" : { + "op" : "kinit", + "client" : "foo@TEST.H5L.SE", + "password" : "foo" + } + } +] +