Jon Ribbens: > In access(5), the documentation says (in regard to HOST NAME/ADDRESS > PATTERNS): > > domain.tld > Matches domain.tld. > > However it fails to indicate what this actually *means*. This seems to > be a bit of a documentation failure. Which one of the following is it?
DESCRIPTION This document describes access control on remote SMTP client informa- tion: host names, network addresses, and envelope sender or recipient addresses; it is implemented by the Postfix SMTP server. Thus, it takes Postfix's idea of the client host name and compares that name against the string "domain.tld". Not documented here is that check_client_access uses a hostname of "unknown" when the address->name lookup fails, or when the name does not resolve to the client IP address. It can't be documented here, because check_reverse_client_hostname_access uses the same access map mechanism using the address->name lookup result, but without the name->address verification check. Nor is documented here that these name->address and address->name lookups use system getnameinfo/getaddrinfo routines, whose results are subject to munging by nsswitch.conf and similar mechanisms. > (a) Match an IP address whose reverse DNS matches 'domain.tld'. > (b) (a), with a subsequent forward-lookup to check it isn't a fake > reverse DNS entry. > (c) Match an IP address which is listed as one of the results for an > A-record lookup of 'doman.tld'. > (d) Something else. > > I have a situation where I have a DNS record 'foo.example.com', which > resolves to multiple A records. I want to allow mail transactions if > and only if the incoming connection is from one of those IP addresses. > Is this possible with Postfix, and if so, how? check_client_access requires that the address->name lookup produces a name that resolves to the client IP address. check_reverse_client_hostname_access is less restrictive. Wietse