[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
Hope that helps with your decision.
More information about the MIMEDefang