summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
diff options
context:
space:
mode:
authorGilles Chehade <gilles@cvs.openbsd.org>2019-12-14 17:12:44 +0000
committerGilles Chehade <gilles@cvs.openbsd.org>2019-12-14 17:12:44 +0000
commit4f904f334e4c6906fb21a902c3f6dd62326cf7c6 (patch)
treef7ae496e369df3c713d3c37e56481c2034a076e1 /usr.sbin/smtpd
parente88a45c9e89362990c127ed46ac2d5edcd07f189 (diff)
failing fsync() with EINVAL should not cause a TempFail in mboxfile,
it means the file was most likely a device not supporting fsync() so we can't do much and retrying isn't going to help.
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r--usr.sbin/smtpd/mail.mboxfile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/mail.mboxfile.c b/usr.sbin/smtpd/mail.mboxfile.c
index 96fa2e02a37..c466e56685d 100644
--- a/usr.sbin/smtpd/mail.mboxfile.c
+++ b/usr.sbin/smtpd/mail.mboxfile.c
@@ -94,7 +94,7 @@ mboxfile_engine(const char *sender, const char *filename)
if (fflush(fp) == EOF ||
ferror(fp) ||
- fsync(fd) == -1 ||
+ (fsync(fd) == -1 && errno != EINVAL) ||
fclose(fp) == EOF)
err(EX_TEMPFAIL, NULL);
}