First, I know it's widely known that Pyzor "doesn't work on Windows". But, you've probably seen enough of my postings to know I'm not always satisfied with that reponse. So... I put a little effort into it this week and it does work on Windows if you run SA from the command line, but not if you use the class to call it from a perl program.
The output from SpamAssassin --lint -D looks like this: [2140] dbg: plugin: registering glue method for check_pyzor (Mail::SpamAssassin::Plugin::Pyzor=HASH(0x2d7b754)) [2140] dbg: pyzor: pyzor is available: c:\python24\pyzor.bat [2140] dbg: info: entering helper-app run mode [2140] dbg: pyzor: opening pipe: c:\python24\pyzor.bat check < C:\DOCUME~1\BRET~1.MIL\LOCALS~1\Temp\.spamassassin2140AYICIitmp [2140] dbg: util: c:\python24\pyzor.bat check <"C:\DOCUME~1\BRET~1.MIL\LOCALS~1\Temp\.spamassassin2140AYICIitmp" [2140] dbg: pyzor: [1236] finished: exit=0x0100 [2140] dbg: pyzor: got response: 66.250.40.33:24441_(200, 'OK')_0_0 [2140] dbg: info: leaving helper-app run mode Indicating it was quite successful. But the debug output when called from the perl app looks like this: [2508] dbg: plugin: registering glue method for check_pyzor (Mail::SpamAssassin::Plugin::Pyzor=HASH(0x19aa2a0)) [2508] dbg: pyzor: pyzor is available: c:\python24\pyzor.bat [2508] dbg: info: entering helper-app run mode [2508] dbg: pyzor: opening pipe: c:\python24\pyzor.bat check < C:\DOCUME~1\BRET~1.MIL\LOCALS~1\Temp\.spamassassin2508BZLMJutmp [2508] dbg: util: c:\python24\pyzor.bat check <"C:\DOCUME~1\BRET~1.MIL\LOCALS~1\Temp\.spamassassin2508BZLMJutmp" [2508] dbg: info: leaving helper-app run mode pyzor: check failed: Bad file descriptor Indicating that it was not so successful. Anyone have any idea what "Bad file descriptor" means and why you'd get that when calling the SA class from a perl app and not when you run SA from the command line? I could post this to BZ if that's preferrable. Just wasn't sure something was a bug when it's widely advertised not to work to begin with. To me, this doesn't look like pyzor not working (since it works quite well from the command line itself, and when called by SA from the command line), but rather SA's calling of pyzor that's not working when SA is called as a class under another app. Whether that's a problem with SA, ActivePerl, ActivePython, the other perl app (CGPSA), or Windows is something that's a bit over my head. I will probably do a bit more testing with my own simple perl app to see if it's failing all the time, or just from CGPSA. Bret