[Postfixbuch-users] Unsere SpamAssassin-Regeln für alle zum Download

Florian Kaiser fk at florian-kaiser.net
Fr Jan 17 08:46:28 CET 2014


Hallo Peer,

> Von: Peer Heinlein <p.heinlein at heinlein-support.de>
> Datum: Thu, 16 Jan 2014 23:37:01 +0100
> 
> *) Die Body-/Header-Checks werden nicht mehr gepflegt
> 
> *) Unsere Regeln sind ab sofort als SpamAssassin-Ruleset per sa-update
> verfügbar.

Klasse, vielen Dank. 

Ein Hinweis allerdings für Debian: Wenn man das nun nach der Anleitung
aus dem Blog macht, kann es unter Umständen (sogar häufig) dazu kommen,
dass zwar Regeln geladen werden, aber weder ein Reload noch ein
Recompile der Regeln stattfindet. Grund ist, dass das Debian-Script nur
den Exit-Codes des vorherigen Befehls prüft. Und das wäre dann eben das
sa-update von heinlein. Ergibt das einen Exit-Code von 1, beendet sich
das Script und macht nichts weiter. Es könnte aber gut sein, dass das
"normale" sa-update kurz vorher einen Exit-Code von 0 produziert hat
und damit ein recompile&reload notwendig gewesen wäre. Das ist also
nicht gerade optimal. Ganz trivial ist der Fix natürlich in dem Fall
auch nicht.

Wir behelfen uns jetzt mit dieser alles andere als eleganten Lösung:

Ungefähr Zeile 62: 

# Update
umask 022
sa-update
retcode1=$?

sa-update --nogpg --channel spamassassin.heinlein-support.de
retcode2=$?

if [ $retcode1 -eq 0 ] || [ $retcode2 -eq 0  ]; then
        retcode=0
elif [ $retcode1 -eq 2 ] || [ $retcode2 -eq 2  ]; then
        retcode=2
else
        retcode=$retcode2
fi

case $retcode in
    0)
        # got updates!
        spamassassin --lint || die_with_lint
        do_compile
        reload
        ;;
    1)
        # no updates
        exit 0
        ;;
    2)
        # lint failed!
        die_with_lint
        ;;
    *)
        echo "sa-update failed (with exit code $?) for unknown reasons" 1>&2
        ;;
esac

Vielleicht kann man zumindest den Hinweis noch in den Blog einbauen.
Wie man das dann für sich löst, ist ja jedem selbst überlassen. Uns
reicht es so, andere müssen möglicherweise das case-statement noch
umstellen, damit es 100% korrekte Fehlermeldungen für jeden
Update-aufruf gibt. Du kannst das aber gerne so 1:1 übernehmen.

Grüße
Florian




-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 836 bytes
Beschreibung: This is a digitally signed message part
URL         : <https://listi.jpberlin.de/pipermail/postfixbuch-users/attachments/20140117/98dab529/attachment.asc>


Mehr Informationen über die Mailingliste Postfixbuch-users