https://gitlab.synchro.net/main/sbbs/-/commit/04dfc61739938207f3f302df
Modified Files:
docs/v322_new.md src/sbbs3/sbbsecho.c
Log Message:
SBBSecho: don't write a stored-message header into an inbound packet
import_netmail() marks a netmail message as received by writing its stored-message (*.msg) header back to the file it was read from. Since e7b93ae3f3 (types-26-ease, 2025-11-01) that write-back ran for packets
too: update_fmsghdr() seeks to offset 0 and writes the 190-byte fmsghdr_t, which lands on the packet header and the first message. Any message that followed the imported netmail in the same packet was then read through the overwritten bytes (its type word became 256, from the destzone/origzone
bytes of the stored header), reported as "Grunged message", and the packet
was set aside as bad, losing the rest of its netmail and echomail. Before
that commit the write-back was conditional on a *.msg path.
Only write the header back for a *.msg file, at both of the sites that
were made unconditional. The robot (uses_msg) site already branched on it.
Reproduced with a hand-built Type-2+ packet carrying two netmail messages:
the second was grunged at offset 177 with type 256 before the fix, and both import cleanly after it. Shipped in SBBSecho 3.37 with v3.21c and v3.21e.
Co-Authored-By: Claude Fable 5.1 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net