Comment 38 for bug 80900

Revision history for this message
hyper_sonic (hyper-sonic) wrote : Re: problems resolving fully qualified domain names in environments where .local is used as a TLD

Yes, I encountered the same problem. But I fixed it.

In /usr/lib/avahi/avahi-daemon-check-dns.sh I replaced string here:

# OUT=`LC_ALL=C host -t soa local. 2>&1`
# if [ $? -eq 0 ] ; then
# if echo "$OUT" | egrep -vq 'has no|not found'; then
# return 0
# fi
# else.
    # Checking the dns servers failed. Assuming no .local unicast dns, but
    # remove the nameserver cache so we recheck the next time we're triggered
# rm -f ${NS_CACHE}
# return 1
# fi

to this:

  OUT=`LC_ALL=C awk '/^nameserver/ {print $2}' /etc/resolv.conf`
  if [ $? -eq 0 ]; then
    for INDEX in $OUT; do
      if `host -t soa $INDEX | grep -qE 'local'`; then
          return 0
      fi;
    done;
  else
  # Checking the dns servers failed. Assuming no .local unicast dns, but
  # remove the nameserver cache so we recheck the next time we're triggered
    rm -f ${NS_CACHE}
    return 1
  fi

May be it is not correct. but it works for me.