Seit einigen Tagen schmeißt mein Server regelmäßig einen Fehler bei der Aktualisierung der Spamassassin Regeln mit dem Hinweis auf die Datei RelayCountry.pm. Der Befehl, der dabei ausgeführt wird, ist:

    test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync

    Die Meldung dazu:

    plugin: eval failed: Can't use an undefined value as a subroutine reference at /usr/share/perl5/Mail/SpamAssassin/Plugin/RelayCountry.pm line 219.
    Use of uninitialized value $countries in split at /usr/share/perl5/Mail/SpamAssassin/Plugin/RelayCountry.pm line 274.

    Lange Rede kurzer Sinn. Ich habe im August 2016 Spamassassin um ein Regelwerk erweitert, dass die GeoIP-Informationen von E-Mails zur Bewertung der Spam-Wahrscheinlichkeit mit einbezieht. Das dabei verwendete Plugin GeoIP (legacy) wird seit dem 01.04.2018 nicht mehr weiter entwickelt.
    Laut der nachfolgenden Mailingliste ist der Bug, der zu dem obigen Fehler führt, bei den Entwicklern von Spamassassin bekannt und soll in Version 3.4.3 gefixt.

    "[...] it's a bug in RelayCountry.pm that can be triggered only if GeoIP is < 1.39 (without ipv6 support)."

    Quelle: https://lists.gt.net/spamassassin/users/212650#212650

    Als Nachfolger für GeoIP (legacy) treten GeoIP2, IP::Country::Fast oder IP::Country::DB_File an. Um die Auswahl des zu verwendenden Plugins zu ermöglichen, wurden mit der Spamassassion Version 3.4.2 die Konfigurationsparameter country_db_type und country_db_path eingeführt.

    The 'country_db_type' and 'country_db_path' options has been added to be able 
    to choose in RelayCountry plugin between GeoIP legacy 
    (discontinued from 04/01/2018), GeoIP2, IP::Country::Fast 
    and IP::Country::DB_File.
    GeoIP legacy is still the default option but it will be deprecated 
    in future releases.

    Quelle: https://svn.apache.org/repos/asf/spamassassin/branches/3.4/UPGRADE

    Da bei Debian 9 Spamassassin 3.4.2 mitgeliefert wird, ist somit die Lösung, das Plugin Fast in der Detai /etc/spamassassin/local.cf zu verwenden.

    # GeoIP Parameter
    country_db_type Fast

    Vertrauen ist gut, kontrolle ist besser. Vor Verwendung des Parameters:

    $ spamassassin -D --lint
    Nov 26 11:23:15.883 [25013] dbg: metadata: RelayCountry: IPv6 support not enabled, versions Geo::IP 1.39, GeoIP C API 1.4.7 required
    Nov 26 11:23:15.883 [25013] warn: plugin: eval failed: Can't use an undefined value as a subroutine reference at /usr/share/perl5/Mail/SpamAssassin/Plugin/RelayCountry.pm line 219.

    Nach dem setzten des Parameters:

    $ spamassassin -D --lint
    Nov 26 11:22:10.138 [24463] dbg: metadata: RelayCountry: Using database: IP::Country::Fast Wed May 15 17:29:48 2013

     

    Leave A Reply