SA Bugzilla – Bug 3206
spamd flags: -q and -Q prevents spamd processing
Last modified: 2019-09-25 03:45:14 UTC
if i start a spamd server on port 785 without the -q/-Q flag, it works... if i start a spamd server on 786 with the -q/-Q flag, it doesnt work. this is: [root@spamd1 spamd]# spamassassin -V SpamAssassin version 3.0.0-r9592 [root@spamd1 spamd]# /usr/bin/spamd -A 127.0.0.0/8,24.225.0.0/24 -i 0.0.0.0 -p 785 -m15 -x -d [root@spamd1 spamd]# echo | spamc -p785 X-Spam-Score: 3.9 X-Spam-Flag: NO X-Spam-AWL-Adustment: X-Spam-Bayes-Auto-Learn: no X-Spam-Pyzor: X-Spam-Level: *** X-Spam-Status: No, hits=3.9 required=4.0 X-Spam-Checker-Version: SpamAssassin 3.0.0-r9592 on spamd1.ruraltel.net X-Spam-Required-Score: 4.0 X-Spam-DCC: X-Spam-Tests: DATE_MISSING=1.917,FROM_NO_LOWER=1.999,MISSING_HEADERS=0.001 X-Spam-Report: 3.9 points, 4.0 required * 1.9 DATE_MISSING Missing Date: header * 2.0 FROM_NO_LOWER 'From' has no lower-case characters * 0.0 MISSING_HEADERS Missing To: header X-Spam-Bayes-Probability: 0.5 [root@spamd1 spamd]# /usr/bin/spamd -A 127.0.0.0/8,24.225.0.0/24 -i 0.0.0.0 -p 786 -Q -m15 -x -d [root@spamd1 spamd]# echo | spamc -p786 [root@spamd1 spamd]#
tested on Fedora Core 1 and have no problems running -Q/-q. RedHat 7.3 however experiences the same issue. Can perl 5.6.1 be the cause of this??
Created attachment 1886 [details] patch against spamd.raw patch against spamd to remove exits from sql-config failure
okay.. so i've figured out what is wrong. an invalid custom query (but not really because it worked from sql command line) string in user_scores_sql_custom_query will cause spamd to exit. The query in question had a % sign in it by the _DOMAIN_ part ... it would process echo | spamc -u 'dallase@nmgi.com' but would not process echo | spamc or echo | spamc -u 'root' because the domain part would be NULL. weird... my patch against spamd.raw removes the exits completely so the sql_config calls look more like the other calls to similar user config stores (ldap and virtual user). The only benefit I see in having that exit in there woud be this situation: if SQL prefs cannot be pulled, and someone wants to prevent accepting mail if it cannot pull sql prefs, they could use spamc -x and catch the exit code 74 and tempfail on it. Maybe it needs to be a configurable option... I myself would rather have mail be processed than tempfailed because I couldnt pull someones user_prefs. dallas
Subject: Re: spamd flags: -q and -Q prevents spamd processing Seems like you're throwing the baby out with the bath water. See Bug 1222 for info on returning a service unavailable error when the query fails. Possibly there is a problem with the custom SQL stuff that we should fix, but I'd need more information. I'd entertain some discussion on an additional param that specified failures should just continue processing, but I tend to believe that is a bad idea. Michael
how about if -f is specified, it doesnt exit, and if -x is specified, it does exit?? those spamc parameters basically tell you if someone is wanting to capture the exit codes to tempfail or not. If i run with spamc -f, i dont want SQL errors causing my scans to stop. If I run with spamc -x, I want SQL errors to cause mail to tempfail. seem reasonable?
move bug to Future milestone (previously set to Future -- I hope)
This morphed from bug to RFE for flexible handling of bad config. Fixing classification.