Debian Bug report logs -
#490897
ldm: tcsh users unable to login]
Reported by: Daniel Nilsson <debian-bugs@dnil.se>
Date: Tue, 15 Jul 2008 05:21:02 UTC
Severity: important
Tags: wontfix
Found in versions 2:2.0.6-1~40.etch.0, ldm/2:2.0.6-1, ldm/2:2.0.11-1
Fixed in versions 2:2.0.9-1, 2:2.18.06-1+rm
Done: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Daniel Nilsson <debian-bugs@dnil.se>:
New Bug report received and forwarded. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: ldm
Version: 2:2.0.6-1~40.etch.0
Severity: important
After a lot of hours spent troubleshooting I have discovered that ldm (at least,
could be other parts of ltsp as well) assumed that the user trying to login
is using as bourne shell in the server machine.
For example, line 71 if src/sshutils.c of ldm:
sshcmd[i++] = "LANG=C";
Here ssh is hardcoded to set an environmental variable using this syntax
which is not compatible with tcsh syntax (env LANG=C would be needed in that
case). I tried changing the above but this only seemed to move the problem
somewhere else. If I create two new users on the server where one user is
using /bin/bash as login shell and one user is using /usr/bin/tcsh only the
bash user is allowed to login.
I'm on etch but I followed the directions here to install LTSP5:
http://wiki.debian.org/LTSP/Howto
Regards
Daniel
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-smi-patch
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages ldm depends on:
ii gtk2-engines [gtk2-eng 1:2.8.2-1 theme engines for GTK+ 2.x
ii gtk2-engines-clearlook 1:2.8.2-1 Clearlooks GTK+ 2.x engine and the
ii libatk1.0-0 1.12.4-3 The ATK accessibility toolkit
ii libc6 2.3.6.ds1-13etch5 GNU C Library: Shared libraries
ii libcairo2 1.2.4-4.1+etch1 The Cairo 2D vector graphics libra
ii libfontconfig1 2.4.2-1.2 generic font configuration library
ii libglib2.0-0 2.12.4-2 The GLib library of C routines
ii libgtk2.0-0 2.8.20-7 The GTK+ graphical user interface
ii libpango1.0-0 1.14.8-5 Layout and rendering of internatio
ii libx11-6 2:1.0.3-7 X11 client-side library
ii libxcursor1 1.1.7-4 X cursor management library
ii libxext6 1:1.0.1-2 X11 miscellaneous extension librar
ii libxfixes3 1:4.0.1-5 X11 miscellaneous 'fixes' extensio
ii libxi6 1:1.0.1-4 X11 Input extension library
ii libxinerama1 1:1.0.1-4.1 X11 Xinerama extension library
ii libxrandr2 2:1.1.0.2-5 X11 RandR extension library
ii libxrender1 1:0.9.1-3 X Rendering Extension client libra
ii openssh-client 1:4.3p2-9etch2 Secure shell client, an rlogin/rsh
ii xserver-xorg 1:7.1.0-19 the X.Org X server
ii xserver-xorg-core [xse 2:1.1.1-21etch5 X.Org X server -- core server
Versions of packages ldm recommends:
ii netcat 1.10-32 TCP/IP swiss army knife
-- no debconf information
Reply sent to Vagrant Cascadian <vagrant@freegeek.org>:
You have taken responsibility.
(full text, mbox, link).
Notification sent to Daniel Nilsson <debian-bugs@dnil.se>:
Bug acknowledged by developer.
(full text, mbox, link).
Message #10 received at 490897-close@bugs.debian.org (full text, mbox, reply):
Source: ldm
Source-Version: 2:2.0.9-1
We believe that the bug you reported is fixed in the latest version of
ldm, which is due to be installed in the Debian FTP archive:
ldm_2.0.9-1.diff.gz
to pool/main/l/ldm/ldm_2.0.9-1.diff.gz
ldm_2.0.9-1.dsc
to pool/main/l/ldm/ldm_2.0.9-1.dsc
ldm_2.0.9-1_i386.deb
to pool/main/l/ldm/ldm_2.0.9-1_i386.deb
ldm_2.0.9.orig.tar.gz
to pool/main/l/ldm/ldm_2.0.9.orig.tar.gz
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 490897@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Vagrant Cascadian <vagrant@freegeek.org> (supplier of updated ldm package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Wed, 06 Aug 2008 16:07:50 -0700
Source: ldm
Binary: ldm
Architecture: source i386
Version: 2:2.0.9-1
Distribution: experimental
Urgency: low
Maintainer: LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>
Changed-By: Vagrant Cascadian <vagrant@freegeek.org>
Description:
ldm - LTSP display manager
Closes: 482553 490897
Changes:
ldm (2:2.0.9-1) experimental; urgency=low
.
* new upstream version:
- cleaner handling of ssh interaction:
+ fixes tcsh logins (Closes: #490897)
+ fixes password expiry (Closes: #482553)
* updated standards-version to 3.8.0, no changes needed.
Checksums-Sha1:
cc6c7259d7ad38a3c21de42560805ff17ede54c1 1388 ldm_2.0.9-1.dsc
58d75dc6732365e66516333cbe6299148432357a 367735 ldm_2.0.9.orig.tar.gz
1c06fb57c51ec2fd24a86245ecde3ea7e82ccb03 6556 ldm_2.0.9-1.diff.gz
dd282662216933c810661bc149157deaf257cf83 156146 ldm_2.0.9-1_i386.deb
Checksums-Sha256:
f4e48cf7196b250504d5e90d76ac191afac89a34c34aa3e5461216f8cb60b335 1388 ldm_2.0.9-1.dsc
07b35f596136ff6b6c634d4e4b62b0ede00b6b8018c9f0534c28b9375a614ed3 367735 ldm_2.0.9.orig.tar.gz
1409d6526ee5b29bc8f6aa0d053cb868dcbf948992744db5a4cf4d9b4715d1d3 6556 ldm_2.0.9-1.diff.gz
5cd80f9a1b8deaec79799e0d8517a8fa7cbe7a3e73f78906f1d9f3506af500e8 156146 ldm_2.0.9-1_i386.deb
Files:
f9e949a8e913e861f19dedf3380b4d89 1388 misc extra ldm_2.0.9-1.dsc
1d7e08d6a46b821c0a0be4c777d99678 367735 misc extra ldm_2.0.9.orig.tar.gz
c3df2864dd4525b034c43f109f78b084 6556 misc extra ldm_2.0.9-1.diff.gz
0916ebb571655605e9d0a47a43e4182a 156146 misc extra ldm_2.0.9-1_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkiaM3wACgkQlPc63BPWGpnj7wCeNXcxzUw0HV0qa0+R0Ctg0JRf
ZpgAniOlAgBLwsfAheDAzkLp3yIgvHbF
=hmr4
-----END PGP SIGNATURE-----
Bug marked as found in version 2.0.6-1.
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Thu, 07 Aug 2008 23:00:02 GMT) (full text, mbox, link).
Bug no longer marked as found in version 2.0.6-1.
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Fri, 08 Aug 2008 00:30:02 GMT) (full text, mbox, link).
Bug marked as found in version 2:2.0.6-1.
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Fri, 08 Aug 2008 00:30:03 GMT) (full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #21 received at 490897@bugs.debian.org (full text, mbox, reply):
found 490897 2:2.0.11-1
thanks
On Wed, Aug 13, 2008 at 09:34:03PM +0200, Daniel Nilsson wrote:
> On Fri, Aug 08, 2008 at 02:59:57PM -0700, Vagrant Cascadian wrote:
> --- ldm-2.0.9.orig/src/ldm.c
> +++ ldm-2.0.9/src/ldm.c
> @@ -268,7 +268,7 @@
> * FIXME: ditch the kill -1 and use ssh -o exit on the control socket
> */
> command = g_strjoin(" ", "ssh", "-Y", "-t", "-S", ldm.control_socket,
> - "-l", ldm.username, ldm.server, client_env,
> + "-l", ldm.username, ldm.server, "env" ,client_env,
> lang ? lang : "", display ? display : "", sound ? sound : "",
> ldm.session, localdev ? localdev : "",
> "; kill -1 $PPID", NULL);
>
> But you are saying that you were able to login using ldm-2.0.9 without
> the above patch?
i set a user's default shell to tcsh and was able to log in using ldm
2.0.9-1. today, i'm not able to do so using 2.0.11-1. *sigh* i don't
know what happened.
i'll test your patch and if it works well, will get it upstream and
hopefully into the version of ldm in lenny, as it seems simple.
> This issue seems clear to me (and can be seen in the
> ldm.log file as well), ldm issues a command of the form
> LTSP_CLIENT=192.168.1.1 DISPLAY=192.168.1.5 /etc/X11/Xsession to the
> LTSP server as the user who is trying to login in. This is fine for
> bash, but will fail on tcsh.
in previous ldm versions, the initial login was done with LANG=C so we
could scrape the login text. we stopped doing that in 2.0.9+, and i
thought the next call was actually done with "bash -c 'LTSP_CLIENT=
...'" explicitly, but that doesn't appear to be the case.
live well,
vagrant
Bug marked as found in version 2:2.0.11-1 and reopened.
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Wed, 13 Aug 2008 20:48:19 GMT) (full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #28 received at 490897@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
tags 490897 pending
thanks
On Wed, Aug 13, 2008 at 09:34:03PM +0200, Daniel Nilsson wrote:
> On Fri, Aug 08, 2008 at 02:59:57PM -0700, Vagrant Cascadian wrote:
> --- ldm-2.0.9.orig/src/ldm.c
> +++ ldm-2.0.9/src/ldm.c
> @@ -268,7 +268,7 @@
> * FIXME: ditch the kill -1 and use ssh -o exit on the control socket
> */
> command = g_strjoin(" ", "ssh", "-Y", "-t", "-S", ldm.control_socket,
> - "-l", ldm.username, ldm.server, client_env,
> + "-l", ldm.username, ldm.server, "env" ,client_env,
> lang ? lang : "", display ? display : "", sound ? sound : "",
> ldm.session, localdev ? localdev : "",
> "; kill -1 $PPID", NULL);
based on this patch, i made a patch for ldm 2.0.6 that will hopefully
find it's way into lenny. tested it with bash, tcsh, zsh, dash and posh
as the default shell.
attached is a dpatch formatted patch that you should be able to drop
into ldm-2.0.6/debian/patches, and then add it to debian/patches/00list,
and it should build.
it should also hopefully work for the etch backport, though i haven't
tested that.
live well,
vagrant
[fix-tcsh-logins.dpatch (text/plain, attachment)]
Tags added: pending
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Wed, 13 Aug 2008 23:48:06 GMT) (full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Daniel Nilsson <debian-bugs@dnil.se>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #35 received at 490897@bugs.debian.org (full text, mbox, reply):
On Wed, Aug 13, 2008 at 01:46:14PM -0700, Vagrant Cascadian wrote:
> > --- ldm-2.0.9.orig/src/ldm.c
> > +++ ldm-2.0.9/src/ldm.c
> > @@ -268,7 +268,7 @@
> > * FIXME: ditch the kill -1 and use ssh -o exit on the
> > control socket
> > */
> > command = g_strjoin(" ", "ssh", "-Y", "-t", "-S",
> > ldm.control_socket,
> > - "-l", ldm.username, ldm.server, client_env,
> > + "-l", ldm.username, ldm.server, "env" ,client_env,
> > lang ? lang : "", display ? display : "", sound ?
> > sound : "",
> > ldm.session, localdev ? localdev : "",
> > "; kill -1 $PPID", NULL);
> >
> i set a user's default shell to tcsh and was able to log in using
> ldm 2.0.9-1. today, i'm not able to do so using 2.0.11-1. *sigh* i don't
> know what happened.
>
> i'll test your patch and if it works well, will get it upstream and
> hopefully into the version of ldm in lenny, as it seems simple.
Hi,
Please test this patch first, what I found was that I was able to
login as a tcsh user but the logout seems to hang after the Xsession
has ended (gnome-session in my testcase). I think this is due to the
"kill -1 $PPID" and the end of the ssh command above, the $PPID
variable is not available in a tcsh as far as I know. I don't know
what the correct way to do this is so that it doesn't depend on the
user shell, there is comment in the code:
/*
* FIXME: ditch the kill -1 and use ssh -o exit on the control
socket
*/
command = g_strjoin(" ", "ssh", "-Y", "-t", "-S", ldm.control_socket,
"-l", ldm.username, ldm.server, "env" ,client_env,
lang ? lang : "", display ? display : "", sound ? sound : "",
ldm.session, localdev ? localdev : "",
"; kill -1 $PPID", NULL);
I think that should be ssh -O exit though, but I haven't tested this
yet.
--
Daniel Nilsson
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #40 received at 490897@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
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:
> Please test this patch first
which patch?
if it's a simple patch based on ldm 2.0.6, i can try and get it into
lenny.
otherwise, without a patch that's tested to work with bash, zsh, dash
and tcsh, multiple x sessions and window managers, i don't really have
the time to do the testing.
> , what I found was that I was able to login as a tcsh user but the
> logout seems to hang after the Xsession has ended (gnome-session in my
> testcase).
the patch i made to ldm 2.0.6 worked with lenny's gnome and icewm, but
not with xfce (session would hang).
> I think this is due to the
> "kill -1 $PPID" and the end of the ssh command above, the $PPID
> variable is not available in a tcsh as far as I know.
that would make sense, yes.
might be able to try something like "exec /bin/sh kill -1 $PPID". i
think that's the last thing i'll try and if it doesn't work, will wait
for tested patches.
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.
> I don't know what the correct way to do this is so that it doesn't
> depend on the user shell, there is comment in the code:
>
> /*
> * FIXME: ditch the kill -1 and use ssh -o exit on the control
> socket
> */
> command = g_strjoin(" ", "ssh", "-Y", "-t", "-S", ldm.control_socket,
> "-l", ldm.username, ldm.server, "env" ,client_env,
> lang ? lang : "", display ? display : "", sound ? sound : "",
> ldm.session, localdev ? localdev : "",
> "; kill -1 $PPID", NULL);
>
> I think that should be ssh -O exit though, but I haven't tested this
> yet.
we tested the "ssh -O exit" approach the recent LTSP developer hackfest,
and i couldn't get it to work, as any lingering X client connections
through the ssh tunnel will prevent the command from completing.
live well,
vagrant
[fix-tcsh-logins.dpatch (text/plain, attachment)]
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Daniel Nilsson <debian-bugs@dnil.se>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #45 received at 490897@bugs.debian.org (full text, mbox, reply):
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:
>
> > Please test this patch first
>
> which patch?
Sorry, I was referring to the 2.0.9 based patch i had been testing and
working on which I felt needed more testing before applying upstream
since it didn't seem to solve the logout problem.
> 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";
What is needed is a more portable way to find the parent process id in
a manner that is not shell dependent and that will find the process id
of the calling ssh process. I worked on that for a while, and the
following seems to do the trick in a shell portable way:
ps -o ppid -p $$ | tail -1
I put that into a 2.0.6 based patch which looks like this:
--- ldm-2.0.6.orig/src/sshutils.c
+++ ldm-2.0.6/src/sshutils.c
@@ -68,6 +68,7 @@
sshcmd[i++] = "echo";
sshcmd[i++] = SENTINEL;
sshcmd[i++] = ";";
+ sshcmd[i++] = "env";
sshcmd[i++] = "LANG=C";
sshcmd[i++] = "/bin/sh";
sshcmd[i++] = "-";
--- ldm-2.0.6.orig/src/ldm.c
+++ ldm-2.0.6/src/ldm.c
@@ -258,6 +258,7 @@
cmd[i++] = "-l";
cmd[i++] = ldminfo.username;
cmd[i++] = ldminfo.server;
+ cmd[i++] = "env";
cmd[i++] = ltspclienv;
/*
@@ -315,7 +316,7 @@
cmd[i++] = ";";
cmd[i++] = "kill";
cmd[i++] = "-1";
- cmd[i++] = "$PPID";
+ cmd[i++] = "`ps -o ppid -p $$ | tail -1`";
cmd[i++] = NULL;
xsessionpid = ldm_spawn(cmd);
I tried logging in and out with bash, tcsh, dash and zsh using gnome,
xfce4 and icewm sessions on the server. All those combinations worked
well in my case (server running etch).
I hope that helps!
Regards
--
Daniel Nilsson
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #50 received at 490897@bugs.debian.org (full text, mbox, reply):
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.
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Daniel Nilsson <debian-bugs@dnil.se>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #55 received at 490897@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Sat, Aug 16, 2008 at 07:59:20PM -0700, Vagrant Cascadian wrote:
> > 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.
I did more test, and this works as you said:
daniel@oden:~$ ssh -l labtcsh oden 'exec /bin/sh'
Password:
echo $PPID
9741
However, I've tried various forms of this and I can't get to work:
daniel@oden:~$ ssh -l labtcsh oden 'exec /bin/sh -c echo \$PPID'
Password:
daniel@oden:~$ ssh -l labtcsh oden 'exec /bin/sh -c echo $PPID'
Password:
PPID: Undefined variable.
I also tried your complete dpatch as is and it does not solve the
problem in my test setup, logouts fails and I need to kill the sshd
process on the server in order for logout to complete. My only guess
is that it has something to do with the above shell escaping issues.
I have attached a dpatch formatted version of the method I used where
PPID is retrieved using ps. So far this is the only method I've found
that solves the problem together with an etch based server. Are you
testing against a lenny server?
> 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
Sure, I can understand this. This tends to become a hot topic due to
matter of preferences. I ended up a tcsh user since that was the
standard at the university back in the SunOS 4 days. There are
probably many advantages using bash over tcsh, but that is a different
topic. Since users are able to switch the shell to their preference,
and tcsh is still widely used, I think this bug needs to be handled
somehow since the result for a tcsh user is just a failed login with
no error messages. This will burden the sysadmins a lot trying to
figure out why a particular user can't log in when other can.
> 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...
Sounds like a better approach, agreed.
Regards
--
Daniel Nilsson
[fix_tcsh_logins_daniel.dpatch (text/plain, attachment)]
Information forwarded to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(full text, mbox, link).
Acknowledgement sent to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #60 received at 490897@bugs.debian.org (full text, mbox, reply):
tags 490897 - pending
tags 490897 wontfix
thanks
so, i've spent many hours and tried many patches, and while it's
definitely possible to get tcsh logins with ldm sort of working, it's
almost impossible to get it working cleanly and consistantly.
we'd have to either prepend '/bin/sh -c "foo ; bar ; baz"' or 'env foo ;
env bar ; env baz' to every single call to ssh, with some pretty ugly
escaping of variables and so on. various ldm hooks from other packages
call ssh numerous times. new features are still in development, which
will likely do the same.
unfortunately ldm and ltsp make extensive use of environment variables
across multiple ssh calls, and the differences in the bourne and csh
shell families make this rather difficult to support.
it's a lot of work, i'm not really able to test patches with all posible
combinations of ltsp features. since upstream isn't excited about
continued support for tcsh either, it would be a bit of a burden to
maintain patches specifically for debian to handle tcsh.
so, for the moment at least, i'm marking this as wontfix. of couse, if
the situation significantly changes, or new, well-tested and very simple
patches to make it work arise, i'd reconsider.
live well,
vagrant
Message sent on to Daniel Nilsson <debian-bugs@dnil.se>:
Bug#490897.
(full text, mbox, link).
Tags removed: pending
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Wed, 20 Aug 2008 22:12:05 GMT) (full text, mbox, link).
Tags added: wontfix
Request was from Vagrant Cascadian <vagrant@freegeek.org>
to control@bugs.debian.org.
(Wed, 20 Aug 2008 22:12:06 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(Tue, 03 Nov 2009 16:09:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Florian Schlichting <fschlich@CIS.FU-Berlin.DE>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(Tue, 03 Nov 2009 16:09:03 GMT) (full text, mbox, link).
Message #72 received at 490897@bugs.debian.org (full text, mbox, reply):
Hi Vagrant,
this bug is more than a year old already, but when you were testing, did
you also try something like this:
echo <sh-code> | ssh <server> /bin/sh
I think this should be less problematic with regard to quoting, and also
upstream seemed to be open to an approach that specified a shell
explicitly, instead of implicitly relying on a user's login shell or
trying to write code that will run on all types of shell.
Also, for all admins of frustrated tcsh users happening upon this bug
report, I'd like to suggest the following workaround:
~/.bash_profile:
# tcsh for interactive login shells.
[[ $- == *i* ]] && SHELL=tcsh exec tcsh -l
~/.bashrc:
# tcsh for interactive non-login shells.
[[ $- == *i* ]] && SHELL=tcsh exec tcsh
Florian
Information forwarded
to debian-bugs-dist@lists.debian.org, LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>:
Bug#490897; Package ldm.
(Fri, 06 Nov 2009 18:21:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@freegeek.org>:
Extra info received and forwarded to list. Copy sent to LTSP Debian/Ubuntu Maintainers <pkg-ltsp-devel@lists.alioth.debian.org>.
(Fri, 06 Nov 2009 18:21:02 GMT) (full text, mbox, link).
Message #77 received at 490897@bugs.debian.org (full text, mbox, reply):
On Tue, Nov 03, 2009 at 04:16:06PM +0100, Florian Schlichting wrote:
> this bug is more than a year old already, but when you were testing, did
> you also try something like this:
> echo <sh-code> | ssh <server> /bin/sh
i don't recall trying anything like that, though...
> I think this should be less problematic with regard to quoting, and also
> upstream seemed to be open to an approach that specified a shell
> explicitly, instead of implicitly relying on a user's login shell or
> trying to write code that will run on all types of shell.
the code already specifies /bin/sh explicitly, the problem is in how that shell
gets called: if the user's default shell is tcsh, then /bin/sh is called by way
of tcsh, and we can't rely on a consistant syntax for setting environment
variables.
additionally, all of the other hooks into ldm from ldm itself, ltsp and ltspfs
would also have to call the shell in an unconventional way, which is in dozens
of places.
hate to say it, but without a complete redesign of ldm and significant
re-writing of ltsp and ltspfs, unfortunately this will have to remain a
wontfix.
live well,
vagrant
Reply sent
to Debian FTP Masters <ftpmaster@ftp-master.debian.org>:
You have taken responsibility.
(Sat, 11 Jan 2020 13:42:05 GMT) (full text, mbox, link).
Notification sent
to Daniel Nilsson <debian-bugs@dnil.se>:
Bug acknowledged by developer.
(Sat, 11 Jan 2020 13:42:05 GMT) (full text, mbox, link).
Message #82 received at 490897-done@bugs.debian.org (full text, mbox, reply):
Version: 2:2.18.06-1+rm
Dear submitter,
as the package ldm has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/948535
The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.
Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.
Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sun, 09 Feb 2020 07:32:22 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sat Jul 1 13:34:59 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.