mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Largely replace the Debian packaging with a new and much more up-to-date
Debhelper based version.
This commit is contained in:
442
debian/changelog
vendored
442
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
5
debian/conffiles
vendored
5
debian/conffiles
vendored
@@ -1,5 +0,0 @@
|
|||||||
/etc/init.d/dnsmasq
|
|
||||||
/etc/default/dnsmasq
|
|
||||||
/etc/dnsmasq.conf
|
|
||||||
/etc/resolvconf/update.d/dnsmasq
|
|
||||||
/etc/insserv.conf.d/dnsmasq
|
|
||||||
42
debian/control
vendored
42
debian/control
vendored
@@ -1,64 +1,66 @@
|
|||||||
Source: dnsmasq
|
Source: dnsmasq
|
||||||
Section: net
|
Section: net
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Build-depends: gettext, libnetfilter-conntrack-dev [linux-any],
|
Build-Depends: dh-exec, gettext, libnetfilter-conntrack-dev [linux-any],
|
||||||
libidn2-dev, libdbus-1-dev (>=0.61), libgmp-dev,
|
libidn2-dev, libdbus-1-dev (>=0.61), libgmp-dev,
|
||||||
nettle-dev (>=2.4-3), libbsd-dev [kfreebsd-any],
|
nettle-dev (>=2.4-3), libbsd-dev [kfreebsd-any],
|
||||||
liblua5.2-dev, dh-runit, debhelper-compat (= 10),
|
liblua5.4-dev, dh-runit, debhelper-compat (= 13),
|
||||||
pkg-config, libnftables-dev
|
pkg-config, libnftables-dev
|
||||||
Maintainer: Simon Kelley <simon@thekelleys.org.uk>
|
Maintainer: Simon Kelley <simon@thekelleys.org.uk>
|
||||||
Homepage: http://www.thekelleys.org.uk/dnsmasq/doc.html
|
Homepage: https://www.thekelleys.org.uk/dnsmasq/doc.html
|
||||||
Vcs-Git: http://thekelleys.org.uk/git/dnsmasq.git
|
Vcs-Git: https://thekelleys.org.uk/git/dnsmasq.git
|
||||||
Vcs-Browser: http://thekelleys.org.uk/gitweb/?p=dnsmasq.git
|
Vcs-Browser: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git
|
||||||
Standards-Version: 3.9.8
|
Standards-Version: 4.6.2
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
Package: dnsmasq
|
Package: dnsmasq
|
||||||
Architecture: all
|
Architecture: all
|
||||||
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
Depends: netbase, dnsmasq-base,
|
Depends: netbase, dnsmasq-base,
|
||||||
init-system-helpers (>= 1.18~), lsb-base (>= 3.0-6), ${misc:Depends}
|
${misc:Depends}
|
||||||
Suggests: resolvconf
|
Suggests: resolvconf
|
||||||
Breaks: ${runit:Breaks}
|
Breaks: ${runit:Breaks}
|
||||||
Conflicts: resolvconf (<<1.15), ${runit:Conflicts}
|
Conflicts: resolvconf (<<1.15), ${runit:Conflicts}
|
||||||
Description: Small caching DNS proxy and DHCP/TFTP server
|
Description: Small caching DNS proxy and DHCP/TFTP server - system daemon
|
||||||
Dnsmasq is a lightweight, easy to configure, DNS forwarder and DHCP
|
Dnsmasq is a lightweight, easy to configure, DNS forwarder and DHCP
|
||||||
server. It is designed to provide DNS and optionally, DHCP, to a
|
server. It is designed to provide DNS and optionally, DHCP, to a
|
||||||
small network. It can serve the names of local machines which are
|
small network. It can serve the names of local machines which are
|
||||||
not in the global DNS. The DHCP server integrates with the DNS
|
not in the global DNS. The DHCP server integrates with the DNS
|
||||||
server and allows machines with DHCP-allocated addresses
|
server and allows machines with DHCP-allocated addresses
|
||||||
to appear in the DNS with names configured either in each host or
|
to appear in the DNS with names configured either in each host or
|
||||||
in a central configuration file. Dnsmasq supports static and dynamic
|
in a central configuration file. Dnsmasq supports static and dynamic
|
||||||
DHCP leases and BOOTP/TFTP for network booting of diskless machines.
|
DHCP leases and BOOTP/TFTP for network booting of diskless machines.
|
||||||
|
|
||||||
Package: dnsmasq-base
|
Package: dnsmasq-base
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: adduser, ${shlibs:Depends}
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
Breaks: dnsmasq (<< 2.63-1~)
|
Breaks: dnsmasq (<< 2.63-1~)
|
||||||
Replaces: dnsmasq (<< 2.63-1~), dnsmasq-base
|
Replaces: dnsmasq (<< 2.63-1~), dnsmasq-base
|
||||||
Recommends: dns-root-data
|
Recommends: dns-root-data
|
||||||
Provides: dnsmasq-base
|
Provides: dnsmasq-base
|
||||||
Conflicts: dnsmasq-base-lua
|
Conflicts: dnsmasq-base-lua
|
||||||
Description: Small caching DNS proxy and DHCP/TFTP server
|
Description: Small caching DNS proxy and DHCP/TFTP server - executable
|
||||||
This package contains the dnsmasq executable and documentation, but
|
This package contains the dnsmasq executable and documentation, but
|
||||||
not the infrastructure required to run it as a system daemon. For
|
not the infrastructure required to run it as a system daemon. For
|
||||||
that, install the dnsmasq package.
|
that, install the dnsmasq package.
|
||||||
|
|
||||||
Package: dnsmasq-base-lua
|
Package: dnsmasq-base-lua
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: adduser, ${shlibs:Depends}
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
Breaks: dnsmasq (<< 2.63-1~)
|
Breaks: dnsmasq (<< 2.63-1~)
|
||||||
Replaces: dnsmasq (<< 2.63-1~), dnsmasq-base
|
Replaces: dnsmasq (<< 2.63-1~), dnsmasq-base
|
||||||
Recommends: dns-root-data
|
Recommends: dns-root-data
|
||||||
Provides: dnsmasq-base
|
Provides: dnsmasq-base
|
||||||
Conflicts: dnsmasq-base
|
Conflicts: dnsmasq-base
|
||||||
Description: Small caching DNS proxy and DHCP/TFTP server
|
Description: Small caching DNS proxy and DHCP/TFTP server - executable, Lua-enabled
|
||||||
This package contains the dnsmasq executable and documentation, but
|
This package contains the dnsmasq executable and documentation, but
|
||||||
not the infrastructure required to run it as a system daemon. For
|
not the infrastructure required to run it as a system daemon. For
|
||||||
that, install the dnsmasq package. This package is an alternative
|
that, install the dnsmasq package. This package is an alternative
|
||||||
to dnsmasq-base which includes the LUA interpreter.
|
to dnsmasq-base which includes the Lua interpreter.
|
||||||
|
|
||||||
Package: dnsmasq-utils
|
Package: dnsmasq-utils
|
||||||
Architecture: linux-any
|
Architecture: linux-any
|
||||||
Depends: ${shlibs:Depends}
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
Conflicts: dnsmasq (<<2.40)
|
Conflicts: dnsmasq (<<2.40)
|
||||||
Description: Utilities for manipulating DHCP leases
|
Description: Utilities for manipulating DHCP leases
|
||||||
Small utilities to query a DHCP server's lease database and
|
Small utilities to query a DHCP server's lease database and
|
||||||
|
|||||||
67
debian/copyright
vendored
67
debian/copyright
vendored
@@ -1,21 +1,54 @@
|
|||||||
dnsmasq is Copyright (c) 2000-2024 Simon Kelley
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: dnsmasq
|
||||||
|
Upstream-Contact: Simon Kelley <simon@thekelleys.org.uk>
|
||||||
|
Source: https://thekelleys.org.uk/dnsmasq/
|
||||||
|
|
||||||
It was downloaded from: http://www.thekelleys.org.uk/dnsmasq/
|
Files: *
|
||||||
|
Copyright: 2000-2021 Simon Kelley <simon@thekelleys.org.uk>
|
||||||
|
License: GPL-2 or GPL-3
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
Files: debian/*
|
||||||
it under the terms of the GNU General Public License as published by
|
Copyright: 2004-2023 Simon Kelley <simon@thekelleys.org.uk>
|
||||||
the Free Software Foundation; version 2 dated June, 1991, or
|
2012 Lars Bahner <bahner@debian.org>
|
||||||
(at your option) version 3 dated 29 June, 2007.
|
2023 Sven Geuer <debmaint@g-e-u-e-r.de>
|
||||||
|
License: GPL-2 or GPL-3
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
On Debian GNU/Linux systems, the text of the GNU general public license is
|
License: GPL-2
|
||||||
available in the file /usr/share/common-licenses/GPL-2 or
|
This program is free software; you can redistribute it
|
||||||
/usr/share/common-licenses/GPL-3
|
and/or modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation;
|
||||||
The Debian package of dnsmasq was created by Simon Kelley with assistance
|
version 2 dated June, 1991.
|
||||||
from Lars Bahner.
|
.
|
||||||
|
This program is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. See the GNU General Public License for more
|
||||||
|
details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public
|
||||||
|
License along with this program. If not, see
|
||||||
|
<https://www.gnu.org/licenses/gpl-2.0>.
|
||||||
|
.
|
||||||
|
On Debian systems, the full text of the GNU General Public
|
||||||
|
License can be found in the file
|
||||||
|
`/usr/share/common-licenses/GPL-2'.
|
||||||
|
|
||||||
|
License: GPL-3
|
||||||
|
This program is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation;
|
||||||
|
version 3 dated 29 June, 2007.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. See the GNU General Public License for more
|
||||||
|
details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public
|
||||||
|
License along with this program. If not, see
|
||||||
|
<https://www.gnu.org/licenses/gpl-3.0>.
|
||||||
|
.
|
||||||
|
On Debian systems, the full text of the GNU General Public
|
||||||
|
License can be found in the file
|
||||||
|
`/usr/share/common-licenses/GPL-3'.
|
||||||
|
|||||||
1
debian/dnsmasq-base-lua.dirs
vendored
Symbolic link
1
debian/dnsmasq-base-lua.dirs
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
dnsmasq-base.dirs
|
||||||
1
debian/dnsmasq-base-lua.docs
vendored
Symbolic link
1
debian/dnsmasq-base-lua.docs
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
dnsmasq-base.docs
|
||||||
3
debian/dnsmasq-base-lua.install
vendored
Executable file
3
debian/dnsmasq-base-lua.install
vendored
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/dh-exec
|
||||||
|
debian/dbus.conf => /usr/share/dbus-1/system.d/dnsmasq.conf
|
||||||
|
trust-anchors.conf /usr/share/dnsmasq-base-lua
|
||||||
2
debian/dnsmasq-base-lua.links
vendored
Normal file
2
debian/dnsmasq-base-lua.links
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
usr/share/dnsmasq-base-lua usr/share/dnsmasq-base
|
||||||
|
usr/share/doc/dnsmasq-base-lua usr/share/doc/dnsmasq-base
|
||||||
9
debian/dnsmasq-base-lua.maintscript
vendored
Normal file
9
debian/dnsmasq-base-lua.maintscript
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# With the use of debhelper /usr/share/doc/dnsmasq-base-lua has become a
|
||||||
|
# directory as required in
|
||||||
|
# https://www.debian.org/doc/debian-policy/ch-docs.html#additional-documentation
|
||||||
|
# thus /usr/share/doc/dnsmasq-base will be a link from now onwards.
|
||||||
|
symlink_to_dir /usr/share/doc/dnsmasq-base-lua /usr/share/doc/dnsmasq-base 2.89-1.1~ dnsmasq-base-lua
|
||||||
|
dir_to_symlink /usr/share/doc/dnsmasq-base /usr/share/doc/dnsmasq-base-lua 2.89-1.1~ dnsmasq-base-lua
|
||||||
|
# Due to lintian warning dbus-policy-in-etc this file has been moved to
|
||||||
|
# /usr/share/dbus-1/system.d/dnsmasq.conf and thus is not a conffile any more.
|
||||||
|
rm_conffile /etc/dbus-1/system.d/dnsmasq.conf 2.89-1.1~ dnsmasq-base-lua
|
||||||
1
debian/dnsmasq-base-lua.postinst
vendored
Symbolic link
1
debian/dnsmasq-base-lua.postinst
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
dnsmasq-base.postinst
|
||||||
1
debian/dnsmasq-base-lua.postrm
vendored
Symbolic link
1
debian/dnsmasq-base-lua.postrm
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
dnsmasq-base.postrm
|
||||||
1
debian/dnsmasq-base.conffiles
vendored
1
debian/dnsmasq-base.conffiles
vendored
@@ -1 +0,0 @@
|
|||||||
/etc/dbus-1/system.d/dnsmasq.conf
|
|
||||||
1
debian/dnsmasq-base.dirs
vendored
Normal file
1
debian/dnsmasq-base.dirs
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/var/lib/misc
|
||||||
8
debian/dnsmasq-base.docs
vendored
Normal file
8
debian/dnsmasq-base.docs
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
doc.html
|
||||||
|
setup.html
|
||||||
|
dnsmasq.conf.example
|
||||||
|
FAQ
|
||||||
|
CHANGELOG.archive
|
||||||
|
dbus/DBus-interface
|
||||||
|
debian/systemd_howto
|
||||||
|
debian/readme
|
||||||
3
debian/dnsmasq-base.install
vendored
Executable file
3
debian/dnsmasq-base.install
vendored
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/dh-exec
|
||||||
|
debian/dbus.conf => /usr/share/dbus-1/system.d/dnsmasq.conf
|
||||||
|
trust-anchors.conf /usr/share/dnsmasq-base
|
||||||
3
debian/dnsmasq-base.maintscript
vendored
Normal file
3
debian/dnsmasq-base.maintscript
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Due to lintian warning dbus-policy-in-etc this file has been moved to
|
||||||
|
# /usr/share/dbus-1/system.d/dnsmasq.conf and thus is not a conffile any more.
|
||||||
|
rm_conffile /etc/dbus-1/system.d/dnsmasq.conf 2.89-1.1~ dnsmasq-base
|
||||||
18
debian/dnsmasq-base.postinst
vendored
18
debian/dnsmasq-base.postinst
vendored
@@ -2,13 +2,16 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Create the dnsmasq user in dnsmasq-base, so that Dbus doesn't complain.
|
# Create the dnsmasq user in dnsmasq-base, so that Dbus doesn't complain.
|
||||||
|
|
||||||
# create a user to run as (code stolen from dovecot-common)
|
|
||||||
if [ "$1" = "configure" ]; then
|
if [ "$1" = "configure" ]; then
|
||||||
|
# Create the user to run as.
|
||||||
if [ -z "`id -u dnsmasq 2> /dev/null`" ]; then
|
if [ -z "`id -u dnsmasq 2> /dev/null`" ]; then
|
||||||
adduser --system --home /var/lib/misc --gecos "dnsmasq" \
|
useradd --system \
|
||||||
--no-create-home --disabled-password \
|
--gid nogroup \
|
||||||
--quiet dnsmasq || true
|
--comment dnsmasq \
|
||||||
|
--home-dir /var/lib/misc --no-create-home \
|
||||||
|
--shell /usr/sbin/nologin \
|
||||||
|
dnsmasq
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Make the directory where we keep the pid file - this
|
# Make the directory where we keep the pid file - this
|
||||||
@@ -16,9 +19,12 @@ if [ "$1" = "configure" ]; then
|
|||||||
# This is only actually used by the dnsmasq binary package, not
|
# This is only actually used by the dnsmasq binary package, not
|
||||||
# dnsmasq-base, but it's much easier to create it here so that
|
# dnsmasq-base, but it's much easier to create it here so that
|
||||||
# we don't have synchronisation issues with the creation of the
|
# we don't have synchronisation issues with the creation of the
|
||||||
# dnsmasq user.
|
# dnsmasq user.
|
||||||
if [ ! -d /run/dnsmasq ]; then
|
if [ ! -d /run/dnsmasq ]; then
|
||||||
mkdir /run/dnsmasq
|
mkdir /run/dnsmasq
|
||||||
chown dnsmasq:nogroup /run/dnsmasq
|
chown dnsmasq:nogroup /run/dnsmasq
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
|||||||
9
debian/dnsmasq-base.postrm
vendored
9
debian/dnsmasq-base.postrm
vendored
@@ -2,10 +2,9 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ purge = "$1" ]; then
|
if [ purge = "$1" ]; then
|
||||||
if [ -x "$(command -v deluser)" ]; then
|
userdel dnsmasq
|
||||||
deluser --quiet --system dnsmasq > /dev/null || true
|
|
||||||
else
|
|
||||||
echo >&2 "not removing dnsmasq system account because deluser command was not found"
|
|
||||||
fi
|
|
||||||
rm -rf /run/dnsmasq
|
rm -rf /run/dnsmasq
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
|||||||
3
debian/dnsmasq-utils.install
vendored
Normal file
3
debian/dnsmasq-utils.install
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
dhcp_lease_time /usr/bin
|
||||||
|
dhcp_release /usr/bin
|
||||||
|
dhcp_release6 /usr/bin
|
||||||
3
debian/dnsmasq-utils.manpages
vendored
Normal file
3
debian/dnsmasq-utils.manpages
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
dhcp_lease_time.1
|
||||||
|
dhcp_release.1
|
||||||
|
dhcp_release6.1
|
||||||
8
debian/default → debian/dnsmasq.default
vendored
8
debian/default → debian/dnsmasq.default
vendored
@@ -16,10 +16,10 @@
|
|||||||
#DOMAIN_SUFFIX=`dnsdomainname`
|
#DOMAIN_SUFFIX=`dnsdomainname`
|
||||||
#DNSMASQ_OPTS="--conf-file=/etc/dnsmasq.alt"
|
#DNSMASQ_OPTS="--conf-file=/etc/dnsmasq.alt"
|
||||||
|
|
||||||
# Whether or not to run the dnsmasq daemon; set to 0 to disable.
|
# The dnsmasq daemon is run by default conforming to the Debian Policy.
|
||||||
# Note that this is only valid when using SYSV init. For systemd,
|
# To disable the service,
|
||||||
# use "systemctl disable dnsmasq"
|
# for SYSV init, use "update-rc.d dnsmasq disable",
|
||||||
ENABLED=1
|
# for systemd, use "systemctl disable dnsmasq".
|
||||||
|
|
||||||
# By default search this drop directory for configuration options.
|
# By default search this drop directory for configuration options.
|
||||||
# Libvirt leaves a file here to make the system dnsmasq play nice.
|
# Libvirt leaves a file here to make the system dnsmasq play nice.
|
||||||
170
debian/dnsmasq.init
vendored
Normal file
170
debian/dnsmasq.init
vendored
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: dnsmasq
|
||||||
|
# Required-Start: $network $remote_fs $syslog
|
||||||
|
# Required-Stop: $network $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Description: DHCP and DNS server
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Don't exit on error status
|
||||||
|
set +e
|
||||||
|
|
||||||
|
# The following test ensures the dnsmasq service is not started, when the
|
||||||
|
# package 'dnsmasq' is removed but not purged, even if the dnsmasq-base
|
||||||
|
# package is still in place.
|
||||||
|
if [ -r /usr/share/dnsmasq/init-system-common ]; then
|
||||||
|
# 'dnsmasq' is installed: source initial code used also with systemd.
|
||||||
|
. /usr/share/dnsmasq/init-system-common
|
||||||
|
else
|
||||||
|
# 'dnsmasq' is removed but not purged, or damaged: do nothing.
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Double-check 'dnsmasq-base' or 'dnsmasq-base-lua' is installed.
|
||||||
|
test -x ${DAEMON} || exit 0
|
||||||
|
|
||||||
|
# Source the SysV init-functions which should always be available.
|
||||||
|
. /lib/lsb/init-functions || exit 0
|
||||||
|
|
||||||
|
start()
|
||||||
|
{
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been started
|
||||||
|
# 1 if daemon was already running
|
||||||
|
# 2 if daemon could not be started
|
||||||
|
|
||||||
|
# /run may be volatile, so we need to ensure that
|
||||||
|
# /run/dnsmasq exists here as well as in postinst
|
||||||
|
if [ ! -d /run/dnsmasq ]; then
|
||||||
|
mkdir /run/dnsmasq || { [ -d /run/dnsmasq ] || return 2 ; }
|
||||||
|
chown dnsmasq:nogroup /run/dnsmasq || return 2
|
||||||
|
fi
|
||||||
|
[ -x /sbin/restorecon ] && /sbin/restorecon /run/dnsmasq
|
||||||
|
|
||||||
|
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} --test > /dev/null || return 1
|
||||||
|
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} -- \
|
||||||
|
-x /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid \
|
||||||
|
${MAILHOSTNAME:+ -m ${MAILHOSTNAME}} \
|
||||||
|
${MAILTARGET:+ -t ${MAILTARGET}} \
|
||||||
|
${DNSMASQ_USER:+ -u ${DNSMASQ_USER}} \
|
||||||
|
${DNSMASQ_INTERFACES:+ ${DNSMASQ_INTERFACES}} \
|
||||||
|
${DHCP_LEASE:+ -l ${DHCP_LEASE}} \
|
||||||
|
${DOMAIN_SUFFIX:+ -s ${DOMAIN_SUFFIX}} \
|
||||||
|
${RESOLV_CONF:+ -r ${RESOLV_CONF}} \
|
||||||
|
${CACHESIZE:+ -c ${CACHESIZE}} \
|
||||||
|
${CONFIG_DIR:+ -7 ${CONFIG_DIR}} \
|
||||||
|
${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}} \
|
||||||
|
|| return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
stop()
|
||||||
|
{
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been stopped
|
||||||
|
# 1 if daemon was already stopped
|
||||||
|
# 2 if daemon could not be stopped
|
||||||
|
# other if a failure occurred
|
||||||
|
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --name ${NAME}
|
||||||
|
}
|
||||||
|
|
||||||
|
status()
|
||||||
|
{
|
||||||
|
# Return
|
||||||
|
# 0 if daemon is running
|
||||||
|
# 1 if daemon is dead and pid file exists
|
||||||
|
# 3 if daemon is not running
|
||||||
|
# 4 if daemon status is unknown
|
||||||
|
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} --test > /dev/null
|
||||||
|
case "${?}" in
|
||||||
|
0) [ -e "/run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid" ] && return 1 ; return 3 ;;
|
||||||
|
1) return 0 ;;
|
||||||
|
*) return 4 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${1}" in
|
||||||
|
start)
|
||||||
|
log_daemon_msg "Starting ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
||||||
|
start
|
||||||
|
case "${?}" in
|
||||||
|
0)
|
||||||
|
log_end_msg 0
|
||||||
|
start_resolvconf
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
log_success_msg "(already running)"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_end_msg 1
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop_resolvconf
|
||||||
|
log_daemon_msg "Stopping ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
||||||
|
stop
|
||||||
|
RETVAL="${?}"
|
||||||
|
case "${RETVAL}" in
|
||||||
|
0) log_end_msg 0 ; exit 0 ;;
|
||||||
|
1) log_warning_msg "(not running)" ; exit 0 ;;
|
||||||
|
*) log_end_msg 1; exit 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
restart|force-reload)
|
||||||
|
checkconfig
|
||||||
|
if [ ${?} -ne 0 ]; then
|
||||||
|
NAME="configuration syntax check"
|
||||||
|
RETVAL="2"
|
||||||
|
else
|
||||||
|
stop_resolvconf
|
||||||
|
stop
|
||||||
|
RETVAL="${?}"
|
||||||
|
fi
|
||||||
|
log_daemon_msg "Restarting ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
||||||
|
case "${RETVAL}" in
|
||||||
|
0|1)
|
||||||
|
sleep 2
|
||||||
|
start
|
||||||
|
case "${?}" in
|
||||||
|
0)
|
||||||
|
log_end_msg 0
|
||||||
|
start_resolvconf
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_end_msg 1
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_end_msg 1
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
log_daemon_msg "Checking ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
||||||
|
status
|
||||||
|
case "${?}" in
|
||||||
|
0) log_success_msg "(running)" ; exit 0 ;;
|
||||||
|
1) log_success_msg "(dead, pid file exists)" ; exit 1 ;;
|
||||||
|
3) log_success_msg "(not running)" ; exit 3 ;;
|
||||||
|
*) log_success_msg "(unknown)" ; exit 4 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
dump-stats)
|
||||||
|
kill -s USR1 `cat /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload|dump-stats|status}" >&2
|
||||||
|
exit 3
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
9
debian/dnsmasq.install
vendored
Executable file
9
debian/dnsmasq.install
vendored
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/dh-exec
|
||||||
|
debian/resolvconf => /etc/resolvconf/update.d/dnsmasq
|
||||||
|
debian/resolvconf-package => /usr/lib/resolvconf/dpkg-event.d/dnsmasq
|
||||||
|
debian/init-system-common => /usr/share/dnsmasq/init-system-common
|
||||||
|
debian/systemd-helper => /usr/share/dnsmasq/systemd-helper
|
||||||
|
dnsmasq.conf.example => /etc/dnsmasq.conf
|
||||||
|
debian/readme.dnsmasq.d => /etc/dnsmasq.d/README
|
||||||
|
debian/tmpfiles.conf => /usr/lib/tmpfiles.d/dnsmasq.conf
|
||||||
|
debian/insserv => /etc/insserv.conf.d/dnsmasq
|
||||||
1
debian/dnsmasq.links
vendored
Normal file
1
debian/dnsmasq.links
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
usr/share/dnsmasq-base/trust-anchors.conf usr/share/dnsmasq/trust-anchors.conf
|
||||||
2
debian/dnsmasq.maintscript
vendored
Normal file
2
debian/dnsmasq.maintscript
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# /usr/share/doc/dnsmasq was a symlink in versions < 2.81-1 (see #985282)
|
||||||
|
symlink_to_dir /usr/share/doc/dnsmasq dnsmasq-base 2.84-1.2~ dnsmasq
|
||||||
4
debian/dnsmasq.runscript/run
vendored
4
debian/dnsmasq.runscript/run
vendored
@@ -15,14 +15,14 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# This tells dnsmasq to ignore DNS requests that don't come from a local network.
|
# This tells dnsmasq to ignore DNS requests that don't come from a local network.
|
||||||
# It's automatically ignored if --interface --except-interface, --listen-address
|
# It's automatically ignored if --interface --except-interface, --listen-address
|
||||||
# or --auth-server exist in the configuration, so for most installations, it will
|
# or --auth-server exist in the configuration, so for most installations, it will
|
||||||
# have no effect, but for otherwise-unconfigured installations, it stops dnsmasq
|
# have no effect, but for otherwise-unconfigured installations, it stops dnsmasq
|
||||||
# from being vulnerable to DNS-reflection attacks.
|
# from being vulnerable to DNS-reflection attacks.
|
||||||
|
|
||||||
DNSMASQ_OPTS="${DNSMASQ_OPTS:-} --local-service"
|
DNSMASQ_OPTS="${DNSMASQ_OPTS:-} --local-service"
|
||||||
|
|
||||||
# If the dns-root-data package is installed, then the trust anchors will be
|
# If the dns-root-data package is installed, then the trust anchors will be
|
||||||
# available in $ROOT_DS, in BIND zone-file format. Reformat as dnsmasq
|
# available in $ROOT_DS, in BIND zone-file format. Reformat as dnsmasq
|
||||||
# --trust-anchor options.
|
# --trust-anchor options.
|
||||||
|
|
||||||
|
|||||||
16
debian/systemd.service → debian/dnsmasq.service
vendored
16
debian/systemd.service → debian/dnsmasq.service
vendored
@@ -10,19 +10,19 @@ Type=forking
|
|||||||
PIDFile=/run/dnsmasq/dnsmasq.pid
|
PIDFile=/run/dnsmasq/dnsmasq.pid
|
||||||
|
|
||||||
# Test the config file and refuse starting if it is not valid.
|
# Test the config file and refuse starting if it is not valid.
|
||||||
ExecStartPre=/etc/init.d/dnsmasq checkconfig
|
ExecStartPre=/usr/share/dnsmasq/systemd-helper checkconfig
|
||||||
|
|
||||||
# We run dnsmasq via the /etc/init.d/dnsmasq script which acts as a
|
# We run dnsmasq via the /usr/share/dnsmasq/systemd-helper script which acts
|
||||||
# wrapper picking up extra configuration files and then execs dnsmasq
|
# as a wrapper picking up extra configuration files and then execs dnsmasq
|
||||||
# itself, when called with the "systemd-exec" function.
|
# itself, when called with the "exec" function.
|
||||||
ExecStart=/etc/init.d/dnsmasq systemd-exec
|
ExecStart=/usr/share/dnsmasq/systemd-helper exec
|
||||||
|
|
||||||
# The systemd-*-resolvconf functions configure (and deconfigure)
|
# The *-resolvconf functions configure (and deconfigure)
|
||||||
# resolvconf to work with the dnsmasq DNS server. They're called like
|
# resolvconf to work with the dnsmasq DNS server. They're called like
|
||||||
# this to get correct error handling (ie don't start-resolvconf if the
|
# this to get correct error handling (ie don't start-resolvconf if the
|
||||||
# dnsmasq daemon fails to start).
|
# dnsmasq daemon fails to start).
|
||||||
ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf
|
ExecStartPost=/usr/share/dnsmasq/systemd-helper start-resolvconf
|
||||||
ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf
|
ExecStop=/usr/share/dnsmasq/systemd-helper stop-resolvconf
|
||||||
|
|
||||||
|
|
||||||
ExecReload=/bin/kill -HUP $MAINPID
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
@@ -10,19 +10,19 @@ Type=forking
|
|||||||
PIDFile=/run/dnsmasq/dnsmasq.%i.pid
|
PIDFile=/run/dnsmasq/dnsmasq.%i.pid
|
||||||
|
|
||||||
# Test the config file and refuse starting if it is not valid.
|
# Test the config file and refuse starting if it is not valid.
|
||||||
ExecStartPre=/etc/init.d/dnsmasq checkconfig "%i"
|
ExecStartPre=/usr/share/dnsmasq/systemd-helper checkconfig "%i"
|
||||||
|
|
||||||
# We run dnsmasq via the /etc/init.d/dnsmasq script which acts as a
|
# We run dnsmasq via the /usr/share/dnsmasq/systemd-helper script which acts
|
||||||
# wrapper picking up extra configuration files and then execs dnsmasq
|
# as a wrapper picking up extra configuration files and then execs dnsmasq
|
||||||
# itself, when called with the "systemd-exec" function.
|
# itself, when called with the "exec" function.
|
||||||
ExecStart=/etc/init.d/dnsmasq systemd-exec "%i"
|
ExecStart=/usr/share/dnsmasq/systemd-helper exec "%i"
|
||||||
|
|
||||||
# The systemd-*-resolvconf functions configure (and deconfigure)
|
# The *-resolvconf functions configure (and deconfigure)
|
||||||
# resolvconf to work with the dnsmasq DNS server. They're called like
|
# resolvconf to work with the dnsmasq DNS server. They're called like
|
||||||
# this to get correct error handling (ie don't start-resolvconf if the
|
# this to get correct error handling (ie don't start-resolvconf if the
|
||||||
# dnsmasq daemon fails to start).
|
# dnsmasq daemon fails to start).
|
||||||
ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf "%i"
|
ExecStartPost=/usr/share/dnsmasq/systemd-helper start-resolvconf "%i"
|
||||||
ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf "%i"
|
ExecStop=/usr/share/dnsmasq/systemd-helper stop-resolvconf "%i"
|
||||||
|
|
||||||
|
|
||||||
ExecReload=/bin/kill -HUP $MAINPID
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
325
debian/init
vendored
325
debian/init
vendored
@@ -1,325 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: dnsmasq
|
|
||||||
# Required-Start: $network $remote_fs $syslog
|
|
||||||
# Required-Stop: $network $remote_fs $syslog
|
|
||||||
# Default-Start: 2 3 4 5
|
|
||||||
# Default-Stop: 0 1 6
|
|
||||||
# Description: DHCP and DNS server
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
# Don't exit on error status
|
|
||||||
set +e
|
|
||||||
|
|
||||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
|
||||||
DAEMON=/usr/sbin/dnsmasq
|
|
||||||
NAME=dnsmasq
|
|
||||||
DESC="DNS forwarder and DHCP server"
|
|
||||||
INSTANCE="${2}"
|
|
||||||
|
|
||||||
# Most configuration options in /etc/default/dnsmasq are deprecated
|
|
||||||
# but still honoured.
|
|
||||||
ENABLED=1
|
|
||||||
if [ -r /etc/default/${NAME}${INSTANCE:+.${INSTANCE}} ]; then
|
|
||||||
. /etc/default/${NAME}${INSTANCE:+.${INSTANCE}}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get the system locale, so that messages are in the correct language, and the
|
|
||||||
# charset for IDN is correct
|
|
||||||
if [ -r /etc/default/locale ]; then
|
|
||||||
. /etc/default/locale
|
|
||||||
export LANG
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The following test ensures the dnsmasq service is not started, when the
|
|
||||||
# package 'dnsmasq' is removed but not purged, even if the dnsmasq-base
|
|
||||||
# package is still in place.
|
|
||||||
test -e /usr/share/dnsmasq/installed-marker || exit 0
|
|
||||||
|
|
||||||
test -x ${DAEMON} || exit 0
|
|
||||||
|
|
||||||
# Provide skeleton LSB log functions for backports which don't have LSB functions.
|
|
||||||
if [ -f /lib/lsb/init-functions ]; then
|
|
||||||
. /lib/lsb/init-functions
|
|
||||||
else
|
|
||||||
log_warning_msg () {
|
|
||||||
echo "${@}."
|
|
||||||
}
|
|
||||||
|
|
||||||
log_success_msg () {
|
|
||||||
echo "${@}."
|
|
||||||
}
|
|
||||||
|
|
||||||
log_daemon_msg () {
|
|
||||||
echo -n "${1}: ${2}"
|
|
||||||
}
|
|
||||||
|
|
||||||
log_end_msg () {
|
|
||||||
if [ "${1}" -eq 0 ]; then
|
|
||||||
echo "."
|
|
||||||
elif [ "${1}" -eq 255 ]; then
|
|
||||||
/bin/echo -e " (warning)."
|
|
||||||
else
|
|
||||||
/bin/echo -e " failed!"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# RESOLV_CONF:
|
|
||||||
# If the resolvconf package is installed then use the resolv conf file
|
|
||||||
# that it provides as the default. Otherwise use /etc/resolv.conf as
|
|
||||||
# the default.
|
|
||||||
#
|
|
||||||
# If IGNORE_RESOLVCONF is set in /etc/default/dnsmasq or an explicit
|
|
||||||
# filename is set there then this inhibits the use of the resolvconf-provided
|
|
||||||
# information.
|
|
||||||
#
|
|
||||||
# Note that if the resolvconf package is installed it is not possible to
|
|
||||||
# override it just by configuration in /etc/dnsmasq.conf, it is necessary
|
|
||||||
# to set IGNORE_RESOLVCONF=yes in /etc/default/dnsmasq.
|
|
||||||
|
|
||||||
if [ ! "${RESOLV_CONF}" ] &&
|
|
||||||
[ "${IGNORE_RESOLVCONF}" != "yes" ] &&
|
|
||||||
[ -x /sbin/resolvconf ]
|
|
||||||
then
|
|
||||||
RESOLV_CONF=/run/dnsmasq/resolv.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
for INTERFACE in ${DNSMASQ_INTERFACE}; do
|
|
||||||
DNSMASQ_INTERFACES="${DNSMASQ_INTERFACES} -i ${INTERFACE}"
|
|
||||||
done
|
|
||||||
|
|
||||||
for INTERFACE in ${DNSMASQ_EXCEPT}; do
|
|
||||||
DNSMASQ_INTERFACES="${DNSMASQ_INTERFACES} -I ${INTERFACE}"
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ ! "${DNSMASQ_USER}" ]; then
|
|
||||||
DNSMASQ_USER="dnsmasq"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# This tells dnsmasq to ignore DNS requests that don't come from a local network.
|
|
||||||
# It's automatically ignored if --interface --except-interface, --listen-address
|
|
||||||
# or --auth-server exist in the configuration, so for most installations, it will
|
|
||||||
# have no effect, but for otherwise-unconfigured installations, it stops dnsmasq
|
|
||||||
# from being vulnerable to DNS-reflection attacks.
|
|
||||||
|
|
||||||
DNSMASQ_OPTS="${DNSMASQ_OPTS} --local-service"
|
|
||||||
|
|
||||||
# If the dns-root-data package is installed, then the trust anchors will be
|
|
||||||
# available in ROOT_DS, in BIND zone-file format. Reformat as dnsmasq
|
|
||||||
# --trust-anchor options.
|
|
||||||
|
|
||||||
ROOT_DS="/usr/share/dns/root.ds"
|
|
||||||
|
|
||||||
if [ -f ${ROOT_DS} ]; then
|
|
||||||
DNSMASQ_OPTS="$DNSMASQ_OPTS `env LC_ALL=C sed -rne "s/^([.a-zA-Z0-9]+)([[:space:]]+[0-9]+)*([[:space:]]+IN)*[[:space:]]+DS[[:space:]]+/--trust-anchor=\1,/;s/[[:space:]]+/,/gp" $ROOT_DS | tr '\n' ' '`"
|
|
||||||
fi
|
|
||||||
|
|
||||||
start()
|
|
||||||
{
|
|
||||||
# Return
|
|
||||||
# 0 if daemon has been started
|
|
||||||
# 1 if daemon was already running
|
|
||||||
# 2 if daemon could not be started
|
|
||||||
|
|
||||||
# /run may be volatile, so we need to ensure that
|
|
||||||
# /run/dnsmasq exists here as well as in postinst
|
|
||||||
if [ ! -d /run/dnsmasq ]; then
|
|
||||||
mkdir /run/dnsmasq || { [ -d /run/dnsmasq ] || return 2 ; }
|
|
||||||
chown dnsmasq:nogroup /run/dnsmasq || return 2
|
|
||||||
fi
|
|
||||||
[ -x /sbin/restorecon ] && /sbin/restorecon /run/dnsmasq
|
|
||||||
|
|
||||||
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} --test > /dev/null || return 1
|
|
||||||
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} -- \
|
|
||||||
-x /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid \
|
|
||||||
${MAILHOSTNAME:+ -m ${MAILHOSTNAME}} \
|
|
||||||
${MAILTARGET:+ -t ${MAILTARGET}} \
|
|
||||||
${DNSMASQ_USER:+ -u ${DNSMASQ_USER}} \
|
|
||||||
${DNSMASQ_INTERFACES:+ ${DNSMASQ_INTERFACES}} \
|
|
||||||
${DHCP_LEASE:+ -l ${DHCP_LEASE}} \
|
|
||||||
${DOMAIN_SUFFIX:+ -s ${DOMAIN_SUFFIX}} \
|
|
||||||
${RESOLV_CONF:+ -r ${RESOLV_CONF}} \
|
|
||||||
${CACHESIZE:+ -c ${CACHESIZE}} \
|
|
||||||
${CONFIG_DIR:+ -7 ${CONFIG_DIR}} \
|
|
||||||
${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}} \
|
|
||||||
|| return 2
|
|
||||||
}
|
|
||||||
|
|
||||||
start_resolvconf()
|
|
||||||
{
|
|
||||||
# If interface "lo" is explicitly disabled in /etc/default/dnsmasq
|
|
||||||
# Then dnsmasq won't be providing local DNS, so don't add it to
|
|
||||||
# the resolvconf server set.
|
|
||||||
for interface in ${DNSMASQ_EXCEPT}; do
|
|
||||||
[ ${interface} = lo ] && return
|
|
||||||
done
|
|
||||||
|
|
||||||
# Also skip this if DNS functionality is disabled in /etc/dnsmasq.conf
|
|
||||||
if grep -qs '^port=0' /etc/dnsmasq.conf; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -x /sbin/resolvconf ] ; then
|
|
||||||
echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.${NAME}${INSTANCE:+.${INSTANCE}}
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
stop()
|
|
||||||
{
|
|
||||||
# Return
|
|
||||||
# 0 if daemon has been stopped
|
|
||||||
# 1 if daemon was already stopped
|
|
||||||
# 2 if daemon could not be stopped
|
|
||||||
# other if a failure occurred
|
|
||||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --name ${NAME}
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_resolvconf()
|
|
||||||
{
|
|
||||||
if [ -x /sbin/resolvconf ] ; then
|
|
||||||
/sbin/resolvconf -d lo.${NAME}${INSTANCE:+.${INSTANCE}}
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
status()
|
|
||||||
{
|
|
||||||
# Return
|
|
||||||
# 0 if daemon is running
|
|
||||||
# 1 if daemon is dead and pid file exists
|
|
||||||
# 3 if daemon is not running
|
|
||||||
# 4 if daemon status is unknown
|
|
||||||
start-stop-daemon --start --quiet --pidfile /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid --exec ${DAEMON} --test > /dev/null
|
|
||||||
case "${?}" in
|
|
||||||
0) [ -e "/run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid" ] && return 1 ; return 3 ;;
|
|
||||||
1) return 0 ;;
|
|
||||||
*) return 4 ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
case "${1}" in
|
|
||||||
start)
|
|
||||||
test "${ENABLED}" != "0" || exit 0
|
|
||||||
log_daemon_msg "Starting ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
|
||||||
start
|
|
||||||
case "${?}" in
|
|
||||||
0)
|
|
||||||
log_end_msg 0
|
|
||||||
start_resolvconf
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
log_success_msg "(already running)"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
log_end_msg 1
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop_resolvconf
|
|
||||||
if [ "${ENABLED}" != "0" ]; then
|
|
||||||
log_daemon_msg "Stopping ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
|
||||||
fi
|
|
||||||
stop
|
|
||||||
RETVAL="${?}"
|
|
||||||
if [ "${ENABLED}" = "0" ]; then
|
|
||||||
case "${RETVAL}" in
|
|
||||||
0) log_daemon_msg "Stopping ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"; log_end_msg 0 ;;
|
|
||||||
esac
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
case "${RETVAL}" in
|
|
||||||
0) log_end_msg 0 ; exit 0 ;;
|
|
||||||
1) log_warning_msg "(not running)" ; exit 0 ;;
|
|
||||||
*) log_end_msg 1; exit 1 ;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
checkconfig)
|
|
||||||
${DAEMON} --test ${CONFIG_DIR:+ -7 ${CONFIG_DIR}} ${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}} >/dev/null 2>&1
|
|
||||||
RETVAL="${?}"
|
|
||||||
exit ${RETVAL}
|
|
||||||
;;
|
|
||||||
restart|force-reload)
|
|
||||||
test "${ENABLED}" != "0" || exit 1
|
|
||||||
${DAEMON} --test ${CONFIG_DIR:+ -7 ${CONFIG_DIR}} ${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}} >/dev/null 2>&1
|
|
||||||
if [ ${?} -ne 0 ]; then
|
|
||||||
NAME="configuration syntax check"
|
|
||||||
RETVAL="2"
|
|
||||||
else
|
|
||||||
stop_resolvconf
|
|
||||||
stop
|
|
||||||
RETVAL="${?}"
|
|
||||||
fi
|
|
||||||
log_daemon_msg "Restarting ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
|
||||||
case "${RETVAL}" in
|
|
||||||
0|1)
|
|
||||||
sleep 2
|
|
||||||
start
|
|
||||||
case "${?}" in
|
|
||||||
0)
|
|
||||||
log_end_msg 0
|
|
||||||
start_resolvconf
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
log_end_msg 1
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
log_end_msg 1
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
log_daemon_msg "Checking ${DESC}" "${NAME}${INSTANCE:+.${INSTANCE}}"
|
|
||||||
status
|
|
||||||
case "${?}" in
|
|
||||||
0) log_success_msg "(running)" ; exit 0 ;;
|
|
||||||
1) log_success_msg "(dead, pid file exists)" ; exit 1 ;;
|
|
||||||
3) log_success_msg "(not running)" ; exit 3 ;;
|
|
||||||
*) log_success_msg "(unknown)" ; exit 4 ;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
dump-stats)
|
|
||||||
kill -s USR1 `cat /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid`
|
|
||||||
;;
|
|
||||||
systemd-start-resolvconf)
|
|
||||||
start_resolvconf
|
|
||||||
;;
|
|
||||||
systemd-stop-resolvconf)
|
|
||||||
stop_resolvconf
|
|
||||||
;;
|
|
||||||
systemd-exec)
|
|
||||||
# /run may be volatile, so we need to ensure that
|
|
||||||
# /run/dnsmasq exists here as well as in postinst
|
|
||||||
if [ ! -d /run/dnsmasq ]; then
|
|
||||||
mkdir /run/dnsmasq || { [ -d /run/dnsmasq ] || return 2 ; }
|
|
||||||
chown dnsmasq:nogroup /run/dnsmasq || return 2
|
|
||||||
fi
|
|
||||||
exec ${DAEMON} -x /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid \
|
|
||||||
${MAILHOSTNAME:+ -m ${MAILHOSTNAME}} \
|
|
||||||
${MAILTARGET:+ -t ${MAILTARGET}} \
|
|
||||||
${DNSMASQ_USER:+ -u ${DNSMASQ_USER}} \
|
|
||||||
${DNSMASQ_INTERFACES:+ ${DNSMASQ_INTERFACES}} \
|
|
||||||
${DHCP_LEASE:+ -l ${DHCP_LEASE}} \
|
|
||||||
${DOMAIN_SUFFIX:+ -s ${DOMAIN_SUFFIX}} \
|
|
||||||
${RESOLV_CONF:+ -r ${RESOLV_CONF}} \
|
|
||||||
${CACHESIZE:+ -c ${CACHESIZE}} \
|
|
||||||
${CONFIG_DIR:+ -7 ${CONFIG_DIR}} \
|
|
||||||
${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}}
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: /etc/init.d/${NAME} {start|stop|restart|force-reload|dump-stats|status}" >&2
|
|
||||||
exit 3
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
102
debian/init-system-common
vendored
Normal file
102
debian/init-system-common
vendored
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# -*- shell-script -*-
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
DAEMON=/usr/sbin/dnsmasq
|
||||||
|
NAME=dnsmasq
|
||||||
|
DESC="DNS forwarder and DHCP server"
|
||||||
|
INSTANCE="${2}"
|
||||||
|
|
||||||
|
# Most configuration options in /etc/default/dnsmasq are deprecated
|
||||||
|
# but still honoured.
|
||||||
|
if [ -r /etc/default/${NAME}${INSTANCE:+.${INSTANCE}} ]; then
|
||||||
|
. /etc/default/${NAME}${INSTANCE:+.${INSTANCE}}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the system locale, so that messages are in the correct language, and the
|
||||||
|
# charset for IDN is correct
|
||||||
|
if [ -r /etc/default/locale ]; then
|
||||||
|
. /etc/default/locale
|
||||||
|
export LANG
|
||||||
|
fi
|
||||||
|
|
||||||
|
# RESOLV_CONF:
|
||||||
|
# If the resolvconf package is installed then use the resolv conf file
|
||||||
|
# that it provides as the default. Otherwise use /etc/resolv.conf as
|
||||||
|
# the default.
|
||||||
|
#
|
||||||
|
# If IGNORE_RESOLVCONF is set in /etc/default/dnsmasq or an explicit
|
||||||
|
# filename is set there then this inhibits the use of the resolvconf-provided
|
||||||
|
# information.
|
||||||
|
#
|
||||||
|
# Note that if the resolvconf package is installed it is not possible to
|
||||||
|
# override it just by configuration in /etc/dnsmasq.conf, it is necessary
|
||||||
|
# to set IGNORE_RESOLVCONF=yes in /etc/default/dnsmasq.
|
||||||
|
|
||||||
|
if [ ! "${RESOLV_CONF}" ] &&
|
||||||
|
[ "${IGNORE_RESOLVCONF}" != "yes" ] &&
|
||||||
|
[ -x /sbin/resolvconf ]
|
||||||
|
then
|
||||||
|
RESOLV_CONF=/run/dnsmasq/resolv.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
for INTERFACE in ${DNSMASQ_INTERFACE}; do
|
||||||
|
DNSMASQ_INTERFACES="${DNSMASQ_INTERFACES} -i ${INTERFACE}"
|
||||||
|
done
|
||||||
|
|
||||||
|
for INTERFACE in ${DNSMASQ_EXCEPT}; do
|
||||||
|
DNSMASQ_INTERFACES="${DNSMASQ_INTERFACES} -I ${INTERFACE}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! "${DNSMASQ_USER}" ]; then
|
||||||
|
DNSMASQ_USER="dnsmasq"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This tells dnsmasq to ignore DNS requests that don't come from a local network.
|
||||||
|
# It's automatically ignored if --interface --except-interface, --listen-address
|
||||||
|
# or --auth-server exist in the configuration, so for most installations, it will
|
||||||
|
# have no effect, but for otherwise-unconfigured installations, it stops dnsmasq
|
||||||
|
# from being vulnerable to DNS-reflection attacks.
|
||||||
|
|
||||||
|
DNSMASQ_OPTS="${DNSMASQ_OPTS} --local-service"
|
||||||
|
|
||||||
|
# If the dns-root-data package is installed, then the trust anchors will be
|
||||||
|
# available in ROOT_DS, in BIND zone-file format. Reformat as dnsmasq
|
||||||
|
# --trust-anchor options.
|
||||||
|
|
||||||
|
ROOT_DS="/usr/share/dns/root.ds"
|
||||||
|
|
||||||
|
if [ -f ${ROOT_DS} ]; then
|
||||||
|
DNSMASQ_OPTS="$DNSMASQ_OPTS `env LC_ALL=C sed -rne "s/^([.a-zA-Z0-9]+)([[:space:]]+[0-9]+)*([[:space:]]+IN)*[[:space:]]+DS[[:space:]]+/--trust-anchor=\1,/;s/[[:space:]]+/,/gp" $ROOT_DS | tr '\n' ' '`"
|
||||||
|
fi
|
||||||
|
|
||||||
|
checkconfig()
|
||||||
|
{
|
||||||
|
${DAEMON} --test ${CONFIG_DIR:+ -7 ${CONFIG_DIR}} ${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}} >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
start_resolvconf()
|
||||||
|
{
|
||||||
|
# If interface "lo" is explicitly disabled in /etc/default/dnsmasq
|
||||||
|
# Then dnsmasq won't be providing local DNS, so don't add it to
|
||||||
|
# the resolvconf server set.
|
||||||
|
for interface in ${DNSMASQ_EXCEPT}; do
|
||||||
|
[ ${interface} = lo ] && return
|
||||||
|
done
|
||||||
|
|
||||||
|
# Also skip this if DNS functionality is disabled in /etc/dnsmasq.conf
|
||||||
|
if grep -qs '^port=0' /etc/dnsmasq.conf; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -x /sbin/resolvconf ] ; then
|
||||||
|
echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.${NAME}${INSTANCE:+.${INSTANCE}}
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_resolvconf()
|
||||||
|
{
|
||||||
|
if [ -x /sbin/resolvconf ] ; then
|
||||||
|
/sbin/resolvconf -d lo.${NAME}${INSTANCE:+.${INSTANCE}}
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
2
debian/installed-marker
vendored
2
debian/installed-marker
vendored
@@ -1,2 +0,0 @@
|
|||||||
# This file indicates dnsmasq (and not just dnsmasq-base) is installed.
|
|
||||||
# It is an implementation detail of the dnsmasq init script.
|
|
||||||
3
debian/lintian-override
vendored
3
debian/lintian-override
vendored
@@ -1,3 +0,0 @@
|
|||||||
# dnsmasq-base and dnsmasq-base-lua are mutually exclusive and both
|
|
||||||
# provide /usr/share/doc/dnsmasq-base
|
|
||||||
dnsmasq-base-lua binary: usr-share-doc-symlink-without-dependency dnsmasq-base
|
|
||||||
17
debian/patches/bump-lua-version.patch
vendored
Normal file
17
debian/patches/bump-lua-version.patch
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Description: Bump Lua version to 5.4
|
||||||
|
Forwarded: no
|
||||||
|
Author: Sven Geuer <debmaint@g-e-u-e-r.de>
|
||||||
|
Last-Update: 2024-01-12
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -60,8 +60,8 @@
|
||||||
|
idn2_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LIBIDN2 $(PKG_CONFIG) --libs libidn2`
|
||||||
|
ct_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --cflags libnetfilter_conntrack`
|
||||||
|
ct_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --libs libnetfilter_conntrack`
|
||||||
|
-lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.2`
|
||||||
|
-lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.2`
|
||||||
|
+lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.4`
|
||||||
|
+lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.4`
|
||||||
|
nettle_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --cflags 'nettle hogweed' \
|
||||||
|
HAVE_CRYPTOHASH $(PKG_CONFIG) --cflags nettle \
|
||||||
|
HAVE_NETTLEHASH $(PKG_CONFIG) --cflags nettle`
|
||||||
40
debian/patches/eliminate-privacy-breaches.patch
vendored
Normal file
40
debian/patches/eliminate-privacy-breaches.patch
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
Description: Remove or replace privacy breaching logos and forms
|
||||||
|
Lintian complains about these by issuing the tags privacy-breach-logo and
|
||||||
|
privacy-breach-donation.
|
||||||
|
Forwarded: not-needed
|
||||||
|
Author: Sven Geuer <debmaint@g-e-u-e-r.de>
|
||||||
|
Last-Update: 2023-11-18
|
||||||
|
|
||||||
|
--- a/doc.html
|
||||||
|
+++ b/doc.html
|
||||||
|
@@ -1,14 +1,11 @@
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE> Dnsmasq - network services for small networks.</TITLE>
|
||||||
|
-<link rel="icon" href="http://www.thekelleys.org.uk/dnsmasq/images/favicon.ico">
|
||||||
|
</HEAD>
|
||||||
|
<BODY BGCOLOR="WHITE">
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
-<td align="left" valign="middle"><img border="0" src="http://www.thekelleys.org.uk/dnsmasq/images/icon.png" /></td>
|
||||||
|
<td align="middle" valign="middle"><h1>Dnsmasq</h1></td>
|
||||||
|
-<td align="right" valign="middle"><img border="0" src="http://www.thekelleys.org.uk/dnsmasq/images/icon.png" /></td></tr>
|
||||||
|
</table>
|
||||||
|
Dnsmasq provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot. It is designed to be
|
||||||
|
lightweight and have a small footprint, suitable for resource constrained routers and firewalls. It has also been widely used
|
||||||
|
@@ -88,14 +85,6 @@
|
||||||
|
Dnsmasq is mainly written and maintained by Simon Kelley. For most of its life, dnsmasq has been a spare-time project.
|
||||||
|
These days I'm working on it as my main activity.
|
||||||
|
I don't have an employer or anyone who pays me regularly to work on dnsmasq. If you'd like to make
|
||||||
|
-a contribution towards my expenses, please use the donation button below.
|
||||||
|
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
||||||
|
-<input type="hidden" name="cmd" value="_s-xclick">
|
||||||
|
-<input type="hidden" name="hosted_button_id" value="V3X9GVW5GX6DA">
|
||||||
|
-<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
|
||||||
|
-<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
|
||||||
|
-</form>
|
||||||
|
-
|
||||||
|
-
|
||||||
|
+a contribution towards my expenses, please use the donation button at <A HREF="https://www.thekelleys.org.uk/dnsmasq/doc.html">the project's home page</A>.
|
||||||
|
</BODY>
|
||||||
|
|
||||||
2
debian/patches/series
vendored
Normal file
2
debian/patches/series
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
bump-lua-version.patch
|
||||||
|
eliminate-privacy-breaches.patch
|
||||||
41
debian/postinst
vendored
41
debian/postinst
vendored
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# /usr/share/doc/dnsmasq was a symlink in versions < 2.81-1 (see #985282)
|
|
||||||
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/dnsmasq dnsmasq-base 2.84-1.2~ dnsmasq -- "$@"
|
|
||||||
|
|
||||||
# Code copied from dh_systemd_enable ----------------------
|
|
||||||
# This will only remove masks created by d-s-h on package removal.
|
|
||||||
deb-systemd-helper unmask dnsmasq.service >/dev/null || true
|
|
||||||
|
|
||||||
# was-enabled defaults to true, so new installations run enable.
|
|
||||||
if deb-systemd-helper --quiet was-enabled dnsmasq.service; then
|
|
||||||
# Enables the unit on first installation, creates new
|
|
||||||
# symlinks on upgrades if the unit file has changed.
|
|
||||||
deb-systemd-helper enable dnsmasq.service >/dev/null || true
|
|
||||||
else
|
|
||||||
# Update the statefile to add new symlinks (if any), which need to be
|
|
||||||
# cleaned up on purge. Also remove old symlinks.
|
|
||||||
deb-systemd-helper update-state dnsmasq.service >/dev/null || true
|
|
||||||
fi
|
|
||||||
# End code copied from dh_systemd_enable ------------------
|
|
||||||
|
|
||||||
if [ -x /etc/init.d/dnsmasq ]; then
|
|
||||||
update-rc.d dnsmasq defaults 15 85 >/dev/null
|
|
||||||
|
|
||||||
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
|
|
||||||
if [ -e /run/dnsmasq/dnsmasq.pid ]; then
|
|
||||||
ACTION=restart
|
|
||||||
else
|
|
||||||
ACTION=start
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -x /usr/sbin/invoke-rc.d ] ; then
|
|
||||||
invoke-rc.d dnsmasq $ACTION || true
|
|
||||||
else
|
|
||||||
/etc/init.d/dnsmasq $ACTION || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
25
debian/postrm
vendored
25
debian/postrm
vendored
@@ -1,25 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# /usr/share/doc/dnsmasq was a symlink in versions < 2.81-1 (see #985282)
|
|
||||||
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/dnsmasq dnsmasq-base 2.84-1.2~ dnsmasq -- "$@"
|
|
||||||
|
|
||||||
if [ purge = "$1" ]; then
|
|
||||||
update-rc.d dnsmasq remove >/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Code copied from dh_systemd_enable ----------------------
|
|
||||||
if [ "$1" = "remove" ]; then
|
|
||||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
|
||||||
deb-systemd-helper mask dnsmasq.service >/dev/null
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "purge" ]; then
|
|
||||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
|
||||||
deb-systemd-helper purge dnsmasq.service >/dev/null
|
|
||||||
deb-systemd-helper unmask dnsmasq.service >/dev/null
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# End code copied from dh_systemd_enable ------------------
|
|
||||||
|
|
||||||
5
debian/preinst
vendored
5
debian/preinst
vendored
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# /usr/share/doc/dnsmasq was a symlink in versions < 2.81-1 (see #985282)
|
|
||||||
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/dnsmasq dnsmasq-base 2.84-1.2~ dnsmasq -- "$@"
|
|
||||||
14
debian/prerm
vendored
14
debian/prerm
vendored
@@ -1,14 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "$1" = "remove" ]; then
|
|
||||||
if [ -x /usr/sbin/invoke-rc.d ] ; then
|
|
||||||
invoke-rc.d dnsmasq stop || true
|
|
||||||
else
|
|
||||||
/etc/init.d/dnsmasq stop || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
||||||
22
debian/readme
vendored
22
debian/readme
vendored
@@ -4,13 +4,13 @@ Notes on configuring dnsmasq as packaged for Debian.
|
|||||||
commented; see also the dnsmasq.8 man page for explanation of
|
commented; see also the dnsmasq.8 man page for explanation of
|
||||||
the options. The file /etc/default/dnsmasq also exists but it
|
the options. The file /etc/default/dnsmasq also exists but it
|
||||||
shouldn't need to be touched in most cases. To set up DHCP
|
shouldn't need to be touched in most cases. To set up DHCP
|
||||||
options you might need to refer to a copy of RFC 2132. This is
|
options you might need to refer to a copy of RFC 2132. This is
|
||||||
available on Debian systems in the package doc-rfc-std as the file
|
available on Debian systems in the package doc-rfc-std as the file
|
||||||
/usr/share/doc/RFC/draft-standard/rfc2132.txt.gz .
|
/usr/share/doc/RFC/draft-standard/rfc2132.txt.gz .
|
||||||
|
|
||||||
(2) Installing the dnsmasq package also creates the directory
|
(2) Installing the dnsmasq package also creates the directory
|
||||||
/etc/dnsmasq.d which is searched by dnsmasq for configuration file
|
/etc/dnsmasq.d which is searched by dnsmasq for configuration file
|
||||||
fragments. This behaviour can be disabled by editing
|
fragments. This behaviour can be disabled by editing
|
||||||
/etc/default/dnsmasq.
|
/etc/default/dnsmasq.
|
||||||
|
|
||||||
(3) If the Debian resolvconf package is installed then, regardless
|
(3) If the Debian resolvconf package is installed then, regardless
|
||||||
@@ -30,25 +30,25 @@ Notes on configuring dnsmasq as packaged for Debian.
|
|||||||
generated file /etc/ppp/resolv.conf. You should list 127.0.0.1
|
generated file /etc/ppp/resolv.conf. You should list 127.0.0.1
|
||||||
as the first nameserver address in /etc/resolv.conf.
|
as the first nameserver address in /etc/resolv.conf.
|
||||||
|
|
||||||
(6) In the absence of resolvconf, dns-nameservers lines in
|
(6) In the absence of resolvconf, dns-nameservers lines in
|
||||||
/etc/network/interfaces are ignored. If you do not use
|
/etc/network/interfaces are ignored. If you do not use
|
||||||
resolvconf, list 127.0.0.1 as the first nameserver address
|
resolvconf, list 127.0.0.1 as the first nameserver address
|
||||||
in /etc/resolv.conf and configure your nameservers using
|
in /etc/resolv.conf and configure your nameservers using
|
||||||
"server=<IP-address>" lines in /etc/dnsmasq.conf.
|
"server=<IP-address>" lines in /etc/dnsmasq.conf.
|
||||||
|
|
||||||
(7) If you run multiple DNS servers on a single machine, each
|
(7) If you run multiple DNS servers on a single machine, each
|
||||||
listening on a different interface, then it is necessary to use
|
listening on a different interface, then it is necessary to use
|
||||||
the bind-interfaces option by uncommenting "bind-interfaces" in
|
the bind-interfaces option by uncommenting "bind-interfaces" in
|
||||||
/etc/dnsmasq.conf. This option stops dnsmasq from binding the
|
/etc/dnsmasq.conf. This option stops dnsmasq from binding the
|
||||||
wildcard address and allows servers listening on port 53 on
|
wildcard address and allows servers listening on port 53 on
|
||||||
interfaces not in use by dnsmasq to work. The Debian
|
interfaces not in use by dnsmasq to work. The Debian
|
||||||
libvirt package will add a configuration file in /etc/dnsmasq.d
|
libvirt package will add a configuration file in /etc/dnsmasq.d
|
||||||
which does this so that the "system" dnsmasq and "private" dnsmasq
|
which does this so that the "system" dnsmasq and "private" dnsmasq
|
||||||
instances started by libvirt do not clash.
|
instances started by libvirt do not clash.
|
||||||
|
|
||||||
(8) The following options are supported in DEB_BUILD_OPTIONS
|
(8) The following options are supported in DEB_BUILD_OPTIONS
|
||||||
noopt : compile without optimisation.
|
noopt : compile without optimisation.
|
||||||
nostrip : don't remove symbols from binary.
|
nostrip : don't remove symbols from binary.
|
||||||
nodocs : omit documentation.
|
nodocs : omit documentation.
|
||||||
notftp : omit TFTP support.
|
notftp : omit TFTP support.
|
||||||
nodhcp : omit DHCP support.
|
nodhcp : omit DHCP support.
|
||||||
@@ -58,7 +58,7 @@ Notes on configuring dnsmasq as packaged for Debian.
|
|||||||
in Lua.
|
in Lua.
|
||||||
noipv6 : omit IPv6 support.
|
noipv6 : omit IPv6 support.
|
||||||
nodbus : omit DBus support.
|
nodbus : omit DBus support.
|
||||||
noconntrack : omit connection tracking support.
|
noconntrack : omit connection tracking support.
|
||||||
noipset : omit IPset support.
|
noipset : omit IPset support.
|
||||||
nonftset : omit nftset support.
|
nonftset : omit nftset support.
|
||||||
nortc : compile alternate mode suitable for systems without an RTC.
|
nortc : compile alternate mode suitable for systems without an RTC.
|
||||||
@@ -67,7 +67,7 @@ Notes on configuring dnsmasq as packaged for Debian.
|
|||||||
combined with noi18n to be effective.
|
combined with noi18n to be effective.
|
||||||
gitversion : set the version of the produced packages from the
|
gitversion : set the version of the produced packages from the
|
||||||
git-derived versioning information on the source,
|
git-derived versioning information on the source,
|
||||||
rather than the debian changelog.
|
rather than 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
|
||||||
@@ -76,5 +76,5 @@ Notes on configuring dnsmasq as packaged for Debian.
|
|||||||
infrastructure. This file assumes that both are installed. It is
|
infrastructure. This file assumes that both are installed. It is
|
||||||
possible to install only dnsmasq-base and use dnsmasq as a
|
possible to install only dnsmasq-base and use dnsmasq as a
|
||||||
non-"system" daemon. Libvirt, for instance, does this.
|
non-"system" daemon. Libvirt, for instance, does this.
|
||||||
Dnsmasq-utils provides the utilities dhcp_release and
|
Dnsmasq-utils provides the utilities dhcp_release and
|
||||||
dhcp_lease_time.
|
dhcp_lease_time.
|
||||||
|
|||||||
2
debian/resolvconf
vendored
Normal file → Executable file
2
debian/resolvconf
vendored
Normal file → Executable file
@@ -48,7 +48,7 @@ RSLVCNFFILES=""
|
|||||||
for F in $(/lib/resolvconf/list-records --after "lo.$MY_NAME_FOR_RESOLVCONF") ; do
|
for F in $(/lib/resolvconf/list-records --after "lo.$MY_NAME_FOR_RESOLVCONF") ; do
|
||||||
case "$F" in
|
case "$F" in
|
||||||
"lo.$MY_NAME_FOR_RESOLVCONF")
|
"lo.$MY_NAME_FOR_RESOLVCONF")
|
||||||
# Omit own record
|
# Omit own record
|
||||||
;;
|
;;
|
||||||
lo.*)
|
lo.*)
|
||||||
# Include no more records after one for a local nameserver
|
# Include no more records after one for a local nameserver
|
||||||
|
|||||||
0
debian/resolvconf-package
vendored
Normal file → Executable file
0
debian/resolvconf-package
vendored
Normal file → Executable file
336
debian/rules
vendored
336
debian/rules
vendored
@@ -1,309 +1,127 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
# debian/rules file - for dnsmasq.
|
# -*- makefile -*-
|
||||||
# Copyright 2001-2020 by Simon Kelley
|
|
||||||
# Based on the sample in the debian hello package which carries the following:
|
|
||||||
# Copyright 1994,1995 by Ian Jackson.
|
|
||||||
# I hereby give you perpetual unlimited permission to copy,
|
|
||||||
# modify and relicense this file, provided that you do not remove
|
|
||||||
# my name from the file itself. (I assert my moral right of
|
|
||||||
# paternity under the Copyright, Designs and Patents Act 1988.)
|
|
||||||
# This file may have to be extensively modified
|
|
||||||
|
|
||||||
package=dnsmasq-base
|
# Uncomment this to turn on verbose mode.
|
||||||
|
export DH_VERBOSE=1
|
||||||
|
|
||||||
dpkg_buildflags := DEB_BUILD_MAINT_OPTIONS="hardening=+all,+pie,+bindnow" dpkg-buildflags
|
# Make sure lintian does not complain about missing hardenings.
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
CFLAGS = $(shell $(dpkg_buildflags) --get CFLAGS)
|
include /usr/share/dpkg/architecture.mk
|
||||||
CFLAGS += $(shell $(dpkg_buildflags) --get CPPFLAGS)
|
|
||||||
CFLAGS += -Wall -W
|
|
||||||
|
|
||||||
LDFLAGS = $(shell $(dpkg_buildflags) --get LDFLAGS)
|
PREFIX = /usr
|
||||||
|
# Upstream does not handle CPPFLAGS, so we add it to CFLAGS here.
|
||||||
DEB_COPTS = $(COPTS)
|
CFLAGS += $(CPPFLAGS)
|
||||||
|
COPTS =
|
||||||
TARGET = install-i18n
|
|
||||||
|
|
||||||
DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
|
|
||||||
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
|
||||||
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
|
||||||
BUILD_DATE := $(shell dpkg-parsechangelog --show-field Date)
|
|
||||||
|
|
||||||
ifeq ($(origin CC),default)
|
|
||||||
CC = $(DEB_HOST_GNU_TYPE)-gcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Support non-cross-builds on systems without gnu-triplet-binaries for pkg-config.
|
|
||||||
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
|
|
||||||
PKG_CONFIG=pkg-config
|
|
||||||
else
|
|
||||||
PKG_CONFIG=$(DEB_HOST_GNU_TYPE)-pkg-config
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Force package version based on git tags.
|
|
||||||
ifneq (,$(filter gitversion,$(DEB_BUILD_OPTIONS)))
|
|
||||||
PACKAGE_VERSION = $(shell bld/get-version `pwd` | sed 's/test/~&/; s/[a-z]/~&/; s/-/./g; s/$$/-1/; s/^/-v/';)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS)))
|
ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DHAVE_DBUS
|
COPTS += -DHAVE_DBUS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (,$(filter noidn, $(DEB_BUILD_OPTIONS)))
|
ifeq (,$(filter noidn, $(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DHAVE_LIBIDN2
|
COPTS += -DHAVE_LIBIDN2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (,$(filter nonftset, $(DEB_BUILD_OPTIONS)))
|
ifeq (,$(filter nonftset, $(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DHAVE_NFTSET
|
COPTS += -DHAVE_NFTSET
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (,$(filter noconntrack,$(DEB_BUILD_OPTIONS)))
|
ifeq (,$(filter noconntrack,$(DEB_BUILD_OPTIONS)))
|
||||||
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
||||||
DEB_COPTS += -DHAVE_CONNTRACK
|
COPTS += -DHAVE_CONNTRACK
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter noipset,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter noipset,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_IPSET
|
COPTS += -DNO_IPSET
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter nodhcp6,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter nodhcp6,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_DHCP6
|
COPTS += -DNO_DHCP6
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter noipv6,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter noipv6,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_IPV6
|
COPTS += -DNO_IPV6
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter notftp,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter notftp,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_TFTP
|
COPTS += -DNO_TFTP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter nodhcp,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter nodhcp,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_DHCP
|
COPTS += -DNO_DHCP
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter noscript,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter noscript,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DNO_SCRIPT
|
COPTS += -DNO_SCRIPT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter nortc,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter nortc,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DHAVE_BROKEN_RTC
|
COPTS += -DHAVE_BROKEN_RTC
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (,$(filter noi18n,$(DEB_BUILD_OPTIONS)))
|
|
||||||
TARGET = install
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (,$(filter uselua,$(DEB_BUILD_OPTIONS)))
|
|
||||||
DEB_COPTS += -DHAVE_LUASCRIPT
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (,$(filter nodnssec,$(DEB_BUILD_OPTIONS)))
|
ifeq (,$(filter nodnssec,$(DEB_BUILD_OPTIONS)))
|
||||||
DEB_COPTS += -DHAVE_DNSSEC
|
COPTS += -DHAVE_DNSSEC
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
|
|
||||||
# For strlcpy in FreeBSD
|
|
||||||
LIBS += $(shell ${PKG_CONFIG} --libs libbsd-overlay)
|
|
||||||
CFLAGS += $(shell ${PKG_CONFIG} --cflags libbsd-overlay)
|
|
||||||
endif
|
|
||||||
|
|
||||||
define build_tree
|
%:
|
||||||
rm -rf $1
|
# Ubuntu and derivates do not support runit, see
|
||||||
install -m 755 \
|
# https://bugs.debian.org/960401 for details.
|
||||||
-d $1/DEBIAN \
|
if dpkg-vendor --derives-from Ubuntu; then \
|
||||||
-d $1/etc/dbus-1/system.d \
|
dh $@; \
|
||||||
-d $1/usr/share/doc/$(package) \
|
else \
|
||||||
-d $1/usr/share/doc/$(package)/examples \
|
dh $@ --with runit; \
|
||||||
-d $1/usr/share/$(package) \
|
|
||||||
-d $1/var/lib/misc
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
define add_docs
|
|
||||||
# Need to remove paypal links in Debian Package for policy reasons.
|
|
||||||
sed -e /\<H2\>Donations/Q -e /icon.png/d doc.html -e /favicon.ico/d >$1/usr/share/doc/$(package)/doc.html
|
|
||||||
echo "</BODY>" >>$1/usr/share/doc/$(package)/doc.html
|
|
||||||
install -m 644 setup.html $1/usr/share/doc/$(package)/.
|
|
||||||
install -m 644 dnsmasq.conf.example $1/usr/share/doc/$(package)/examples/.
|
|
||||||
install -m 644 FAQ $1/usr/share/doc/$(package)/.
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/FAQ
|
|
||||||
install -m 644 CHANGELOG $1/usr/share/doc/$(package)/changelog
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/changelog
|
|
||||||
install -m 644 CHANGELOG.archive $1/usr/share/doc/$(package)/changelog.archive
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/changelog.archive
|
|
||||||
install -m 644 dbus/DBus-interface $1/usr/share/doc/$(package)/.
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/DBus-interface
|
|
||||||
install -m 644 debian/systemd_howto $1/usr/share/doc/$(package)/.
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/systemd_howto
|
|
||||||
gzip -9n $1/usr/share/man/man8/dnsmasq.8
|
|
||||||
for f in $1/usr/share/man/*; do \
|
|
||||||
if [ -f $$f/man8/dnsmasq.8 ]; then \
|
|
||||||
gzip -9n $$f/man8/dnsmasq.8 ; \
|
|
||||||
fi \
|
|
||||||
done
|
|
||||||
endef
|
|
||||||
|
|
||||||
define add_files
|
|
||||||
install -m 644 trust-anchors.conf $1/usr/share/$(package)/.
|
|
||||||
install -m 644 debian/dnsmasq-base.conffiles $1/DEBIAN/conffiles
|
|
||||||
install -m 755 debian/dnsmasq-base.postinst $1/DEBIAN/postinst
|
|
||||||
install -m 755 debian/dnsmasq-base.postrm $1/DEBIAN/postrm
|
|
||||||
install -m 644 debian/changelog $1/usr/share/doc/$(package)/changelog.Debian
|
|
||||||
gzip -9n $1/usr/share/doc/$(package)/changelog.Debian
|
|
||||||
install -m 644 debian/readme $1/usr/share/doc/$(package)/README.Debian
|
|
||||||
install -m 644 debian/copyright $1/usr/share/doc/$(package)/copyright
|
|
||||||
install -m 644 debian/dbus.conf $1/etc/dbus-1/system.d/dnsmasq.conf
|
|
||||||
endef
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(checkdir)
|
|
||||||
make BUILDDIR=debian/build/no-lua clean
|
|
||||||
make BUILDDIR=debian/build/lua clean
|
|
||||||
make -C contrib/lease-tools clean
|
|
||||||
rm -rf debian/build debian/trees debian/*~ debian/files debian/substvars debian/utils-substvars
|
|
||||||
|
|
||||||
binary-indep: checkroot
|
|
||||||
$(checkdir)
|
|
||||||
rm -rf debian/trees/daemon
|
|
||||||
install -m 755 \
|
|
||||||
-d debian/trees/daemon/DEBIAN \
|
|
||||||
-d debian/trees/daemon/usr/share/doc/dnsmasq \
|
|
||||||
-d debian/trees/daemon/etc/init.d \
|
|
||||||
-d debian/trees/daemon/etc/dnsmasq.d \
|
|
||||||
-d debian/trees/daemon/etc/resolvconf/update.d \
|
|
||||||
-d debian/trees/daemon/usr/lib/resolvconf/dpkg-event.d \
|
|
||||||
-d debian/trees/daemon/usr/share/dnsmasq \
|
|
||||||
-d debian/trees/daemon/usr/share/doc/dnsmasq \
|
|
||||||
-d debian/trees/daemon/etc/default \
|
|
||||||
-d debian/trees/daemon/lib/systemd/system \
|
|
||||||
-d debian/trees/daemon/usr/lib/tmpfiles.d \
|
|
||||||
-d debian/trees/daemon/etc/insserv.conf.d
|
|
||||||
install -m 644 debian/conffiles debian/trees/daemon/DEBIAN
|
|
||||||
install -m 755 debian/postinst debian/postrm debian/preinst debian/prerm debian/trees/daemon/DEBIAN
|
|
||||||
if ! dpkg-vendor --derives-from Ubuntu; then \
|
|
||||||
rm -f debian/dnsmasq.postinst.debhelper debian/dnsmasq.postrm.debhelper; \
|
|
||||||
dh_runit -pdnsmasq -Pdebian/trees/daemon; \
|
|
||||||
cat debian/dnsmasq.postinst.debhelper >> debian/trees/daemon/DEBIAN/postinst; \
|
|
||||||
cat debian/dnsmasq.postrm.debhelper >> debian/trees/daemon/DEBIAN/postrm; \
|
|
||||||
cd debian/trees/daemon && find etc/sv -type f -printf '/%p\n' >>DEBIAN/conffiles; \
|
|
||||||
fi
|
fi
|
||||||
install -m 755 debian/init debian/trees/daemon/etc/init.d/dnsmasq
|
|
||||||
install -m 755 debian/resolvconf debian/trees/daemon/etc/resolvconf/update.d/dnsmasq
|
|
||||||
install -m 755 debian/resolvconf-package debian/trees/daemon/usr/lib/resolvconf/dpkg-event.d/dnsmasq
|
|
||||||
install -m 644 debian/installed-marker debian/trees/daemon/usr/share/dnsmasq
|
|
||||||
install -m 644 debian/default debian/trees/daemon/etc/default/dnsmasq
|
|
||||||
install -m 644 dnsmasq.conf.example debian/trees/daemon/etc/dnsmasq.conf
|
|
||||||
install -m 644 debian/readme.dnsmasq.d debian/trees/daemon/etc/dnsmasq.d/README
|
|
||||||
install -m 644 debian/systemd.service debian/trees/daemon/lib/systemd/system/dnsmasq.service
|
|
||||||
install -m 644 debian/systemd@.service debian/trees/daemon/lib/systemd/system/dnsmasq@.service
|
|
||||||
install -m 644 debian/tmpfiles.conf debian/trees/daemon/usr/lib/tmpfiles.d/dnsmasq.conf
|
|
||||||
install -m 644 debian/insserv debian/trees/daemon/etc/insserv.conf.d/dnsmasq
|
|
||||||
install -m 644 debian/copyright debian/trees/daemon/usr/share/doc/dnsmasq/copyright
|
|
||||||
install -m 644 debian/changelog debian/trees/daemon/usr/share/doc/dnsmasq/changelog.Debian
|
|
||||||
gzip -9n debian/trees/daemon/usr/share/doc/dnsmasq/changelog.Debian
|
|
||||||
cd debian/trees/daemon && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
|
|
||||||
dpkg-gencontrol $(PACKAGE_VERSION) -Tdebian/dnsmasq.substvars -pdnsmasq -Pdebian/trees/daemon
|
|
||||||
find debian/trees/daemon -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
|
|
||||||
chown -R root.root debian/trees/daemon
|
|
||||||
chmod -R g-ws debian/trees/daemon
|
|
||||||
dpkg --build debian/trees/daemon ..
|
|
||||||
|
|
||||||
binary-arch: checkroot
|
# Upstream builds and installs in one go, so do we.
|
||||||
$(call build_tree,debian/trees/base)
|
override_dh_auto_build:
|
||||||
make $(TARGET) BUILDDIR=debian/build/no-lua PREFIX=/usr DESTDIR=`pwd`/debian/trees/base CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" COPTS="$(DEB_COPTS)" CC=$(CC) PKG_CONFIG=$(PKG_CONFIG) LIBS="$(LIBS)"
|
|
||||||
|
override_dh_auto_install:
|
||||||
|
dh_auto_build -p dnsmasq-base --no-parallel -- install-i18n \
|
||||||
|
BUILDDIR=debian/auto-build/dnsmasq-base \
|
||||||
|
DESTDIR=$(CURDIR)/debian/dnsmasq-base \
|
||||||
|
PREFIX=$(PREFIX) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
||||||
|
COPTS="$(COPTS)"
|
||||||
|
dh_auto_build -p dnsmasq-base-lua --no-parallel -- install-i18n \
|
||||||
|
BUILDDIR=debian/auto-build/dnsmasq-base-lua \
|
||||||
|
DESTDIR=$(CURDIR)/debian/dnsmasq-base-lua \
|
||||||
|
PREFIX=$(PREFIX) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
||||||
|
COPTS="$(COPTS) -DHAVE_LUASCRIPT"
|
||||||
|
dh_auto_build -p dnsmasq-utils -D contrib/lease-tools
|
||||||
|
|
||||||
|
override_dh_auto_clean:
|
||||||
|
dh_auto_clean -p dnsmasq-base -- \
|
||||||
|
BUILDDIR=debian/auto-build/dnsmasq-base
|
||||||
|
dh_auto_clean -p dnsmasq-base-lua -- \
|
||||||
|
BUILDDIR=debian/auto-build/dnsmasq-base-lua
|
||||||
|
rm -rf debian/auto-build
|
||||||
|
dh_auto_clean -p dnsmasq-utils -D contrib/lease-tools
|
||||||
|
|
||||||
|
override_dh_install:
|
||||||
|
dh_install -p dnsmasq-utils --sourcedir=contrib/lease-tools
|
||||||
|
dh_install --remaining-packages
|
||||||
|
|
||||||
|
# If 'nodoc' is absent from DEB_BUILD_OPTIONS, Correct name or location of
|
||||||
|
# some doc files.
|
||||||
|
# We would prefer do this via dh-exec if it would support dh_installdocs.
|
||||||
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
||||||
$(call add_docs,debian/trees/base)
|
execute_after_dh_installdocs:
|
||||||
else
|
for d in $(CURDIR)/debian/dnsmasq-base*/usr/share/doc/dnsmasq-base*; do \
|
||||||
rm -rf debian/trees/base/usr/share/man
|
cd $$d; \
|
||||||
endif
|
mv readme README.Debian; \
|
||||||
$(call add_files,debian/trees/base)
|
mv CHANGELOG.archive changelog.archive; \
|
||||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
mkdir examples; \
|
||||||
$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/trees/base/usr/sbin/dnsmasq
|
mv dnsmasq.conf.example examples/; \
|
||||||
endif
|
done
|
||||||
cd debian/trees/base && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
|
|
||||||
dpkg-shlibdeps --warnings=1 debian/trees/base/usr/sbin/dnsmasq
|
|
||||||
dpkg-gencontrol $(PACKAGE_VERSION) -pdnsmasq-base -Pdebian/trees/base
|
|
||||||
find debian/trees/base -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
|
|
||||||
chown -R root.root debian/trees/base
|
|
||||||
chmod -R g-ws debian/trees/base
|
|
||||||
dpkg --build debian/trees/base ..
|
|
||||||
|
|
||||||
$(call build_tree,debian/trees/lua-base)
|
|
||||||
make $(TARGET) BUILDDIR=debian/build/lua PREFIX=/usr DESTDIR=`pwd`/debian/trees/lua-base CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" COPTS="-DHAVE_LUASCRIPT $(DEB_COPTS)" CC=$(CC) PKG_CONFIG=$(PKG_CONFIG) LIBS="$(LIBS)"
|
|
||||||
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
|
||||||
$(call add_docs,debian/trees/lua-base)
|
|
||||||
else
|
|
||||||
rm -rf debian/trees/lua-base/usr/share/man
|
|
||||||
endif
|
|
||||||
$(call add_files,debian/trees/lua-base)
|
|
||||||
install -m 755 -d debian/trees/lua-base/usr/share/lintian/overrides
|
|
||||||
install -m 644 debian/lintian-override debian/trees/lua-base/usr/share/lintian/overrides/dnsmasq-base-lua
|
|
||||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
|
||||||
$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/trees/lua-base/usr/sbin/dnsmasq
|
|
||||||
endif
|
|
||||||
ln -s $(package) debian/trees/lua-base/usr/share/doc/dnsmasq-base-lua
|
|
||||||
cd debian/trees/lua-base && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
|
|
||||||
dpkg-shlibdeps --warnings=1 debian/trees/lua-base/usr/sbin/dnsmasq
|
|
||||||
dpkg-gencontrol $(PACKAGE_VERSION) -pdnsmasq-base-lua -Pdebian/trees/lua-base
|
|
||||||
find debian/trees/lua-base -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
|
|
||||||
chown -R root.root debian/trees/lua-base
|
|
||||||
chmod -R g-ws debian/trees/lua-base
|
|
||||||
dpkg --build debian/trees/lua-base ..
|
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
|
||||||
rm -rf debian/trees/utils
|
|
||||||
install -m 755 -d debian/trees/utils/DEBIAN \
|
|
||||||
-d debian/trees/utils/usr/bin \
|
|
||||||
-d debian/trees/utils/usr/share/doc/dnsmasq-utils
|
|
||||||
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
|
||||||
install -m 755 -d debian/trees/utils/usr/share/man/man1
|
|
||||||
endif
|
|
||||||
make -C contrib/lease-tools PREFIX=/usr DESTDIR=`pwd`/debian/trees/utils CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" COPTS="$(DEB_COPTS)" CC=$(CC) PKG_CONFIG=$(PKG_CONFIG) LIBS="$(LIBS)"
|
|
||||||
install -m 755 contrib/lease-tools/dhcp_release debian/trees/utils/usr/bin/dhcp_release
|
|
||||||
install -m 755 contrib/lease-tools/dhcp_release6 debian/trees/utils/usr/bin/dhcp_release6
|
|
||||||
install -m 755 contrib/lease-tools/dhcp_lease_time debian/trees/utils/usr/bin/dhcp_lease_time
|
|
||||||
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
|
||||||
install -m 644 contrib/lease-tools/dhcp_release.1 debian/trees/utils/usr/share/man/man1/dhcp_release.1
|
|
||||||
gzip -9n debian/trees/utils/usr/share/man/man1/dhcp_release.1
|
|
||||||
install -m 644 contrib/lease-tools/dhcp_release6.1 debian/trees/utils/usr/share/man/man1/dhcp_release6.1
|
|
||||||
gzip -9n debian/trees/utils/usr/share/man/man1/dhcp_release6.1
|
|
||||||
install -m 644 contrib/lease-tools/dhcp_lease_time.1 debian/trees/utils/usr/share/man/man1/dhcp_lease_time.1
|
|
||||||
gzip -9n debian/trees/utils/usr/share/man/man1/dhcp_lease_time.1
|
|
||||||
endif
|
|
||||||
install -m 644 debian/copyright debian/trees/utils/usr/share/doc/dnsmasq-utils/copyright
|
|
||||||
install -m 644 debian/changelog debian/trees/utils/usr/share/doc/dnsmasq-utils/changelog.Debian
|
|
||||||
gzip -9n debian/trees/utils/usr/share/doc/dnsmasq-utils/changelog.Debian
|
|
||||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
|
||||||
$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/trees/utils/usr/bin/dhcp_release
|
|
||||||
$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/trees/utils/usr/bin/dhcp_release6
|
|
||||||
$(DEB_HOST_GNU_TYPE)-strip -R .note -R .comment debian/trees/utils/usr/bin/dhcp_lease_time
|
|
||||||
endif
|
|
||||||
cd debian/trees/utils && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | LC_ALL=C sort -z | xargs -r0 md5sum > DEBIAN/md5sums
|
|
||||||
dpkg-shlibdeps -Tdebian/utils-substvars debian/trees/utils/usr/bin/dhcp_release debian/trees/utils/usr/bin/dhcp_release6 debian/trees/utils/usr/bin/dhcp_lease_time
|
|
||||||
dpkg-gencontrol $(PACKAGE_VERSION) -Tdebian/utils-substvars -pdnsmasq-utils -Pdebian/trees/utils
|
|
||||||
find debian/trees/utils -depth -newermt '$(BUILD_DATE)' -print0 | xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
|
|
||||||
chown -R root.root debian/trees/utils
|
|
||||||
chmod -R g-ws debian/trees/utils
|
|
||||||
dpkg --build debian/trees/utils ..
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define checkdir
|
# If 'nodoc' is present in DEB_BUILD_OPTIONS, drop the man pages already
|
||||||
test -f Makefile -a -f debian/rules
|
# installed by the upstream build script. Then, let dh_installman do what
|
||||||
endef
|
# else needs doing.
|
||||||
|
override_dh_installman:
|
||||||
# Below here is fairly generic really
|
ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
|
||||||
|
rm -rf debian/dnsmasq-base*/usr/share/man
|
||||||
binary: binary-arch binary-indep
|
endif
|
||||||
|
dh_installman -p dnsmasq-utils --sourcedir=contrib/lease-tools
|
||||||
build:
|
dh_installman --remaining-packages
|
||||||
build-arch:
|
|
||||||
build-indep:
|
|
||||||
|
|
||||||
checkroot:
|
|
||||||
test root = "`whoami`"
|
|
||||||
|
|
||||||
.PHONY: binary binary-arch binary-indep clean checkroot
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
2
debian/source/format
vendored
2
debian/source/format
vendored
@@ -1 +1 @@
|
|||||||
1.0
|
3.0 (quilt)
|
||||||
|
|||||||
34
debian/systemd-helper
vendored
Executable file
34
debian/systemd-helper
vendored
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. /usr/share/dnsmasq/init-system-common
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
checkconfig)
|
||||||
|
checkconfig
|
||||||
|
;;
|
||||||
|
start-resolvconf)
|
||||||
|
start_resolvconf
|
||||||
|
;;
|
||||||
|
stop-resolvconf)
|
||||||
|
stop_resolvconf
|
||||||
|
;;
|
||||||
|
exec)
|
||||||
|
# /run may be volatile, so we need to ensure that
|
||||||
|
# /run/dnsmasq exists here as well as in postinst
|
||||||
|
if [ ! -d /run/dnsmasq ]; then
|
||||||
|
mkdir /run/dnsmasq || { [ -d /run/dnsmasq ] || exit 2 ; }
|
||||||
|
chown dnsmasq:nogroup /run/dnsmasq || exit 2
|
||||||
|
fi
|
||||||
|
exec ${DAEMON} -x /run/dnsmasq/${NAME}${INSTANCE:+.${INSTANCE}}.pid \
|
||||||
|
${MAILHOSTNAME:+ -m ${MAILHOSTNAME}} \
|
||||||
|
${MAILTARGET:+ -t ${MAILTARGET}} \
|
||||||
|
${DNSMASQ_USER:+ -u ${DNSMASQ_USER}} \
|
||||||
|
${DNSMASQ_INTERFACES:+ ${DNSMASQ_INTERFACES}} \
|
||||||
|
${DHCP_LEASE:+ -l ${DHCP_LEASE}} \
|
||||||
|
${DOMAIN_SUFFIX:+ -s ${DOMAIN_SUFFIX}} \
|
||||||
|
${RESOLV_CONF:+ -r ${RESOLV_CONF}} \
|
||||||
|
${CACHESIZE:+ -c ${CACHESIZE}} \
|
||||||
|
${CONFIG_DIR:+ -7 ${CONFIG_DIR}} \
|
||||||
|
${DNSMASQ_OPTS:+ ${DNSMASQ_OPTS}}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
7
debian/tests/compile-time-options
vendored
Executable file
7
debian/tests/compile-time-options
vendored
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. debian/tests/functions
|
||||||
|
|
||||||
|
check_compile_time_options
|
||||||
7
debian/tests/compile-time-options+lua
vendored
Executable file
7
debian/tests/compile-time-options+lua
vendored
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. debian/tests/functions
|
||||||
|
|
||||||
|
check_compile_time_options +lua
|
||||||
39
debian/tests/control
vendored
Normal file
39
debian/tests/control
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Tests: compile-time-options
|
||||||
|
Depends: dnsmasq,
|
||||||
|
dnsmasq-base,
|
||||||
|
Restrictions: needs-root,
|
||||||
|
isolation-container,
|
||||||
|
|
||||||
|
Tests: compile-time-options+lua
|
||||||
|
Depends: dnsmasq,
|
||||||
|
dnsmasq-base-lua,
|
||||||
|
Restrictions: needs-root,
|
||||||
|
isolation-container,
|
||||||
|
|
||||||
|
Tests: get-address+query-dns+check-utils
|
||||||
|
Depends: bind9,
|
||||||
|
bind9-dnsutils,
|
||||||
|
dnsmasq,
|
||||||
|
dnsmasq-base,
|
||||||
|
dnsmasq-utils,
|
||||||
|
Restrictions: needs-root,
|
||||||
|
allow-stderr,
|
||||||
|
isolation-container,
|
||||||
|
|
||||||
|
Tests: get-address+query-dns+lua+alt
|
||||||
|
Depends: bind9,
|
||||||
|
bind9-dnsutils,
|
||||||
|
dnsmasq,
|
||||||
|
dnsmasq-base-lua,
|
||||||
|
Restrictions: needs-root,
|
||||||
|
allow-stderr,
|
||||||
|
isolation-container,
|
||||||
|
|
||||||
|
Tests: get-address+query-dns+sysv+alt
|
||||||
|
Depends: bind9,
|
||||||
|
bind9-dnsutils,
|
||||||
|
dnsmasq,
|
||||||
|
dnsmasq-base,
|
||||||
|
Restrictions: needs-root,
|
||||||
|
allow-stderr,
|
||||||
|
isolation-container,
|
||||||
151
debian/tests/functions
vendored
Normal file
151
debian/tests/functions
vendored
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
# -*- shell-script -*-
|
||||||
|
|
||||||
|
FUNCTIONS_DIR="debian/tests/functions.d"
|
||||||
|
|
||||||
|
match_or_exit () {
|
||||||
|
file_to_match="$1"
|
||||||
|
pattern_file="$2"
|
||||||
|
|
||||||
|
while read line_to_match <&3 && read pattern_line <&4 ; do
|
||||||
|
if [ "${line_to_match##$pattern_line}" ]; then
|
||||||
|
echo '!!! MISMATCH !!!' >&2
|
||||||
|
echo "Line: ${line_to_match}" >&2
|
||||||
|
echo "Pattern: ${pattern_line}" >&2
|
||||||
|
exit 1
|
||||||
|
fi;
|
||||||
|
done 3<"${file_to_match}" 4<"${pattern_file}"
|
||||||
|
}
|
||||||
|
|
||||||
|
linecount () {
|
||||||
|
wc -l $1 | cut -d' ' -f1
|
||||||
|
}
|
||||||
|
|
||||||
|
error_exit () {
|
||||||
|
echo "ERROR: $1"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_dnsmasq_bind_networking () {
|
||||||
|
systemctl stop dnsmasq.service
|
||||||
|
systemctl stop named.service
|
||||||
|
systemctl stop networking.service
|
||||||
|
}
|
||||||
|
|
||||||
|
configure_and_start_networking () {
|
||||||
|
#Add interfaces needed for the test
|
||||||
|
cat ${FUNCTIONS_DIR}/add-to.interfaces >> /etc/network/interfaces
|
||||||
|
systemctl start networking.service
|
||||||
|
}
|
||||||
|
|
||||||
|
configure_and_start_bind () {
|
||||||
|
cp ${FUNCTIONS_DIR}/db.autopkg.test /etc/bind/
|
||||||
|
cat ${FUNCTIONS_DIR}/add-to.named.conf.local >> /etc/bind/named.conf.local
|
||||||
|
cp ${FUNCTIONS_DIR}/named.conf.options /etc/bind/named.conf.options
|
||||||
|
systemctl start named.service
|
||||||
|
}
|
||||||
|
|
||||||
|
configure_and_start_dnsmasq () {
|
||||||
|
alt_mode=0
|
||||||
|
lua_mode=0
|
||||||
|
sysv_mode=0
|
||||||
|
service='dnsmasq.service'
|
||||||
|
sysv_param2=''
|
||||||
|
conf_dir='/etc/dnsmasq.d'
|
||||||
|
|
||||||
|
while [ -n "$1" ]; do
|
||||||
|
case "$1" in
|
||||||
|
alt|lua|sysv) eval ${1}_mode=1 ;;
|
||||||
|
*) error_exit "configure_and_start_dnsmasq(): invalid flag '$1'"
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${alt_mode} -eq 1 ]; then
|
||||||
|
cp ${FUNCTIONS_DIR}/dnsmasq.alt-autopkgtest.default /etc/default/dnsmasq.alt
|
||||||
|
cp /etc/dnsmasq.conf /etc/dnsmasq.alt.conf
|
||||||
|
mkdir /etc/dnsmasq.alt.d
|
||||||
|
service='dnsmasq@alt.service'
|
||||||
|
sysv_param2='alt'
|
||||||
|
conf_dir='/etc/dnsmasq.alt.d'
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp ${FUNCTIONS_DIR}/dnsmasq-autopkgtest.conf "${conf_dir}"
|
||||||
|
|
||||||
|
if [ ${lua_mode} -eq 1 ]; then
|
||||||
|
mkdir -p /usr/local/share/dnsmasq
|
||||||
|
cp ${FUNCTIONS_DIR}/log.lua /usr/local/share/dnsmasq/
|
||||||
|
echo "dhcp-luascript=/usr/local/share/dnsmasq/log.lua\n" \
|
||||||
|
>>"${conf_dir}"/dnsmasq-autopkgtest.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${sysv_mode} -eq 1 ]; then
|
||||||
|
SYSTEMCTL_SKIP_REDIRECT=1 /etc/init.d/dnsmasq start "${sysv_param2}"
|
||||||
|
else
|
||||||
|
systemctl enable "${service}"
|
||||||
|
systemctl start "${service}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_compile_time_options () {
|
||||||
|
journalctl -b -u dnsmasq
|
||||||
|
echo ~~~ Check compile time options...
|
||||||
|
journalctl -b -u dnsmasq -g '[a-z]+: ' --output cat >options.msg
|
||||||
|
cat options.msg
|
||||||
|
match_or_exit options.msg ${FUNCTIONS_DIR}/options${1}.patterns
|
||||||
|
}
|
||||||
|
|
||||||
|
get_address_on_veth1_and_check_the_result () {
|
||||||
|
echo ~~~ Get an address on veth1 and check the result...
|
||||||
|
ip netns exec clientnet ifup veth1
|
||||||
|
ip netns exec clientnet ip addr show dev veth1 >ip-addr.out 2>&1
|
||||||
|
cat ip-addr.out
|
||||||
|
match_or_exit ip-addr.out ${FUNCTIONS_DIR}/ip-addr.patterns
|
||||||
|
}
|
||||||
|
|
||||||
|
query_test_zone_records_and_check_the_result () {
|
||||||
|
echo ~~~ Query some test zone records and check the result...
|
||||||
|
ip netns exec clientnet dig +short SOA autopkg.test >dig.out 2>&1
|
||||||
|
ip netns exec clientnet dig +short NS autopkg.test >>dig.out 2>&1
|
||||||
|
ip netns exec clientnet dig +short A ns.autopkg.test >>dig.out 2>&1
|
||||||
|
ip netns exec clientnet dig +short A dhcp3.autopkg.test >>dig.out 2>&1
|
||||||
|
cat dig.out
|
||||||
|
if [ `linecount dig.out` -ne `linecount ${FUNCTIONS_DIR}/dig.patterns` ] ; then
|
||||||
|
error_exit 'empty or unexpected output'
|
||||||
|
fi
|
||||||
|
match_or_exit dig.out ${FUNCTIONS_DIR}/dig.patterns
|
||||||
|
}
|
||||||
|
|
||||||
|
check_utils () {
|
||||||
|
#Test dhcp_lease_time and dhcp_release
|
||||||
|
leases_file='/var/lib/misc/dnsmasq.leases'
|
||||||
|
client_ip_address=`cut -d' ' -f3 $leases_file`
|
||||||
|
client_mac_address=`cut -d' ' -f2 $leases_file`
|
||||||
|
echo ~~~ Test dhcp_lease_time...
|
||||||
|
if ! dhcp_lease_time $client_ip_address; then
|
||||||
|
error_exit "'dhcp_lease_time $client_ip_address' failed with return code $?"
|
||||||
|
else
|
||||||
|
#Add \n to dhcp_lease_time's output
|
||||||
|
echo ''
|
||||||
|
fi
|
||||||
|
echo ~~~ Test dhcp_release...
|
||||||
|
cat $leases_file
|
||||||
|
if ! dhcp_release veth0 $client_ip_address 1-$client_mac_address; then
|
||||||
|
error_exit "'dhcp_release veth0 $client_ip_address 1-$client_mac_address' failed with return code $?0"
|
||||||
|
fi
|
||||||
|
if [ -n "`cat $leases_file`" ]; then
|
||||||
|
cat $leases_file
|
||||||
|
error_exit "$leases_file is not empty"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_lua_log () {
|
||||||
|
log_file='/var/log/dnsmasq-lua.log'
|
||||||
|
echo ~~~ Check log file generated by lua script
|
||||||
|
ls -l ${log_file}
|
||||||
|
if [ -s ${log_file} ]; then
|
||||||
|
cat ${log_file}
|
||||||
|
match_or_exit ${log_file} ${FUNCTIONS_DIR}/log.patterns
|
||||||
|
else
|
||||||
|
error_exit "${log_file} is empty"
|
||||||
|
fi
|
||||||
|
}
|
||||||
18
debian/tests/functions.d/add-to.interfaces
vendored
Normal file
18
debian/tests/functions.d/add-to.interfaces
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
auto dummy0
|
||||||
|
iface dummy0 inet static
|
||||||
|
pre-up ip link add dummy0 type dummy
|
||||||
|
address 192.168.141.1
|
||||||
|
netmask 255.255.255.248
|
||||||
|
post-down ip link del dummy0
|
||||||
|
|
||||||
|
auto veth0
|
||||||
|
iface veth0 inet static
|
||||||
|
pre-up ip netns add clientnet
|
||||||
|
pre-up ip link add veth0 type veth peer veth1 netns clientnet
|
||||||
|
address 192.168.142.1
|
||||||
|
netmask 255.255.255.248
|
||||||
|
post-down ip link del veth0
|
||||||
|
post-down ip netns del clientnet
|
||||||
|
|
||||||
|
iface veth1 inet dhcp
|
||||||
2
debian/tests/functions.d/add-to.named.conf.local
vendored
Normal file
2
debian/tests/functions.d/add-to.named.conf.local
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
zone "autopkg.test" { type master; file "/etc/bind/db.autopkg.test"; };
|
||||||
|
|
||||||
18
debian/tests/functions.d/db.autopkg.test
vendored
Normal file
18
debian/tests/functions.d/db.autopkg.test
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
$TTL 604800
|
||||||
|
@ IN SOA ns.autopkg.test. hostmaster.autopkg.test. (
|
||||||
|
2 ; Serial
|
||||||
|
604800 ; Refresh
|
||||||
|
86400 ; Retry
|
||||||
|
2419200 ; Expire
|
||||||
|
300 ) ; Negative Cache TTL
|
||||||
|
;
|
||||||
|
@ IN NS ns
|
||||||
|
ns IN A 192.168.141.1
|
||||||
|
host IN A 192.168.142.1
|
||||||
|
dhcp0 IN A 192.168.142.2
|
||||||
|
dhcp1 IN A 192.168.142.3
|
||||||
|
dhcp2 IN A 192.168.142.4
|
||||||
|
dhcp3 IN A 192.168.142.5
|
||||||
|
dhcp4 IN A 192.168.142.6
|
||||||
|
brdcst IN A 192.168.142.7
|
||||||
|
|
||||||
4
debian/tests/functions.d/dig.patterns
vendored
Normal file
4
debian/tests/functions.d/dig.patterns
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
ns.autopkg.test. hostmaster.autopkg.test. 2 604800 86400 2419200 300
|
||||||
|
ns.autopkg.test.
|
||||||
|
192.168.141.1
|
||||||
|
192.168.142.5
|
||||||
6
debian/tests/functions.d/dnsmasq-autopkgtest.conf
vendored
Normal file
6
debian/tests/functions.d/dnsmasq-autopkgtest.conf
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
no-resolv
|
||||||
|
server=/autopkg.test/192.168.141.1
|
||||||
|
listen-address=192.168.142.1,127.0.0.1
|
||||||
|
bind-interfaces
|
||||||
|
dhcp-range=192.168.142.2,192.168.142.6
|
||||||
|
dhcp-authoritative
|
||||||
42
debian/tests/functions.d/dnsmasq.alt-autopkgtest.default
vendored
Normal file
42
debian/tests/functions.d/dnsmasq.alt-autopkgtest.default
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# This file has six functions:
|
||||||
|
# 1) to completely disable starting this dnsmasq instance
|
||||||
|
# 2) to set DOMAIN_SUFFIX by running `dnsdomainname`
|
||||||
|
# 3) to select an alternative config file
|
||||||
|
# by setting DNSMASQ_OPTS to --conf-file=<file>
|
||||||
|
# 4) to tell dnsmasq to read the files in /etc/dnsmasq.d for
|
||||||
|
# more configuration variables.
|
||||||
|
# 5) to stop the resolvconf package from controlling dnsmasq's
|
||||||
|
# idea of which upstream nameservers to use.
|
||||||
|
# 6) to avoid using this dnsmasq instance as the system's default resolver
|
||||||
|
# by setting DNSMASQ_EXCEPT="lo"
|
||||||
|
# For upgraders from very old versions, all the shell variables set
|
||||||
|
# here in previous versions are still honored by the init script
|
||||||
|
# so if you just keep your old version of this file nothing will break.
|
||||||
|
|
||||||
|
#DOMAIN_SUFFIX=`dnsdomainname`
|
||||||
|
DNSMASQ_OPTS="--conf-file=/etc/dnsmasq.alt.conf"
|
||||||
|
|
||||||
|
# The dnsmasq daemon is run by default conforming to the Debian Policy.
|
||||||
|
# To disable the service,
|
||||||
|
# for SYSV init, use "update-rc.d dnsmasq disable",
|
||||||
|
# for systemd, use "systemctl disable dnsmasq".
|
||||||
|
|
||||||
|
# By default search this drop directory for configuration options.
|
||||||
|
# Libvirt leaves a file here to make the system dnsmasq play nice.
|
||||||
|
# Comment out this line if you don't want this. The dpkg-* are file
|
||||||
|
# endings which cause dnsmasq to skip that file. This avoids pulling
|
||||||
|
# in backups made by dpkg.
|
||||||
|
CONFIG_DIR=/etc/dnsmasq.alt.d,.dpkg-dist,.dpkg-old,.dpkg-new
|
||||||
|
|
||||||
|
# If the resolvconf package is installed, dnsmasq will use its output
|
||||||
|
# rather than the contents of /etc/resolv.conf to find upstream
|
||||||
|
# nameservers. Uncommenting this line inhibits this behaviour.
|
||||||
|
# Note that including a "resolv-file=<filename>" line in
|
||||||
|
# /etc/dnsmasq.conf is not enough to override resolvconf if it is
|
||||||
|
# installed: the line below must be uncommented.
|
||||||
|
#IGNORE_RESOLVCONF=yes
|
||||||
|
|
||||||
|
# If the resolvconf package is installed, dnsmasq will tell resolvconf
|
||||||
|
# to use dnsmasq under 127.0.0.1 as the system's default resolver.
|
||||||
|
# Uncommenting this line inhibits this behaviour.
|
||||||
|
#DNSMASQ_EXCEPT="lo"
|
||||||
6
debian/tests/functions.d/ip-addr.patterns
vendored
Normal file
6
debian/tests/functions.d/ip-addr.patterns
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
?: veth1@if?: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
|
||||||
|
link/ether ??:??:??:??:??:?? brd ff:ff:ff:ff:ff:ff link-netnsid 0
|
||||||
|
inet 192.168.142.?/29 brd 192.168.142.7 scope global dynamic veth1
|
||||||
|
valid_lft 3[56][0-9][0-9]sec preferred_lft 3[56][0-9][0-9]sec
|
||||||
|
inet6 fe80::*:*:*:*/64 scope link*
|
||||||
|
valid_lft forever preferred_lft forever
|
||||||
40
debian/tests/functions.d/log.lua
vendored
Normal file
40
debian/tests/functions.d/log.lua
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
-- Lua script logging calls from dnsmasq
|
||||||
|
|
||||||
|
-- Open the log file in append mode
|
||||||
|
logfile = assert(io.open("/var/log/dnsmasq-lua.log", "a"))
|
||||||
|
|
||||||
|
-- Prepend date and time to a string and write the result to the log file
|
||||||
|
function __log(str)
|
||||||
|
logfile:write(os.date("!%FT%TZ ")..str.."\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- flush the log file
|
||||||
|
function __flush_log()
|
||||||
|
logfile:flush()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Log a call to init()
|
||||||
|
function init()
|
||||||
|
__log("initialising")
|
||||||
|
__flush_log()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Log a call to shutdown()
|
||||||
|
function shutdown()
|
||||||
|
__log("shutting down")
|
||||||
|
__flush_log()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Log a call to lease() including all arguments
|
||||||
|
function lease(operation, params)
|
||||||
|
local lines = {}
|
||||||
|
__log(operation.." lease")
|
||||||
|
for key,value in pairs(params) do
|
||||||
|
table.insert(lines, key..": "..value)
|
||||||
|
end
|
||||||
|
table.sort(lines)
|
||||||
|
for index,line in ipairs(lines) do
|
||||||
|
__log("\t"..line)
|
||||||
|
end
|
||||||
|
__flush_log()
|
||||||
|
end
|
||||||
10
debian/tests/functions.d/log.patterns
vendored
Normal file
10
debian/tests/functions.d/log.patterns
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
????-??-??T??:??:??Z initialising
|
||||||
|
????-??-??T??:??:??Z add lease
|
||||||
|
????-??-??T??:??:??Z client_id: ??:??:??:??:??:??:??:??:??:??:??:??:??:??:??:??:??:??:??
|
||||||
|
????-??-??T??:??:??Z data_missing: 1.0
|
||||||
|
????-??-??T??:??:??Z hostname: ?*
|
||||||
|
????-??-??T??:??:??Z interface: veth0
|
||||||
|
????-??-??T??:??:??Z ip_address: 192.168.142.[2-6]
|
||||||
|
????-??-??T??:??:??Z lease_expires: [1-9]*
|
||||||
|
????-??-??T??:??:??Z mac_address: ??:??:??:??:??:??
|
||||||
|
????-??-??T??:??:??Z time_remaining: 3600.0
|
||||||
6
debian/tests/functions.d/named.conf.options
vendored
Normal file
6
debian/tests/functions.d/named.conf.options
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
options {
|
||||||
|
directory "/var/cache/bind";
|
||||||
|
listen-on { 192.168.141.1; };
|
||||||
|
recursion no;
|
||||||
|
};
|
||||||
|
|
||||||
1
debian/tests/functions.d/options+lua.patterns
vendored
Normal file
1
debian/tests/functions.d/options+lua.patterns
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
|
||||||
1
debian/tests/functions.d/options.patterns
vendored
Normal file
1
debian/tests/functions.d/options.patterns
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
|
||||||
19
debian/tests/get-address+query-dns+check-utils
vendored
Executable file
19
debian/tests/get-address+query-dns+check-utils
vendored
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. debian/tests/functions
|
||||||
|
|
||||||
|
stop_dnsmasq_bind_networking
|
||||||
|
configure_and_start_networking
|
||||||
|
configure_and_start_bind
|
||||||
|
configure_and_start_dnsmasq
|
||||||
|
|
||||||
|
get_address_on_veth1_and_check_the_result
|
||||||
|
|
||||||
|
query_test_zone_records_and_check_the_result
|
||||||
|
|
||||||
|
check_utils
|
||||||
|
|
||||||
|
#Done
|
||||||
|
echo Looks good.
|
||||||
19
debian/tests/get-address+query-dns+lua+alt
vendored
Executable file
19
debian/tests/get-address+query-dns+lua+alt
vendored
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. debian/tests/functions
|
||||||
|
|
||||||
|
stop_dnsmasq_bind_networking
|
||||||
|
configure_and_start_networking
|
||||||
|
configure_and_start_bind
|
||||||
|
configure_and_start_dnsmasq lua alt
|
||||||
|
|
||||||
|
get_address_on_veth1_and_check_the_result
|
||||||
|
|
||||||
|
query_test_zone_records_and_check_the_result
|
||||||
|
|
||||||
|
check_lua_log
|
||||||
|
|
||||||
|
#Done
|
||||||
|
echo Looks good.
|
||||||
18
debian/tests/get-address+query-dns+sysv+alt
vendored
Executable file
18
debian/tests/get-address+query-dns+sysv+alt
vendored
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. debian/tests/functions
|
||||||
|
|
||||||
|
stop_dnsmasq_bind_networking
|
||||||
|
configure_and_start_networking
|
||||||
|
configure_and_start_bind
|
||||||
|
configure_and_start_dnsmasq sysv alt
|
||||||
|
|
||||||
|
get_address_on_veth1_and_check_the_result
|
||||||
|
|
||||||
|
query_test_zone_records_and_check_the_result
|
||||||
|
|
||||||
|
#Done
|
||||||
|
echo Looks good.
|
||||||
|
SYSTEMCTL_SKIP_REDIRECT=1 /etc/init.d/dnsmasq stop alt
|
||||||
9
debian/upstream/metadata
vendored
Normal file
9
debian/upstream/metadata
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Cite-As: dnsmasq
|
||||||
|
Contact: simon@thekelleys.org.uk
|
||||||
|
Security-Contact: https://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
|
||||||
|
Repository: https://thekelleys.org.uk/git/dnsmasq.git
|
||||||
|
Repository-Browse: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=summary
|
||||||
|
Changelog: https://thekelleys.org.uk/dnsmasq/CHANGELOG
|
||||||
|
Documentation: https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
|
||||||
|
FAQ: https://thekelleys.org.uk/dnsmasq/docs/FAQ
|
||||||
|
Bug-Submit: https://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
|
||||||
63
debian/upstream/signing-key.asc
vendored
Normal file
63
debian/upstream/signing-key.asc
vendored
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=otES
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
5
debian/watch
vendored
Normal file
5
debian/watch
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
version=4
|
||||||
|
opts=\
|
||||||
|
pgpmode=auto \
|
||||||
|
https://thekelleys.org.uk/dnsmasq/ \
|
||||||
|
dnsmasq-([\d.]+)@ARCHIVE_EXT@
|
||||||
Reference in New Issue
Block a user