https://gitlab.synchro.net/main/sbbs/-/commit/2a64eab7ba97101c60761917
Added Files:
docs/xymodem_verification.md
Modified Files:
docs/zmodem_comparison.md
Log Message:
docs: verify sexyz's X/YMODEM interoperability and options
The option audit prompted by issue #1229 covered ZMODEM and left the
X/YMODEM knobs untested. Test them, in a separate document since zmodem_comparison.md is ZMODEM-only.
Interoperability is clean: all twelve sender/receiver combinations
against lrzsz and against Forsberg's 1997 DSZ transfer a 16 KiB random
file byte-for-byte. Every knob does something, so there is no second Escape8thBit here.
Three of them fail hard rather than degrading, which is the part worth
acting on. SendCRC=false hangs until the timeout against a receiver
that only ever requests CRC, because XMODEM's receiver drives and ours
will not answer its C. SendG=false dies 18 bytes in against a G-mode
receiver. And [XMODEM] MaxBlockSize is asymmetric: it does not cap an
explicit sX send, which still uses 1024-byte blocks, while on the
receive side it breaks an otherwise working transfer from a 1K sender
part-way through. None of these is a dead option -- each demonstrably
changes behaviour -- but turning a capability off yields a timeout or an
abort with nothing in the log naming the cause.
Also records a harness trap that cost a diagnostic cycle: YMODEM carries
the filename and DSZ writes it through DOS 8.3 rules, so xy.16k arrives
as XY.16K and a test looking for the name it sent reports a failure that
did not happen.
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net