• src/sbbs3/sbbsecho.c

    From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Wed Feb 18 17:30:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9c4557e96766bb7e6b73edf4
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix a couple more new-GCC warnings

    using gcc (GCC) 15.2.1 20260209 "assignment discards const qualifier"

    reported by Accession

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Sat Apr 18 02:27:17 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3422dabc7807f1fff56ebb9e
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix compile errors on GCC 15.2

    error: passing argument 2 of `getfmsg' from incompatible pointer type [-Wincompatible-pointer-types]

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed May 6 19:41:53 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/326057fd5c56c0c77a5e0d34
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    sbbsecho: free pkt->filename on fopen failure in find_stray_packets (CID 530517)

    When the new outpkt_t cannot be opened for append, free(pkt) was called
    without first releasing the strdup'd pkt->filename, leaking the path
    for every stray packet whose append-open fails.

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed May 6 19:41:53 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9ef727bc25d13118b3ba5323
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    sbbsecho: cast away unchecked chmod/remove returns in alter_areas (CIDs 462777, 515046)

    Both calls in alter_areas() are best-effort: the chmod is a permission
    preserve before rename, and the remove is documented to be expected to
    fail when the file doesn't exist. Make the ignore-return intent explicit
    with (void) casts so Coverity stops flagging them as CHECKED_RETURN.

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Jul 17 02:57:08 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4fc976e4a95c2afe121425e6
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Don't import netmail addressed to an inactive user's number

    import_netmail() resolves a numeric "To:" field with atoi() straight from
    the packet, which short-circuits lookup_user() -- the only thing in this
    path that skips deleted users. Nothing downstream catches it either: fmsgtosmsg() calls getuserdat(), which returns USER_SUCCESS for a deleted record, and no check guards the RECIPIENTEXT field written from it. A
    remote system could therefore deposit netmail into a deleted user's
    record, where it stays invisible until the record is recycled.

    Reject an inactive account where the number is resolved, so the message
    falls through to the existing lookup_user() / default_recipient /
    "Unknown user" handling rather than changing what fmsgtosmsg() reports to
    its callers. This matches the SMTP RCPT TO path, which already rejects a recipient that isn't an active account.

    Fixes #1187

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Steven Philley@VERT to Git commit to main/sbbs/master on Thu Sep 10 01:17:29 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4a76e2aa9a8336d7bda238ed
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    sbbsecho: summarize security violations at end of log

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Sep 10 01:17:29 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/094414dbc737da32df2062c9
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Merge branch 'sbbsecho-security-violation-summary' into 'master'

    sbbsecho: summarize security violations at end of log

    Closes #1228

    See merge request main/sbbs!730

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Sep 29 19:00:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1debd362b1e3c690856c91b6
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    SBBSecho: export a message's declared charset as its CHRS

    A message posted with a MIME charset other than UTF-8 (for example from an
    NNTP client set to ISO-8859-1 or Windows-1252) was exported to FidoNet as "CHRS: CP437 2", so FTN readers mis-rendered its accented characters.

    Netmail and echomail export now share ftn_charset(). When a message has
    8-bit body text, no FTN charset and is not UTF-8, its MIME charset is
    mapped to the matching FTS-5003 identifier: LATIN-1/2/5/9, CP1250/1251/
    1252, CP850/852/866 (or CP437). Names are matched ignoring case, '-' and
    '_'. Charsets FTS-5003 has no identifier for still export as CP437.

    The configured origin line is CP437, so it is reduced to ASCII when the
    message goes out in one of those other 8-bit charsets. A message whose
    only 8-bit text is the origin line is still labeled CP437.

    Fixes #1259

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Sep 29 19:00:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/6c6d3dcbf9c50003d7ec9938
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    SBBSecho: give each generated NetMail a unique MSGID serial

    The MSGID of a NetMail message SBBSecho creates itself (AreaMgr replies,
    notify lists, etc.), added in 96712a1c35 (focuses-28-lives, 2021-11-12),
    used the current time in seconds as its serial. Messages created within
    the same second, such as the parts of a notify or area list split across several NetMails to one node, therefore shared a MSGID, which FTS-0009
    requires to be unique for the origin address, and which a receiving
    tosser checking NetMail for duplicates by MSGID could discard.

    The serial is now the current time, or one more than the last serial
    used, whichever is greater.

    Related: #1257

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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