Sean Reifschneider: > On 03/19/2010 04:38 AM, Wietse Venema wrote: > > In the mean time, it would help if you could provide verbose (smtpd > > AND cleanup) logging for a failed session. Please include information > > We're trying to get the logging information. Versions we've seen this on > include: > > postfix-2.5.9 > postfix-2.5.1 > pymilter-0.9.3 (with libmilter 8.14) > pymilter-0.8.6 (which I believe was against libmilter 8.13) > milter protocols: 2, 3, 4, and 6.
I have only one milter change for Postfix 2.5, and that is below (and that will also included with Postfix 2.5.10 later today). This is for a problem that Stephen Warren reported half a year ago that he ran into with pymilter-0.9.3, and that gave trouble with SMFIC_HEADER. Wietse 20090918 Bugfix (introduced Postfix 2.3): with Milter RCPT TO replies turned off, there was no automatic flush-before-read on the smtpd-to-milter stream, because the read was done on the cleanup-to-milter stream. Problem reported by Stephen Warren. File: milter/milter8.c. diff -cr /var/tmp/postfix-2.5.9/src/milter/milter8.c postfix-2.5.10/src/milter/milter8.c *** /var/tmp/postfix-2.5.9/src/milter/milter8.c Sat Jul 11 20:28:52 2009 --- postfix-2.5.10/src/milter/milter8.c Mon Oct 5 16:44:48 2009 *************** *** 2528,2533 **** --- 2528,2540 ---- if (msg_verbose) msg_info("%s: milter %s", myname, milter->m.name); + /* + * The next read on this Milter socket happens in a different process. It + * will not automatically flush the output buffer in this process. + */ + if (milter->fp) + vstream_fflush(milter->fp); + if (attr_print(stream, ATTR_FLAG_MORE, ATTR_TYPE_STR, MAIL_ATTR_MILT_NAME, milter->m.name, ATTR_TYPE_INT, MAIL_ATTR_MILT_VERS, milter->version,