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...@spamassassin.apache.org on 2020/06/07 13:24:13 UTC

[Bug 7825] New: Improve register_eval_rule() to prevent config mistakes

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7825

            Bug ID: 7825
           Summary: Improve register_eval_rule() to prevent config
                    mistakes
           Product: Spamassassin
           Version: SVN Trunk (Latest Devel Version)
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Libraries
          Assignee: dev@spamassassin.apache.org
          Reporter: apache@hege.li
  Target Milestone: Undefined

register_eval_rule() should accept rule type as argument. This way we can check
that someone doesn't define eval rule in config with wrong ruletype (example
Bug 7823). Perhaps it should fail lint, at minimum a visible warning should be
outputted.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7825] Improve register_eval_rule() to prevent config mistakes

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7825

Henrik Krohns <ap...@hege.li> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #2 from Henrik Krohns <ap...@hege.li> ---

Committed to modules. Check for body also allows rawbody.

Sending        trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
Sending        trunk/lib/Mail/SpamAssassin/Conf.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/ASN.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/AccessDB.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/AuthRes.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/BodyEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/FreeMail.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/FromNameSpoof.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/ImageInfo.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/OLEVBMacro.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/Shortcircuit.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/URIEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/VBounce.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin.pm
Transmitting file data ...................................done
Committing transaction...
Committed revision 1878995.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7825] Improve register_eval_rule() to prevent config mistakes

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7825

--- Comment #1 from Henrik Krohns <ap...@hege.li> ---

Implemented, with HashBL as test. Will need to go through all plugins to add
ruletypes.

Sending        trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
Sending        trunk/lib/Mail/SpamAssassin/Conf.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin/HashBL.pm
Sending        trunk/lib/Mail/SpamAssassin/Plugin.pm
Transmitting file data ....done
Committing transaction...
Committed revision 1878582.

Example

$ spamassassin --cf 'body FOO eval:check_hashbl_emails()' --lint
Jun  8 10:48:59.294 [2723560] warn: wrong rule type defined for FOO, expected
'header'
Jun  8 10:48:59.589 [2723560] warn: lint: 1 issues detected, please rerun with
debug enabled for more information

Added $ruletype to docs

    $plugin->register_eval_rule ($nameofevalsub, $ruletype)
        Plugins that implement an eval test will need to call this, so that
SpamAssassin calls into the object when that eval test is encountered. See the
REGISTERING EVAL RULES section for full details.

        Since 4.0, optional $ruletype can be specified to enforce that eval
function cannot be called with wrong ruletype from configuration, for example
user using "header FOO eval:foobar()" instead of "body FOO eval:foobar()".
Mismatch will result in lint failure.
        $ruletype can be one of:

          $Mail::SpamAssassin::Conf::TYPE_HEAD_EVALS
          $Mail::SpamAssassin::Conf::TYPE_BODY_EVALS
          $Mail::SpamAssassin::Conf::TYPE_RAWBODY_EVALS
          $Mail::SpamAssassin::Conf::TYPE_FULL_EVALS

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7825] Improve register_eval_rule() to prevent config mistakes

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7825

Henrik Krohns <ap...@hege.li> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |apache@hege.li
   Target Milestone|Undefined                   |4.0.0

-- 
You are receiving this mail because:
You are the assignee for the bug.