On Tue, Jan 02, 2007, Stefan Fritsch wrote:
> When I did the upgrade I had avahi-daemon 0.6.15-2 installed.
> The problem is still there with avahi-daemon 0.6.16-1, when I change 
> nsswitch.conf to the configuration added by libnss-mdns.

 Ah.  Is avahi-daemon running after a networking restart?

> I don't use .local TLD anymore, but I used it in the past, so that the 
> entry in the resolv.conf was still there. The "search local" entry 
> *alone* prevents DNS from working, it is not necessary to have .local 
> anywhere in DNS or /etc/hosts.

 That's very interesting; actually, a new upstream release of nss-mdns
 just came out and it precisely targets .local in the "search" entry of
 resolv.conf.  The new upstream release defaults to ignoring the search
 field completely.


> Some more thoughts:
> - dnsmasq which is used on the openWRT routers by default will not 
> return SOA records, even if it serves A records:

 That's interesting.  Does it use the .local TLD or must it be
 configured to do so?

 Do you see a way to detect such a configured openWRT router?  Does it
 add ".local" in the resolv.conf of the DHCP client?

 This might be an useful test to add aside of the avahi SOA lookup.

> - maybe an entry in the release notes would be a good idea in any 
> case, even if you handle the "search local" case, because there might 
> be other corner cases where DNS breaks. People should either remove 
> everything with .local from {DNS,/etc/hosts,/etc/resolv.conf} or 
> uninstall libnss-mdns (or avahi-daemon?).

 There's no libnss-mdns package in sarge, but it might an interesting
 note for users of the .local TLD indeed.

> - I consider it very unexpected behaviour for a package to modify a 
> file in /etc without asking. Policy 10.7.3 says: "local changes must 
> be preserved during a package upgrade". After the upgrade to 0.8-5 I 
> changed nsswitch.conf to not use mdns but my change was overwritten 
> on upgrade to 0.8-6.1. Maybe a debconf note or NEWS.Debian entry 
> would be in order. Or maybe libnss-mdns should remember that it 
> changed nsswitch.conf once already and not touch it again.

 libnss-mdns should not change resolv.conf for you again.  The full
 story is that libnss-mdns auto-configured itself in upgrades to some
 previous version; this caused trouble for .local TLD users and was
 reverted to install a different configuration which was even more
 problematic for the vast majority of people not using the .local TLD;
 finally, I NMUed the package to revert this change were it had been
 done and install the standard configuration again (this was supposedly
 okay because avahi-daemon auto-disables itself when a .local TLD is
 found).

 There was no easy way to differenciate between people with the not
 recommended configuration but who wanted to keep it because they need
 it and people who landed with the problematic configuration and were
 waiting for an upgrade to fix it.  Since the later seemed to be the
 majority, the configuration was upgraded to the recommended setup.

 It seems you uncovered a new class of problems, which is not about
 lookups of .local hosts failing, but which is about the "search" entry
 causing trouble for all lookups; this is probably because nss-mdns is
 authoritative for the .local domain and the "search" line causes
 lookups to be in the ".local" TLD.

 I'll try to prepare the new upstream release of nss-mdns and send it to
 you for testing; I expect it will solve the problem.

-- 
Loïc Minier <[EMAIL PROTECTED]>

Reply via email to