pmattes / x3270

Family of IBM 3270 emulators
46 stars 18 forks source link

x3270 -model 4 doesn't negotiate extended color & attributes to VM/SP 5 telnet #37

Closed swhobbit closed 2 years ago

swhobbit commented 2 years ago

x3270 in mode 4 mode has never negotiated extended color and attributes with the TCP/IP telnet on VM/SP 5 (VM TCP/IP V2R1), but does with local (Hercules driven) port. It also does negotiates extended color and attributes on VM/ESA 2.4 (VM TCP/IP level 320).

I always assumed this the fault of the early generation VM TCP/IP V2R1 combined with that a physical 3279-4 didn't exist, but I recently noticed two things:

Thus, the expect behavior of x3270 is to also negotiate extended color and attributes with VM TCP/IP V2R1

x270 traces of various connections

reflection-model4-tcpdumpe.log — extended colors/attributes x3270-model4-tcpdumpe.logno extended colors/attributes

CMS EXEC to report VM/SP query of terminal: pagesize.exec.txt

If access is desired to the TELNET port of my VM/SP system running VM TCP/IP V2R1 (or the other systems I test with), let me know.

pmattes commented 2 years ago

I looked at the traces, and here is my analysis.

When x3270 negotiates with the VM/SP system, it sends its terminal type as IBM-3279-4-E (a color display). When Reflection negotiates with the VM/SP system, it sends its terminal type as IBM-3278-4-E (a monochrome display).

The host responds to x3270 by finishing TN3270 negotiation and painting the login screen. The host responds to Reflection by finishing TN3270 negotiation, then sending a Query structured field. Reflection responds with information about the extended colors and attributes it supports. Then the host paints the login screen. The host does not know about x3270's extended color and attribute support because it never asks about it. And it has to ask -- the terminal emulator cannot volunteer this information.

So apparently when the VM/SP host sees the terminal type as IBM-3279-4-E from x3270, it gets confused and decides to ignore the '-E' suffix, which is the thing that signals that the terminal supports the Query structured field.

I can't change x3270's default behavior here, because it has been this way for quite some time and there have not been any complaints about it until now. But there is an easy workaround. Add this command-line parameter:   -tn IBM-3278-4-E

That should make the host happy.

swhobbit commented 2 years ago

FYI: It also be noted that under VM/SP 5 (TCP/IP Netstat V2R1), to get extended color/attributes a model 5 (132 columns by 27 rows) requires a similar parameter: -tn IBM-3278-5-E

(You can close this again, or better yet leave it open until the documentation is updated.)

swhobbit commented 2 years ago

That should make the host happy.

More importantly, using -tn makes the user (me!) happy. :-)

I've been running a couple of weeks with the -tn parameter in the XQuartz GUI X11 Applications menu, and it has been set & forget for me. (See victoria, below.).

Screen Shot 2022-06-23 at 10 53 57 AM