If I telnet directly to the nodes, file xfers work just fine. It is just in
the "double telnet" setup that the file xfers fail.
Have a question for the telnet gurus out there. Trying to get to the bottom of why file transfers (using any serial based protocol) don't work on my OS/2 SIO based BBS nodes via a double telnet.
do you mean like telnetting from one system to another and then
downloading and expecting it to cross both telnet hops?
if yes, i would first be looking at the connection between the two
servers and seeing if it is a binary capable stream or not... if it is
not, is there an attempt to switch it to being so? whatever the client passes to the first server might should also be passed to the second
server so channel switches like this can take place...
It would probably be because one of the (telnet) streams (or both), are
not put into "binary mode" - and thus the telnet client or server is interpreting some of the binary chars that would be sent.
Tried this with Mystic in front and GameSrv (TelnetDoor) in front and seeing th
same problems. File transfers will error out no matter which one you select.
If telnet xfers work without the double telnet situation, could that still mean both streams could be an issue?
To add to what Mark and Deon said... from experience, the Mystic matrix
as a front-end for telneting to another board does not create a binary connection. You won't be able to do file transfers from the BBS that
Mystic is transfering the connection to.
I have not tried GameSrv.
A <---> B B <---> C
So "B" is both a client and a server (or a server running a client
telnet).
If "C" says "lets go binary", the "B client" probably says "OK", but it probably doesnt tell the "B server" to negotiate binary mode with "A".
I tried GameSrv (TelnetDoor) and had the same issue so it must not be creating a binary connection, either. It wasn't clear as to just being
a "double telnet" related issue or something else.
Is there any harm to always forcing a binary connection for telnet? That way it would be covered either way? Not sure what effect that would have on regular text.
There is no such thing as "creating a binary connection" via telnet.
During a telnet session, the server and client exchange information on demand - "Telnet IAC", which you would loose if it was in a permanent binary session.
Telnet options are negotiated after the connection. Binary mode is something the server would request and the client would respond to.
One way to test Mystic specifically is if you use the outbound telnet to connect to your own Mystic BBS again. The transfers still work even when you connect through multiple telnet connections. I just tested that again in the latest Windows build and the transfers were working fine with NetRunner Zmodem.
Actually, I was wrong here.
After a little more reading, the IAC codes are still "scanned", they just need to be doubled up to be acted on.
The other question would be when the telnet negotiation happens, is this for both telnet sessions in the double telnet situation or just the new one connecting?
So the assumption I've been working on, is that by "double telnet", you actually mean "two telnet sessions" right?
If this is true, then each session negotatiates what happens on that session. So if one session wants to go 8 bit (to do binary transfers),
the other session needs to do the same. But the problem that probably exists, is nothing is triggering the other session to do it...
Re: Re: Question for telnet/BBS gurus.
By: Mark Hofmann to Deon George on Fri Jun 19 2020 08:56 am
Is there any harm to always forcing a binary connection for telnet? That way it would be covered either way? Not sure what effect that would have on regular text.
During a telnet session, the server and client exchange information on demand - "Telnet IAC", which you would loose if it was in a permanent binary session.
These IAC commands return cursor positions, echo mode, terminal info, etc...
Telnet binary mode has to do with the translation of received CR/LF and CR/NUL pairs to a single carriage-return character (0x0D) and nothing to do with the Telnet IAC character (0xFF) which must always be escaped and parsed correctly, always, binary mode or not.
Re: Re: Question for telnet/BBS gurus.
By: Rob Swindell to Deon George on Mon Jun 22 2020 07:32 pm
Telnet binary mode has to do with the translation of received CR/LF and CR/NUL pairs to a single carriage-return character (0x0D) and nothing to do with the Telnet IAC character (0xFF) which must always be escaped and parsed correctly, always, binary mode or not.
But isnt in telnet binary mode, 0xFF needs to be received twice consectively before the other end should interpret what should follow?
I must admit I havent read the finer details of how things are parsed when in it goes in this mode - but I assumed this mode assisted binary file transfers that are likely to have those special control chars that would normally be intepreted as IAC commands.
No, Telnet binary mode only affects the interpretation of the CR/LF and CR/NUL byte pairs, which most definitely are likely to be contained in many/most file transfers and thus need to have binary mode enabled to be received correctly (e.g. for chksum/crc validation purposes, if nothing else).
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,042 |
Nodes: | 15 (0 / 15) |
Uptime: | 04:36:39 |
Calls: | 500,302 |
Calls today: | 3 |
Files: | 95,203 |
D/L today: |
262 files (23,151K bytes) |
Messages: | 465,325 |