http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4747
[EMAIL PROTECTED] changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
------- Additional Comments From [EMAIL PROTECTED] 2007-03-29 08:13 -------
(In reply to comment #13)
> The short story is:
> Each bounce mail (with null return path) produce two warnings:
>
> [59483] warn: message:
> envelope_sender_header '' is not an FQDN - ignoring
> at /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/PerMsgStatus.pm
> line 2306.
> [59483] warn: message:
> envelope_sender_header '' is not an FQDN - ignoring
> at /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/PerMsgStatus.pm
> line 2306.
> (not at initialization time, but later during mail processing)
Thanks for the demo; reproduced, and fixed.
> Nick Leverton <[EMAIL PROTECTED]> writes:
> This may be due to my bugs 4717 and 4718. My changes were supposed to
> treat <> properly and predictably, rather than silently ignoring null
> sender as happened previously whenever envelope-from couldn't be deduced
> from the Received: line. But I have been through some nasty personal
> stuff recently and never got back to the devs' questions about my issues,
> so I think they didn't take the full set of fixes.
I don't think this was the case -- I think patch 3670 ('Patch PerMsgStatus to
fix EnvelopeFrom handling') from
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4747#c2 introduced the
issue:
+ # Rely on the 'envelope-sender-header' header if the user has configured one.
+ # Assume that because they have configured it, their MTA will always add it.
+ # This will prevent us falling through and picking up inappropriate headers.
+ if (exists $self->{conf}->{envelope_sender_header}) {
+ # make sure we get the most recent copy - there can be only one
EnvelopeSender.
+ $envf = $self->get($self->{conf}->{envelope_sender_header}.":addr");
+ goto ok if defined $envf && ($envf =~ /\@/ || $envf =~ /^<>$/);
+ # Warn them if it's configured, but not there or not usable.
+ if (defined $envf) {
+ chomp $envf;
+ warn("message: envelope_sender_header '$envf' is not an FQDN -
ignoring");
+ } else {
+ warn("message: envelope_sender_header
'".$self->{conf}->{envelope_sender_header}."' not found in message");
+ }
+ # Couldn't get envelope-sender using the configured header.
+ return undef;
+ }
those shouldn't be warn()s -- they should be dbg()s. It's inappropriate to
warn() from PerMsgStatus during message parsing, for non-error conditions.
also, patch 3673 -- the one I didn't apply -- didn't fix it.
fixed in trunk:
: jm 48...; svn commit -m "bug 4747: silence noisy warnings produced with a null
sender (Return-Path: <>) when always_trust_envelope_sender was set to 1, and
envelope_sender_header was set to Return-Path"
lib/Mail/SpamAssassin/PerMsgStatus.pm
Sending lib/Mail/SpamAssassin/PerMsgStatus.pm
Transmitting file data .
Committed revision 523730.
oh, also, the real bugfix ;) --
: jm 83...; svn commit -m "bug 4747: actually fix the 'Return-Path: <>' case;
the search pattern for <> was incorrect, since get() returns the header value
without the < and >, so the empty string" lib/Mail/SpamAssassin/PerMsgStatus.pm
Sending lib/Mail/SpamAssassin/PerMsgStatus.pm
Transmitting file data .
Committed revision 523738.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.