Package: rdnssd
Version: 1.0.1-1
Severity: normal
Tags: ipv6

I don't know how and why this happens, but sometimes rdnssd thinks it
got no nameserver information, so it just removes everything from
/etc/resolv.conf or resolvconf leaving the system with the wrong
resolver configuration.

As the work-around, the merge hook can be modified to replace the
nameservers only if the rdnssd's internal resolv.conf isn't empty.
The patch to /etc/rdnssd/merge-hook is attached.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.38-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages rdnssd depends on:
ii  adduser                       3.112+nmu1 add and remove users and groups
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib

Versions of packages rdnssd recommends:
ii  resolvconf                    1.48       name server information handler

Versions of packages rdnssd suggests:
ii  ndisc6                        1.0.1-1    IPv6 diagnostic tools

-- no debconf information
--- a/merge-hook
+++ b/merge-hook
@@ -17,9 +17,15 @@
 # *  along with this program. If not, see <http://www.gnu.org/licenses/>. *
 # *************************************************************************
 
-PATH=/sbin:/bin
+PATH=/sbin:/bin:/usr/bin
 INPUT="/var/run/rdnssd/resolv.conf"
 
+nonempty=$(wc -w < "$INPUT")
+
+if [ $nonempty = 0 ]; then
+       exit
+fi
+
 if [ -x /sbin/resolvconf ]; then
        /sbin/resolvconf -a 000.rdnssd < "$INPUT"
 else

Reply via email to