home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

-d8.2

Call to getcanonname(3) Debug command-line switch

The routine dns_getcanonname( ) in domain.c of the sendmail source converts a hostname to a fully qualified domain name. This routine is called only if DNS is used to look up hostnames, as determined by the ResolverOptions option (ResolverOptions) and the ServiceSwitchFile option (ServiceSwitchFile). If it is, dns_getcanonname( ) can be called from three places: during startup to get the values for $w, $j, and $m (-d0.4); when a host is looked up via the $[ and $] canonify operators (Section 18.7.6); or when a host is looked up using the host database map (host).

The -d8.2 debugging switch shows the hostname before it is fully qualified with this call:

dns_getcanonname(host, flag) 

If the flag is nonzero, calls to the getmxrr( ) routine (which looks up MX records) are also traced. On entry to that routine, sendmail will print:

getmxrr(host, droplocalhost=bool) 

The host is the hostname whose MX records are being looked up. The bool, if nonzero, means that all MX records that are less preferred than the local host (as determined by $=w) will be discarded. If zero, they will be retained.

The -d8.2 debugging switch also causes sendmail to show the result of processing the ResolverOptions option's settings (ResolverOptions) while reading the configuration file:

_res.options = hex, HasWildcardMX = 1 or 0 

The hex is a hexadecimal representation of the state structure's options variable as described in <resolv.h>. The value of HasWildcardMX is determined by its prefix (+ or -) when listed with the ResolverOptions option.

    Previous Section Next Section