freebsd-skq/usr.sbin/named/Makefile.inc
Matthew Dillon 5b06b23da0 Set the NOADDITIONAL flag for bind. This removes the 5% ttl reduction
for glue records and forces the glue record to be reloaded from the real NS.

The 5% ttl reduction can cause the glue IN A to timeout before the NS
record in certain situations, such as when the domain owner does not match
up NS records with the NIC.   This behavior by domain owners is becoming
more common as primary zone serving iterates through another glue level
(i.e. exodus hosts the master NS's but the customer then redirects the
NS's to the real DNS servers).  The result is that named would appear to
work properly for about 40 minutes, and then unexpectedly fail for that
zone.  This causes named to behave very inconsistently and a google search
shows that it has obviously frustrated many, many people.  So until the bind
guys make named behave consistently (either fail instantly or accomodate the
case), we need to set this option to accomodate the case.  The result
will be much more consistent behavior and fewer head-scratching failures.

MFC after: 3 days
2001-07-17 04:54:00 +00:00

61 lines
1.5 KiB
Makefile

# From: Id: Makefile.inc,v 8.4 1996/03/03 17:42:43 vixie Exp
# $FreeBSD$
.ifndef (Mk.Inc)
Mk.Inc?=defined
BIND_DIR= ${.CURDIR}/../../contrib/bind
VER!= cat ${BIND_DIR}/Version
PS= ps
PIDDIR= /var/run
DESTETC= /etc/namedb
DESTEXEC= /usr/libexec
DESTRUN= /var/run
DESTSBIN= /usr/sbin
DESTHELP= /usr/share/misc
CFLAGS+= -I${BIND_DIR}/port/freebsd/include \
-I${.CURDIR}/../../contrib/bind/bin/named \
-DNOADDITIONAL
# This is mostly for named and named-xfer
.if defined(USE_LIBBIND)
# Sadly, mkdep doesn't know about -idirafter, which would be ideal here.
#CFLAGS+= -I${.CURDIR}/../../include -I${BIND_DIR}/include
CFLAGS+= -I${BIND_DIR}/include
.if exists(${.OBJDIR}/../../lib/libbind)
LIBBINDDIR:= ${.OBJDIR}/../../lib/libbind
.else
LIBBINDDIR!= cd ${.CURDIR}/../../lib/libbind; make -V .OBJDIR
.endif
LIBBIND:= ${LIBBINDDIR}/libbind.a
DPADD+= ${LIBBIND}
LDADD+= ${LIBBIND}
CLEANFILES+= tmp_version.c pathnames.h
CFLAGS+= -I.
tmp_version.c: version.c ${BIND_DIR}/Version
(u=$${USER-root} d=`pwd` h=`hostname` t=`LC_ALL=C date`; \
sed -e "s|%WHEN%|$${t}|" -e "s|%VERSION%|"${VER}"|" \
-e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
< ${BIND_DIR}/bin/named/version.c > tmp_version.c)
pathnames.h: ${BIND_DIR}/bin/named/pathtemplate.h \
${.CURDIR}/../../usr.sbin/named/Makefile.inc
rm -f pathnames.h
sed -e "s|%DESTSBIN%|${DESTSBIN}|" \
-e "s|%DESTEXEC%|${DESTEXEC}|" \
-e "s|%DESTETC%|${DESTETC}|" \
-e "s|%DESTRUN%|${DESTRUN}|" \
< ${BIND_DIR}/bin/named/pathtemplate.h > pathnames.h
.endif
.include "Makefile.maninc"
.endif