X-Git-Url: https://roy.marples.name/git diff --git a/dnsmasq b/dnsmasq index 604ab89..dbc6815 100755 --- a/dnsmasq +++ b/dnsmasq @@ -1,31 +1,31 @@ #!/bin/sh # Copyright 2006 Gentoo Foundation # Copyright 2007 Roy Marples +# All rights reserved -# dnsmasq-resolv.conf updater +# dnsmasq subscriber for resolvconf # Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the above listed copyright holder nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. # -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # This is very important! # We assume that we are a local dns cache - after all, why would a server @@ -64,7 +64,7 @@ NEWRESOLV="${NEWCONF}" # so we need to validate a few things first. # Check for DBus support in the binary DBUS=no -if [ -s "${PREFIX}"/var/run/dbus.pid -a "${PREFIX}"/var/run/dnsmasq.pid ]; then +if [ -s "${PREFIX}"/var/run/dbus.pid -a -s "${PREFIX}"/var/run/dnsmasq.pid ]; then if dnsmasq --version 2>/dev/null | \ grep -q "^Compile time options.*[[:space:]]DBus[[:space:]]" \ ; then @@ -149,10 +149,13 @@ else printf "${NEWRESOLV}" > "${DNSMASQRESOLV}" fi +[ -x /sbin/runscript ] && INIT_EXTRA="--quiet --nodeps" + if [ "${RELOAD}" = "yes" ]; then if [ -x "${PREFIX}"/etc/init.d/dnsmasq ]; then - /etc/init.d/dnsmasq --quiet --nodeps conditionalrestart - elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq ]; then + /etc/init.d/dnsmasq ${INIT_EXTRA} conditionalrestart + elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq -a -s /var/run/dnsmasq.pid ]; then + kill -0 $(cat /var/run/dnsmasq.pid) && \ "${PREFIX}"/etc/rc.d/dnsmasq restart fi fi @@ -160,7 +163,7 @@ fi if [ "${DBUS}" = "yes" ]; then if [ "${RELOAD}" != "yes" ]; then if [ -x "${PREFIX}"/etc/init.d/dnsmasq ]; then - /etc/init.d/dnsmasq --quiet reload + /etc/init.d/dnsmasq ${INIT_EXTRA} reload elif [ -x "${PREFIX}"/etc/rc.d/dnsmasq ]; then "${PREFIX}"/etc/rc.d/dnsmasq reload fi