MacWorkStation: Protocol-Based Communications Problem


A developer of a TCP/IP network reports the following problem. Uploads of
window or file contents are causing serious problems resulting in line drops.
This occurs during EZ read Text (T008), Read Text (T009), Select Existing File
(F017), and probably during EZ Read File Fork (F007) and Read File Fork (F008).

The developer is currently using the Simple ASCII transport layer (ID = 2) with
7 data bits. Unfortunately, data in the ranges <00>-<1F> and <80>-<FF> may be
contained within windows or files. In particular, if there is a carriage return
<0D> within the data, then the IBM mainframe front-end processor (FEP) takes
this as an end-of-line character, sends the packet to CP, which sends the
packet to the application, which processes it.

Meanwhile, MacWorkStation continues to send the remainder of the packet up
until the final carriage return, which it uses to signal end-of-line.
Unfortunately, the characters following the first carriage return cause CP
interrupts, leaving the virtual machine in CP mode. After some number of
interrupts, CP determines that the line is too noisy to continue and signals
the FEP to drop it.

The problem here is that they are using a protocol in an unsupported fashion.
The serial protocol driver (ID=2) that uses start and stop characters is not
designed to support the transfer of binary data, or any data that might contain
nonstandard characters. The best choice would be to use the serial driver
(ID=1) that supports binary data and should be able to handle the transfer of
carriage returns. If this is unacceptable, request a copy of the source for
serial driver version 2.
Published Date: Feb 18, 2012