• src/sbbs3/sbbsecho.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, December 24, 2025 19:50:40
    https://gitlab.synchro.net/main/sbbs/-/commit/241bd37f9feb34506c3b295d
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Better logging around area list file open failures

    This also fixes the empty "Title" key/valiue lines in the echostats.ini file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Denn@VERT/OUTWEST to Gamgee on Saturday, December 27, 2025 12:02:57
    Re: Re: src/sbbs3/sbbsecho.c
    By: Gamgee to MRO on Tue Feb 04 2025 06:41 pm

    MRO wrote to k9zw <=-
    Alas my system merged this in another echo... puzzling how at the
    moment... appreciate the reply!

    put your data files in their own sub directory for each msg network
    you have.

    That isn't necessary and certainly is not the default way.

    But it does keep the directories a little tidier.

    ... Remember how simple life was when there were only two sexes?

    ---
    þ Synchronet þ the Outwest BBS - outwest.synchro.net - Home of BBSBASE 6.0
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, February 18, 2026 17:30:14
    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 Saturday, April 18, 2026 02:27:17
    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 Wednesday, May 06, 2026 19:41:53
    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 Wednesday, May 06, 2026 19:41:53
    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 Friday, July 17, 2026 02:57:08
    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 Thursday, September 10, 2026 01:17:29
    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 Thursday, September 10, 2026 01:17:29
    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 Tuesday, September 29, 2026 19:00:50
    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 Tuesday, September 29, 2026 19:00:50
    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