FIX: Pyzor 0.4.0’s Discover Problem
July 24th, 2008 at 1:27 pm by MarkTags: bugs, developers, hosting, pyzor, sarcasm, software, sourceforge, spam, spamassassin
If you’re using Pyzor to help you block spam (a lot of people use it alongside SpamAssassin), then you’ve probably run into these nasty “pyzor: check failed: internal error” messages in your maillog since July 21st.
After digging into on my own a bit, I found two things. The first was the “InternalError” was being caused by a corrupt “servers” file that contained nothing but “File Not Found” information. The second was that the “discover” command line was returning:
downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x
Traceback (most recent call last):
File “/usr/bin/pyzor”, line 4, in ?
pyzor.client.run()
File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 991, in run
ExecCall().run()
File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 185, in run
self.servers = self.get_servers(servers_fn)
File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 410, in get_servers
servers.read(open(servers_fn))
File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 119, in read
self.append(pyzor.Address.from_str(line))
File “/usr/lib/python2.4/site-packages/pyzor/__init__.py”, line 458, in from_str
fields[1] = int(fields[1])
IndexError: list index out of range
Obviously, linking to non-existent files, especially in the /cgi-bin/ directory, is a bad thing.
As a temporary measure, simply disable your “pyzor discover” cron job, and manually add “82.94.255.100:24441” into your “servers” file (wherever it may be with your configuration).