Robert Schetterer:
> >>>>  1   write [.....]:40057: Connection reset by peer
> >>>
> >>> Don't use verbose logging for production runs.
> >>
> >> sorry Wietse , is see no verbose logging in my setup, i believe
> >> this special "Connection reset by peer" appeared after going to
> >> 2.8 with postscreen
> > 
> > The above logfile format does not look like normal Postfix logging.
> > 
> > Normal Postfix logs start with a date stamp, the name of the program
> > that writes the logging, followed by the actual message content.
> 
> orginal line without ip
> 
> Feb 16 15:00:44 mail01 postfix/postscreen[13410]: warning: write
> [...]:46539: Connection reset by peer
The patch below adds ECONNRESET to the list of bogus errors.

        Wietse

[20110216-postscreen-econnreset-patch]

20110216

        Cleanup: don't log a "connection reset by peer" warning
        when postscreen(8) tries to send a server response.  File:
        postscreen/postscreen_send.c.

diff -cr /var/tmp/postfix-2.8.1-RC1/src/postscreen/postscreen_send.c 
./src/postscreen/postscreen_send.c
*** /var/tmp/postfix-2.8.1-RC1/src/postscreen/postscreen_send.c Sun Jan 16 
12:53:43 2011
--- ./src/postscreen/postscreen_send.c  Wed Feb 16 08:40:32 2011
***************
*** 121,127 ****
                STR(state->send_buf), LEN(state->send_buf));
      if (ret > 0)
        vstring_truncate(state->send_buf, ret - LEN(state->send_buf));
!     if (ret < 0 && errno != EAGAIN && errno != EPIPE)
        msg_warn("write [%s]:%s: %m", state->smtp_client_addr,
                 state->smtp_client_port);
      return (ret < 0 && errno != EAGAIN);
--- 121,127 ----
                STR(state->send_buf), LEN(state->send_buf));
      if (ret > 0)
        vstring_truncate(state->send_buf, ret - LEN(state->send_buf));
!     if (ret < 0 && errno != EAGAIN && errno != EPIPE && errno != ECONNRESET)
        msg_warn("write [%s]:%s: %m", state->smtp_client_addr,
                 state->smtp_client_port);
      return (ret < 0 && errno != EAGAIN);

Reply via email to