disabling TIOCGPGRP on pty master sides

Insufficient Dada nix%valis.asd.sgi.com at SGI.COM
Fri Dec 14 14:12:18 AEST 1990


Submitted-by: nix%valis.asd.sgi.com at SGI.COM (Insufficient Dada)

POSIX apparently specifies that the TIOCGPGRP ioctl is disabled if
called on a terminal other than the controlling terminal of the
calling process, apparently for security reasons. This behavior breaks
the subshell handling of GNU Emacs, and apparently interferes with the
operation of the XView terminal emulator as well.  GNU Emacs uses ptys
to communicate with shell subprocesses, and attempts to send signals
to the foreground process in a subshell by finding the process group
associated with the (master side of the) pty.

With TIOCGPGRP disabled, there seems not to be any way to send signals
to a process running in an inferior shell other than figuring out the
appropriate control character to send through termio to cause the
signal to be sent.

Does POSIX have an alternate mechanism for this?  If not, could
someone elaborate on the security problems with allowing a process to
find the pgrp of an arbitrary tty?  How about allowing a process to
find the pgrp of the slave side of a pty when it owns the master side?

	Nick

Nick Thompson		nix at sgi.com		...!uunet!sgi!nix

Volume-Number: Volume 22, Number 30



More information about the Comp.std.unix mailing list