5 # This file is part of avahi.
7 # avahi is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2 of the
10 # License, or (at your option) any later version.
12 # avahi is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 # License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with avahi; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
24 test "x$AVAHI_INTERFACE" != "x"
26 # Command line arguments:
27 # $1 "+" if a new DNS server was found, "-" if one was removed
28 # $2 DNS Server address
29 # $3 interface index where this server was found on
30 # $4 protocol number where this server was found on
32 # Available environment variables:
34 # $AVAHI_INTERFACE The interface name where this DNS server was found on
35 # $AVAHI_INTERFACE_DNS_SERVERS A whitespace seperated list of DNS servers on $AVAHI_INTERFACE
36 # $AVAHI_DNS_SERVERS The complete list of all DNS servers found on all interfaces
38 if [ -x /sbin/netconfig ]; then
39 # SUSE method on 11.1+
40 if [ -n "$AVAHI_INTERFACE_DNS_SERVERS" ]; then
41 /sbin/netconfig modify -s avahi -i "$AVAHI_INTERFACE" <<-EOF
42 INTERFACE='$AVAHI_INTERFACE'
43 DNSSERVERS='$AVAHI_INTERFACE_DNS_SERVERS'
46 /sbin/netconfig remove -s avahi -i "$AVAHI_INTERFACE"
48 elif [ -x /sbin/modify_resolvconf ] ; then
49 # method for SUSE <= 11.0
50 if [ -n "$AVAHI_DNS_SERVERS" ]; then
51 /sbin/modify_resolvconf modify -s avahi -t - -p avahi-dnsconfd -n "$AVAHI_DNS_SERVERS" <<-EOF
52 if you don't like avahi to update your Nameservers
53 disable the avahi-dnsconfd init script
56 /sbin/modify_resolvconf restore -s avahi
58 elif [ -x /sbin/resolvconf ] ; then
60 # We have Debian's resolvconf tool
62 if [ "x$AVAHI_INTERFACE_DNS_SERVERS" = "x" ] ; then
63 /sbin/resolvconf -d "$AVAHI_INTERFACE.avahi"
65 for n in $AVAHI_INTERFACE_DNS_SERVERS ; do
67 done | /sbin/resolvconf -a "$AVAHI_INTERFACE.avahi"
71 # No resolvconf tool available
73 if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then
74 test -f /etc/resolv.conf.avahi && mv /etc/resolv.conf.avahi /etc/resolv.conf
76 test -f /etc/resolv.conf.avahi || mv /etc/resolv.conf /etc/resolv.conf.avahi
78 for n in $AVAHI_DNS_SERVERS ; do
80 done > /etc/resolv.conf