--- amavisd Sat Aug 18 02:12:36 2007 +++ amavisd.neu Sat Aug 18 02:14:17 2007 @@ -822,6 +822,7 @@ X-Amavis-PenPals X-Amavis-OS-Fingerprint X-Amavis-PolicyBank X-Spam-Status X-Spam-Level X-Spam-Flag X-Spam-Score X-Spam-Report X-Spam-Checker-Version X-Spam-Tests + X-Spam-CRM114-Status X-Spam-CRM114-CacheID X-DSPAM-Signature X-DSPAM-Result X-DSPAM-Confidence X-DSPAM-Probability X-DSPAM-User X-DSPAM-Factors ); @@ -8670,12 +8671,15 @@ $virus_dejavu = 1; } if ($spam_presence_checked) { - my($spam_level,$spam_status,$spam_report,$spam_summary) = - @$cache_entry{'SL','SS','SR','SY'}; + my($spam_level,$spam_status,$spam_report,$spam_summary,$crm114_score,$crm114_status,$crm114_cacheid) = + @$cache_entry{'SL','SS','SR','SY','SCS','SCT','SCI'}; $msginfo->spam_level($spam_level); $msginfo->spam_status($spam_status); $msginfo->spam_report($spam_report); $msginfo->spam_summary($spam_summary); + $msginfo->supplementary_info('CRM114SCORE', $crm114_score), + $msginfo->supplementary_info('CRM114STATUS', $crm114_status), + $msginfo->supplementary_info('CRM114CACHEID', $crm114_cacheid) } do_log(1,"cached %s from <%s> (%s,%s)", $body_digest, $sender, $virus_presence_checked, $spam_presence_checked); @@ -8907,9 +8911,13 @@ prolong_timer($which_section); $elapsed{'TimeElapsedSpamCheck'} = Time::HiRes::time - $t0_sect; snmp_count('OpsSpamCheck'); - @$cache_entry{'St','SL','SS','SR','SY'} = + @$cache_entry{'St','SL','SS','SR','SY','SCS','SCT','SCI'} = ($now, $msginfo->spam_level, $msginfo->spam_status, - $msginfo->spam_report, $msginfo->spam_summary); + $msginfo->spam_report, $msginfo->spam_summary, + $msginfo->supplementary_info('CRM114SCORE'), + $msginfo->supplementary_info('CRM114STATUS'), + $msginfo->supplementary_info('CRM114CACHEID') + ); $spam_presence_checked = 1; } } @@ -9694,7 +9702,8 @@ if (c('remove_existing_spam_headers')) { my(@which_headers) = qw( X-Spam-Status X-Spam-Level X-Spam-Flag X-Spam-Score - X-Spam-Report X-Spam-Checker-Version X-Spam-Tests); + X-Spam-Report X-Spam-Checker-Version X-Spam-Tests + X-Spam-CRM114-Status X-Spam-CRM114-CacheID); push(@which_headers, qw( X-DSPAM-Result X-DSPAM-Confidence X-DSPAM-Probability X-DSPAM-Signature X-DSPAM-User X-DSPAM-Factors)) if defined $dspam; @@ -9909,6 +9918,13 @@ $allowed_hdrs && $allowed_hdrs->{lc('X-Spam-Level')}; $hdr_edits->add_header('X-Spam-Status', $full_spam_status, 1) if $allowed_hdrs && $allowed_hdrs->{lc('X-Spam-Status')}; + $hdr_edits->add_header('X-Spam-CRM114-Status', sprintf("%s ( %s )", + $msginfo->supplementary_info('CRM114STATUS'), + $msginfo->supplementary_info('CRM114SCORE')), 1) + if $allowed_hdrs && $allowed_hdrs->{lc('X-Spam-CRM114-Status')}; + $hdr_edits->add_header('X-Spam-CRM114-CacheID', + $msginfo->supplementary_info('CRM114CACHEID'), 1) + if $allowed_hdrs && $allowed_hdrs->{lc('X-Spam-CRM114-CacheID')}; } if ($do_tag2 && $is_local) { # SA reports may contain any octet, i.e. 8-bit data from a mail @@ -18032,7 +18048,7 @@ $sa_tests = $per_msg_status->get_tag('TESTSSCORES',','); # $supplementary_info{'AUTOLEARN'}=$per_msg_status->get_autolearn_status; for my $t (qw(AUTOLEARN AUTOLEARNSCORE LANGUAGES RELAYCOUNTRY - SC SCRULE SCTYPE)) { + SC SCRULE SCTYPE CRM114STATUS CRM114SCORE CRM114CACHEID)) { $supplementary_info{$t} = $per_msg_status->get_tag($t); } }