diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-06-24 01:00:13 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-06-24 01:00:13 +0000 |
commit | 9f9f4f6ea2405edc642d322c19f6f13e31920046 (patch) | |
tree | 2a4a3a8ecbe0f942a140a98b4f1621d183575297 /avahi-dnsconfd/dnsconf.action | |
parent | 697d33e34648286fd42ff6086087e0111726f749 (diff) |
* update todo list
* add avvahi-dnsconfd
* implement AvahiDNSServerBrowser
* Update special browse/register RRs to match current RFC
* add support to avahi-daemon to publish name server information
* add support to avahi-daemon to publish /etc/resolv.conf DNS server information
* add new simple protocol command: "BROWSE-DNS-SERVERS"
* cleanup final configure message
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@143 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-dnsconfd/dnsconf.action')
-rwxr-xr-x | avahi-dnsconfd/dnsconf.action | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/avahi-dnsconfd/dnsconf.action b/avahi-dnsconfd/dnsconf.action new file mode 100755 index 0000000..9337a6d --- /dev/null +++ b/avahi-dnsconfd/dnsconf.action @@ -0,0 +1,62 @@ +#!/bin/sh + +# $Id$ +# +# 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/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 |