Comment 16 for bug 1786261

Revision history for this message
fermulator (fermulator) wrote :

The relationship to LP #1752411 certainly feels valid.
(I think I agree to the duplication)

Check this out btw (perhaps better submitted to the other bug) -- but --

despite "host" claiming a default timeout of a few seconds, this NEVER returns!!
{{{
$ LC_ALL=C host -t soa local.
}}}

$ man host
{{{
       -W wait
           Timeout: Wait for up to wait seconds for a reply. If wait is less than one, the wait interval is set to one second.

           By default, host will wait for 5 seconds for UDP responses and 10 seconds for TCP connections. These defaults can be overridden by the timeout option in
           /etc/resolv.conf.

           See also the -w option.
}}}

But I even tried to manually specify how long to wait, it isn't honoured
{{{
$ time LC_ALL=C host -W 1 -t soa local.

<<HUNG>>
}}}

--
we're talking about THIS method btw

/usr/lib/avahi/avahi-daemon-check-dns.sh
{{{
dns_has_local() {
  # Some magic to do tests
  if [ -n "${FAKE_HOST_RETURN}" ] ; then
    if [ "${FAKE_HOST_RETURN}" = "true" ]; then
      return 0;
    else
      return 1;
    fi
  fi

  OUT=`LC_ALL=C host -t soa local. 2>&1` <<<---- HERE
  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}
  fi
  return 1
}
}}}

---

Steps to reproduce:
 1. fresh boot
 2. run "host -t soa local." (works fine)
 {{{
$ LC_ALL=C host -t soa local.
Host local. not found: 3(NXDOMAIN)
 }}}
 2. connect to strongswan vpn
 3. disconnect the session
 4. , now that command hangs forever
{{{
$ time LC_ALL=C host -t soa local.
<HUNG>
}}}
 (tried timing it ...)