[Pkg-ltsp-devel] Bug#490897 closed by Vagrant Cascadian <vagrant at freegeek.org> (Bug#490897: fixed in ldm 2:2.0.9-1)
Daniel Nilsson
daniel at dnil.se
Wed Aug 13 19:34:03 UTC 2008
On Fri, Aug 08, 2008 at 02:59:57PM -0700, Vagrant Cascadian wrote:
> i don't plan on making any more etch backports unless it's likely to be
> a version that will end up in lenny, which hopefully will be released in
> 2-4 months. then i'll start maintaining backports for lenny, if needed.
>
> you could try and build the version from experimental version on etch
> and see how it works, the etch-backport version only required a single
> patch to the version in lenny, hopefully even that may no longer be
> needed (and was only needed for autologin/guestlogin anyways).
Ok, I build ldm 2:2.0.9-1 on etch but that does require a patch since
ldm 2.0.9 depens on Glib function introduced on Glib 2.14 which is now
on etch:
--- ldm-2.0.9.orig/src/greeter_iface.c
+++ ldm-2.0.9/src/greeter_iface.c
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
+#include <regex.h>
#include <syslog.h>
#include <string.h>
#include <sys/wait.h>
@@ -27,7 +28,7 @@
gchar *isguest;
gint l, t;
gboolean empty;
-
+ regex_t regex;
empty = TRUE;
while(empty) {
@@ -54,7 +55,18 @@
return 1;
}
ldm.username[t] = '\0';
- empty = g_regex_match_simple("^\\s*$", ldm.username, 0, 0);
+
+ // This depends on Glib 2.14 which is not available on etch
+ // empty = g_regex_match_simple("^\\s*$", ldm.username, 0, 0);
+
+ //libc version
+ regcomp(®ex, "^\\s*$",0);
+ if (regexec(®ex, ldm.username, 0, NULL ,0)) {
+ empty=FALSE;
+ } else {
+ empty=TRUE;
+ }
+
}
g_free(isguest);
g_free(prompt);
However, this still does not allow me to login as a user that is using
a tcsh on the server. I tracked the issue to the ssh command issued by
ldm, this is still assuming that the ssh command will start a bourne
shell on the server. Using the env command however seems to work,
though I have not done extensive testing.
--- 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? 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.
Regards
--
Daniel Nilsson
More information about the Pkg-ltsp-devel
mailing list