• src/sbbs3/chksmb.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 25 19:36:21 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/35f764eef674aaeb7ce528b2
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Always report the total LZH compressed messages

    This looks like a 20-year-old copy/paste bug. CID 33168.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Mar 1 22:43:08 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/faa31747a860b290922393c3
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Zero-initialize smb before using

    Addresses CID 350318

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Jun 4 20:26:40 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/3ccd8ef8b20ce61a37fe4d5a
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Fix copy/paste bug discovered/reported by gcc version 11.2.0

    ... in debug print statement (MD5 hast decoded/printed as SHA-1 hash).

    Reported by Nelgin running gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)

    ---
    ■ 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 Mon May 22 16:41:53 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2f4bebb1d0e9e28977285cca
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Support new -S option to not check Subject CRCs

    the Subject CRC calculation was changed in May of 2022 (trailing whitespace is removed prior to calculation), so messages imported before this date/revision of sbbs might be detected as having an invalid/mismatch Subject CRC. This -S option can be used to suppress such errors (for Keyop).

    Don't support /option syntax any longer in non-*nix builds (just -options). Options are now case-sensitive (i.e. -S and -s are different options).
    Bump version to 3.20.

    ---
    ■ 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 May 26 17:14:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/d9a5999debfdc1039d39626e
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Add -N option to disable to/from name CRC checking

    Recently started truncating trailing whitespace from sender/recipient names before calculating the CRC value (similar to what we do for message subjects
    as of a year ago). To suppress errors when evaluating messages (with trailing whitespace in sender or recipient namems) created or imported before this change, use this new -N option.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Jul 9 20:23:13 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/86825b66e08061e8675591ab
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Only truncate ".anything" from supplied msgbase path if it's ".shd"

    Make behavior consistent with smbutil and fixmsb.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Mon Sep 25 17:39:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c9c90ef7186e7ecd1103bc1b
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Replace many references to "Message" with "File" when scanning a file base

    This could use more cleanup (e.g. instances of "MSGERR:") and in the summary report there are still mentions of "message" after scanning a file base.

    ---
    ■ 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 Mon Sep 9 18:29:23 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0fd380f86a5eaa05467f08ea
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Don't check header fields of deleted messages for control characters

    ... related to issue #786.

    Also, don't check for a message-ID if the message-type does not match the expected message type ("type mismatch").

    ---
    ■ 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 Sep 13 20:08:11 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5f0fb1c7455a7345da04cf6d
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Perform filename checks (index versus header fields) on filebases

    I was able to corrupt a filebase using fileman.js, renaming a file
    (the filename in the index as viewed with 'smbutil x' did not match
    the filename listed with 'smbutil l') - yet, chksmb reported no errors
    with the filebase.

    Now chksmb will detect that type of corruption.

    ---
    ■ 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 Oct 23 12:01:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1be9ed2323ffe0eb9e7c18b9
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Update chksmb usage (msg/file bases have .shd files, not .SHD)

    And try to make it clear that multiple bases can be passed on the command-line.

    ---
    ■ 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 Jan 16 14:17:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d12055aa1d7ed4126c4104ee
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Count and report SPAM (as percentage of active headers)

    Bump version to 3.21

    ---
    ■ 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 Fri Jan 16 21:41:17 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/6f2cd9b2e8a602f3ff9d6276
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Fix missing break

    ---
    ■ 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 14:13:21 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/dd0181822ed49cc2657e7dc1
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Decided chksmb should always lock the base since it performs consistency checks

    So remove the -l option and just always lock it before checking it.

    ---
    ■ 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 Mar 12 14:38:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/a8a65c51912ff10ab658628c
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    Remove obsolete option from usage/help output: -l (lock base)

    commit 0d6074e0dbc85663 removed the option, but not from the help

    ---
    ■ 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 Sep 30 02:44:22 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/540ba0d0687f94c8aca7b65a
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    chksmb: compute a message's data block count once

    The data-block verification loop re-evaluated smb_datblocks(smb_getmsgdatlen(&msg)), which walks every data field, as
    its bound on each iteration.

    Co-Authored-By: Claude Fable 5.1 <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 Sat Nov 14 13:59:52 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/6708bf23c477b7b9f02dae61
    Modified Files:
    src/sbbs3/chksmb.c
    Log Message:
    chksmb: report data blocks whose reference count doesn't match

    The data block check only counted free records in the allocation file
    and flagged active messages whose blocks were marked free. A block used
    by two messages but allocated once (cross-linked), or allocated with no
    message using it (leaked), went unreported; a cross-link surfaced only
    when the overwritten text happened to break a translation header.

    chksmb now counts, for every data block, the headers still allocated
    (deleted or not) that use it, and compares that with the block's
    reference count in the allocation file. Mismatches are reported per
    block and as "Data Block Reference Mismatches" in the summary, and the
    base is reported as having errors.

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

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