summaryrefslogtreecommitdiffstats
path: root/avahi-dnsconfd/dnsconf.action
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-06-24 01:00:13 +0000
committerLennart Poettering <lennart@poettering.net>2005-06-24 01:00:13 +0000
commit9f9f4f6ea2405edc642d322c19f6f13e31920046 (patch)
tree2a4a3a8ecbe0f942a140a98b4f1621d183575297 /avahi-dnsconfd/dnsconf.action
parent697d33e34648286fd42ff6086087e0111726f749 (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-xavahi-dnsconfd/dnsconf.action62
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