docs: record Postfix-aligned DSN relay test
This commit is contained in:
@@ -18,7 +18,7 @@ documentation and were not reviewed a second time:
|
||||
| --- | --- |
|
||||
| SMTP-07, SMTP-08, SMTP-27 | `tls.md` and the matching sections in `test-evidence/0.7-r1.md` |
|
||||
| SMTP-11, SMTP-12, SMTP-13 | Matching sections in `test-evidence/0.7-r1.md` |
|
||||
| SMTP-14 | Postfix DSN command generation and recipient-state handling were used for the implementation review; the Bongo live test is still open |
|
||||
| SMTP-14 | `src/smtp/smtp_proto.c`: DSN parameters are xtext-encoded and emitted only with `SMTP_FEATURE_DSN`; `src/bounce/bounce_notify_util.c`: canonical `Original-Recipient` field. Bongo now applies the same peer-capability gate to direct and relayhost delivery, preserves enhanced status codes, and has passed live tests against both DSN-capable and non-DSN peers. |
|
||||
| SMTP-32, SMTP-33 | `smtp.md` and the matching sections in `test-evidence/0.7-r1.md` |
|
||||
|
||||
## SMTP server and submission
|
||||
|
||||
@@ -2665,15 +2665,18 @@ Bongo receive contract at the stronger byte-for-byte Store boundary.
|
||||
|
||||
Result: **PASS**
|
||||
|
||||
Commits `418005d7`, `5d3d230a`, and `1cc477f6` made the native SMTP
|
||||
transport and libcurl relayhost transport use the same RFC 3461 formatter.
|
||||
They preserve explicit `RET`, `ENVID`, `ORCPT`, and `NOTIFY` values, reject
|
||||
unsafe xtext metadata, retain an upstream Enhanced Status Code, and emit the
|
||||
canonical `Original-Recipient` delivery-status field. Unit coverage includes
|
||||
omitted values, `RET=HDRS`, `RET=FULL`, `NOTIFY=NEVER`, all three positive
|
||||
notification flags, xtext validation, and permanent/transient reply mapping.
|
||||
Commits `418005d7`, `5d3d230a`, `1cc477f6`, and `da691adc` made the native
|
||||
SMTP transport and libcurl relayhost transport use the same RFC 3461
|
||||
formatter. They preserve explicit `RET`, `ENVID`, `ORCPT`, and `NOTIFY`
|
||||
values, reject unsafe xtext metadata, retain an upstream Enhanced Status
|
||||
Code, and emit the canonical `Original-Recipient` delivery-status field.
|
||||
They also suppress all four DSN transport parameters when the next hop does
|
||||
not advertise `DSN`, while retaining the metadata needed for Bongo's local
|
||||
success or failure report. Unit coverage includes omitted values,
|
||||
`RET=HDRS`, `RET=FULL`, `NOTIFY=NEVER`, all three positive notification
|
||||
flags, xtext validation, and permanent/transient reply mapping.
|
||||
|
||||
The complete strict debug-build suite passed 99 of 99 tests in 13.18 seconds.
|
||||
The complete strict debug-build suite passed 99 of 99 tests in 13.22 seconds.
|
||||
The commits were pushed to `master`, installed as
|
||||
`mail-mta/bongo-9999::bongo` with GCC 15.3.0, and exercised on 2026-07-27:
|
||||
|
||||
@@ -2692,16 +2695,27 @@ were read from the real Bongo Store: omitted DSN options retained the
|
||||
standard failure/body behavior, `RET=HDRS` omitted the original body,
|
||||
`RET=FULL` retained it, xtext `+2B`/`+40` values decoded correctly, and
|
||||
`NOTIFY=NEVER` created no report. A relay `550 5.1.1` remained `5.1.1`
|
||||
instead of degrading to generic `5.0.0`.
|
||||
instead of degrading to generic `5.0.0`. A second relay deliberately omitted
|
||||
the `DSN` EHLO capability: Bongo then omitted `RET`, `ENVID`, `ORCPT`, and
|
||||
`NOTIFY` on the wire, but still generated the requested local success DSN.
|
||||
|
||||
```text
|
||||
SMTP-14 PASS syntax=postfix-aligned ret=omitted-default-full/hdrs/full envid=relayed/xtext-decoded notify=omitted/success/failure/never orcpt=relayed/decoded dsn=2.0.0/5.1.1 queue-clean=yes store-clean=yes config-restored=yes
|
||||
SMTP-14 PASS syntax=postfix-aligned ret=omitted-default-full/hdrs/full envid=relayed/xtext-decoded notify=omitted/success/failure/never orcpt=relayed/decoded dsn=2.0.0/5.1.1 peer-without-dsn=parameters-suppressed/local-dsn queue-clean=yes store-clean=yes config-restored=yes
|
||||
```
|
||||
|
||||
The test deleted all marked Store objects and Queue entries, stopped its
|
||||
relay fixture, restored the exact SMTP Store document, and restarted Bongo.
|
||||
No message left the test host.
|
||||
|
||||
This behavior was compared directly with Postfix 3.11.1
|
||||
`src/smtp/smtp_proto.c`. Postfix adds `RET`, `ENVID`, `ORCPT`, and `NOTIFY`
|
||||
only when the session has `SMTP_FEATURE_DSN`, xtext-encodes the parameters,
|
||||
and keeps the downstream Enhanced Status Code for recipient accounting.
|
||||
Bongo now applies the same capability boundary and status preservation to
|
||||
both direct and relayhost delivery. Postfix
|
||||
`src/bounce/bounce_notify_util.c` was also used to verify the canonical
|
||||
`Original-Recipient` report field.
|
||||
|
||||
## SMTP-20
|
||||
|
||||
Result: **PASS**
|
||||
|
||||
Reference in New Issue
Block a user