[Mimedefang] I think I found the problem with mimedefang looping forever...
David F. Skoll
dfs at roaringpenguin.com
Fri Mar 1 21:06:08 EST 2002
... and it's a bug in libmilter.
The following patch, applied in sendmail-8.12.2/libmilter, should
correct it.
--- comm.c.old Wed Nov 7 12:43:04 2001
+++ comm.c Fri Mar 1 21:02:55 2002
@@ -241,12 +241,13 @@
/* use writev() instead to send the whole stuff at once? */
while ((l = MI_SOCK_WRITE(sd, (void *) (data + i),
- sl - i)) < (ssize_t) sl)
+ sl)) < (ssize_t) sl)
{
if (l < 0)
return MI_FAILURE;
i += l;
sl -= l;
+ if (!sl) break;
}
if (len > 0 && buf == NULL)
@@ -265,12 +266,13 @@
if (ret < 0)
return MI_FAILURE;
while ((l = MI_SOCK_WRITE(sd, (void *) (buf + i),
- sl - i)) < (ssize_t) sl)
+ sl)) < (ssize_t) sl)
{
if (l < 0)
return MI_FAILURE;
i += l;
sl -= l;
+ if (!sl) break;
}
return MI_SUCCESS;
}
--
David.
More information about the MIMEDefang
mailing list