• docs/v322_new.md src/sbbs3/mailsrvr.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Aug 18 22:04:59 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f8d0bd2f64b441e91fe3e662
    Modified Files:
    docs/v322_new.md src/sbbs3/mailsrvr.cpp
    Log Message:
    mailsrvr: honor ALLOW_RELAY for foreign submission sender addresses

    Since b8332a4618 (chart-3-cause, 2026-08-10), the submission ports verify
    that an authenticated user's MAIL FROM and From: address is at one of the system's domains and resolves to that user. That rejects the sysop who
    points a mail client at another BBS as a smarthost and submits as their own domain -- which worked on 587 before that commit, and still works on port 25 wherever ALLOW_RELAY is set.

    Both of Vertrauen's authenticated submissions on 2026-08-18 were refused
    this way, one of them from a domain whose SPF record already authorizes Vertrauen to send for it. The reply named an address the submitter had no reason to want, so it read as a problem with the server hostname rather than with the sender address.

    A sender address in a foreign domain is a relay, so honor the permission the sysop already granted for relaying: with ALLOW_RELAY enabled, accept one
    from an authenticated user who is not restricted from relaying (G/M). An address in one of the system's own domains must still resolve to the authenticated user, so this is no license to forge a local address -- the
    case that would lend the system's DKIM reputation to the forgery.

    RFC 6409 section 6.1 (Enforce Submission Rights) is a MAY, in a section
    titled "Optional Actions", so declining to enforce it is conformant. The authentication requirement of section 4.3, a MUST, is unaffected.

    Issue #1221 asked for sysop-selectable strictness here. ALLOW_RELAY is a
    coarse stand-in for that -- a dedicated option or an ARS (issue #107) would express it properly -- but it does pick out the systems that mean it.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net