[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: recent version
It is friday evening, and I opened a can of beer. I really should not
code for next few hours... (sure I produce a lot of code after a sip,
but damn I need lots more time to debug the stuff..)
On Fri, Jul 09, 2004 at 05:47:14PM +0400, Eugene Crosser wrote:
> On Fri, 2004-07-09 at 15:22 +0300, Matti Aarnio wrote:
A correction to aliases.cf applied, ChangeLog explains...
> > > 3. It seems that socket interface to the contentfilter got broken? I'd
> > > prefer to use it with my zmscanner (forking "zmscanner -i 0" does not
> > > seem to work right now).
> >
> > It should work just like before. The relevant code was moved from
> > contentpolicy.c to subdaemon-ctf.c and has new function names,
> > but otherwise it is unchanged.
> > Of course I have only tested the "fork and run" variant myself, not
> > named socket one.
>
> What is fdpass_sendfd?
> when socket interface to contentfilter is used, on the first try I get
> this:
It is the common underlying tool within the smtpserver service process
family, that forms a connection of Subserver S, and active smtp server
process.
> INapCMf0000# 000-smtpcontentfilter_init: fdpass_sendfd(8,13) rc=0, errno=Error 0
> INapCMf0000# 000-smtpcontentfilter_init; 9
> INapCMf0000# 000-smtpcontentfilter_init; 10
> INapCMf0000# 000-smtpcontentfilter_init; 11; errno=Error 0
> INapCMf0000# 000-smtpcontentfilter_init; 12
The contentfilter server connection has been done successfully.
> INapCMf0000# 000-fdgets()->61300 rc=-1 buf=""
> INapCMf0000# 000-Interactive contentfilter timed out!
But then an EOF hits... it really should say: "EOFed!" but
somehow it doesn't :-/ Oh.. smtpserver/subdaemons.c has
comments about proper return values in front of fdgets()
function, but for EOFs it does return -1 ...
> (no real timeout of course, it happens instantly). On subsequent
> submissions, the message is different:
>
> INjcCNN0001# 000-smtpcontentfilter_init: fdpass_sendfd(8,13) rc=-1, errno=Broken pipe
> INjcCNN0001# 000-Failed to init interactive contentfilter subsystem
At nic.funet.fi (Solaris) there is following process bush:
root 4702 1d223530 0:32.620 | smtpserver -s strict -sve -l /var/log/mail/smtpserver
root 4706 1d223527 0:06.880 | |--smtpserver -I sub-ratetracker -Z /opt/mail/zmailer.conf
root 4707 1d223527 0:04.860 | | smtpserver -I sub-contentfilter -Z /opt/mail/zmailer.conf
root 4708 1d223527 0:09.660 | | smtpserver -I sub-router -Z /opt/mail/zmailer.conf
root 4788 1d223458 3:26.860 | | |--router -io-i -Ismtpserver
root 5887 1d222355 0:01.630 | | | router -io-i -Ismtpserver
(reported by 'sps' tool, available from: ftp.funet.fi:/pub/local/src/sol-sps/ )
In systems capable to mutate visible commandlines (BSD, Linux) those
server processes look a bit different, but same subsystems exist there
too.
I bet that you get the result, because -I sub-contentfilter process
does crash. It does also explain, why the second fdpass_sendfd()
yields "Broken Pipe", as the fd that the contentfilter process is
listening to is all the sudden rather dead...
If you can, attaching a debugger on that process before sending it any
contentfilter tasks would be most educative.
> Eugene
--
/Matti Aarnio <mea@nic.funet.fi>
-
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi