• smb: Header field contains control characters issue

    From Nigel Reed@1:103/705 to GitLab issue in main/sbbs on Sun Sep 8 14:57:04 2024
    open https://gitlab.synchro.net/main/sbbs/-/issues/786

    Running chksmb on dove-syncops I get the following message

    ```
    Checking dovenet/dove-syncops Headers

    93% #14922 (3DA220) SYS64738 Header field contains control characters
    100%
    ```

    After running fixsmb

    ```
    31% #11465 (152120) Charles Blackburn
    (152420) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (52 54 2F 46) at offset 1385504
    68% #13511 (2D2620) Charles Blackburn
    (2D2920) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (54 48 45 46) at offset 2959648
    70% #13615 (2E5020) Ebojager
    (2E5320) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (2F 4F 55 54) at offset 3035936
    79% #14159 (34AB20) kk4qbn
    (34AE20) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (00 02 00 04) at offset 3452448
    89% #14716 (3B2E20) Amessyroom
    (3B3120) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (00 00 00 00) at offset 3879200
    91% #14854 (3CD420) Amessyroom
    (3CD720) smb_getmsghdr returned -103:
    smb_getmsghdr corrupt message header ID (04 00 00 00) at offset 3987232
    100%
    Sorting index...
    Re-writing index...
    ```

    If I rerun chksmb then I still get the same issue. Can we have fixsmb strip out invalid control characters from the header, or better yet, don't let them get there in the first place when importing the message?
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab note in main/sbbs on Wed Oct 23 00:17:38 2024
    https://gitlab.synchro.net/main/sbbs/-/issues/786#note_5785

    chksmb -e is no longer displaying extended information.


    ```
    $ chksmb dove-techtalk -e -p -b

    CHKSMB v3.20-Linux master/d84b8e3d6 SMBLIB 3.00 - Check Synchronet Message/File Base

    Checking dove-techtalk Headers

    35% #86 (02F120) TLDR Header field contains control characters
    100%

    Checking dove-techtalk Index

    100%

    Checking dove-techtalk Hashes

    100%

    Status Total (=): 230
    Total Indexes (=): 230
    Active Indexes (=): 230
    Active Headers (=): 230
    Active Header Blocks ( ): 2104 538,624 bytes used Active Data Blocks ( ): 66765 17,091,840 bytes used Header Records ( ): 230
    Deleted Indexes ( ): 0
    Deleted Headers ( ): 0
    Deleted Header Blocks ( ): 0 0 bytes used Deleted Data Blocks ( ): 0 0 bytes used Oldest Message (import) ( ): 249 days (0 max)
    Largest Message (data) ( ): 6308005 bytes (#88)
    Control Characters in Header Fields (!): 1

    dove-techtalk Message Base has Errors!

    'fixsmb' can be used to repair many message/file base problems.
    ```
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab note in main/sbbs on Wed Oct 23 00:17:58 2024
    https://gitlab.synchro.net/main/sbbs/-/issues/786#note_5786

    @rswindell prod?
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Wed Oct 23 11:25:10 2024
    https://gitlab.synchro.net/main/sbbs/-/issues/786#note_5798

    I'm not sure what you're asking here. The '-e' option never had any impact on the output of the detected header fields with control characters. "no longer" does not apply here. Are you asking for chksmb to report more information for those particular detected msg header problems when using the '-e' option?
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Wed Oct 23 11:55:22 2024
    https://gitlab.synchro.net/main/sbbs/-/issues/786#note_5800

    Okay, I think I see now what you're reporting: any/all problematic message headers are indeed dumped when using the '-e' option (even those with unexpected ctrl chars in them), but you have to specify the '-e' option *before* the message base(s) on the chksmb command-line.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)