EVERYTHING FROM THE OTHER REPO
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This file is part of avahi.
|
||||
#
|
||||
# avahi is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# avahi 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 Lesser General Public
|
||||
# License along with avahi; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA.
|
||||
|
||||
set -e
|
||||
|
||||
test "x$AVAHI_INTERFACE" != "x"
|
||||
|
||||
# Command line arguments:
|
||||
# $1 "+" if a new DNS server was found, "-" if one was removed
|
||||
# $2 DNS Server address
|
||||
# $3 interface index where this server was found on
|
||||
# $4 protocol number where this server was found on
|
||||
|
||||
# Available environment variables:
|
||||
#
|
||||
# $AVAHI_INTERFACE The interface name where this DNS server was found on
|
||||
# $AVAHI_INTERFACE_DNS_SERVERS A whitespace seperated list of DNS servers on $AVAHI_INTERFACE
|
||||
# $AVAHI_DNS_SERVERS The complete list of all DNS servers found on all interfaces
|
||||
|
||||
if [ -x /sbin/netconfig ]; then
|
||||
# SUSE method on 11.1+
|
||||
if [ -n "$AVAHI_INTERFACE_DNS_SERVERS" ]; then
|
||||
/sbin/netconfig modify -s avahi -i "$AVAHI_INTERFACE" <<-EOF
|
||||
INTERFACE='$AVAHI_INTERFACE'
|
||||
DNSSERVERS='$AVAHI_INTERFACE_DNS_SERVERS'
|
||||
EOF
|
||||
else
|
||||
/sbin/netconfig remove -s avahi -i "$AVAHI_INTERFACE"
|
||||
fi
|
||||
elif [ -x /sbin/modify_resolvconf ] ; then
|
||||
# method for SUSE <= 11.0
|
||||
if [ -n "$AVAHI_DNS_SERVERS" ]; then
|
||||
/sbin/modify_resolvconf modify -s avahi -t - -p avahi-dnsconfd -n "$AVAHI_DNS_SERVERS" <<-EOF
|
||||
if you don't like avahi to update your Nameservers
|
||||
disable the avahi-dnsconfd init script
|
||||
EOF
|
||||
else
|
||||
/sbin/modify_resolvconf restore -s avahi
|
||||
fi
|
||||
elif [ -x /sbin/resolvconf ] ; then
|
||||
|
||||
# We have Debian's resolvconf tool
|
||||
|
||||
if [ "x$AVAHI_INTERFACE_DNS_SERVERS" = "x" ] ; then
|
||||
/sbin/resolvconf -d "$AVAHI_INTERFACE.avahi"
|
||||
else
|
||||
for n in $AVAHI_INTERFACE_DNS_SERVERS ; do
|
||||
echo "nameserver $n"
|
||||
done | /sbin/resolvconf -a "$AVAHI_INTERFACE.avahi"
|
||||
fi
|
||||
else
|
||||
|
||||
# No resolvconf tool available
|
||||
|
||||
if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then
|
||||
test -f /etc/resolv.conf.avahi && mv /etc/resolv.conf.avahi /etc/resolv.conf
|
||||
else
|
||||
test -f /etc/resolv.conf.avahi || mv /etc/resolv.conf /etc/resolv.conf.avahi
|
||||
|
||||
for n in $AVAHI_DNS_SERVERS ; do
|
||||
echo "nameserver $n"
|
||||
done > /etc/resolv.conf
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user