commit 1898f9f52ae2c6897b9f6f61205aa9b5d9e0520e Author: tlyu tlyu@dc483132-0cff-0310-8789-dd5450dbe970 Date: Tue Jul 20 22:28:41 2010 +0000
ticket: 6744 version_fixed: 1.8.3 status: resolved
pull up r24138 from trunk
------------------------------------------------------------------------ r24138 | tlyu | 2010-06-18 15:41:48 -0400 (Fri, 18 Jun 2010) | 13 lines
ticket: 6744 subject: only test t_locate_kdc if known-good DNS name is present target_version: 1.8.3 tags: pullup
Running "make check" while offline or on a firewalled network may result in failure in lib/krb5/os because the invocation of t_locate_kdc requires that the DNS servers for ATHENA.MIT.EDU be reachable. Autodetect DNS utilities "dig" and "nslookup", and use them to check for existence of the known-good DNS name. Also parameterize the test so that the known-good DNS name can be overridden on the make command line.
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@24195 dc483132-0cff-0310-8789-dd5450dbe970
src/configure.in | 5 +++++ src/lib/krb5/os/Makefile.in | 26 ++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) --- diff --git a/src/configure.in b/src/configure.in index d4647cb..e353065 100644 --- a/src/configure.in +++ b/src/configure.in @@ -662,6 +662,11 @@ int main () { AC_MSG_RESULT($ac_cv_printf_positional)
+# for t_locate_kdc test + +AC_PATH_PROG(DIG, dig, false) +AC_PATH_PROG(NSLOOKUP, nslookup, false) + # for kadmin
AC_PROG_YACC diff --git a/src/lib/krb5/os/Makefile.in b/src/lib/krb5/os/Makefile.in index 6a1ffd1..4da3ebf 100644 --- a/src/lib/krb5/os/Makefile.in +++ b/src/lib/krb5/os/Makefile.in @@ -189,7 +189,9 @@ lclint-localaddr: localaddr.c $(LCLINT) $(LCLINTOPTS) $(CPPFLAGS) $(LOCALINCLUDES) $(DEFS) \ -DTEST $(srcdir)/localaddr.c
-check-unix:: $(TEST_PROGS) +check-unix:: check-unix-stdconf check-unix-locate check-unix-antoln + +check-unix-stdconf:: t_std_conf KRB5_CONFIG=$(srcdir)/td_krb5.conf ; export KRB5_CONFIG ;\ $(KRB5_RUN_ENV) $(VALGRIND) ./t_std_conf -d -s NEW.DEFAULT.REALM -d \ -k IGGY.ORG -k DEFAULT_REALM.TST \ @@ -198,17 +200,29 @@ check-unix:: $(TEST_PROGS) -r pgp.good.idea -r no_domain > test.out cmp test.out $(srcdir)/ref_std_conf.out $(RM) test.out - KRB5_CONFIG=$(srcdir)/td_krb5.conf ; export KRB5_CONFIG ;\ - if test "$(OFFLINE)" != yes; then \ - $(KRB5_RUN_ENV) $(VALGRIND) ./t_locate_kdc ATHENA.MIT.EDU; \ + +# The following can be overriden on the make command line if needed: +LOCREALM = ATHENA.MIT.EDU +SRVNAME = _kerberos._udp.athena.mit.edu. +DIGPAT = '^_kerberos.*srv' +NSPAT = '^_kerberos.*service' +DIG = @DIG@ +NSLOOKUP = @NSLOOKUP@ + +check-unix-locate:: t_locate_kdc + if [ "$(OFFLINE)" = no ] && \ + $(DIG) $(SRVNAME) srv | grep -i $(DIGPAT) || \ + $(NSLOOKUP) -q=srv $(SRVNAME) | grep -i $(NSPAT); then \ + KRB5_CONFIG=$(srcdir)/td_krb5.conf ; export KRB5_CONFIG ;\ + $(KRB5_RUN_ENV) $(VALGRIND) ./t_locate_kdc $(LOCREALM); \ else \ - echo SKIPPING t_locate_kdc TEST WHILE OFFLINE; \ + echo '*** WARNING: skipped t_locate_kdc test: known DNS name not found'; \ fi
# # Do some aname-to-lname testing. # -check-unix:: +check-unix-antoln:: t_an_to_ln echo '[libdefaults]' > ./t_an.conf echo ' default_realm = r' >> ./t_an.conf echo '[realms]' >> ./t_an.conf
authhub-commits@lists.fedorahosted.org