Hi everybody,
I kindly ask for assistance.
Amavis doesn't get the right spam score values from policy table in MySQL. When columns (spam_tag2_level, spam_tag3_level, spam_kill_level) are unmodified and are NULL, the default values are from Amavis config file. But when we modify the row, the returned values are 0.

Amavis config:
$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.2;  # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.9; # triggers spam evasive actions (e.g. blocks mail

When policy is unmodified - From postfix log:
tag=0, tag2=6.2, kill=6.9

When policy is modified - From postfix log:
tag=0, tag2=0, kill=0


When policy is modified - Debug from Amavis:
lookup_sql(u...@domain.com) matches, result=(id=>"1", priority=>"0", policy_id=>"5", email=>"@.", fullname=>-, id=>"1", policy_name=>"@.", virus_lover=>"N", spam_lover=>"N", unchecked_lover=>-, banned_files_lover=>"N", bad_header_lover=>"Y", bypass_virus_checks=>"N", bypass_spam_checks=>"N", bypass_banned_checks=>"N", bypass_header_checks=>"N", virus_quarantine_to=>"virus-quarantine", spam_quarantine_to=>"spam-quarantine", banned_quarantine_to=>"banned-quarantine", unchecked_quarantine_to=>-, bad_header_quarantine_to=>"", clean_quarantine_to=>-, archive_quarantine_to=>-, spam_tag_level=>"0", spam_tag2_level=>"0", spam_tag3_level=>"0", spam_kill_level=>"0", spam_dsn_cutoff_level=>-, spam_quarantine_cutoff_level=>-, addr_extension_virus=>-, addr_extension_spam=>-, addr_extension_banned=>-, addr_extension_bad_header=>-, warnvirusrecip=>-, warnbannedrecip=>-, warnbadhrecip=>-, newvirus_admin=>-, virus_admin=>-, banned_admin=>-, bad_header_admin=>-, spam_admin=>-, spam_subject_tag=>-, spam_subject_tag2=>"[SPAM] ", spam_subject_tag3=>"[SPAM] ", message_size_limit=>-, banned_rulenames=>"", disclaimer_options=>-, forward_method=>-, sa_userconf=>-, sa_username=>-, id=>"1", local=>-)

Extract from above: spam_tag_level=>"0", spam_tag2_level=>"0", spam_tag3_level=>"0", spam_kill_level=>"0"
All are 0.


Modified row:
                          id: 5
                 policy_name: @.
                 virus_lover: N
                  spam_lover: N
             unchecked_lover: NULL
          banned_files_lover: N
            bad_header_lover: Y
         bypass_virus_checks: N
          bypass_spam_checks: N
        bypass_banned_checks: N
        bypass_header_checks: N
         virus_quarantine_to: virus-quarantine
          spam_quarantine_to: spam-quarantine
        banned_quarantine_to: banned-quarantine
     unchecked_quarantine_to: NULL
    bad_header_quarantine_to:
         clean_quarantine_to: NULL
       archive_quarantine_to: NULL
              spam_tag_level: -100
             spam_tag2_level: 4.8
             spam_tag3_level: 4.8
             spam_kill_level: 7
       spam_dsn_cutoff_level: NULL
spam_quarantine_cutoff_level: NULL
        addr_extension_virus: NULL
         addr_extension_spam: NULL
       addr_extension_banned: NULL
   addr_extension_bad_header: NULL
              warnvirusrecip: NULL
             warnbannedrecip: NULL
               warnbadhrecip: NULL
              newvirus_admin: NULL
                 virus_admin: NULL
                banned_admin: NULL
            bad_header_admin: NULL
                  spam_admin: NULL
            spam_subject_tag: NULL
           spam_subject_tag2: [SPAM]
           spam_subject_tag3: [SPAM]
          message_size_limit: NULL
            banned_rulenames:
          disclaimer_options: NULL
              forward_method: NULL
                 sa_userconf: NULL
                 sa_username: NULL

Unmodified row:
                          id: 5
                 policy_name: @.
                 virus_lover: N
                  spam_lover: N
             unchecked_lover: NULL
          banned_files_lover: N
            bad_header_lover: Y
         bypass_virus_checks: N
          bypass_spam_checks: N
        bypass_banned_checks: N
        bypass_header_checks: N
         virus_quarantine_to: virus-quarantine
          spam_quarantine_to: spam-quarantine
        banned_quarantine_to: banned-quarantine
     unchecked_quarantine_to: NULL
    bad_header_quarantine_to:
         clean_quarantine_to: NULL
       archive_quarantine_to: NULL
              spam_tag_level: -100
             spam_tag2_level: NULL
             spam_tag3_level: NULL
             spam_kill_level: NULL
       spam_dsn_cutoff_level: NULL
spam_quarantine_cutoff_level: NULL
        addr_extension_virus: NULL
         addr_extension_spam: NULL
       addr_extension_banned: NULL
   addr_extension_bad_header: NULL
              warnvirusrecip: NULL
             warnbannedrecip: NULL
               warnbadhrecip: NULL
              newvirus_admin: NULL
                 virus_admin: NULL
                banned_admin: NULL
            bad_header_admin: NULL
                  spam_admin: NULL
            spam_subject_tag: NULL
           spam_subject_tag2: [SPAM]
           spam_subject_tag3: [SPAM]
          message_size_limit: NULL
            banned_rulenames:
          disclaimer_options: NULL
              forward_method: NULL
                 sa_userconf: NULL
                 sa_username: NULL

Only these are changed:
spam_tag2_level:
spam_tag3_level:
spam_kill_level:


Policy table structure:
+------------------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment | | policy_name | varchar(255) | NO | UNI | | | | virus_lover | char(1) | YES | | NULL | | | spam_lover | char(1) | YES | | NULL | | | unchecked_lover | char(1) | YES | | NULL | | | banned_files_lover | char(1) | YES | | NULL | | | bad_header_lover | char(1) | YES | | NULL | | | bypass_virus_checks | char(1) | YES | | NULL | | | bypass_spam_checks | char(1) | YES | | NULL | | | bypass_banned_checks | char(1) | YES | | NULL | | | bypass_header_checks | char(1) | YES | | NULL | | | virus_quarantine_to | varchar(64) | YES | | NULL | | | spam_quarantine_to | varchar(64) | YES | | NULL | | | banned_quarantine_to | varchar(64) | YES | | NULL | | | unchecked_quarantine_to | varchar(64) | YES | | NULL | | | bad_header_quarantine_to | varchar(64) | YES | | NULL | | | clean_quarantine_to | varchar(64) | YES | | NULL | | | archive_quarantine_to | varchar(64) | YES | | NULL | | | spam_tag_level | float | YES | | NULL | | | spam_tag2_level | float | YES | | NULL | | | spam_tag3_level | float | YES | | NULL | | | spam_kill_level | float | YES | | NULL | | | spam_dsn_cutoff_level | float | YES | | NULL | | | spam_quarantine_cutoff_level | float | YES | | NULL | | | addr_extension_virus | varchar(64) | YES | | NULL | | | addr_extension_spam | varchar(64) | YES | | NULL | | | addr_extension_banned | varchar(64) | YES | | NULL | | | addr_extension_bad_header | varchar(64) | YES | | NULL | | | warnvirusrecip | char(1) | YES | | NULL | | | warnbannedrecip | char(1) | YES | | NULL | | | warnbadhrecip | char(1) | YES | | NULL | | | newvirus_admin | varchar(64) | YES | | NULL | | | virus_admin | varchar(64) | YES | | NULL | | | banned_admin | varchar(64) | YES | | NULL | | | bad_header_admin | varchar(64) | YES | | NULL | | | spam_admin | varchar(64) | YES | | NULL | | | spam_subject_tag | varchar(64) | YES | | NULL | | | spam_subject_tag2 | varchar(64) | YES | | NULL | | | spam_subject_tag3 | varchar(64) | YES | | NULL | | | message_size_limit | int(11) | YES | | NULL | | | banned_rulenames | varchar(64) | YES | | NULL | | | disclaimer_options | varchar(64) | YES | | NULL | | | forward_method | varchar(64) | YES | | NULL | | | sa_userconf | varchar(64) | YES | | NULL | | | sa_username | varchar(64) | YES | | NULL | |
+------------------------------+------------------+------+-----+---------+----------------+


System:
AlmaLinux release 9.3

Amavis version:
amavis.noarch 2.13.0-4.el9 @epel
Also tried:
amavis.noarch 2.13.1-1.el9 @epel-testing

If any more information or config files are necessary, I will provide them.

Thank you for assistance in finding the solution for this problem.
Tomaž

Reply via email to