freebsd postfix python policyd-spf Fehler bei der Überprüfung der IP-Adresse

462
Daywalker

Ich habe kürzlich ein Problem mit dem Paket auf meinem Postfix-Mail-Server von freebsd festgestellt py27-postfix-policyd-spf-python-1.3.2_1

Meine Maillogs waren voll mit folgenden Meldungen:

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, funktionierte NICHT (weder das Ändern des Shebangs noch das direkte Starten über Python3)

0

1 Antwort auf die Frage

0
Daywalker

Die Lösung für mein Problem bestand (vorerst) darin, der Funktion _cidrmatchin die folgenden Zeilen hinzuzufügen/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 der Unicode-Zeichenfolge umgehen muss (wie in der Fehlermeldung angefordert).

Die Umstellung auf Python3, wie von anderen Posts im Web vorgeschlagen, hat für mich nicht funktioniert (vielleicht ein paar fehlende Abhängigkeiten?)

Dieser Beitrag hat mir auch sehr geholfen https://stackoverflow.com/questions/30389019/valueerror-10-0-0-0-24-does-not-appear-to-be-an-ipip4-or-ipv6-network

ABER BEHALTEN SIE BEINHALTEN : Dieser Fix wird GONE sein, nachdem das Paket ein Update erhalten hat. Dies ist nur als hilfreiche Notiz für jemanden gedacht, der das gleiche Problem wie ich hat!

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