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.

Reply via email to