On 11/18/21 12:08, Bill Cole wrote:
On 2021-11-18 at 11:14:27 UTC-0500 (Thu, 18 Nov 2021 11:14:27 -0500)
Is there some way to do so in the config, otherwise I can change the Received line generated by Exim but it seems strange the defaults fail here.

It can't be done in config, because there needs to be complex logic to parse 
out elements.

What I do not see yet, despite reading the thread on the Exim list, is how to identify a *confirmed* client reverse DNS hostname in Exim's Received headers, vs. a HELO argument vs. a PTR result that doesn't have an A record pointing back to the client IP.

Sendmail & Postfix do this, making a very explicit statement when the rDNS name doesn't exist or isn't right:

Received: from HELO_Name ({confirmed hostname|'unknown'} [client IP])

I believe that making Exim do that would fix the issue for existing SA 3.4.x installations. If I can work out how to detect missing or wrong rDNS in the Received header, that should be fixed for 4.0.

Yea, I can override it locally, just interested in helping out reporting issues 
for 4.0 now.

Thanks,
Matt

[1] https://lists.exim.org/lurker/message/20211118.151417.19b10d55.en.html
[2] Received: from [2620:6e:a000:1000:5032:f151:67fb:662b] 
(helo=eyeballs.as397444.net)
    by mail.as397444.net with smtp id 1mnk27-003mD4-EI
    (envelope-from <...>)
    for ...; Thu, 18 Nov 2021 16:13:07 +0000

So, if the rDNS name does not resolve, you get 'from  [ip-literal] 
(helo=HELO_Name)' ?

If the rDNS name resolves back to the client IP, how is it different?
If the rDNS name resolves to some other IP, how is it different?


The above is with an IP which *does* RDNS resolve to the HELO hostname, but which does not have a FcRDNS match. I believe it looks the same whether RDNS resolves or not, it only changes if FcRDNS matches.

Quoting from the exim documentation, the default Received line starts with (edited to remove the RFC 1413 bits):

Received: \
  ${if def:sender_rcvhost {from $sender_rcvhost\n\t}\
    {${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
  by $primary_hostname \

sender_rcvhost is defined as:

This is provided specifically for use in Received: headers. It starts with either the verified host name (as obtained from a reverse DNS lookup) or, if there is no verified host name, the IP address in square brackets. After that there may be text in parentheses. When the first item is a verified host name, the first thing in the parentheses is the IP address in square brackets, followed by a colon and a port number if port logging is enabled. When the first item is an IP address, the port is recorded as “port=xxxx” inside the parentheses.

There may also be items of the form “helo=xxxx” if HELO or EHLO was used and its argument was not identical to the real host name or IP address, and “ident=xxxx” if an RFC 1413 ident string is available. If all three items are present in the parentheses, a newline and tab are inserted into the string, to improve the formatting of the Received: header.

Reply via email to