opnsense-src/lib
Nate Lawson 1cc11684ac MFdragonfly: resolver fix for timeouts on unqualified hostnames
res_search only incremented got_servfail for h_errno == TRY_AGAIN *AND*
  hp->rcode == SERVFAIL.  However, there are cases such as timeouts where
  rcode is not always set to SERVFAIL.  This leads to inconsistent nameserver
  operation during multi-domain and truncated dot searches, especially during
  booting when portions of the network are being brought up simultanious with
  dns lookups.

  This patch attempts to correct the problem by unconditionally terminating
  the search if TRY_AGAIN is returned (after res_query has gone through all
  retries and name servers) instead of trying other domain elements in the
  domain seach path.

  This patch should fix reported problems (which I can reproduce) with some
  NFS mounts failing during boot.  This occured because mount_nfs thought the
  host name lookup returned a definitive failure using a non-dotted host name
  when, in fact, it timed out on the first part (host.search.domain.name) and
  got a definitive host-not-found response on the second part (host.).

  Generally speaking, search path name server timeouts can exceed 60 seconds
  per element and most machines which consistently timeout on earlier portions
  of a search path are effectively non-operational due to the imposed delays.
  It is more important for DNS lookups to return the proper error code then
  to be able to recover a valid lookup in later portions of the search path
  in these situations.

Obtained from:	DragonFly
MFC after:	3 weeks
2004-04-21 00:56:38 +00:00
..
compat Update with the 4.9 pam modules, and add pam_opieaccess.so to the mix. 2003-12-07 03:02:27 +00:00
csu Adjust stack alignment so that when the 'call xxx' functions are 2004-03-21 01:39:01 +00:00
libalias Unbreak natd. 2004-04-02 17:57:57 +00:00
libarchive Yucky bug: Don't emit 'mkdir' commands for regular files in shar archives. 2004-04-20 20:21:36 +00:00
libatm Fix a couple of potential buffer overflows. 2004-02-21 16:29:10 +00:00
libbind Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libbluetooth Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
libbsnmp Use a MANFILTER to patch the man pages to point to the right path. 2004-04-14 16:31:54 +00:00
libbz2 Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
libc MFdragonfly: resolver fix for timeouts on unqualified hostnames 2004-04-21 00:56:38 +00:00
libc_r style cleanup: Remove duplicate $FreeBSD$ tags. 2004-02-10 20:45:28 +00:00
libcalendar mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
libcam Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
libcom_err MAN[1-9] -> MAN. 2001-03-27 17:27:19 +00:00
libcompat mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
libcrypt Stage 3 of dynamic root support. Make all the libraries needed to run 2003-08-17 08:28:46 +00:00
libdevinfo mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
libdevstat Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
libdisk MFi386: WARNS=4 clean. 2004-03-30 12:22:31 +00:00
libedit mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
libexpat Stage 3 of dynamic root support. Make all the libraries needed to run 2003-08-17 08:28:46 +00:00
libfetch Slight tweak to previous commit: don't forget to call _http_seterr() if 2004-02-11 09:35:27 +00:00
libform Use 2003-06-06 13:46:55 +00:00
libftpio The .Fn function 2003-06-08 10:34:00 +00:00
libgeom Make libgeom usable by C++ programs: 2004-03-09 21:14:18 +00:00
libio Remove now redundant and now conflicting declaration of sysarch(2). 2004-01-10 18:37:11 +00:00
libipsec Initial import of RFC 2385 (TCP-MD5) digest support. 2004-02-11 04:34:34 +00:00
libipx style.Makefile(5) 2003-08-18 15:25:39 +00:00
libisc Fix the #include part of the SYNOPSIS for heap.3 2003-06-17 08:43:19 +00:00
libkiconv Fixed misspellings of '\0' as NULL. 2004-03-14 05:14:00 +00:00
libkse After forking and initializing the library to single-threaded 2004-04-08 23:16:21 +00:00
libkvm Fix a warning: compare u_long ps_strings to 0 instead of NULL. 2004-03-28 11:50:54 +00:00
libmd Backed out rev.1.6 and subsequent copying of it (bogus addition of 2004-02-26 07:44:37 +00:00
libmenu Use 2003-06-06 13:46:55 +00:00
libmilter Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libmp Add a reference to bn(3) for those looking for functional multiprecision 2003-08-30 05:35:46 +00:00
libncp Fixed a misspelling of 0 as NULL. Removed a spelling of NULL as 0. 2004-03-14 05:19:38 +00:00
libncurses Unbreak the NOINSTALLLIB install. 2003-08-30 13:57:31 +00:00
libnetgraph Increment WARNS. 2004-01-28 00:11:42 +00:00
libngatm style.Makefile: 2004-02-23 20:07:47 +00:00
libopie Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
libpam Add -DDEBUG to DEBUG_FLAGS if PAM_DEBUG is defined. 2004-03-15 13:23:20 +00:00
libpanel Use 2003-06-06 13:46:55 +00:00
libpcap Merge of libpcap 0.8.3 from tcpdump.org. 2004-03-31 09:15:09 +00:00
libpthread After forking and initializing the library to single-threaded 2004-04-08 23:16:21 +00:00
libpthread_dbg Add missing file. 2004-02-04 06:32:45 +00:00
libradius Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
librpcsvc clnt_call takes args of type xdrproc_t. 2003-10-26 03:43:35 +00:00
libsbuf style.Makefile(5) 2003-08-18 15:25:39 +00:00
libsdp Make sure Bluetooth stuff can be compiled on amd64 2004-04-09 23:01:42 +00:00
libsm Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libsmb Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libsmdb Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libsmutil Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libstand No reason to disable this test on powerpc. 2004-02-25 00:53:06 +00:00
libtacplus Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
libtelnet Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
libthr o Also check that the mutex type is not less than the minimum allowable value. 2004-03-29 13:57:55 +00:00
libufs Remove unneccessary include of sys/types.h in the SYNOPSIS 2003-10-09 09:45:20 +00:00
libugidfw Fixed misspellings of 0 as NULL. 2004-03-11 09:56:04 +00:00
libusbhid Do not cast dval. 2004-02-11 21:09:13 +00:00
libutil Back out the "clean_environment()" function from libutil. 2004-02-29 22:13:28 +00:00
libvgl Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libwrap Turn on the extended syntax, which TCP_wrappers has by default, as 2003-07-24 19:58:56 +00:00
libxpg4 Mark libxpg4 as OBSOLETE_IN_6: it has been empty since its contents 2003-06-13 07:21:37 +00:00
liby Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libypclnt Nothing in libypclnt depends on librpcsvc. 2004-02-04 09:53:29 +00:00
libz Stage 3 of dynamic root support. Make all the libraries needed to run 2003-08-17 08:28:46 +00:00
msun Initial support for C99's (or is it POSIX.1-2001's?) MATH_ERRNO, 2004-03-12 12:02:03 +00:00
ncurses Unbreak the NOINSTALLLIB install. 2003-08-30 13:57:31 +00:00
Makefile Put libypclnt behind NO_YP_LIBC 2004-03-10 08:58:06 +00:00
Makefile.inc Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00