Bug 3123 - domain name with '-c' in it messes up spamc and writing headers
Summary: domain name with '-c' in it messes up spamc and writing headers
Status: RESOLVED INVALID
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamc/spamd (show other bugs)
Version: 2.61
Hardware: Other FreeBSD
: P5 normal
Target Milestone: 3.0.0
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-03 11:48 UTC by Joe Kletch
Modified: 2004-03-03 03:20 UTC (History)
0 users



Attachment Type Modified Status Actions Submitter/CLA Status

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Kletch 2004-03-03 11:48:39 UTC
details from associate whoc discovered this:
In the spamassassin subroutine there are several places that test
$spamc_options for a '-c' option. If the option is set, spamc just checks
the mail for spam, adding the X-Spam headers but not rewriting the
message. We are not using the '-c' option. However, the way the test is
done is flawed for certain domains. Here's the most relevant section of
code:

 1. $spamc_options="$spamc_options -u \"$cmdline_recip\"" if
($cmdline_recip ne "");
 2. &debug("SA: run $spamc_binary $spamc_options <
$scandir/$wmaildir/new/$file_id");
 3. open(SA,"$spamc_binary $spamc_options  \
     < $scandir/$wmaildir/new/$file_id|")||&error_condition("cannot run
$spamc_binary  \
     < $scandir/$wmaildir/new/$file_id - $!");
 4. open(SOUT,">$scandir/$wmaildir/new/$file_id.spamc") \
     ||&error_condition("cannot open for write
$scandir/$wmaildir/new/$file_id.spamc - $!");
 5.   while (<SA>) {
 6.     if (!$sa_tag) {
 7.       if ($spamc_options =~ /\-c/) {
 8.         chomp;
 9.        ($sa_score,$sa_max)=split(/\//,$_,2);
10.         $sa_tag++;
11.       } else {
12.         #X-Spam-Status: No, hits=2.8 required=5.0
13.         if (/^X-Spam-Status: (Yes|No), hits=(-?[\d\.]*)
required=([\d\.]*)/) {
14.           $sa_tag++;
15.           $sa_status=1 if ($1 eq "Yes");
16.          $sa_score=$2;$sa_max=$3;
17.         }
18.       }
19.     }
20.     print SOUT;
21.   }

In line 1, the program adds a '-u' option, followed by the recipient's
email address, to the $spamc_options variable.

In line 7, and in later lines of the same subroutine, it tests
$spamc_options for the presence of the '-c' option.

This is where the problem comes in. For our domain, c-cap.com, the
recipient's email address is now satisfying the '-c' test because it's
part of the $spamc_options. Any domain with a "-c" in it would cause the
same problem - essentially, telling this subroutine that spamc is not
rewriting the  message when it really is (and also messing up $sa_max,
which is why we were seeing the funky "X-Spam-Status: No, hits=Received:
from localhost [127.0.0.1] by webfree.nxsbg.com required=?" header.)

I've put a bandaid on this by inserting a space after the '-c' test in
each case. This isn't a good fix, though; if $spamc_options is set to, for
instance, "-c" (with no trailing space) and for some reason there doesn't
seem to be a $cmdline_recip, it will fail the test in the other direction.
Comment 1 Theo Van Dinter 2004-03-03 12:10:13 UTC
Ok, I'm missing something here I think.

The code specified isn't located anywhere in the SA distro.  If there's a bug in that code, which is what is 
implied, there's nothing we can do about it.

What am I missing?
Comment 2 Joe Kletch 2004-03-03 12:15:36 UTC
Subject: Re:  domain name with '-c' in it messes up spamc and writing headers

My mistake sorry it belongs to qmail-scanner.pl.

Anything I need to do to delist this bug listing.

Greatest apologies!

Joe Kletch


On Mar 3, 2004, at 2:10 PM, bugzilla-daemon@bugzilla.spamassassin.org 
wrote:

> http://bugzilla.spamassassin.org/show_bug.cgi?id=3123
>
>
>
>
>
> ------- Additional Comments From felicity@kluge.net  2004-03-03 12:10 
> -------
> Ok, I'm missing something here I think.
>
> The code specified isn't located anywhere in the SA distro.  If 
> there's a bug in that code, which is what is
> implied, there's nothing we can do about it.
>
> What am I missing?
>
>
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.

Comment 3 Theo Van Dinter 2004-03-03 12:20:26 UTC
bug with qmail-scanner and not SA.  closing as invalid. :)