doing some more research on it, the error appears to be in read_response:
May 10 10:46:02 alumni lmtpd[87552]: read_response: header sscanf failed, buf: Spam:
True ; 9.0 / 5.0^M
where its trying to do a sscanf of:
if (sscanf (buf, "Spam: %5s ; %d / %d", is_spam, &score, &threshold) != 3) {
syslog (LOG_ERR, "read_response: header sscanf failed, buf: %s",
buf);
return SIEVE_FAIL;
}
The following patch appears to correct the problem:
*** lmtpd.c.o Fri May 10 10:54:08 2002
--- lmtpd.c Fri May 10 10:52:58 2002
***************
*** 981,988 ****
int major;
int minor;
int response;
! int score;
! int threshold;
if (! getline (s, buf, sizeof (buf))) {
syslog (LOG_ERR, "read_response: response getline failed");
--- 981,988 ----
int major;
int minor;
int response;
! float score;
! float threshold;
if (! getline (s, buf, sizeof (buf))) {
syslog (LOG_ERR, "read_response: response getline failed");
***************
*** 1002,1008 ****
syslog (LOG_ERR, "read_response: header getline failed");
return SIEVE_FAIL;
}
! if (sscanf (buf, "Spam: %5s ; %d / %d", is_spam, &score, &threshold) != 3) {
syslog (LOG_ERR, "read_response: header sscanf failed, buf: %s",
buf);
return SIEVE_FAIL;
--- 1002,1008 ----
syslog (LOG_ERR, "read_response: header getline failed");
return SIEVE_FAIL;
}
! if (sscanf (buf, "Spam: %5s ; %f / %f", is_spam, &score, &threshold) != 3) {
syslog (LOG_ERR, "read_response: header sscanf failed, buf: %s",
buf);
return SIEVE_FAIL;
On Fri, 10 May 2002, Marc G. Fournier wrote:
>
> Morning all ...
>
> In case anyone else is thinking of using this, or has ...
>
> The patch applies cleanly to the v2.0.16 sources using 'patch' ...
> I manually walked the patch after applying it, just to make sure, and it
> looks fine ... configure, build and install all work great, and things are
> running.
>
> After making a default sieve file of simply:
>
> require [ "spam", "fileinto" ];
> if spam {
> fileinto "inbox.spam";
> }
>
> Causes spam filtering to run no problem, as displayed in the log
> files:
>
> May 10 10:00:18 alumni sendmail[76825]: g4AD0Iu76825: from=<[EMAIL PROTECTED]>,
>size=735, class=0, nrcpts=1, msgid=<[EMAIL PROTECTED]>,
>proto=ESMTP, daemon=MTA, relay=garlic.acadiau.ca [131.162.138.193]
> May 10 10:00:18 alumni spamd[74495]: connection from alumni.acadiau.ca [
>131.162.201.19 ] at port 4465
> May 10 10:00:20 alumni spamd[76837]: clean message (0.0/5.0) for marc:1000 in 2
>seconds.
> May 10 10:00:21 alumni sendmail[76836]: g4AD0Iu76825: to=<[EMAIL PROTECTED]>,
>delay=00:00:03, xdelay=00:00:03, mailer=cyrus, pri=30735, relay=localhost, dsn=2.0.0,
>stat=Sent
>
> As does sending a known spam message:
>
> May 10 09:59:46 alumni sendmail[76456]: g4ACxku76456: from=<[EMAIL PROTECTED]>,
>size=2081, class=0, nrcpts=1, msgid=<[EMAIL PROTECTED]>,
>bodytype=7BIT, proto=ESMTP, daemon=MTA, relay=garlic.acadiau.ca [131.162.138.193]
> May 10 09:59:46 alumni spamd[74495]: connection from alumni.acadiau.ca [
>131.162.201.19 ] at port 4462
> May 10 09:59:49 alumni spamd[76459]: identified spam (5.4/5.0) for marc:1000 in 3
>seconds.
> May 10 09:59:49 alumni sendmail[76458]: g4ACxku76456: to=<[EMAIL PROTECTED]>,
>delay=00:00:03, xdelay=00:00:03, mailer=cyrus, pri=32081, relay=localhost, dsn=2.0.0,
>stat=Sent
>
> But ... it isn't filtering it to 'inbox.spam' ... I've tried just
> using the 'fileinto "inbox.spam";' without the spam stuff, and the
> sub-folder is working fine ... its as if the 'if spam' isn't returning
> true where spamd is ...
>
> I'm running spamd simply as:
>
> spamd -A <IP> -d
>
> Has anyone else tried to use it with other then 2.1.3 and had
> success? Is there something obviously wrong with my sieve script that I'm
> not seeing?
>
> Thanks ...
>
>