Where should I put the code to turn off echoing from a PAD?
Dave Sherman
dave at utcsrgv.UUCP
Thu Oct 18 06:51:54 AEST 1984
OK, I wanna do this the *right* way.
We have students accessing our machine through various routes: hardwired
terminals, dialups, and through our Datapac PAD. When they're on through
the PAD, they don't get echoing from UNIX, because packets are only
transmitted when they press CR. I therefore have the PAD set up
to signal the remote PAD (where they're dialed into) to turn on
echoing. In other words, echoing is coming from the PAD the user
is talking to, not from UNIX.
Now, I want to turn off echoing occasionally, most notably when
prompting for a password. It's easy to do; I just have to send an
obscure sequence down the line to indicate to the PAD that the remote
parameter should be changed. Question is, where do I do it?
1. In the kernel: whenever echoing is turned off, and the
line is hooked up to the PAD [how do we know?], send out
the sequence.
2. In stty.c/ioctl.c, which implements the system call in C:
when turning off echoing is a parameter [requires knowing
whether it was on previously], send out the sequence,
if we can tell from a system file like /etc/ttys that the
line we're changing is hooked up to the PAD.
3. In getpass(3), which is a stdio routine which turns off
echoing in the conventional way: if the line is indicated
in /etc/ttys or /etc/PADttys as hooked up to the PAD, then
instead of stty'ing to turn off echoing, send out the sequence.
4. In login.c, passwd.c and anywhere in my applications programs
where I might want to turn off echoing.
See the problem? It's easy to install in login.c, but then the next
time I write a program which wants to turn off echoing, I have to
do the code over again. Yet putting it deeper down, in stty(2) or in
the kernel, is unportable and dangerous.
Should I just write echooff() and echoon(), install them in /lib/libc.a
and change getpass() to call these routines?
This is on v7 on a Perkin-Elmer 3220 (not that it makes any difference).
Dave Sherman
The Law Society of Upper Canada
{decvax,ihnp4}!utzoo!lsuc!dave [since utcsrgv will be down all next week]
--
{ allegra cornell decvax ihnp4 linus utzoo }!utcsrgv!dave
More information about the Comp.unix
mailing list