![FreeBSD Postfix Python PolicyD-SPF IP-Adressvalidierungsfehler](https://rvso.com/image/1542102/FreeBSD%20Postfix%20Python%20PolicyD-SPF%20IP-Adressvalidierungsfehler.png)
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 _cidrmatch
in/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 :)