CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2010/03/01 15:00:52
Modified files:
usr.sbin/smtpd : mda.c
Log message:
mda_event() assumed the mbox fp to be a file when it could be a pipe, do
not fatal on read/write errors otherwise a broken pipe in an external mda
will bring smtpd down.
mda_store() assumed write would succeed and fatal otherwise, change code
so that EINTR/EAGAIN trigger a new write while other errors gracefully
return causing the message to be rescheduled later.
these two prevent a fatal() from being hit when execution of a filter or
external mda fails (bug experienced and fix verified by nicm@)
while at it, fix a small bug where logs would not display the recipient
when mail went through a ~/.forward / aliases expansion.