On Thursday, January 08, 2015 at 8:38 AM, Johnny Billquist wrote:
On 2015-01-08 17:02, Paul_Koning at
Dell.com wrote:
On Jan 7, 2015, at 10:43 PM, Johnny Billquist <bqt at softjar.se> wrote:
...Note where I said "page structure" above. :-) I've read RFC 959
(as well as the various additions) backwards and forwards way too many
times by now.
The page structure would be a way of doing this. It will definitely not work
with any other client out there. But on the other hand, I'm mostly interested
in the efficient transport of files between two RSX systems for this part
anyway, so it will be towards my own client only.
But I doubt VMS does it this way, and I was curious about if I could
possibly do something that would be compatible with VMS, since enough
commonality in file storage exists between RSX and VMS for this to actually
be useful.
So the question is - what do VMS do when talking to another VMS
system, and how does VMS decide when to use the extra abilities?
If there isn t a spec, the alternative would be to capture an FTP session
with a tool like Wireshark, and reverse engineer things. That tends to be a
pain but it can be done if all else fails.
Yeah. At this point I suspect that would be the easiest. Sending a really small
file over should tell me enough, I think.
Anyone who have both a VMS client and server, and some machine
inbetween that can run tcpdump or similar, and who could get me a dump of
a simple file?
Please keep in mind that any passwords you enter in the session will also be
in such a log...
I did the Wireshark trace and doing a GET there is an initial exchange of STRU O VMS and
if the comes back with a "200 OK" the client knows that the server is VMS and
probably viceversa. Then the data delivered in the RETR (separate TCP session as normal)
is prefixed with a binary blob of data. The format of that blob is important. I
recalled that MadGoat FTP also implemented this functionality (and interoperated with it -
Matt Madison (of MadGoat) ended up working for the MultiNet folks for a while). In any
case, over the years MGFTP became completely open source and is still maintained by Hunter
Goatley (the Goat part of MadGoat). The source is available, but digging through the
bliss code seemed a little harder than asking Hunter Goatley directly which I've done.
I'll let you know what he says.
Meanwhile, the HGFTP stuff is available at:
http://vms.process.com/ftp/vms-freeware/fileserv/hgftp.zip
In the days before we all had internet access, I had uucp transfers between VMS machines
(via DECUS UUCP) which also preserved file attributes. I don't recall how I
determined if the peer system was a VMS one, but I do recall that I also prefixed the file
data with the attributes. The attributes I sent were a FDL (File Definition Language)
text blob which I was then able to use directly with some FDL library API to create the
desired file and I then did block I/O to populate the contents.
- Mark