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 ... > >