Guy Hulbert wrote:
On Thu, 2008-02-14 at 10:22 -0500, Chris Lewis wrote:
Using FQDN in, say, "helo" isn't an unfortunate linux novelty, it's a requirement by RFC821/2821.

RFC821/2821 do not say anything about the hostname command, afiak.

That's a bit of a non-sequitor. Of course it doesn't. What hostname returns has no relevance to RFC821/2821 _except_ if you try to use hostname where RFC821/2821 _requires_ FQDNs.

I think you misunderstand the problem.  Let me try again:

If no config/me file exists, config(me) returns `hostname`. That's probably not the best thing on OSes like Solaris, but I'm willing to put up with it because I know how difficult it is getting FQDNs portably.

BUT, here's the rub: even if you try to work around that by setting config/me to the FQDN, config(me) still returns `hostname`. This implies to me a bug in qpsmtpd's config handling.

Why does it matter? Many places in qpsmtpd refer to config(me). Eg, generating received lines, generating logfile lines etc.

And this:

queue/smtp-forwarder fragment

  my $smtp = Net::SMTP->new(
                            $self->{_smtp_server},
                            Port => $self->{_smtp_port},
                            Timeout => 60,
                            Hello => $self->qp->config("me"),
                           ) || die $!;

On Solaris, that produces non-RFC2821 compliant email even if config/me is set to the FQDN. config(me) ignores config/me. That is a qpsmtpd bug.


Reply via email to