• src/sbbs3/mailsrvr.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Dec 13 00:10:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8ede971ae8be2c67cbf4879e
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Complete the BOOL->bool conversion

    This likely fixes the recently-introduced heap corruption (sizeof BOOL != sizeof bool).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Dec 19 14:22:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3003dde7678efdd9a000b731
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    Remove another destroy infinite loop.

    This one appears to actively make itself worse every time through
    the loop. :(

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT 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

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT 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

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