Re: [exim/exim] Spoolfile error on close should not lead to message being rejected after DATA (Issue #3204)
jgh via Exim-dev <[email protected]> Tue, 24 Feb 2026 20:47:12 +0000
| Newsgroups | gmane.mail.exim.devel |
|---|---|
| Message-ID | <exim/exim/issues/3204/comment/[email protected]> |
When I force a test by:
#ifdef orig
if (fclose(spool_data_file)) /* Frees the lock */
#else /* force an alleged fault, for testing */
errno = ENOSPC;
#endif
{
* I do get a 4xx error response to the end-of data:
10:52:36 68116 LOG: MAIN
10:52:36 68116 <= [email protected] U=jgh P=local-smtp S=310
10:52:36 68116 created log directory /home/jgh/git/exim3/test/spool/log
10:52:36 68116 receive_msg: tidyup
10:52:36 68116 LOG: MAIN PANIC
10:52:36 68116 spoolfile error on close: No space left on device
10:52:36 68116 LOG: MAIN
10:52:36 68116 rescind the above message-accept
10:52:36 68116 SMTP>> 451 Temporary local problem - please try later
10:52:36 68116 SMTP>- ◀flush▶
10:52:36 68116 LOG: MAIN REJECT
10:52:36 68116 U=jgh F=<[email protected]> temporarily rejected after DATA: spoolfile error on close: No space left on device
That looks like a reasonable response. However, inspecting the code it is relying on the variable "rc" value to produce that 4xx response code. It should instead hardwire a DEFER arg to the smtp_handle_acl_fail() call.
e742c93d78 ( https://code.exim.org/exim/exim/commit/e742c93d7876 ) addresses.
---
View it on Exim Forgejo ( https://code.exim.org/exim/exim/issues/3204#issuecomment-239126 ) or reply to this email directly.
--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
## [email protected]
## Exim details at https://www.exim.org/
## Please use the Wiki with this list - https://code.exim.org/exim/wiki/wiki