CPCWiki forum

General Category => NC100, NC200, PCW, PDA600 - the rest of the Family! => Topic started by: JohnElliott on 23:00, 03 March 23

Title: LocoLink
Post by: JohnElliott on 23:00, 03 March 23
I've updated my PCW Hardware document (https://www.seasip.info/Unix/Joyce/hardware.pdf) with more information on the LocoLink wire protocol. The versions I've looked at (and thanks to @JTN for locating them) are:


It would be interesting to know if anyone has any more versions of LocoLink out there. In particular, Rosanne and LocoLink for Windows need a different boot disc at the PCW end (confirmed by Howard Fisher (https://groups.google.com/g/comp.sys.amstrad.8bit/c/vfj1ODXJQIg/m/GoEdBHjO_jYJ)) and I've never seen it anywhere.
Title: Re: LocoLink
Post by: JohnElliott on 11:54, 05 March 23
Having taken a deeper look at the protocol used by LocoLink for the PcW16, it seems to me that it would be quite open to Heartbleed-style attacks. The way it works is:

So, suppose the client sends an innocuous 'select drive' request. There's nothing to stop the server replying with repeated 'send me data just after the last block' responses until the client has sent it the whole 64k of memory. Or sending 'send me data just after the last block' until the last address read is just before something interesting and then switching to 'write data just after the last block' to overwrite arbitrary areas of client memory.

The same protocol is used in LocoLink for Windows, but I suspect that the opportunities for mischief would be less there because of 286 segmentation and protected mode - unless the transfer address pointed at a full 64k segment, an out-of-range request would be more likely to crash the client with a protection fault.
Title: Re: LocoLink
Post by: JohnElliott on 22:34, 04 March 24
I think I've now got a handle on the various versions of the LocoLink protocol, and have written it all up on my website (https://www.seasip.info/Unix/Joyce/locolink.html) with screenshots. I can also confirm that a PcW16 will talk to an older PCW, provided the older PCW is running LocoLink 3.00.

Still looking for a copy of Three Inch Software's "PCW Link" which was the other bit of software to use the LocoLink interface.
Powered by SMFPacks Menu Editor Mod