[Info-vax] SET TERMINAL /INQUIRE (was: Re: DECnet Phase IV broken after VSI update)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Sat Oct 30 21:22:27 EDT 2021


On 2021-10-30 23:00:00 +0000, Craig A. Berry said:

> When you do, you may need to have a look at the part of SYLOGIN.COM 
> that has the SET TERM/INQUIRE command.  In the boilerplate version that 
> comes with VMS, a rather long list of device types are excluded from 
> running that command, including "FT" which is what is   used by 
> interactive SSH connections, so by default, VMS won't know what kind of 
> terminal you have and lots of stuff doesn't work with terminal type 
> "Unknown."  If you delete FT from the list, your interactive sessions 
> will start getting the correct terminal type, but other things that 
> tunnel over SSH may break.

I'm guilty of most of that ginormous DCL abomination, as an earlier 
wide-open SET TERMINAL /INQUIRE was blowing up too much, and the 
terminal settings changes (particularly around performing that command 
on the console, and around clearing screens, IIRC) were derailing the 
regression tests. That DCL abomination because SET TERMINAL /INQUIRE 
wasn't all that much past a box of rocks at its own intended job. That 
all due to upward compatibility. And FT is (also) used for foreign 
terminals, which'll blow up other stuff that uses FT.

Pragmatically, ssh should have used its own terminal type, but that's 
probably not going to change now.

There are other issues lurking here, such as with the (lack of) 
TT_ACCPORNAM handling allowing identifying the source of arriving IP 
terminal connections.

It'd be interesting to see if ssh could be adapted to permit VT virtual 
terminal support, too.

Dredging up an old and semi-related discussion around DECterm and its 
use of FT, David Jones wrote "For FT devices, the field holding 
internal PID of the job whose bytlm was charged for the UCB 
(UCB$L_CPID) overlays UCB$L_LOCKID, so you can retrieve it using 
sys$getdvi with the LOCKID item code. You can convert the internal PID 
to an external PID and then sleuth the process that created the 
pseudo-terminal (e.g. DECW$TE_xxxx would be a decterm)."

It took a while to get OpenVMS detect the size of the original terminal 
window in an OpenVMS session, but at least that's been working for a 
while.

SET TERMINAL really shouldn't spew errors either, but the non-ANSI and 
busted-emulation terminals will. Old Tektronix certainly did. (4014 was 
pre-ANSI and did. 4125 had ANSI and didn't.) It's probably past time to 
rework all of this OpenVMS code though, and to adopt that ssh and 
telnet (ugh) and OPA0: serial or iLO are our connection paths, and just 
let truly fossil-grade terminals spew their errors, but... well... 
compatibility.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list