https://gitlab.synchro.net/main/sbbs/-/commit/9d568c97638f9aa2e3fe1b41
Modified Files:
src/sbbs3/msgtoqwk.cpp
Log Message:
Fix the MIME header stripping for QWK, which never actually ran
The strip added in 3f2b039ecd (manage-38-week, 2026-02-03) is gated on "getmsgtxt_mode == GETMSGTXT_PLAIN", but getmsgtxt_mode is seeded with GETMSGTXT_ALL (= GETMSGTXT_TAILS = 1) a few lines earlier, so the value
tested is always GETMSGTXT_ALL | GETMSGTXT_PLAIN (9) and never
GETMSGTXT_PLAIN (8) alone. The equality never held, so the MIME header
fields were never stripped. Test the bit instead.
Reported by ant on DOVE-Net Tech Talk, who diagnosed it correctly: every QWK/REP packet we hand out still carries "Content-Type:
multipart/alternative; boundary=XXXX" in HEADERS.DAT while the body has
been flattened to the decoded text/plain part with no boundaries in it
at all. The receiving system stores that header as an RFC822HEADER field (qwktomsg.cpp) and republishes it over NNTP, so a MIME-aware newsreader correctly sees a multipart message with zero parts and shows nothing.
His dates match the code: MIME decoding became the QWK default in
0bc7b3297e (cleaning-19-wish, 2026-01-31), and the TLDR newsletter posts
in Tech Talk went bad on 2026-02-02.
This is the same bug Accession reported in February, which 3f2b039ecd
was meant to fix.
Verified against sub dove-tech msg #1013: before, HEADERS.DAT emitted
both "MIME-Version: 1.0" and the multipart Content-Type while the
exported body (11055 bytes) contained no "--Q8ymwWEC" boundary; after,
both header fields are stripped.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)