procmail
[Top] [All Lists]

Re: Procmail fractional scoring screwed up.

2003-03-06 15:14:04
On Thu, Mar 06, 2003 at 11:05:17AM -0700, Daryle A. Tilroe wrote:
Bump!  So is no one out there using fractional scoring?

There are several instances in my spam scoring that
fractional exponents would be particularly useful.
For example you want to discriminate against "Fwd:,
Fw:, etc.) but you would like to cap the maximum
weight for that alone.  I.E. you don't want a message
filtered simply for that in the absence of any other
spam signs.

Well, I thought your report on the problem was interesting,
and I saved the mail for later further testing, but haven't
gotten around to it.  If what you wrote about the bugs in
scoring are true, I'll be surprised, yes.

That said, many of us do something like what you describe
above.  I certainly do.  I just haven't used fractional
exponents to do so.  (Btw, I probably discriminate slightly
*for* Fwd: rather than against; though only if certain other
criteria are met.  And I admit that spammers have capitalized
on the concept in recent months and caused me to tighten
the belt on that one.)

My "$TRUST" algorithm is a long list of conditions with scores.
At the end, I evaluate for greater-than or under my max/min,
and adjust accordingly.  That's one example of doing something
like what you are discussing.  I'll show part of it:

 :0  # 030306 () deprecate $TRUST for blemishes; increment for noble traits
  * $   $TRUST^0
  *          2^0    PROFILE      ??  A
  *          1^0    PROFILE      ??  B
  *          3^0    PROFILE      ??  C
  *          4^0    PROFILE      ??  D
  *          1^0    PROFILE      ??  E
  *          1^0    PROFILE      ??  F
  *        0.5^0    PROFILE      ??  G
  *        0.5^0    PROFILE      ??  H
  * $  ${I:-0}^0    PROFILE      ??  I
  *          1^0    PROFILE      ??  J
  *         -4^0    PROFILE      ??  01
  *         -2^0    PROFILE      ??  02
  #
  * $        3^0    ADMIN        ??  $TRUE
  * $       -1^0    ATOMIC       ??  $TRUE
  * $       -1^0    DIATOMIC     ??  $TRUE
  * $       -1^0    DODGEY_TLD   ??  $TRUE
  * $        2^0    LIST         ??  $TRUE
  * $        2^0    MITIGATED    ??  $TRUE
  * $      3.5^0    MYTAG        ??  $TRUE
  * $        2^0    MYWORK       ??  $TRUE
  * $     -1.5^0    TO_ME        ??  $FALSE
  * $       -1^0    TOO_MANY     ??  $TRUE
  * $        2^0    VSMALLBODY   ??  $TRUE
  # (it goes on and on, actually)
  { TRUST = $= }

 :0 E  # 021210 () respond to $TRUST underflow on failure of previous recipe
  { RX = "${RX:+$RX, }UBE.TRUST<LOWEST"    TRUST = $LOWEST }

 :0  # 030209 () respond to $TRUST overflow
  * $     $TRUST^0
  * $  -$HIGHEST^0
  { TRUST = $HIGHEST }


-- 
dman

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail