If I try as "root" (but the readyexec service was launched by "spamc"),
then I get:

[24384] dbg: pyzor: network tests on, attempting Pyzor
[24384] dbg: pyzor: pyzor is available: /usr/local/bin/readyexec
[24384] dbg: pyzor: opening pipe: /usr/local/bin/readyexec /tmp/pyzor
check < /tmp/.spamassassin24384QlgyvMtmp
[24384] dbg: pyzor: [24389] finished: exit=3D0x0100
[24384] dbg: pyzor: got response: downloading servers from
http://pyzor.sourceforge.net/cgi-bin...-servers-0-3-x
[24384] dbg: pyzor: failure to parse response "downloading servers from
http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x"

If I try as "spamc", then I get:

[24756] dbg: pyzor: network tests on, attempting Pyzor
[24756] dbg: pyzor: pyzor is available: /usr/local/bin/readyexec
[24756] dbg: pyzor: opening pipe: /usr/local/bin/readyexec /tmp/pyzor
check < /tmp/.spamassassin24756qBws8Rtmp
[24756] dbg: pyzor: got response: 82.94.255.100:24441 (200, 'OK') 5 0
[24756] dbg: pyzor: listed: COUNT=3D5/5 WHITELIST=3D0

Keep in mind, I'm running on Linux (Debian Sarge - Untangle) and am
using Python 2.3... So there may be some differences there.

- Jason

-----Original Message-----
From: neil [mailto:neil@supanet.net.uk]=20
Sent: Thursday, May 01, 2008 11:00 AM
To: Jason J. Ellingson
Cc: users@spamassassin.apache.org
Subject: Re: Using Pzyor with high volume

Hi;

>Since you are running the "server" portion as "nobody"... Then the

spamd
>user account needs to stay as "nobody".


We run SA as a system filter, so no calls to multiple different users.

root 20203 4.8 5.4 61144 56424 ?? S 4:11PM 2:41.23 spamd
child (perl5.8.8)
nobody 21508 4.1 5.6 62920 58388 ?? S 4:13PM 2:27.77 spamd
child (perl5.8.8)

If I run it as root, it stops the error, but then it stop hitting
things.
Though with -D it does show that it is talking to the pyzor server via
the pipe.
(Note: I deleted the 66.250.40.33 from the pyzor servers list, but it is
still showing up, even after a spamd restart.)

# spamassassin -D pyzor < /tmp/spam.txt
[42041] dbg: pyzor: network tests on, attempting Pyzor
[42041] dbg: pyzor: pyzor is available: /usr/local/bin/readyexec
[42041] dbg: pyzor: opening pipe: /usr/local/bin/readyexec /tmp/pyzor1
check < /tmp/.spamassassin420412jN0S2tmp
[42041] dbg: pyzor: [42060] finished: exit=3D0x0100
[42041] dbg: pyzor: got response: 82.94.255.100:24441 (200, 'OK') 0
0\n66.250.40.33:24441 TimeoutError:
[42041] dbg: pyzor: failure to parse response "66.250.40.33:24441
TimeoutError: "

I'm off for a few days, so I'll have a play with it when I get back. I
think, as you pointed out, it could be to do with permissions. Cheers
for that.

Rgds
n





Jason J. Ellingson wrote:
> Since you are running the "server" portion as "nobody"... Then the

spamd
> user account needs to stay as "nobody". If you make a spamc call with

a
> "user" identified, then spamd will switch to that user account before
> processing the message (this is for user specific needs like custom

user
> rules, BAYES, AWL, etc). Since the accounts now don't match, it'll

give
> you that error.
>
> - Jason
>
> -----Original Message-----
> From: neil [mailto:neil@supanet.net.uk]=20
> Sent: Thursday, May 01, 2008 9:31 AM
> To: Jason J. Ellingson
> Cc: Ben Poliakoff; Robert Blayzor; users@spamassassin.apache.org
> Subject: Re: Using Pzyor with high volume
>
> Hi;
> I have it running and it works, load is down and free mem up, but

not=20
> certain if that is just because I've restarted spamd a few times. I'm=20
> getting some weird error messages has anyone else seen this?
>
> I had to modify the make file
> #PYTHON=3Dpython2
> PYTHON=3Dpython2.5
>
> Then run the install manually
> /usr/local/bin/python2.5 setup.py install
> And cp readyexec /usr/local/bin
>
> Finally I kicked it off with
> /usr/local/bin/sudo -u nobody readyexecd.py /tmp/pyzor1

pyzor.client.run
> &
>
> local.cf
> pyzor_path /usr/local/bin/readyexec
> pyzor_options /tmp/pyzor1
>
> I'm getting pyzor hits in the logs so all appears to be working, but

the
>
> following are occasionally appearing on the terminal I started it

from.
> FreeBSD 6.2 by the way.
>
>
> Traceback (most recent call last):
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

385,=20
> in process_request
> self.finish_request(request, address)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

408,=20
> in finish_request
> super(ReadyExec, self).finish_request(request, address)
> File "/usr/local/lib/python2.5/SocketServer.py", line 254, in=20
> finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

173,=20
> in __init__
> client_address, server)
> File "/usr/local/lib/python2.5/SocketServer.py", line 522, in

__init__
> self.handle()
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

187,=20
> in handle
> self.handle_conduit()
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

209,=20
> in handle_conduit
> self.tell_exit(os.waitpid(pid, 0)[1] >> 8)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

293,=20
> in tell_exit
> self.send_string("exit")
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line

298,=20
> in send_string
> self.wfile.write(netstring(msg))
> File "/usr/local/lib/python2.5/socket.py", line 262, in write
> self.flush()
> File "/usr/local/lib/python2.5/socket.py", line 249, in flush
> self._sock.sendall(buffer)
> error: (32, 'Broken pipe')
>
>
> rgds
> n
>
>
>
>
> Jason J. Ellingson wrote:
> =20
>> Solved the problem.
>>
>> readyexec is *USER* specific. You *MUST* launch the readyexecd.py
>> "server" part as the SAME user as the user of readyexec "client".
>>
>> My spamd service is run as a user "spamc", while I was adding the
>> service as "root".
>>
>> Now, that I have the service running as "spamc", we have success!
>>
>> Thanks for your help folks!
>>
>> - Jason
>>
>> -----Original Message-----
>> From: Jason J. Ellingson [mailto:jason@ellingson.com]=20
>> Sent: Wednesday, April 30, 2008 3:21 PM
>> To: Ben Poliakoff
>> Cc: Robert Blayzor; users@spamassassin.apache.org
>> Subject: RE: Using Pzyor with high volume
>>
>> I am trying those settings, yet I get no Pyzor hits.
>>
>> I can manually do a "readyexec /tmp/pyzor ping" which works fine...
>>
>> Any other suggestions?
>>
>> Many thanks!
>>
>> - Jason
>>
>> -----Original Message-----
>> From: Ben Poliakoff [mailto:benp@reed.edu]=20
>> Sent: Wednesday, April 30, 2008 1:23 PM
>> To: Jason J. Ellingson
>> Cc: Robert Blayzor; users@spamassassin.apache.org
>> Subject: Re: Using Pzyor with high volume
>>
>> * Jason J. Ellingson [20080430 11:07]:
>> =20
>> =20
>>> Yup... I got the "server" portion running... The trick now is to get
>>> SpamAssassin to use "readyexec /tmp/pyzor" instead of just

"pyzor"...
>>> Any suggestions? I was looking at modifying Pyzor.pm in the
>>> SpamAssassin perl directory.
>>> =20
>>> =20

>> Something like this seems to work for me:
>>
>> use_pyzor 1
>> pyzor_path /usr/local/bin/readyexec
>> pyzor_options /tmp/pyzor
>>
>> Ben
>>
>> =20
>> =20

>
>
> =20