#!/bin/sh

rc=0

t=$(mktemp) || exit

for sig in 1 2 3 15
do
	trap '
		rm "$t"
		trap - "$sig"
		kill -"$sig" "$$"
	' "$sig"
done

trap '
	rm "$t" || rc="$?"
	trap - 0
	exit "$rc"
' 0

named-checkconf -j -z -t /var/lib/named /etc/bind/named.conf \
> "$t" 2>&1 ||
rc="$?"
named-checkconf -t /var/lib/named /etc/bind/bind.keys >> "$t" 2>&1 ||
rc="$?"
named-checkconf -t /var/lib/named /etc/bind/rndc.key >> "$t" 2>&1 ||
rc="$?"
< "$t" grep -v '^zone [^ ][^ ]*/IN: loaded serial [1-9][0-9]*$'
[ "$?" -eq 1 ] || { [ "$rc" -ne 0 ] || rc=1; }

# trap ... 0 handles our cleanup and exit value
