3.2.3p1 on OpenServer
Carson Gaspar
carson at taltos.org
Sun May 26 04:20:35 EST 2002
--On Thursday, May 23, 2002 12:17 PM -0600 Greg Jewell <greg17 at jewell.net>
wrote:
> For bug 245 in 3.2.2p1, the call to setsid() is sshd.c was bypassed due
> to problems it was causing with Solaris. However, by allowing this
> method to be called, the stair-stepping goes away.
Sadly, my APUE has gone walkabout, but I think he issue lies in calling
setsid() and not opening a terminal. From Solaris termio(7d):
The first terminal file opened by the ses-
sion leader that is not already associated with a session
becomes the controlling terminal for that session. The con-
trolling terminal plays a special role in handling quit and
interrupt signals, as discussed below. The controlling ter-
minal is inherited by a child process during a fork(2). A
process can break this association by changing its session
using setsid() (see getsid(2)).
If OpenSSH is going to call setsid(), it must then open whatever terminal
is going to be used (and then dup the fd to 0,1,2).
Of course, this probably won't fix the real problem for OpenServer, which
seems to be in the propogation of tty settings.
--
Carson
More information about the openssh-unix-dev
mailing list