Kari Hurtta pointed this out to me on the Sendmail development list while we
discussed what the Right Thing To Do for hostname-challenged machines was..
Section 4.1.1.1 says:
These commands are used to identify the SMTP client to the SMTP
server. The argument field contains the fully-qualified domain name
of the SMTP client if one is available. In situations in which the
SMTP client system does not have a meaningful domain name (e.g., when
its address is dynamically allocated and no reverse mapping record is
available), the client SHOULD send an address literal (see section
4.1.3), optionally followed by information that will help to identify
the client system. y The SMTP server identifies itself to the SMTP
client in the connection greeting reply and in the response to this
command.
It then goes on:
Syntax:
ehlo = "EHLO" SP Domain CRLF
helo = "HELO" SP Domain CRLF
And in 4.1.2 we find this ABNF:
Domain = (sub-domain 1*("." sub-domain)) / address-literal
sub-domain = Let-dig [Ldh-str]
address-literal = "[" IPv4-address-literal /
IPv6-address-literal /
General-address-literal "]"
; See section 4.1.3
By my reading, this allows 'ehlo F.Q.D.N' and 'ehlo [add.ress.lit.eral]', but
there is no way to actually generate 'optionally followed by information' using
the ABNF as written.
Am I caffeine-challenged, or is the ABNF actually borked on this?
pgpJmfH9FTGdq.pgp
Description: PGP signature