...
 
Commits (5)
*.lo
*.o
bind
doc/html
.deps
Makefile
......
......@@ -79,7 +79,7 @@ as perceived by the ISC engineer, the issue and/or MR will be assigned to one of
## Merge Request (also known as sending your patch the right way)
The first step in writing the patch or new feature should be to get the source code from our Git
repository. The procedure is very easy and is [explained here](https://gitlab.isc.org/isc-projects/dhcp/wikis/gitlab-howto).
repository. The procedure is very easy and is [explained here](https://gitlab.isc.org/isc-projects/dhcp/wikis/processes/gitlab-howto).
While it is possible to provide a patch against the latest stable release, it makes the review
process much easier if it is for latest code from the Git master branch.
......
#
# Copyright (C) 2009-2018 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# Configure and build the bind libraries for use by DHCP
binddir=@BINDDIR@
bindsrcdir=@BINDSRCDIR@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindconfig = --without-openssl --without-libxml2 --without-libjson \
--without-gssapi --disable-threads --without-lmdb \
--includedir=@includedir@ --libdir=@libdir@ --without-python\
@BINDLT@ @BINDIOMUX@ @BINDCONFIG@ --enable-full-report
@BIND_ATF_FALSE@cleandirs = ./lib ./include
@BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf
cleanfiles = ./configure.log ./build.log ./install.log
bindlibs = isc dns isccfg irs
installdirs = includedir=${binddir}/include libdir=${binddir}/lib
@BIND_ATF_FALSE@all: bind1 bind2
@BIND_ATF_TRUE@all: bind1 atf bind2
bind1:
# Extract the source from the tarball, if it hasn't been already.
@if test -d ${bindsrcdir} ; then \
echo ${bindsrcdir} already unpacked... ; \
else \
gunzip -c bind.tar.gz | tar xf - ; \
fi
# Configure the libraries
# Currently disable the epoll, devpoll and kqueue options as they
# don't interact well with the DHCP code.
# If the top-level Bind Makefile exists we skip the configuration step
# as we assume it's done and won't change. Doing a make clean will
# reset things if necessary.
@if test -f ${bindsrcdir}/Makefile ; then \
echo Bind libraries already configured ; \
else \
echo Configuring BIND libraries for DHCP. ; \
rm -rf ${cleandirs} ${cleanfiles} ; \
(cd ${bindsrcdir} && \
./configure ${bindconfig} > ${binddir}/configure.log); \
fi
atf:
# Build and copy the ATF support if not yet installed.
@if test -d ./atf ; then \
echo ATF support already installed ; \
else \
echo Building ATF support ; \
(cd ${bindsrcdir}/unit; \
$(MAKE) atf > ${binddir}/build.log ; \
cp -rp atf ${binddir}) ; \
fi
bind2:
# Build and install the libraries
# No need to do anything if we already have something installed.
@if test -d ${binddir}/lib ; then \
echo Bind libraries already installed ; \
else \
echo Building BIND libraries - this takes some time. ; \
for libdir in ${bindlibs} ; do \
(cd ${bindsrcdir}/lib/$$libdir ; \
echo Building $$libdir library in `pwd` ; \
$(MAKE) all >> ${binddir}/build.log) ; \
done ; \
\
echo Installing BIND libraries to ${binddir}. ; \
for libdir in ${bindlibs} ; do \
(cd ${bindsrcdir}/lib/$$libdir ; \
MAKEDEFS="${installdirs}"; export MAKEDEFS; \
$(MAKE) ${installdirs} LIBTOOL_MODE_INSTALL= install >> \
${binddir}/install.log) ; \
done ; \
fi
clean:
@echo Cleaning BIND library.
rm -rf ${bindsrcdir} ${cleandirs} ${cleanfiles}
@INSTALL_BIND_FALSE@install:
@INSTALL_BIND_TRUE@install: install-bind
install-bind: all
@for libdir in ${bindlibs} ; do \
(cd ${bindsrcdir}/lib/$$libdir ; \
$(MAKE) install) ; \
done
@INSTALL_BIND_FALSE@uninstall:
@INSTALL_BIND_TRUE@uninstall: uninstall-bind
uninstall-bind: all
@for libdir in ${bindlibs} ; do \
(cd ${bindsrcdir}/lib/$$libdir ; \
$(MAKE) uninstall) ; \
done
# Include the following so that this Makefile is happy when the parent
# tries to use them.
check distdir distclean dvi installcheck:
# This file must follow /bin/sh rules. It is imported directly via
# configure.
#
PRODUCT=BIND
DESCRIPTION="(Extended Support Version)"
MAJORVER=9
MINORVER=11
PATCHVER=8
RELEASETYPE=
RELEASEVER=
EXTENSIONS=
......@@ -3578,6 +3578,11 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
if (token != EQUAL) {
parse_warn (cfile,
"expecting '=' in set statement.");
binding_value_dereference(&nv, MDL);
if (newbinding) {
dfree(binding->name, MDL);
dfree(binding, MDL);
}
goto badset;
}
}
......@@ -3585,6 +3590,10 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
if (!parse_binding_value(cfile, nv)) {
binding_value_dereference(&nv, MDL);
lease_dereference(&lease, MDL);
if (newbinding) {
dfree(binding->name, MDL);
dfree(binding, MDL);
}
return 0;
}
......@@ -4762,6 +4771,7 @@ parse_ia_na_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
ia_dereference(&ia, MDL);
return;
}
......@@ -5209,6 +5219,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
ia_dereference(&ia, MDL);
return;
}
......@@ -5646,6 +5657,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
ia_dereference(&ia, MDL);
return;
}
......