Victor Duchovni:
> On Thu, Jun 02, 2011 at 12:55:21PM -0700, Paul B. Henson wrote:
> 
> > On Wed, Jun 01, 2011 at 05:45:31PM -0700, Wietse Venema wrote:
> >  
> > > Postfix hasn't changed, as far as I can tell. Perhaps something on
> > > your system has changed.
> > 
> > We did update a number of components, and after viewing postfix
> > changelogs and source code without anything popping out, we went back to
> > a system with the original config and updated only postfix (and db,
> > which the packaging system pulled in), and verified the same change in
> > behavior before I posted.
> >  
> 
> I see the same issue, on a host with 2.5.6, 2.7.2 and 2.8.3 all installed
> in separate install trees, the 2.5.6 sendmail reports file size too large,
> while 2.7.2 and 2.8.3 both report the protocol error.

Well no-one told me it happens with "sendmail -t", so I did not
test for that option (or the bazillion other permutations of Postfix
options). Let this be a reminder that a problem report should
contain all the information that is necessary to reproduce the
condition.

        Wietse

*** src/postdrop/postdrop.c-    Fri Jan 15 20:21:50 2010
--- src/postdrop/postdrop.c     Thu Jun  2 20:34:06 2011
***************
*** 450,458 ****
            saved_errno = errno;
            while ((rec_type = rec_get_raw(VSTREAM_IN, buf, var_line_limit,
                                           REC_FLAG_NONE)) != REC_TYPE_END
!                  && rec_type != REC_TYPE_EOF)
                if (rec_type == REC_TYPE_ERROR)
                    msg_fatal("uid=%ld: malformed input", (long) uid);
            errno = saved_errno;
            break;
        }
--- 450,464 ----
            saved_errno = errno;
            while ((rec_type = rec_get_raw(VSTREAM_IN, buf, var_line_limit,
                                           REC_FLAG_NONE)) != REC_TYPE_END
!                  && rec_type != REC_TYPE_EOF) {
!               /* Check these at submission time instead of pickup time. */
!               if (rec_type == REC_TYPE_FROM)
!                   from_count++;
!               if (rec_type == REC_TYPE_RCPT)
!                   rcpt_count++;
                if (rec_type == REC_TYPE_ERROR)
                    msg_fatal("uid=%ld: malformed input", (long) uid);
+           }
            errno = saved_errno;
            break;
        }
Only in src/postdrop: postdrop.o

Reply via email to