CVSROOT: /cvs Module name: src Changes by: gil...@cvs.openbsd.org 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.