Hostname Resolution

The following urlcp settings control DNS (hostname resolution):

  • dnsdomains or dnsdomain (list) Takes a list of one or more search domains. Hostnames that do not contain a dot are searched for in each of these domains, in order. The default list is obtained from /etc/resolv.conf or the equivalent, depending on the system. Returns the previous list of domains. The limit is 5 domains. Has no effect if dnsmode is sys. Added in version 3.01.960500000 20000608.

  • dnshostsfile (string)

    Sets the file to use for local hostname resolution, i.e. for the hosts value of dnsservices. The default is /etc/hosts on Unix, and %SYSTEMROOT%\System32\drivers\etc\hosts on Windows (potentially altered by registry). Returns 0 on error. Added in version 7.07.1550614572 20190219.

  • dnsignoretrunc or dnsigntc (boolean) Sets whether to ignore the TC (truncated message) flag in DNS replies. This flag may be set by the name server if the reply is too large to fit in one UDP packet and was truncated; a typical cause of this is a hostname with many IP addresses, e.g. DNS-based load management. Since only one IP is used from the reply, it is safe to ignore this flag. On by default. Added in version 3.01.982400000 20010216.

  • dnsmode (string)

    Sets the routines to use for domain name resolution. The second argument is either int to use the internal (non-blocking) Texis functions, sys to use the system's C library functions (blocking), or (in version 3.01.993260000 20010622 and later), intsys which uses internal routines unless no nameservers can be found in which case the system C library functions are used. Returns the previous setting. The default is intsys. (Version 3.01.993260000 20010622 and earlier defaulted to int and had no intsys setting.) In version 4.04.1068200000 20031106 and later, an empty string will restore the default setting.

    Note that the sys (and intsys if no nameservers found) routines are blocking: thus a PARALLEL fetch or nslookup will in effect be serial, and slow DNS traffic may even cause the timeout to be exceeded for some fetches. Also, certain information and features of nslookup and nsinfo may be ignored if sys mode is set, as well as other DNS-related settings in urlcp.

  • dnsrecurse (boolean) Sets whether to request recursion to other nameservers when resolving hostnames. The default is on. Added in version 3.01.989630000 20010511. Returns previous setting.

  • dnsretrans (integer) Sets the initial retransmit interval (in seconds) for DNS lookups. Has no effect if dnsmode is sys. Default 5.

  • dnsretry (integer) Sets the max number of retries for DNS lookups. Returns previous setting. Has no effect if dnsmode is sys. Default 4.

  • dnsservices (list) Takes a list of one or more of the strings hosts or bind, indicating the name resolution services to use and the order in which to try them. Returns previous setting. Has no effect if dnsmode is sys.

  • nameservers (list) Sets the list of nameservers to use, in order, for DNS resolution. Takes a list of dotted-decimal IP address strings, and returns the previous list of nameservers. Has no effect if dnsmode is sys.

    Note that ipprotocols (here) has no effect on what nameserver address(es) are permitted or used; ipprotocols only affects the DNS query type (A vs. AAAA) that is done (and the ultimate host connection). Thus it is possible to use an IPv4-address nameserver to query for and connect to an IPv6 host, and vice-versa.


Copyright © Thunderstone Software     Last updated: Apr 15 2024
Copyright © 2024 Thunderstone Software LLC. All rights reserved.