You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2004/08/22 20:42:50 UTC
[Bug 3715] New: Conf::Parser double counts certain errors, etc.
http://bugzilla.spamassassin.org/show_bug.cgi?id=3715
Summary: Conf::Parser double counts certain errors, etc.
Product: Spamassassin
Version: SVN Trunk (Latest Devel Version)
Platform: Other
OS/Version: other
Status: NEW
Severity: normal
Priority: P5
Component: Libraries
AssignedTo: dev@spamassassin.apache.org
ReportedBy: felicity@kluge.net
While working on another issues, I found this in parse():
[...]
if ($ret && $ret eq $Mail::SpamAssassin::Conf::INVALID_VALUE) {
warn "invalid value for \"$key\": $value\n";
$conf->{errors}++;
} else {
next;
}
[...]
failed_line:
[...]
$conf->{errors}++;
[...]
So if a configuration code call returns INVALID_VALUE, errors++, then the parse
continues down to failed_line which tries to have a plugin deal with it, and if
it still fails, errors++ again.
IMO, there are 2 issues here.
1) errors++ is called twice for a single failure, which is obviously wrong.
2) if INVALID_VALUE is returned, parse() tries to have plugins deal with the
option which we already know isn't for plugins, then we throw a second error:
as an example, add a config option "add_header blarg" to a cf file, then run
--lint. what you get out is:
invalid value for "add_header": blarg
Failed to parse line in SpamAssassin configuration, skipping: add_header blarg
lint: 2 issues detected. please rerun with debug enabled for more information.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.