On 07/06/2013 12:10, Nikolas Kallis wrote:
Notice helo equals '37.212.64.248' - an address literal.
Please READ the RFC. That form is INVALID.
I think you are referring to the square brackets - I knew about them. I
didn't pick up the logic in the system message. Sorry.
Never the less, '37.212.64.248' is not a domain name, so
'reject_non_fqdn_helo_host name' should not have taken action over it.
Yes, it should. With one exception, a HELO must be either a fully
qualified domain name, or an address literal. '37.212.64.248' is not a
domain name at all, therefore it cannot be a fully qualified domain name
(since the latter is a subset of the former), and it isn't an address
literal. Therefore, 'reject_non_fqdn_helo_host name' correctly acts to
reject it.
'37.212.64.248' should have been '[37.212.64.248]', and was therefore
malformed. 'reject_invalid_helo_hostname' should have handled it.
'37.212.64.248' is a valid hostname. There is no requirement that
hostnames are not all-numeric. The fact that it is possible for a
syntactically valid all-numeric hostname to look exactly the same as an
IP address is the reason why an IP address needs to be enclosed in
square brackets in order to make it clear that it is an address literal
and not a hostname.
Obviously, an all-numeric hostname cannot be a fully qualified domain
name, so it will be rejected by 'reject_non_fqdn_helo_host name'. But it
won't be rejected by 'reject_invalid_helo_hostname'.
Mark
--
My blog: http://mark.goodge.co.uk