Bug#482339: #482339: po-debconf: podebconf-report-po uses poor HELO hostname

Russ Allbery rra at debian.org
Thu May 22 15:06:26 UTC 2008


Damyan Ivanov <dam at modsoftsys.com> writes:

> HELO is defined in (obsolete) RFC821:

Yeah, the current standard is RFC2821 (modulo the fact that it hasn't aged
to standard yet, but in practice, that's what people write code to now).

HELO is defined in RFC 2821 as:

   Syntax:

      ehlo            = "EHLO" SP Domain CRLF
      helo            = "HELO" SP Domain CRLF

This obsoletes the specification in RFC 821, and "Domain" is defined in
section 2.3.5:

2.3.5 Domain

   A domain (or domain name) consists of one or more dot-separated
   components.  These components ("labels" in DNS terminology [22]) are
   restricted for SMTP purposes to consist of a sequence of letters,
   digits, and hyphens drawn from the ASCII character set [1].  Domain
   names are used as names of hosts and of other entities in the domain
   name hierarchy.  For example, a domain may refer to an alias (label
   of a CNAME RR) or the label of Mail eXchanger records to be used to
   deliver mail instead of representing a host name.  See [22] and
   section 5 of this specification.

   The domain name, as described in this document and in [22], is the
   entire, fully-qualified name (often referred to as an "FQDN").  A
   domain name that is not in FQDN form is no more than a local alias.
   Local aliases MUST NOT appear in any SMTP transaction.

> However, RFC2821 says:
>
>     4.1.1.1  Extended HELLO (EHLO) or HELLO (HELO)

Note that this section covers both commands; there's no difference under
RFC 2821 of the permitted arguments to either command.  Also note that the
RFC 2821 syntax is backward compatible with RFC 821.

RFC 2821 is intended to be unambiguous about requiring this (I remember
because this was a point of controversy during the IETF working group and
it took some effort to reach this conclusion), but it may not have
succeeded.

> However the EHLO implementation suffers from the same pitfall - it 
> uses hostname() || 'localhost'.
>
> In my reading of RFC2821, this is clearly a no-go for EHLO, as it is 
> useless for identifying the system. Same holds for a raw IP-address 
> from the private ranges.
>
> Perhaps there is no "best" solution for this.

Yeah, it's an annoying problem; getting a hostname isn't always easy.

> I remember past discussion about passing mail to /usr/sbin/sendmail,
> which in turn requires that the local mail system is configured
> properly. This may be not that bad idea for podebconf-report-po,
> however, as it often sends a lot of mails. Also, maintainers are
> expected to be able to configure the mail on their systems :)

This is what I tend to do in my code.

-- 
Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>





More information about the pkg-perl-maintainers mailing list