[Pkg-ltsp-devel] Bug#490897: tcsh logins

Vagrant Cascadian vagrant at freegeek.org
Sun Aug 17 02:59:20 UTC 2008


On Sat, Aug 16, 2008 at 11:29:39PM +0200, Daniel Nilsson wrote:
> On Fri, Aug 15, 2008 at 11:13:37AM -0700, Vagrant Cascadian wrote:
> > On Thu, Aug 14, 2008 at 10:48:21PM +0200, Daniel Nilsson wrote:
> > > On Wed, Aug 13, 2008 at 01:46:14PM -0700, Vagrant Cascadian wrote:
> > patch attached. tested and works for bash, tcsh, zsh and dash with
> > gnome, icewm, and xfce4.
> > 
> > if you could please test that patch, i can try and get it into lenny.
> > then i can work on getting it working upstream, too.
> 
> Ok, I did some testing with the patch you had attached. What I found
> though was that starting up a new shell on the server just for killing
> $PPID would probably not solve the issue since that would just kill
> the calling shell and not the ssh process which I believe is what the
> intent is here. I'm referring to this portion of the patch.

>      cmd[i++] = ";";
> +    cmd[i++] = "exec";
> +    cmd[i++] = "sh";
>      cmd[i++] = "kill";
>      cmd[i++] = "-1";
>      cmd[i++] = "$PPID";

no probably about it, in my tests, it definitely solved the issue.

because it uses exec, it gets the proper value for $PPID, which should
be the sshd process used to log in (yes, it's an ugly hack, but that's
how it works for now). at least on lenny.

to reproduce: ssh to the server, with a user with the default shell of
tcsh. run "exec /bin/sh". "echo $PPID". the $PPID is the pid of sshd.

there's definitely resistance to applying any of these patches upstream:

  http://sourceforge.net/mailarchive/forum.php?thread_name=20080815201358.GF12833%40ryukin.fglan&forum_name=ltsp-developer

one idea is to actually log in using /bin/sh, so that we can have a
known login shell, as supporting multiple incompatible shell syntaxes is
a rather difficult task...

live well,
  vagrant

p.s. no need to CC me if you're mailing the bug report or any of the
lists.





More information about the Pkg-ltsp-devel mailing list