Package: kdm Version: 4:3.5.8.dfsg.1-2 Severity: important Tags: patch
When logging in on a remote xterminal via XDMCP kdm segfaults, causing the session to die and the greeter to be redisplayed. A backtrace of the crash (below) shows that we crash trying to create a bogus DBUS entry. Further investigation indicates the d->remoteHost is NULL. It looks like there are two different types of nonlocal session: Localy manged X servers that connect to a remote XDMCP server, and remote X terminals logging into this host via XDMCP. remoteHost is only set in the former case. The patch below fixes the crash by only adding the dbus attribute if remoteHost is known. Paul diff -ur clean/kdm/backend/consolekit.c kdebase-3.5.8.dfsg.1/kdm/backend/consolekit.c --- clean/kdm/backend/consolekit.c 2007-12-22 18:11:56.000000000 +0000 +++ kdebase-3.5.8.dfsg.1/kdm/backend/consolekit.c 2007-12-22 17:58:37.000000000 +0000 @@ -461,7 +461,7 @@ add_param_string (&iter_struct, "x11-display", d->name); add_param_boolean (&iter_struct, "is-local", ((d->displayType & d_location) == dLocal)); #ifdef XDMCP - if ((d->displayType & d_location) != dLocal) { + if ((d->displayType & d_location) != dLocal && d->remoteHost) { add_param_string (&iter_struct, "remote-host-name", d->remoteHost); } #endif #0 0x00002b44640e4fc0 in strlen () from /lib/libc.so.6 <...> #4 0x000000000040a772 in add_param_string (iter_struct=0x7fff47acec60, key=0x41be0a "remote-host-name", value=0x0) at kdm/backend/consolekit.c:131 #5 0x000000000040aac7 in open_ck_session (pwent=<value optimized out>, d=0x62aea0) at kdm/backend/consolekit.c:465 #6 0x0000000000416a1d in ManageSession (d=0x62aea0) at kdm/backend/session.c:634 #7 0x000000000040d81d in StartDisplayP2 (d=0x62aea0) at kdm/backend/dm.c:1395 #8 0x0000000000419cda in manage (from=0x7fff47acef90, fromlen=28, length=<value optimized out>, fd=9) at kdm/backend/xdmcp.c:948 -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-3-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1) Versions of packages kdm depends on: ii debconf [debconf-2.0] 1.5.17 Debian configuration management sy ii kdebase-bin 4:3.5.8.dfsg.1-2 core binaries for the KDE base mod ii kdebase-data 4:3.5.8.dfsg.1-2 shared data files for the KDE base ii kdelibs4c2a 4:3.5.8.dfsg.1-4 core libraries and binaries for al ii libc6 2.7-5 GNU C Library: Shared libraries ii libdbus-1-3 1.1.2-1 simple interprocess messaging syst ii libgcc1 1:4.2.2-4 GCC support library ii libpam-runtime 0.99.7.1-5 Runtime support for the PAM librar ii libpam0g 0.99.7.1-5 Pluggable Authentication Modules l ii libqt3-mt 3:3.3.7-9 Qt GUI Library (Threaded runtime v ii libstdc++6 4.2.2-4 The GNU Standard C++ Library v3 ii libx11-6 2:1.0.3-7 X11 client-side library ii libxau6 1:1.0.3-2 X11 authorisation library ii libxdmcp6 1:1.0.2-2 X11 Display Manager Control Protoc ii libxtst6 2:1.0.3-1 X11 Testing -- Resource extension ii xbase-clients 1:7.3+8 miscellaneous X clients - metapack Versions of packages kdm recommends: ii logrotate 3.7.1-3 Log rotation utility ii xserver-xorg 1:7.3+8 the X.Org X server -- debconf information: kdm/stop_running_server_with_children: false * shared/default-x-display-manager: kdm kdm/daemon_name: /usr/bin/kdm -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]