Hey DM,
Since updating a few days ago, I've now got a bunch of bad packet in my inbound, and all have been marked bad "msg-hdr".
pktdump rev 1.18 - Dump FidoNet Packets
Opening df43a202.msg-hdr.bad
df43a202.msg-hdr.bad Packet Type 2e (prod: 10FF, rev: 1.9) from 3:633/280 to 3:633/509
df43a202.msg-hdr.bad 00003A Corrupted Message Header (DateTime) df43a202.msg-hdr.bad 000658 Corrupted Message Header (DateTime) df43a202.msg-hdr.bad 000B83 Corrupted Message Header (DateTime) df43a202.msg-hdr.bad 001273 Corrupted Message Header (DateTime) df43a202.msg-hdr.bad 001FAC Corrupted Message Header (DateTime) root@alterant:/opt/sbbs/fido/inbound# pktdump df74da02.msg-hdr.bad
pktdump rev 1.18 - Dump FidoNet Packets
Opening df74da02.msg-hdr.bad
df74da02.msg-hdr.bad Packet Type 2e (prod: 10FF, rev: 1.9) from 3:633/280 to 3:633/509
df74da02.msg-hdr.bad 00003A Corrupted Message Header (DateTime)
When I look at a few, it looks like SBBSecho (and pktdump) thinks they are bad because of DateTime, but they look ok to me:
Why is SBBSecho marking them bad?
Looks to me like the DateTime is missing the NUL terminator:
00000040 79 02 79 02 00 00 00 00 30 33 20 4f 63 74 20 32 |y.y.....03 Oct 2| 00000050 35 20 20 30 37 3a 31 37 3a 34 37 20 41 6c 6c 00 |5 07:17:47 All.|
Why is SBBSecho marking them bad?
The sbbsecho.log should say the reason why, but it's probably the same reason.
Re: sbbsecho and bad packets
By: Digital Man to deon on Sun Oct 05 2025 06:09 pm
Looks to me like the DateTime is missing the NUL terminator:
00000040 79 02 79 02 00 00 00 00 30 33 20 4f 63 74 20 32 |y.y.....03 Oct 2| 00000050 35 20 20 30 37 3a 31 37 3a 34 37 20 41 6c 6c 00 |5 07:17:47 All.|
Why is SBBSecho marking them bad?
The sbbsecho.log should say the reason why, but it's probably the same reason.
I didnt think DateTime was a null terminated string? Its 20 Bytes in the packed message header (FTS-0001.16 C.1).
"A packed message has a number of fixed length
fields followed by four null terminated strings."
(those being: to/from/subject and text are null terminated).
Or have a missed something?
Howdy,I didnt think DateTime was a null terminated string? Its 20 Bytes in the
packed message header (FTS-0001.16 C.1).
"A packed message has a number of fixed length
fields followed by four null terminated strings."
(those being: to/from/subject and text are null terminated).
Or have a missed something?
DateTime is defined as follows in FTS-1:
DateTime = (* a character string 20 characters long *)
(* 01 Jan 86 02:34:56 *)
DayOfMonth " " Month " " Year " "
" " HH ":" MM ":" SS
Null
The "Null" is explicit there. These FidoNet specs are pretty terrible, but FTS-1 is one of the better ones. :-)
Re: sbbsecho and bad packets
By: Digital Man to deon on Mon Oct 06 2025 05:53 pm
Howdy,I didnt think DateTime was a null terminated string? Its 20 Bytes in the
packed message header (FTS-0001.16 C.1).
"A packed message has a number of fixed length
fields followed by four null terminated strings."
(those being: to/from/subject and text are null terminated).
Or have a missed something?
DateTime is defined as follows in FTS-1:
DateTime = (* a character string 20 characters long *)
(* 01 Jan 86 02:34:56 *)
DayOfMonth " " Month " " Year " "
" " HH ":" MM ":" SS
Null
The "Null" is explicit there. These FidoNet specs are pretty terrible, but FTS-1 is one of the better ones. :-)
I think we quoted the same document. Except you quoted the "a Stored Message" ("as it is the layer that the user's application sees as opposed to what FidoNet sees".) section, and I quoted the "Packed Message" ("As this is a data structure which is actually transferred, its definition is critical to FidoNet") section.
Anyway, does that mean SBBSecho will only accept packets if the datatime field is encoded as a null terminated string?
Indeed, yes, but the DateTime field definition for the packed message is "inherited" from the Stored Message definition - it's not redefined.
Re: sbbsecho and bad packets
By: Digital Man to deon on Mon Oct 06 2025 11:30 pm
Howdy,
Indeed, yes, but the DateTime field definition for the packed message is "inherited" from the Stored Message definition - it's not redefined.
I'm not seeing what you are seeing - but ok.
I'll tell this node that they need to have their software fixed to not send DateTimes as a 20 byte field, but a null terminated string - I think the source is hpt, so lets see if they agree...
I'll tell this node that they need to have their software fixed to not
send DateTimes as a 20 byte field, but a null terminated string - I
think the source is hpt, so lets see if they agree...
I'm not seeing what you are seeing - but ok.
FSP-1042 (still in draft stage) has the packed message header more clearly defined:
I think you have that backwards, the DateTime must be a null terminated string: exactly 19 characters followed by a NUL.
For the record, I run hpt/binkd as my main hub and my BBS is Synchronet. Both have exchanged mail many times per day for many years. I have no issue here with hpt and Synchronet whatsoever.
Is is possible said node is using a very old version of hpt, if that is even the tosser they're using?
Re: sbbsecho and bad packets
By: Digital Man to deon on Tue Oct 07 2025 03:34 pm
Howdy,
I'm not seeing what you are seeing - but ok.
FSP-1042 (still in draft stage) has the packed message header more clearly defined:
Yup, but its a proposal and not a standard. I dont want this to lead into an interpretation of the standards debate - that never ends well.
I think you have that backwards, the DateTime must be a null terminated string: exactly 19 characters followed by a NUL.
I dont believe I do - its not how I understand FTS-1.
Anyway, you've made your position clear - I'll leave it to the uplink to address with their software's developer, if it is in fact still being developed and/or if they care.
I'm not seeing what you are seeing - but ok.
I'll tell this node that they need to have their software fixed to
not send DateTimes as a 20 byte field, but a null terminated
string - I think the source is hpt, so lets see if they agree...
string - I think the source is hpt, so lets see if they agree...
why arent you saying what the software is?
why arent you saying what the software is?
Huh? I did. "I think the source is hpt".
Re: sbbsecho and bad packets
By: MRO to deon on Wed Oct 08 2025 12:58 am
Howdy,
string - I think the source is hpt, so lets see if they agree...
why arent you saying what the software is?
Huh? I did. "I think the source is hpt".
oh i dont like abbreviations. you're talking about husky, right?
that i heard of.
Re: sbbsecho and bad packets
By: Digital Man to deon on Sun Oct 05 2025 06:09 pm
Looks to me like the DateTime is missing the NUL terminator:
00000040 79 02 79 02 00 00 00 00 30 33 20 4f 63 74 20 32 |y.y.....03 Oct 2| 00000050 35 20 20 30 37 3a 31 37 3a 34 37 20 41 6c 6c 00 |5 07:17:47 All.|
Why is SBBSecho marking them bad?
The sbbsecho.log should say the reason why, but it's probably the same reason.
I didnt think DateTime was a null terminated string? Its 20 Bytes in the packed message header (FTS-0001.16 C.1).
"A packed message has a number of fixed length
fields followed by four null terminated strings."
(those being: to/from/subject and text are null terminated).
Or have a missed something?
FWIW, Tom Jenning's Fido software (specifically, unpmsg() from unpacket.c) would've barfed on any message without a NUL-terminated date/time as well. https://www.sensitiveresearch.com/Archive/FidoNet/index.html
It would would even trigger a buffer overflow (off-by-one) bug in his code! Just something I came across that was probably related to this discussion.
Re: sbbsecho and bad packets
By: Digital Man to deon on Mon Oct 20 2025 03:48 pm
Hey DM,
FWIW, Tom Jenning's Fido software (specifically, unpmsg() from unpacket.c) would've barfed on any message without a NUL-terminated date/time as well. https://www.sensitiveresearch.com/Archive/FidoNet/index.html
It would would even trigger a buffer overflow (off-by-one) bug in his code! Just something I came across that was probably related to this discussion.
Thanks, and interesting.
I still contend that the "standard" doesnt reflect this, which doesnt make sense (at least 2 me) on many levels. <shrug>
(And yes, I think there are probably many other things that are not following any "standards" anymore..)
Not sure what (Randy?) was thinking/intending in 1995. It certainly makes sense that it might be probably easier to code as a null terminated string and at the end of the day the most common representation of a date "yyyy-mm-dd hh:mm:ss" or "dd MMM yy hh:mm:ss" are both 19 chars, so being fixed at 19 chars (to save that byte) may have worked as well. Actually, saving the extra space before the time in the later format would have saved another byte, (or converting it to an unsigned int probably would have saved more). I guess by 1995, 2 bytes in a packet at those modem speeds wasnt a big deal, especially since it was negligble once compressed into a zip/arj file.
Anyway, I think my code handles both in case it pops up in other ways...
The standard (FTS-1) only has that one definition of the DateTime field in packets and it includes the (single) Null byte. So I don't think the requirement of the Null byte has really ever been ambiguous.
Re: sbbsecho and bad packets
By: Digital Man to deon on Mon Oct 20 2025 11:04 pm
Howdy,
The standard (FTS-1) only has that one definition of the DateTime field in packets and it includes the (single) Null byte. So I don't think the requirement of the Null byte has really ever been ambiguous.
Are we reading different versions of FTS-1? http://ftsc.org/docs/fts-0001.016
I see a DateTime mentioned in B.1 (the stored message), and in C.1 (the packed message).
I've been referencing to the C.1 reference all along.
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 14 |
Nodes: | 8 (0 / 8) |
Uptime: | 76:00:04 |
Calls: | 178 |
Files: | 21,502 |
Messages: | 79,747 |