diff options
author | Patrick McLean <chutzpah@gentoo.org> | 2012-03-07 21:59:19 +0000 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2012-03-07 21:59:19 +0000 |
commit | 00ba14af05cd3ffdf3681862390a7121fa1e8fc8 (patch) | |
tree | 61548a98b294437f5ec0f48490bd133d67725d17 /net-dns/dnsmasq/files | |
parent | Marking perl-Pod-Simple-3.160.0-r2 ppc64 for bug 391499 (diff) | |
download | gentoo-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-r2 | 25 | ||||
-rw-r--r-- | net-dns/dnsmasq/files/resolvconf.dnsmasq | 142 |
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 : |