Compare commits

...
10 changed files with 37 additions and 19 deletions

No files matched your search

+5 -1
View File
@@ -101,7 +101,11 @@ version 2.67
(provide TFTP to the same interfaces we provide DHCP to) (provide TFTP to the same interfaces we provide DHCP to)
is retained. Thanks to Lonnie Abelbeck for the suggestion. is retained. Thanks to Lonnie Abelbeck for the suggestion.
Add --dhcp-relay config option. Add --dhcp-relay config option. Many thanks to vtsl.net
for sponsoring this development.
Fix crash with empty tag: in --dhcp-range. Thanks to
Kaspar Schleiser for the bug report.
version 2.66 version 2.66
+1 -1
View File
@@ -12,7 +12,7 @@
# first. This favours, eg v2.63 over 2.63rc6. # first. This favours, eg v2.63 over 2.63rc6.
if which git >/dev/null 2>&1 && [ -d $1/.git ]; then if which git >/dev/null 2>&1 && [ -d $1/.git ]; then
cd $1; git describe cd $1; git describe | sed 's/^v//'
elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then
# unsubstituted VERSION, but no git available. # unsubstituted VERSION, but no git available.
echo UNKNOWN echo UNKNOWN
+1
View File
@@ -1,6 +1,7 @@
dnsmasq (2.67-1) unstable; urgency=low dnsmasq (2.67-1) unstable; urgency=low
* New upstream. * New upstream.
* Update resolvconf script. (closes: #720732)
-- Simon Kelley <simon@thekelleys.org.uk> Wed, 4 Aug 2013 14:53:22 +0000 -- Simon Kelley <simon@thekelleys.org.uk> Wed, 4 Aug 2013 14:53:22 +0000
+1 -1
View File
@@ -7,7 +7,7 @@ Standards-Version: 3.9.3
Package: dnsmasq Package: dnsmasq
Architecture: all Architecture: all
Depends: netbase, dnsmasq-base(>= ${source:Version}) Depends: netbase, dnsmasq-base(>= ${binary:Version})
Suggests: resolvconf Suggests: resolvconf
Conflicts: resolvconf (<<1.15) Conflicts: resolvconf (<<1.15)
Description: Small caching DNS proxy and DHCP/TFTP server Description: Small caching DNS proxy and DHCP/TFTP server
+3 -1
View File
@@ -64,7 +64,9 @@ Notes on configuring dnsmasq as packaged for Debian.
noi18n : omit translations and internationalisation support. noi18n : omit translations and internationalisation support.
noidn : omit international domain name support, must be noidn : omit international domain name support, must be
combined with noi18n to be effective. combined with noi18n to be effective.
gitversion : set the version of the produced packages from the
git-derived versioning information on the source,
rather the the debian changelog.
(9) Dnsmasq comes as three packages - dnsmasq-utils, dnsmasq-base and (9) Dnsmasq comes as three packages - dnsmasq-utils, dnsmasq-base and
dnsmasq. Dnsmasq-base provides the dnsmasq executable and dnsmasq. Dnsmasq-base provides the dnsmasq executable and
+7 -8
View File
@@ -16,8 +16,7 @@ set -e
RUN_DIR="/var/run/dnsmasq" RUN_DIR="/var/run/dnsmasq"
RSLVRLIST_FILE="${RUN_DIR}/resolv.conf" RSLVRLIST_FILE="${RUN_DIR}/resolv.conf"
TMP_FILE="${RSLVRLIST_FILE}_new.$$" TMP_FILE="${RSLVRLIST_FILE}_new.$$"
MY_RECORD_NAME="lo.dnsmasq" MY_NAME_FOR_RESOLVCONF="dnsmasq"
DNSCRYPT_RECORD_NAME="lo.dnscrypt"
[ -x /usr/sbin/dnsmasq ] || exit 0 [ -x /usr/sbin/dnsmasq ] || exit 0
[ -x /lib/resolvconf/list-records ] || exit 1 [ -x /lib/resolvconf/list-records ] || exit 1
@@ -46,14 +45,14 @@ if [ ! -d "$RUN_DIR" ] && ! mkdir --parents --mode=0755 "$RUN_DIR" ; then
fi fi
RSLVCNFFILES="" RSLVCNFFILES=""
for F in $(/lib/resolvconf/list-records --after "$MY_RECORD_NAME") ; do for F in $(/lib/resolvconf/list-records --after "lo.$MY_NAME_FOR_RESOLVCONF") ; do
case "$F" in case "$F" in
"$MY_RECORD_NAME") "lo.$MY_NAME_FOR_RESOLVCONF")
# Omit # Omit own record
;; ;;
"$DNSCRYPT_RECORD_NAME") lo.*)
# Dnscrypt, I only have eyes for you # Include no more records after one for a local nameserver
RSLVCNFFILES="$DNSCRYPT_RECORD_NAME" RSLVCNFFILES="${RSLVCNFFILES:+$RSLVCNFFILES }$F"
break break
;; ;;
*) *)
+8 -3
View File
@@ -23,6 +23,11 @@ TARGET = install-i18n
DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS) DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS)
# Force package version based on git tags.
ifneq (,$(filter gitversion,$(DEB_BUILD_OPTIONS)))
PACKAGE_VERSION = $(shell bld/get-version `pwd` | sed 's/[a-z]/~&/; s/$$/-1/; s/^/-v/')
endif
ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS))) ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS)))
COPTS += -DHAVE_DBUS COPTS += -DHAVE_DBUS
endif endif
@@ -103,7 +108,7 @@ binary-indep: checkroot
install -m 644 debian/insserv debian/daemon/etc/insserv.conf.d/dnsmasq install -m 644 debian/insserv debian/daemon/etc/insserv.conf.d/dnsmasq
ln -s $(package) debian/daemon/usr/share/doc/dnsmasq ln -s $(package) debian/daemon/usr/share/doc/dnsmasq
cd debian/daemon && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums cd debian/daemon && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
dpkg-gencontrol -pdnsmasq -Pdebian/daemon dpkg-gencontrol $(PACKAGE_VERSION) -pdnsmasq -Pdebian/daemon
chown -R root.root debian/daemon chown -R root.root debian/daemon
chmod -R g-ws debian/daemon chmod -R g-ws debian/daemon
dpkg --build debian/daemon .. dpkg --build debian/daemon ..
@@ -151,7 +156,7 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
endif endif
cd debian/base && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums cd debian/base && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
dpkg-shlibdeps debian/base/usr/sbin/dnsmasq dpkg-shlibdeps debian/base/usr/sbin/dnsmasq
dpkg-gencontrol -pdnsmasq-base -Pdebian/base dpkg-gencontrol $(PACKAGE_VERSION) -pdnsmasq-base -Pdebian/base
chown -R root.root debian/base chown -R root.root debian/base
chmod -R g-ws debian/base chmod -R g-ws debian/base
dpkg --build debian/base .. dpkg --build debian/base ..
@@ -178,7 +183,7 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
endif endif
cd debian/utils && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums cd debian/utils && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
dpkg-shlibdeps -Tdebian/utils-substvars debian/utils/usr/bin/dhcp_release debian/utils/usr/bin/dhcp_lease_time dpkg-shlibdeps -Tdebian/utils-substvars debian/utils/usr/bin/dhcp_release debian/utils/usr/bin/dhcp_lease_time
dpkg-gencontrol -Tdebian/utils-substvars -pdnsmasq-utils -Pdebian/utils dpkg-gencontrol $(PACKAGE_VERSION) -Tdebian/utils-substvars -pdnsmasq-utils -Pdebian/utils
chown -R root.root debian/utils chown -R root.root debian/utils
chmod -R g-ws debian/utils chmod -R g-ws debian/utils
dpkg --build debian/utils .. dpkg --build debian/utils ..
+3 -2
View File
@@ -237,8 +237,9 @@ int main (int argc, char **argv)
#if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP) #if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP)
/* after enumerate_interfaces() */ /* after enumerate_interfaces() */
if (daemon->dhcp || daemon->relay4) if (daemon->dhcp)
{ {
if (!daemon->relay4)
bindtodevice(daemon->dhcpfd); bindtodevice(daemon->dhcpfd);
if (daemon->enable_pxe) if (daemon->enable_pxe)
bindtodevice(daemon->pxefd); bindtodevice(daemon->pxefd);
@@ -246,7 +247,7 @@ int main (int argc, char **argv)
#endif #endif
#if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP6) #if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP6)
if (daemon->doing_dhcp6 || daemon->relay6) if (daemon->doing_dhcp6 && !daemon->relay6)
bindtodevice(daemon->dhcp6fd); bindtodevice(daemon->dhcp6fd);
#endif #endif
} }
+6 -2
View File
@@ -443,7 +443,7 @@ static int iface_allowed_v4(struct in_addr local, int if_index, char *label,
int enumerate_interfaces(int reset) int enumerate_interfaces(int reset)
{ {
static struct addrlist *spare = NULL; static struct addrlist *spare = NULL;
static int done = 0; static int done = 0, active = 0;
struct iface_param param; struct iface_param param;
int errsave, ret = 1; int errsave, ret = 1;
struct addrlist *addr, *tmp; struct addrlist *addr, *tmp;
@@ -458,11 +458,14 @@ int enumerate_interfaces(int reset)
return 1; return 1;
} }
if (done) if (done || active)
return 1; return 1;
done = 1; done = 1;
/* protect against recusive calls from iface_enumerate(); */
active = 1;
if ((param.fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1) if ((param.fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1)
return 0; return 0;
@@ -504,6 +507,7 @@ int enumerate_interfaces(int reset)
errno = errsave; errno = errsave;
spare = param.spare; spare = param.spare;
active = 0;
return ret; return ret;
} }
+2
View File
@@ -2337,6 +2337,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
struct dhcp_netid *tt = opt_malloc(sizeof (struct dhcp_netid)); struct dhcp_netid *tt = opt_malloc(sizeof (struct dhcp_netid));
tt->net = opt_string_alloc(arg+4); tt->net = opt_string_alloc(arg+4);
tt->next = new->filter; tt->next = new->filter;
/* ignore empty tag */
if (tt->net)
new->filter = tt; new->filter = tt;
} }
else else