OOT: Mail rejected with bogus helo
mikea
mikea at mikea.ath.cx
Thu Apr 17 19:00:45 IST 2008
On Thu, Apr 17, 2008 at 12:59:52PM -0400, Matt Kettler wrote:
> Glenn Steen wrote:
>
> >
> >> Also, this thread is about using an IP as a HELO, which is NOT a
> >> malformed
> >>HELO per the RFCs. Therefore it is still against the RFCs to refuse mail
> >>because the HELO is an IP address.
> >Are you thinking "a plain word that looks like an IP address" then?
> >Cause I'm pretty sure (boy am I going to get it... Haven't reread the
> >exact wording:-) that the demand is for Ip address literals, like
> >Steve points out, not a domain name looking like an IP address...
> >Oh well.
>
> Erm, I'm not sure what difference you're implying exists between "a plain
> word that looks like an IP address" and an "IP address literal". I'm also
> not sure what you mean by "a domain name looking like an IP address".
> The HELO string in question was "10.10.16.24", sans quotes, which matches
> RFC2821's definition of IPv4-address-literal in section 4.1.3, which is in
> turn a sub-type of address-literal in 4.1.2. This makes it 100% valid
> syntactically.
With respect, I have to differ with you. This point arises from time
to time on other lists, and I had to be educated about it myself.
<mode "rules-lawyer">
It's precisely the difference between "[10.10.16.24]" and "10.10.16.24",
and the semantics associated with those differences in the text of the
RFC.
"10.10.16.24", sans quotes, does not match RFC2821's definition of
IPv4-address literal in section 4.1.3, because it is not enclosed in
brackets ("[]"), as required by section 4.1.3:
: 4.1.3 Address Literals
:
: Sometimes a host is not known to the domain name system and
: communication (and, in particular, communication to report and repair
: the error) is blocked. To bypass this barrier a special literal form
: of the address is allowed as an alternative to a domain name. For
: IPv4 addresses, this form uses four small decimal integers separated
: by dots and enclosed by brackets such as [123.255.37.2], which
: indicates an (IPv4) Internet Address in sequence-of-octets form.
Instead, "10.10.16.24", sans quotes, is a domain name with a Top-Level
Domain "24", just as "foo.example.com" is a domain name with Top-Level
Domain "com". See section 2.3.5, and the BNF definition of "Domain" in
section 4.1.2, of RFC2821.
> Of course, exposing a non-routable IP as a HELO is obviously bogus
> information, but it is not syntactically invalid. Thus, blocking based on
> it is technically against the RFCs. However, I'd expect some sites will
> block this, since the information presented is obviously invalid.
Au contraire, it is syntactically invalid because the brackets, which
are required, are absent: "[10.10.16.24]" is syntactically valid as an
address literal, while "10.10.16.24" is not -- sans quotes in both
cases, of course.
</mode>
To put it in the mildest of terms, I agree that it is not good practice
to expose as a HELO a non-routable IP written as an address literal. but
that's not what I'm blocking on at my shop.
--
Mike Andrews, W5EGO
mikea at mikea.ath.cx
Tired old sysadmin
More information about the MailScanner
mailing list