Ich habe gestern Abend Spamassassin von Version 3.2.5-2+lenny2 auf 3.3.1-1. Beim anschließenden testen habe ich im Header der festgestellt, dass eingehende E-Mails nicht mehr durch den Spam-Filter laufen.

    X-Spam-Flag: NO
    X-Spam-Score: 0
    X-Spam-Level:
    X-Spam-Status: No, score=x tagged_above=-100 required=14.31 tests=[]
    

    Eine erhöhung das Amavis Log Levels auf 4 brachte den Fehler zu Tage.

    Aug 26 10:02:04 mx02.blog.cscholz.io prequeue_filter[28157]: (28157-01) (!!)SA failed: Can't locate object method "READ" via package "Amavis::IO::FileHandle" at /usr/local/share/perl/5.10.0/Mail/SpamAssassin/Message.pm line 143, <GEN71> line 169. at (eval 104) line 420, <GEN71> line 169.

    Dre Grund dafür ist

    package Amavis::IO::FileHandle now supports a method READ (i.e. invoked
    by a perl functions sysread through a tied hash), which is needed by
    SpamAssassin revisions since 2008-09-25 (3.3), bringing a little speedup
    to transferring a message from amavisd to SpamAssassin, and avoiding a
    Perl I/O bug (perl bug 39060; SA: bug 5985) on some installations;

    Dieser Fehler ist in amavisd-new 2.6.2+ behoben, jedoch lässt sich amavisd-new nicht ohne Konflikte aus dem sid Zweig installieren, daher muss die Datei /usr/sbin/amavisd-new manuell  angepasst werden. Dazu muss die Zeile nach SA prepare von

    my($data_representation) = 'GLOB';  # pass data to SA as ARRAY or a GLOB

    auf

    my($data_representation) = 'ARRAY';  # pass data to SA as ARRAY or a GLOB

    geändert werden.

    5 Kommentare

    Leave A Reply