Bug#365381: xdm fails to start user session after login, and restarts immediately
Package: xdm
Version: 1:1.0.1-6
Severity: important
Hello,
After upgrading to Xorg 7.0 on two of my boxes (running Debian
unstable), I am unable to log into X using xdm. As soon as I enter
my login / password in the xdm dialog box, the X server is reset and
xdm restarts.
After doing some tests I think the problem is related to the 'unusual'
network interfaces I have on my machine -- I'm using OpenVPN on my boxes
and it creates 'tun' virtual network interfaces, that are not 'real'
ethernet interfaces.
By looking at the xdm source code, it seems that xdm forks a child
process after successful user authentication, in order to handle the
user X session. That child process starts by writing some .Xauthority
files in the user home directory, containing the list of IP addresses of
all the local network interfaces (DefineSelf() function in xdm/auth.c).
When I have OpenVPN running, the xdm child process crashes when
iterating over the list of my network interfaces IP addresses. It seems
that the DefineSelf() function calls the ConvertAddr() function with a
NULL saddr argument. A SIGSEGV signal is therefore sent to the xdm child
process, and xdm restarts immediately.
It is possible to prevent the problem by switching to false the
DisplayManager*authorize option in the /etc/X11/xdm/xdm-config file,
but I don't think that is very secure.
I'm running a 2.6.16 kernel I compiled myself. I think the problem may
be reproduced simply by running OpenVPN before authenticating in xdm.
Regards,
Yann Grossel
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16.1
Locale: LANG=C, LC_CTYPE=C (charmap=ISO-8859-15) (ignored: LC_ALL set to en_GB.ISO-8859-15)
Versions of packages xdm depends on:
ii cpp 4:4.0.3-3 The GNU C preprocessor (cpp)
ii debconf [debconf-2.0] 1.5.0 Debian configuration management sy
ii libc6 2.3.6-7 GNU C Library: Shared libraries
ii libice6 1:1.0.0-3 X11 Inter-Client Exchange library
ii libpam0g 0.79-3.1 Pluggable Authentication Modules l
ii libselinux1 1.30-1 SELinux shared libraries
ii libsm6 1:1.0.0-4 X11 Session Management library
ii libx11-6 2:1.0.0-6 X11 client-side library
ii libxau6 1:1.0.0-3 X11 authorisation library
ii libxaw7 1:1.0.1-5 X11 Athena Widget library
ii libxdmcp6 1:1.0.0-4 X11 Display Manager Control Protoc
ii libxext6 1:1.0.0-4 X11 miscellaneous extension librar
ii libxinerama1 1:1.0.1-4 X11 Xinerama extension library
ii libxmu6 1:1.0.1-3 X11 miscellaneous utility library
ii libxpm4 1:3.5.4.2-3 X11 pixmap library
ii libxt6 1:1.0.0-4 X11 toolkit intrinsics library
ii x11-common 1:7.0.15 X Window System (X.Org) infrastruc
ii xbase-clients 1:7.0.0-5 miscellaneous X clients
xdm recommends no packages.
-- debconf information excluded
Reply to: