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=0x0100
[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]
> 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
> certain if that is just because I've restarted spamd a few times. I'm
> getting some weird error messages has anyone else seen this?
>
> I had to modify the make file
> #PYTHON=python2
> PYTHON=python2.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,
> in process_request
> self.finish_request(request, address)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line 408,
> in finish_request
> super(ReadyExec, self).finish_request(request, address)
> File "/usr/local/lib/python2.5/SocketServer.py", line 254, in
> finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line 173,
> 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,
> in handle
> self.handle_conduit()
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line 209,
> in handle_conduit
> self.tell_exit(os.waitpid(pid, 0)[1] >> 8)
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line 293,
> in tell_exit
> self.send_string("exit")
> File "/usr/local/lib/python2.5/site-packages/readyexec.py", line 298,
> 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:
>
>> 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]
>> 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]
>> 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]:
>>
>>
>>> 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.
>>>
>>>

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

>
>
>