• src/sbbs3/mailsrvr.cpp

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Dec 30 22:20:09 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/74c037b2205ba9070e55ddc1
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Fix mail archive feature

    Broken in commit f820805f0 (fixing Coverity issue, sigh)

    Once the mail archive directory existed (once successfully created), the function would just fail.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Jan 17 04:11:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c5daf067bae2f7666c4ccfc2
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Strip ctrl chars "B" mime-encoded words in incoming message header fields

    Per RFC2047: "Only printable and white space character data should be encoded using this scheme."

    Apparently TikTok doesn't follow that advice. Here's one example:

    68% #614159 (1741720) TikTok Header field contains control characters
    ...
    Subject 6C 69 76 6B 61 70 73 7A 6F 6F 20 70 6F 73 74 65 64 3A 20 4D 75 66 66 69 6E 20 73 61 69 64 20 0A 4E 6F 20 74 68 61 6E 6B 73 F0 9F AB A0

    Which expands to:

    "livkapszoo posted: Muffin said
    No thanks🫠"

    This could do weird things when the message is viewed (depending on the viewer) and triggers the chksmb error: Control Characters in Header Fields (!): 1
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Feb 11 17:27:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/47560c50d5d83383947c349a
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Remove quotes from RCPT TO: <forward-path> before comparing to local names

    This resolve an issue observed with Thunderbird sending to local:<name>@bbs: Unknown User: <"local:name"@vert.synchro.net>.

    Presumably, Thunderbird is adding the quotes because of the colon. I've not seen this issue before, so perhaps this is new behavior of Thunderbird. In any case, RFC[2]821 specifies that the RCPT TO argument is a Mailbox and that the local-part of a Mailbox may be a quoted-string (instead of a dot-string). So, Synchronet hasn't been compliant in this regard all these years.

    No special parsing of \" is implemented since we don't support quotes in names anyway. RFC 821 says the character following a backslash (<x>) may be
    "any one of the 128 ASCII characters (no exceptions)" - that implies all control characters too, which sounds really dangerous. That language seems fixed in RFC 2821, but I'm not trying to solve all the crazy escaping possibilities in this simple commit.

    The original RCPT TO argument (with quotes, if present) is still stored for subsequent forwarding or whatever.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 12 03:12:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8409089bbc3b1e11c0d140f3
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Cache the dnsbl_exempt.cfg file (mine is 2MB)

    ... this file was being read multiple times for every incoming SMTP message
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 12 16:38:59 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/63ee13b03befd229da39f7d1
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Insure dnsbl_result is always zero-initialized

    Fix recently-introduced bug
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri Feb 13 00:34:20 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3b05d005e25a668fdd78aa20
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Always clear the "from extension" for newly created bounce messages

    This bug caused chksmb reported errors in bounced messages (e.g. from listserver):

    97% #635909 (30AEF20) Mail Delivery Subsystem From extension mismatch MSGERR: From extension ((null)) does not match index (1)

    packing or running fixsmb on the mail base would correct the index, but this
    is the real fix.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)