Whilst hacking around with my qmail configuration, I triggered a bugin the qmail users/assign processing that I emailed to this list earlier. This caused the deep internals of tmda-ofmipd's process_message function to raise an exception.

This in turn causes tmda-ofmipd to drop the socket connection right after DATA is complete, without returning any SMTP status code. When using Mozilla (at least with SSL and SMTP AUTH...), this is treated as successful delivery!!!

This is undoubtedly being a Mozilla bug (but nasty, so it might be a good idea to work around it), and it was my additions that threw the exception in the first place (well, I'm quite sure other code might raise exceptions too in some cases...)...

To fix, locate the code in bin/tmda-ofmipd that says:

if not throttlescript or not os.system("%s %s" % (throttlescript,
self.__auth_username)):
status = self.__server.process_message(self.__peer,
self.__mailfrom,
self.__rcpttos,
self.__data,
self.__auth_username)

and replace with:


if not throttlescript or not os.system("%s %s" % (throttlescript,
self.__auth_username)):
try:
status = self.__server.process_message(self.__peer,
self.__mailfrom,
self.__rcpttos,
self.__data,

self.__auth_username)
except:
status = self.push('451 Internal exception in tmda-ofmipd...')

This catches any exceptions, and returns a failure SMTP code, which will cause Mozilla to know the message didn't get through.

Sorry about the formatting. Heopfully this is easily applied to the code without a patch file, since my tmda-ofmipd is so hacked a patch wouldn't apply to CVS anyway, and I'm moving this weekend, so don't have time right now to grab CVS, apply the patch and post it:-(

--
Stephen Warren, Software Engineer, Parama Networks, San Jose, CA
[EMAIL PROTECTED]          http://www.wwwdotorg.org/pgp.html

Attachment: signature.asc
Description: OpenPGP digital signature

_________________________________________________
tmda-workers mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-workers

Reply via email to