Milter broken pipe on write

Vernon Schryver
Mon May 24 14:44:30 UTC 2004

> From: Pim van Pelt 

> | That sendmail is saying "Milter (dcc-milter)" instead of "Milter (dcc)"
> | implies that you changed the prototype ofthe FEATURE file in misc/

> I didn't change the feature in the prototype, rather I have overridden them 
> in the FILTER options in the .mc file:
> INPUT_MAIL_FILTER(`bit-milter', `S=unix:/var/run/milter/bit-milter.sock,
> 		F=T, T=S:600s;R:600s;E:5m')dnl

Those timeouts would be far too long for the DCC.  The hard-coded,
worst case timeouts for the DCC client-server protocol are matters of
seconds instead of minutes.

> I'm particularly interrested why you would choose to tempfail a mail
> when the milter is down. I would rather accept the mail (F=) than
> tempfail it. I took the same timeout settings as I already had for
> another milter I wrote. 

 From the 1.2.48 misc/dcc.m4 file:

  # The default parameters wait 30 seconds for the initial connection from
  #   sendmail to dccm (C), 30 seconds sendmail sending (S) as well as receiving
  #   responses (R) from dccm, and 30 seconds for dccm to check the message
  #   at its end (E).
  #   Adding "F=T" to the parameters cases sendmail to give SMTP clients
  #   a temporary failure when dccm fails.  "F=R" causes sendmail to reject
  #   mail when dccm fails.  When neither "F=T" nor "F=R" is present, causes
  #   sendmail to quietly accept the message if dccm fails or is absent.
  #   (A failure by dccm would be a serious bug.)
  #   misc/hackmc changes the default to "F=T".

Unless you are using misc/hackmc, the line from the dcc.m4 file
does not have the F= setting.

If you are interested in dccm bugs or care more about avoiding spam than 
avoiding false negatives, then you probably prefer tempfails.

> I'm thinking it may have to do with my clumsy approach on saving mails.
> I had 40K mails already in a directory and I'm dead sure dccm did not
> write mails very fast after that point, due to ffs' poor performance
> with large directories, no softdeps turned on, and no dirhashing turned
> on. I turned off logging and the error went away actually. I was
> probably hitting timeouts.

That good to hear.

Vernon Schryver

More information about the DCC mailing list

Contact by mail or use the form.