[Mimedefang] URGENT: Correct comm.c patch now available.

David F. Skoll dfs at roaringpenguin.com
Tue Mar 5 21:49:53 EST 2002


On Wed, 6 Mar 2002, Pekka Saari wrote:

> In general it might be a good idea to add some explanation
> for any patch: what problem is it trying to fix etc...

OK.  Mea culpa.

ORIGINAL PROBLEM: Sendmail 8.12.2 contains logic to re-try a write()
system call if only part of the data is written.  The write() system
call is retried until all the data has been written.  Unfortunately,
because of a programming error, a write() which writes exactly half of
the required data causes an infinite loop.  A write() which writes
some different amount of data will cause communication errors between
milter and sendmail.

Because the chunks of data written between milter and sendmail are
typically small, a partial write() is almost never seen in practice,
except on some operating systems and under some load conditions.

SECOND PROBLEM: The patch I posted on my page had a typo:  I typed
"data" instead of "buf" in one place.

SOLUTION: Obtain clean Sendmail 8.12.2 source and apply the correct patch from
http://www.roaringpenguin.com/miemdefang/

Hope that helps with your decision.

Regards,

David.





More information about the MIMEDefang mailing list