1#!/bin/sh
2#
3# Copyright (C) 2004-2015  Internet Systems Consortium, Inc. ("ISC")
4# Copyright (C) 2000-2003  Internet Software Consortium.
5#
6# Permission to use, copy, modify, and/or distribute this software for any
7# purpose with or without fee is hereby granted, provided that the above
8# copyright notice and this permission notice appear in all copies.
9#
10# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
11# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
13# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
15# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16# PERFORMANCE OF THIS SOFTWARE.
17
18#
19# Common configuration data for system tests, to be sourced into
20# other shell scripts.
21#
22
23# Find the top of the BIND9 tree.
24TOP=${SYSTEMTESTTOP:=.}/../../..
25
26# Make it absolute so that it continues to work after we cd.
27TOP=`cd $TOP && pwd`
28
29NAMED=$TOP/bin/named/named
30# We must use "named -l" instead of "lwresd" because argv[0] is lost
31# if the program is libtoolized.
32LWRESD="$TOP/bin/named/named -l"
33DIG=$TOP/bin/dig/dig
34DELV=$TOP/bin/delv/delv
35RNDC=$TOP/bin/rndc/rndc
36NSUPDATE=$TOP/bin/nsupdate/nsupdate
37DDNSCONFGEN=$TOP/bin/confgen/ddns-confgen
38TSIGKEYGEN=$TOP/bin/confgen/tsig-keygen
39RNDCCONFGEN=$TOP/bin/confgen/rndc-confgen
40KEYGEN=$TOP/bin/dnssec/dnssec-keygen
41KEYFRLAB=$TOP/bin/dnssec/dnssec-keyfromlabel
42SIGNER=$TOP/bin/dnssec/dnssec-signzone
43REVOKE=$TOP/bin/dnssec/dnssec-revoke
44SETTIME=$TOP/bin/dnssec/dnssec-settime
45DSFROMKEY=$TOP/bin/dnssec/dnssec-dsfromkey
46IMPORTKEY=$TOP/bin/dnssec/dnssec-importkey
47CHECKDS=$TOP/bin/python/dnssec-checkds
48COVERAGE=$TOP/bin/python/dnssec-coverage
49CHECKZONE=$TOP/bin/check/named-checkzone
50CHECKCONF=$TOP/bin/check/named-checkconf
51PK11GEN="$TOP/bin/pkcs11/pkcs11-keygen -q -s ${SLOT:-0} -p ${HSMPIN:-1234}"
52PK11LIST="$TOP/bin/pkcs11/pkcs11-list -s ${SLOT:-0} -p ${HSMPIN:-1234}"
53PK11DEL="$TOP/bin/pkcs11/pkcs11-destroy -s ${SLOT:-0} -p ${HSMPIN:-1234} -w 0"
54JOURNALPRINT=$TOP/bin/tools/named-journalprint
55VERIFY=$TOP/bin/dnssec/dnssec-verify
56ARPANAME=$TOP/bin/tools/arpaname
57RESOLVE=$TOP/lib/samples/resolve
58RRCHECKER=$TOP/bin/tools/named-rrchecker
59GENRANDOM=$TOP/bin/tools/genrandom
60NSLOOKUP=$TOP/bin/dig/nslookup
61
62RANDFILE=$TOP/bin/tests/system/random.data
63
64# The "stress" test is not run by default since it creates enough
65# load on the machine to make it unusable to other users.
66# v6synth
67SUBDIRS="acl additional allow_query addzone autosign builtin
68	 cacheclean case checkconf @CHECKDS@ checknames checkzone
69	 @COVERAGE@ database delv dlv dlvauto dlz dlzexternal
70	 dlzredir dname dns64 dnssec dsdigest dscp ecdsa emptyzones
71	 filter-aaaa formerr forward geoip glue gost ixfr inline
72	 legacy limits logfileconfig lwresd masterfile masterformat
73	 metadata notify nslookup nsupdate pending @PKCS11_TEST@
74	 reclimit redirect resolver rndc rpz rpzrecurse rrl rrchecker
75	 rrsetorder rsabigexponent sit smartsign sortlist spf staticstub
76	 statistics stub tkey tsig tsiggss unknown upforwd verify
77	 views wildcard xfer xferquota zero zonechecks"
78
79# Use the CONFIG_SHELL detected by configure for tests
80SHELL=@SHELL@
81
82# PERL will be an empty string if no perl interpreter was found.
83PERL=@PERL@
84if test -n "$PERL"
85then
86	if $PERL -e "use IO::Socket::INET6;" 2> /dev/null
87	then
88		TESTSOCK6="$PERL $TOP/bin/tests/system/testsock6.pl"
89	else
90		TESTSOCK6=false
91	fi
92else
93	TESTSOCK6=false
94fi
95
96export NAMED LWRESD DIG NSUPDATE KEYGEN KEYFRLAB SIGNER KEYSIGNER KEYSETTOOL \
97       PERL SUBDIRS RNDC CHECKZONE PK11GEN PK11LIST PK11DEL TESTSOCK6 \
98       JOURNALPRINT ARPANAME RESOLVE RRCHECKER NSLOOKUP
99