On Thursday, February 04, 2016 04:19:54 PM Bill Cole wrote: > On 4 Feb 2016, at 15:52, Danny Horne wrote: > > Hi all, > > > > I am getting the following error on just one email address from > > policyd-spf, called from Postfix. No other email address has caused > > me > > problems (as far as I'm aware) and I had to completely disable > > policyd-spf in Postfix to allow the email through. Can anyone > > decipher > > what the problem was? > > Only enough to be sure that the problem happened inside policyd-spf and > that you're using the Python implementation, not the Perl one, since > that log mess is a Python error trackback. > > These lines tell the immediate error: > > Feb 4 14:32:06 gallium policyd-spf[8810]: File > "/usr/lib/python2.7/site-packages/spf.py", line 1206, in dns_a > Feb 4 14:32:06 gallium policyd-spf[8810]: return > [ipaddress.Bytes(ip) for ip in r] > Feb 4 14:32:06 gallium policyd-spf[8810]: AttributeError: 'module' > object has no attribute 'Bytes' > > That would *probably* be meaningful to the developers of policyd-spf and > perhaps to any good Python developer. To me it says "spf.py has a bug" > but my guess is far from expert. > > Looks possible that this is your answer: > > https://bugs.launchpad.net/pypolicyd-spf/+bug/1229862/comments/3
I believe that's correct. I just confirmed that ipaddr.Bytes (which gets used as ipaddress.Bytes in this policy server for python3 compatibility) was added in ipaddr-py 2.1.10, so running with an older version will cause that error. Scott K