--On February 3, 2005 2:08:56 PM -0800 ned(_dot_)freed(_at_)mrochek(_dot_)com
FYI the draft for the new version of the spamtest extension is now
available. The only change between this and the current RFC is the
addition of a :percent argument to the spamtest test to allow for a
numeric range of 0 - 100. The value -1 is used to indicate a message
that was not categorised in anyway.
First, I don't think the -1 is a good idea because of how it interacts
with numeric comparators. I'd much rather retain 0 as the value
indicating no test was done.
So we would have:
0 message was not tested for spam
1 message was tested and is clear of spam
2 - 99 message was tested and has a varying likelihood of
containing spam in increasing order
100 message was tested and definitely contains spam
Perhaps those that requested the percent range could state whether this is
The only other issue I see with the draft is the business of making
require "spamtest" and require "spamtestpercent" mutually exclusive. I
certainly agree that we want require "spamtestpercent" to subsume require
"spamtest" - - require lists in sieve can be really long - but I wonder
if making them mutually exclusive goes too far.
I can change the 'MUST NOT' to a 'SHOULD NOT' for that requirement.
Additionally, one thing that isn't entirely clear with the current text
is that the following is legal:
require "spamtest"; if spamtest :contains "foo" ...
That is, spamtest without a :percent is allowed when require
"spamtestpercent" is used. I think this should be clarified.
Here is some alternative text for this:
SIEVE implementations that implement the "spamtest" test have an
identifier of "spamtest" for use with the capability mechanism. If
the ":percent" argument is used with any spamtest test, then the
capability idenitifier "spamtestpercent" MUST be present, and the
"spamtest" capability MUST NOT be present.
SIEVE implementations that implement the "spamtest" test use an
identifier of either "spamtest" or "spamtestpercent" for use with
the capability mechanism.
If the ":percent" argument is not used with any spamtest test, then
one of either the "spamtest" or "spamtestpercent" capability
identifiers MUST be present, though both SHOULD NOT be present together.
If the ":percent" argument is used with any spamtest test, then
the "spamtestpercent" capability identifier MUST be present, and
the "spamtest" capability identitifer SHOULD NOT be present.