[Top] [All Lists]

RFC2821, section and HELO/EHLO

2004-01-02 11:50:15
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 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

It then goes on:


      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?

Attachment: pgpJmfH9FTGdq.pgp
Description: PGP signature