Running chksmb on dove-syncops I get the following message
Checking dovenet/dove-syncops Headers93% #14922 (3DA220) SYS64738 Header field contains control characters100%
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 138550468% #13511 (2D2620) Charles Blackburn(2D2920) smb_getmsghdr returned -103:smb_getmsghdr corrupt message header ID (54 48 45 46) at offset 295964870% #13615 (2E5020) Ebojager(2E5320) smb_getmsghdr returned -103:smb_getmsghdr corrupt message header ID (2F 4F 55 54) at offset 303593679% #14159 (34AB20) kk4qbn(34AE20) smb_getmsghdr returned -103:smb_getmsghdr corrupt message header ID (00 02 00 04) at offset 345244889% #14716 (3B2E20) Amessyroom(3B3120) smb_getmsghdr returned -103:smb_getmsghdr corrupt message header ID (00 00 00 00) at offset 387920091% #14854 (3CD420) Amessyroom(3CD720) smb_getmsghdr returned -103:smb_getmsghdr corrupt message header ID (04 00 00 00) at offset 3987232100%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?
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
I doubt the control characters were in the header field(s) as a part of import. But if they were, that'd be a bug.
Instead, more likely, the control characters are a result of some other corruption to the message base that occurred after the message was imported. Running chksmb with the '-e' option and reporting the results would help me to know.
As per the request "Can we have fixsmb strip out invalid control characters from the header" - it could, but that's likely only a symptom of the problem. Looking at the header fields of the message(s) in question would be a good idea to determine if the header is even recoverable. Simply stripping control character isn't likely what we actually want to do in this case.
Checking dove-syncops Headers93% #14922 (3DA220) SYS64738 Header field contains control charactersmessage base dove-syncopsTo Digital ManSubject Re: Mail Server IssueSender SYS64738SenderNetAddr REPLY: <66A92984.55864.SYNC_SYS@VERT.SYNCHRO.NET>@TZ: C168> IF IT'S EXACTLY THE SAME PROBLEM, THEN YOUR PASSWORD IS STILL WRONG. I> SUSPECT IT IS NOT THE "SAME PROBLEM", SO POST THE NEW LOGSenderNetType InternetMessage-ID <66A9C774.764.998internetdiscussi@bbs.tangonine.net>X-FTN-MSGID 55877.sync_sys@1:103/705 2b102c17X-FTN-PID Synchronet 3.20a-Linux master/d3c114993 Feb 1 2024 GCC 12.2.0X-FTN-CHRS CP437 2OtherHeader WhenImported: 20240731041114-0700 c1e0OtherHeader WhenExported: 20240731041558-0700 c1e0OtherHeader ExportedFrom: VERT sync_sys 55877OtherHeader @REPLY: <66A92984.55864.SYNC_SYS@VERT.SYNCHRO.NET>OtherHeader @TZ: C168OtherHeader > IF IT'S EXACTLY THE SAME PROBLEM, THEN YOUR PASSWORD IS STILL WRONG. IOtherHeader > SUSPECT IT IS NOT THE "SAME PROBLEM", SO POST THE NEW LOGOtherHeader WhenImported: 20240731141116+0900 121cOtherHeader WhenExported: 20240731201115+0900 121cOtherHeader ExportedFrom: TANGO99 998internetdiscussi 764OtherHeader @REPLY: <66A92984.55864.SYNC_SYS@VERT.SYNCHRO.NET>OtherHeader @TZ: C168OtherHeader > IF IT'S EXACTLY THE SAME PROBLEM, THEN YOUR PASSWORD IS STILL WRONG. IOtherHeader > SUSPECT IT IS NOT THE "SAME PROBLEM", SO POST THE NEW LOGSenderNetAddr REPLY: <66A92984.55864.SYNC_SYS@VERT.SYNCHRO.NET>@TZ: C168> IF IT'S EXACTLY THE SAME PROBLEM, THEN YOUR PASSWORD IS STILL WRONG. I> SUSPECT IT IS NOT THE "SAME PROBLEM", SO POST THE NEW LOGSenderNetType QWKnetwhen_written 66A983A8 0000 Tue Jul 30 19:22:00 2024 UTCwhen_imported 66AA1CFB C168 Wed Jul 31 06:16:11 2024 CDTtype 0000hversion 0300hattr 0000h ()auxattr 00000000h ()netattr 00000000h ()header_offset 3DA220hheader_fields 25header_length 1200 (calc: 1200)number 14922thread_id 14922data_offset 48B600hdata_field[0] TEXT_BODY, offset 0, length 67100%Checking dove-syncops Index100%Checking dove-syncops Hashes100%Status Total (=): 5165Total Indexes (=): 5165Active Indexes (=): 5165Active Headers (=): 5165Active Header Blocks ( ): 15514 3,971,584 bytes usedActive Data Blocks ( ): 18174 4,652,544 bytes usedHeader Records ( ): 5636Deleted Indexes ( ): 0Deleted Headers ( ): 471Deleted Header Blocks ( ): 1446 370,176 bytes usedDeleted Data Blocks ( ): 1755 449,280 bytes usedOldest Message (import) ( ): 965 days (0 max)Largest Message (data) ( ): 72125 bytes (#13716)Control Characters in Header Fields (!): 1dove-syncops Message Base has Errors!Total Deleted Messages : 471 819,456 bytes used
92% #14922 (3DA220) SYS64738 Header field contains control characters
So if I use smbutil to try and find 14922
4756/#14921 Errol Casey phigan Cannot see all message boards4757/#14923 Denn Errol Casey Cannot see all message boards4758/#14924 Errol Casey Denn Cannot see all message boards4759/#14925 SYS64738
It's not there.
So let's run fixsmb
smb_getmsghdr corrupt message header ID (04 00 00 00) at offset 398723292% #14922 (3DA220) SYS64738 Not indexing deleted message
Says it's deleted. So let's make sure
bbs@bbs:/sbbs/data/subs/dovenet$ smbutil mp1000 dove-syncops.shdSMBUTIL v3.20-Linux master/d232ecdc6 SMBLIB 3.00 - Synchronet Message Base UtilityOpening dove-syncopsMaintaining dove-syncopsMaintaining dove-syncops hash fileLoading index...Done.Scanning for pre-flagged messages...100% (0 pre-flagged for deletion)Scanning for read messages to be killed...100% (0 flagged for deletion due to read status)dove-syncops locked successfullyPacking dove-syncopsAnalyzing dove-syncops820992 less than 1024000 compressible bytes.dove-syncops unlocked successfully
Nothing flagged for deletions so let's double check with another chksmb
Checking dove-syncops Headers92% #14922 (3DA220) SYS64738 Header field contains control characters
Still there. I don't seem to be able to get rid of it.
Cool, while you're diddling with smb stuff, could you have smbutil l show the type of message if it's not a netmail, for example and UPVOTE or DOWNVOTE instead of who it's too. The blanks confused me for a bit. Also a date would be good, either date written or date imported.
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?
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.