FreeBSD Postfix Python PolicyD-SPF IP-Adressvalidierungsfehler

FreeBSD Postfix Python PolicyD-SPF IP-Adressvalidierungsfehler

Ich habe vor kurzem ein Problem auf meinem FreeBSD-Postfix-Mailserver mit dem Paketpy27-postfix-policyd-spf-python-1.3.2_1

Meine Maillogs waren voll mit den folgenden Nachrichten:

policyd-spf[16637]: ERROR: 127.0.0.0/8 in skip_addresses not IP network.  Message: '11.22.33.44' does not appear to be an IPv4 or IPv6 address. Did you pass in a bytes (str in Python 2) instead of a unicode object?. Aborting white list processing.

Der Wechsel zu Python 3, wie von anderen vorgeschlagen, hat NICHT funktioniert (weder das Ändern des Shebangs, noch das direkte Starten über Python3

Antwort1

Die Lösung für mein Problem war (vorerst), der Funktion folgende Zeilen hinzuzufügen _cidrmatchin/usr/local/bin/policyd-spf

def _cidrmatch(ip, netwrk)
  netwrk = unicode(netwrk)
  ip = unicode(ip)
  try:
    address = ipaddress.ip_address(ip)

Dies geschieht, damit das Python-Modul ipaddr nur mit Unicode-Zeichenfolgen umgehen muss (wie in der Fehlermeldung angefordert).

Die Umstellung auf Python 3, wie in anderen Beiträgen im Internet vorgeschlagen, hat bei mir nicht funktioniert (vielleicht fehlen einige Abhängigkeiten?).

Auch dieser Beitrag hat mir sehr geholfen https://stackoverflow.com/questions/30389019/valueerror-10-0-0-0-24-scheint-kein-IPv4-oder-IPv6-Netzwerk zu sein

ABER BEDENKEN SIE: dieser Fix wirdGEGANGENnachdem das Paket ein Update erhält, das ist also nurals hilfreicher Hinweis gedachtan jemanden, der auf das gleiche Problem stößt wie ich!

Wenn also jemand eine echte Lösung hat, lassen Sie es uns wissen :)

verwandte Informationen