Good morning, I've been running Spamassassin since 2.43 and we are quite happy with it. I just finished an upgrade from 2.55 to 2.60 and seemed to go well. I upgraded two servers, boith configured identically, with same software,OS, etc installed.
SPARC 20, Solaris 2.6 Spamassassin 2.60 qmail 1.03 Vpopmail 5.3.20 snprintf 2.2 Perl 5.6.1 Both boxes handle 400k to 500k messages a day total, scanning nearly 40% for spam and have been handling the load quite well. After the upgrade I noticed one box had the following errors show up in the spamd log, ---------------------------------------------------------------- 2003-11-24 09:49:21.652105500 Unsuccessful stat on filename containing newline at /usr/local/bin/spamd line 1086, <GEN17934> line 2. 2003-11-24 09:49:21.666938500 Creating default_prefs [domain invalid [EMAIL PROTECTED] 2003-11-24 09:49:21.666984500 Error: Illegal username/.spamassassin/user_prefs] 2003-11-24 09:49:21.676890500 Use of uninitialized value in string ne at /usr/local/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm line 1295, <GEN17934> line 2. 2003-11-24 09:49:21.678123500 Use of uninitialized value in concatenation (.) or string at /usr/local/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm line 1296, <GEN17934> line 2. 2003-11-24 09:49:21.679526500 Oops! user_dirs don't match! 'domain invalid [EMAIL PROTECTED] 2003-11-24 09:49:21.679560500 Error: Illegal username' vs '' 2003-11-24 09:49:21.681029500 Unsuccessful stat on filename containing newline at /usr/local/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm line 1299, <GEN17934> line 2. 2003-11-24 09:49:21.716999500 security: cannot untaint path: "domain invalid [EMAIL PROTECTED] 2003-11-24 09:49:21.717057500 Error: Illegal username/.spamassassin/user_prefs" 2003-11-24 09:49:21.718737500 Insecure dependency in open while running with -T switch at /usr/local/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm line 1310, <GEN17934> line 2. ----------------------------------------------------------------- Looking at SpamAssassin.pm it would appear that SpamAssassin is not getting the username when the message is being passed off by spamc to spamd and the errors are all a result of that issue. I am passing the message to spamd with the following script in a .qmail-<user> file. It is a modified version of ifspamh.sh and has worked very well since 2.43. ------------------------------------------------------------------ #!/bin/sh # spamc - client location SPAMC=/usr/local/bin/spamc # qmail's forward program location INJECT=/var/qmail/bin/qmail-inject # mess822 822field location M822FIELD=/usr/local/bin/822field SPAMBOX="$1" DELIVER="$2" SENDER="[EMAIL PROTECTED]" # we used to skip 'From ' - the 1st line that got added by spamd/spamc # but it seems newer versions don't add it (and SA 2.50 adds a 3 line # Received header) output="`$SPAMC -f -d 127.0.0.1 -u $DELIVER| sed '1{/^From .*/d;}'`" exitcode=$? # spamc will not process a "large email" msize=`echo "$output" | wc -c` # there's also a sizelimit with some shells that triggers around the 512kB mark # with an external printf and arguments size so we stop at this point if [ $msize -gt 250000 ]; then # probably deemed too large anyway .. let it through exit 0 fi flagvalue=`echo "$output" | $M822FIELD X-Spam-Flag | sed 's/^ //'` # X-Spam-Flag might contain "YES" if [ "$flagvalue" = "YES" ]; then # match - likely spam # no match - not a spam # forward on the email echo "$output" | $INJECT -a -f "$SENDER" $SPAMBOX if [ $? -eq 0 ]; then # so qmail will not do any further deliveries in .qmail file exit 99 fi # problem calling inject - temp failure exit 111 else # spamc doesn't distinguish temporary failure # if we're passing through the message # so look for signs that spamd provided the output.. flag2value=`echo "$output" | $M822FIELD X-Spam-Status` exitcode2=$? if [ $exitcode2 -ne 0 ]; then # X-Spam-Status header not present in message -> failure of spamc/spamd? # spamc will not process a "large email", but this is accounted for above # so indicate temporary failure echo "spamc returned temporary failure" exit 111 fi # indicate that qmail should continue processing dot-qmail file exit 0 fi ---------------------------------------------------------- spamd is launched with the following run file from daemontools. ---------------------------------------------------------- #!/sbin/sh PATH=$PATH:/usr/bin:/usr/local/bin exec /usr/local/bin/softlimit -a 20000000 \ /usr/local/bin/spamd -c -v -u vpopmail -s stderr -L 2>&1 ------------------------------------------------------------ I suspected at first that I had a .qmail-<user> file calling spamc without the $DELIVER arg, hence no user value. I checked and every .qmail-<user> file has a valid entry in vpasswd. They do, I have no orphaned .qmail files. I am at a loss to find a cause, any thoughts? DAve -- Dave Goodrich (812)378-4100 http://www.tls.net I can save you money on Long Distance...Ask me how! ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk