summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2012-03-07 21:59:19 +0000
committerPatrick McLean <chutzpah@gentoo.org>2012-03-07 21:59:19 +0000
commit00ba14af05cd3ffdf3681862390a7121fa1e8fc8 (patch)
tree61548a98b294437f5ec0f48490bd133d67725d17 /net-dns/dnsmasq/files
parentMarking perl-Pod-Simple-3.160.0-r2 ppc64 for bug 391499 (diff)
downloadgentoo-2-00ba14af05cd3ffdf3681862390a7121fa1e8fc8.tar.gz
gentoo-2-00ba14af05cd3ffdf3681862390a7121fa1e8fc8.tar.bz2
gentoo-2-00ba14af05cd3ffdf3681862390a7121fa1e8fc8.zip
Version bump, rework configuration a bit to use a helper function. Add lua and script USE flags, and enable dhcpv6 if both the dhcp and ipv6 USE flags are enabled. Drop some older versions. Update copyright headers.
(Portage version: 2.1.10.49/cvs/Linux x86_64)
Diffstat (limited to 'net-dns/dnsmasq/files')
-rw-r--r--net-dns/dnsmasq/files/dnsmasq-init-r225
-rw-r--r--net-dns/dnsmasq/files/resolvconf.dnsmasq142
2 files changed, 25 insertions, 142 deletions
diff --git a/net-dns/dnsmasq/files/dnsmasq-init-r2 b/net-dns/dnsmasq/files/dnsmasq-init-r2
new file mode 100644
index 000000000000..08e747d1534b
--- /dev/null
+++ b/net-dns/dnsmasq/files/dnsmasq-init-r2
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/net-dns/dnsmasq/files/dnsmasq-init-r2,v 1.1 2012/03/07 21:59:19 chutzpah Exp $
+
+extra_started_commands="reload"
+
+pidfile="/var/run/dnsmasq.pid"
+command="/usr/sbin/dnsmasq"
+command_args="-x ${pidfile} ${DNSMASQ_OPTS}"
+start_stop_daemon_args="--retry TERM/3/TERM/5"
+
+depend() {
+ provide dns
+ need localmount net
+ after bootmisc
+ use logger
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --stop --oknodo --signal HUP \
+ --exec ${command} --pidfile ${pidfile}
+ eend $?
+}
diff --git a/net-dns/dnsmasq/files/resolvconf.dnsmasq b/net-dns/dnsmasq/files/resolvconf.dnsmasq
deleted file mode 100644
index 6895403fc288..000000000000
--- a/net-dns/dnsmasq/files/resolvconf.dnsmasq
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/bin/sh
-# Copyright 2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# dnsmasq-resolv.conf updater
-# Written by Roy Marples (uberlord@gentoo.org)
-
-# This is very important!
-# We assume that we are a local dns cache - after all, why would a server
-# use resolvconf?
-# Now that we have assumed this, we also assume that generic DHCP clients
-# will enter their domains and search domains ONLY in the "search" field
-# in their resolv.confs and VPN clients will put the domain they are for
-# into the domain field only.
-# This allows dnsmasq to forward domains for a specific VPN domain to the
-# VPN nameserver and everything else to the standard name servers.
-
-# A sample dnsmasq config that works as above is like so
-#domain-needed
-#interface=lo
-#resolv-file=/etc/dnsmasq-resolv.conf
-#conf-file=/etc/dnsmasq-resolvconf.conf
-
-# The last step is to configure dns configuration for /etc/resolv.conf
-# for the lo interface. In Gentoo we set it up like so in /etc/conf.d/net
-#dns_servers_lo="127.0.0.1"
-
-# Load our variables from resolvconf
-VARS="$(resolvconf -v)"
-eval "${VARS}"
-
-DNSMASQRESOLV="/etc/dnsmasq-resolv.conf"
-DNSMASQCONF="/etc/dnsmasq-resolvconf.conf"
-
-NEWCONF="# Generated by resolvconf\n"
-NEWRESOLV="${NEWCONF}"
-
-# Using DBUS means that we never have to restart the daemon
-# This is important as it means we should not drop DNS queries
-# whilst changing DNS options around. However, DBUS support is optional
-# so we need to validate a few things first.
-# Check for DBus support in the binary
-DBUS=no
-if dnsmasq --version 2>/dev/null | \
-grep -q "^Compile time options.*[[:space:]]DBus[[:space:]]" \
-; then
- # Sanity - check that dnsmasq and dbus are running
- if [ -x /etc/init.d/dbus -a -x /etc/init.d/dnsmasq ] ; then
- if /etc/init.d/dbus --quiet status && /etc/init.d/dnsmasq --quiet status ; then
- DBUS=yes
- NEWCONF="${NEWCONF}\n# Domain specific servers will be sent over dbus\n\nenable-dbus\n"
- fi
- fi
-fi
-
-uniqify() {
- local result=
- while [ -n "$1" ] ; do
- case " ${result} " in
- *" $1 "*) ;;
- *) result="${result} $1" ;;
- esac
- shift
- done
- echo "${result# *}"
-}
-
-# If we only have domain information then put it in search too
-[ -z "${NEWSEARCH}" -a -z "${NEWNS}" ] && NEWSEARCH="${NEWDOMAIN}"
-
-for N in ${NEWSEARCH} ; do
- case " ${NEWSL} " in
- *" ${N%,*} "*) ;;
- *) NEWSL="${NEWSL} ${N%,*}" ;;
- esac
- case "\n${NEWRESOLV}\n" in
- *"\nnameserver ${N#*,}\n"*) ;;
- *) NEWRESOLV="${NEWRESOLV}nameserver ${N#*,}\n" ;;
- esac
-done
-for N in ${NEWNS} ; do
- case "\n${NEWRESOLV}\n" in
- *"\nnameserver ${N}\n") ;;
- *) NEWRESOLV="${NEWRESOLV}nameserver ${N}\n" ;;
- esac
-done
-[ -n "${NEWSL}" ] && NEWRESOLV="${NEWRESOLV}search${NEWSL}\n"
-
-DBUSDEST=
-for DN in $(uniqify ${NEWDOMAIN}) ; do
- if [ "${DBUS}" = "yes" ] ; then
- IP=${DN#*,}
- SIFS=${IFS-y} OIFS=$IFS
- IFS=.
- set -- ${IP}
- NUM="0x$(printf "%02x" $1 $2 $3 $4)"
- if [ "${SIFS}" = "y" ] ; then
- IFS=$OIFS
- else
- unset IFS
- fi
- DBUSDEST="${DBUSDEST} uint32:$(printf "%d" ${NUM}) string:${DN%,*}"
- else
- NEWCONF="${NEWCONF}server=/${DN%,*}/${DN#*,}\n"
- fi
-done
-
-RELOAD="no"
-if [ -e "${DNSMASQCONF}" ] ; then
- if [ "$(cat "${DNSMASQCONF}")" != "$(printf "${NEWCONF}")" ] ; then
- RELOAD="yes"
- printf "${NEWCONF}" > "${DNSMASQCONF}"
- fi
-else
- RELOAD="yes"
- printf "${NEWCONF}" > "${DNSMASQCONF}"
-fi
-if [ -e "${DNSMASQRESOLV}" ] ; then
- if [ "$(cat "${DNSMASQRESOLV}")" != "$(printf "${NEWRESOLV}")" ] ; then
- RELOAD="yes"
- printf "${NEWRESOLV}" > "${DNSMASQRESOLV}"
- fi
-else
- # dnsmasq polls this file so no need to set RELOAD="yes"
- printf "${NEWRESOLV}" > "${DNSMASQRESOLV}"
-fi
-
-if [ "${RELOAD}" = "yes" -a -x /etc/init.d/dnsmasq ] ; then
- /etc/init.d/dnsmasq --quiet --nodeps conditionalrestart
-fi
-
-if [ "${DBUS}" = "yes" ] ; then
- if [ "${RELOAD}" != "yes" -a -x /etc/init.d/dnsmasq ] ; then
- /etc/init.d/dnsmasq --quiet reload
- fi
- # Send even if emtpy so old servers are cleared
- dbus-send --system --dest=uk.org.thekelleys.dnsmasq \
- /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetServers \
- ${DBUSDEST}
-fi
-
-# vim: ts=4 :