]> git.meshlink.io Git - catta/blob - avahi-dnsconfd/avahi-dnsconfd.action
Complete AVAHI_LOOKUP_NO_ADDRESS fix
[catta] / avahi-dnsconfd / avahi-dnsconfd.action
1 #!/bin/sh
2
3 # $Id$
4 #
5 # This file is part of avahi.
6
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.
11 #
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.
16 #
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
20 # USA.
21
22 set -e
23
24 test "x$AVAHI_INTERFACE" != "x"
25
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
31
32 # Available environment variables:
33 #
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
37
38 if [ -x /sbin/resolvconf ] ; then
39
40     # We have Debian's resolvconf tool
41
42     if [ "x$AVAHI_INTERFACE_DNS_SERVERS" = "x" ] ; then
43         /sbin/resolvconf -d "$AVAHI_INTERFACE.avahi"
44     else
45         for n in $AVAHI_INTERFACE_DNS_SERVERS ; do 
46             echo "nameserver $n"
47         done | /sbin/resolvconf -a "$AVAHI_INTERFACE.avahi"
48     fi
49 else
50
51     # No resolvconf tool available
52
53     if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then
54         test -f /etc/resolv.conf.avahi && mv /etc/resolv.conf.avahi /etc/resolv.conf
55     else
56         test -f /etc/resolv.conf.avahi || mv /etc/resolv.conf /etc/resolv.conf.avahi
57
58         for n in $AVAHI_DNS_SERVERS ; do 
59             echo "nameserver $n"
60         done > /etc/resolv.conf
61     fi
62 fi