Bug#579033: gdm3: [patch] initialize ss_len before use

Mario Izquierdo (mariodebian) mariodebian at gmail.com
Thu Jun 3 10:23:24 UTC 2010


Package: gdm3
Version: 2.30.2-3
Severity: normal

I'm working on this bug.

Set "net.ipv6.bindv6only = 1", no changes is set to 0.

Setting Debug/Enable=True I found that the call to XdmcpFill fails, 
with this line in syslog:

GdmXdmcpDisplayFactory: Could not create XDMCP buffer!

With this patch:
    http://tcosproject.org/cgit/gdm3.git/tree/debian/patches/95_xdmcp_fill_fix.patch

XdmcpFill don't fail and remote session continue but all is IPV6:

GdmXdmcpDisplayFactory: Attempting to bind to host :: port 177
GdmXdmcpDisplayFactory: Starting to listen on XDMCP port
GdmXdmcpDisplayFactory: decode_packet: GIOCondition 1
GdmXdmcpDisplayFactory: Received opcode QUERY from client ::8008:7f09:100:0%159346928 : 54488
GdmXdmcpDisplayFactory: Sending WILLING to ::8008:7f09:100:0%159346928
GdmXdmcpDisplayFactory: decode_packet: GIOCondition 1
Address family:2 (inet) hostname:(null) host:(null) port:(null) local:1 loopback:1
Address family:2 (inet) hostname:(null) host:(null) port:(null) local:0 loopback:0
GdmAddress: looking up hostname: thinkpad
family=2 sock_type=1 protocol=6 flags=0x2 canonname=localhost#012
family=2 sock_type=2 protocol=17 flags=0x2 canonname=(null)#012
family=2 sock_type=3 protocol=0 flags=0x2 canonname=(null)#012
family=2 sock_type=1 protocol=6 flags=0x2 canonname=(null)#012
family=2 sock_type=2 protocol=17 flags=0x2 canonname=(null)#012
family=2 sock_type=3 protocol=0 flags=0x2 canonname=(null)#012
family=2 sock_type=1 protocol=6 flags=0x2 canonname=(null)#012
family=2 sock_type=2 protocol=17 flags=0x2 canonname=(null)#012
family=2 sock_type=3 protocol=0 flags=0x2 canonname=(null)#012
Address family:10 (inet6) hostname:(null) host:(null) port:(null) local:0 loopback:0

See here, hostname, host, port are NULL.


(willing repeat many times)

GdmXdmcpDisplayFactory: decode_packet: GIOCondition 1
GdmXdmcpDisplayFactory: Received opcode QUERY from client ::8008:7f09:100:0%159346928 : 54488
GdmXdmcpDisplayFactory: Sending WILLING to ::8008:7f09:100:0%159346928

I try to setup a IPV6toIPV4 tunnel but XDMCP don't work. 
Wireshark only show this 2 connections: QUERY , WILLING.


I rebuild package with "--enable-ipv6=no" in debian/rules and works ok:

GdmXdmcpDisplayFactory: Attempting to bind to host 0.0.0.0 port 177
GdmXdmcpDisplayFactory: Starting to listen on XDMCP port
GdmXdmcpDisplayFactory: decode_packet: GIOCondition 1
GdmXdmcpDisplayFactory: Received opcode QUERY from client 192.168.0.3 : 36128
GdmXdmcpDisplayFactory: Sending WILLING to 192.168.0.3
GdmXdmcpDisplayFactory: decode_packet: GIOCondition 1
GdmXdmcpDisplayFactory: Received opcode REQUEST from client 192.168.0.3 : 36128
GdmXdmcpDisplayFactory: Got REQUEST from 192.168.0.3
GdmXdmcpDisplayFactory: xdmcp_pending=0, MaxPending=4, xdmcp_sessions=0, MaxSessions=16, ManufacturerID=
GdmXdmcpDisplayFactory: display_dispose_check (192.168.0.3:1)
GdmXdmcpDisplayFactory: Creating xdmcp display for 192.168.0.3:1
GdmXdmcpDisplayFactory: Host 192.168.0.3 not found
GdmXdmcpDisplayFactory: Sending authorization key for display 192.168.0.3:1
GdmXdmcpDisplayFactory: cookie len 16
GdmXdmcpDisplayFactory: Sending ACCEPT to 192.168.0.3 with SessionID=1094546431

In this patch:
   http://tcosproject.org/cgit/gdm3.git/tree/debian/patches/14_bindv6only.patch

A IPV6 socket is created if ENABLE_IPV6 and IPV6_V6ONLY are defined, but
in config.h.in there is only set/unset ENABLE_IPV6 and never IPV6_V6ONLY.
Where is defined IPV6_V6ONLY ?

I try to add IPV6_V6ONLY in relibtoolize:

http://tcosproject.org/cgit/gdm3.git/tree/debian/patches/90_relibtoolize.patch#n32486
http://tcosproject.org/cgit/gdm3.git/tree/debian/patches/90_relibtoolize.patch#n47612

But don't works.


Something in common/gdm-address.c is wrong converting IPV6 to IPV4.

In LAN networks XDMCP is very used and IPV6 must be optional, and 
leave user to enable it, in config file not in a compile flag.


KDM seems to work ok with IPV6 and IPV6_V6ONLY, why not GDM??



Greetings

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gdm3 depends on:
ii  adduser                 3.112            add and remove users and groups
ii  debconf [debconf-2.0]   1.5.32           Debian configuration management sy
ii  gconf2                  2.28.1-3         GNOME configuration database syste
ii  gnome-session [x-sessio 2.30.0-1         The GNOME Session Manager - GNOME 
ii  gnome-session-bin       2.30.0-1         The GNOME Session Manager - Minima
ii  gnome-terminal [x-termi 2.30.1-1         The GNOME terminal emulator applic
ii  kde-window-manager [x-w 4:4.4.4-1        the KDE 4 window manager (KWin)
ii  konsole [x-terminal-emu 4:4.4.4-1        X terminal emulator for KDE 4
ii  libart-2.0-2            2.3.21-1         Library of functions for 2D graphi
ii  libatk1.0-0             1.30.0-1         The ATK accessibility toolkit
ii  libattr1                1:2.4.44-1       Extended attribute shared library
ii  libaudit0               1.7.13-1+b1      Dynamic library for security audit
ii  libbonobo2-0            2.24.3-1         Bonobo CORBA interfaces library
ii  libbonoboui2-0          2.24.3-1         The Bonobo UI library
ii  libc6                   2.11.1-2         Embedded GNU C Library: Shared lib
ii  libcairo2               1.8.10-4         The Cairo 2D vector graphics libra
ii  libcanberra-gtk0        0.24-1           Gtk+ helper for playing widget eve
ii  libcanberra0            0.24-1           a simple abstract interface for pl
ii  libdbus-1-3             1.2.24-1         simple interprocess messaging syst
ii  libdbus-glib-1-2        0.86-1           simple interprocess messaging syst
ii  libdevkit-power-gobject 1:0.9.4-2        abstraction for power management -
ii  libfontconfig1          2.8.0-2.1        generic font configuration library
ii  libfreetype6            2.3.11-1         FreeType 2 font engine, shared lib
ii  libgconf2-4             2.28.1-3         GNOME configuration database syste
ii  libglib2.0-0            2.24.1-1         The GLib library of C routines
ii  libgnome2-0             2.30.0-1         The GNOME library - runtime files
ii  libgnomecanvas2-0       2.30.1-1         A powerful object-oriented display
ii  libgtk2.0-0             2.20.1-1         The GTK+ graphical user interface 
ii  liborbit2               1:2.14.18-0.1    libraries for ORBit2 - a CORBA ORB
ii  libpam-modules          1.1.1-3          Pluggable Authentication Modules f
ii  libpam-runtime          1.1.1-3          Runtime support for the PAM librar
ii  libpam0g                1.1.1-3          Pluggable Authentication Modules l
ii  libpanel-applet2-0      2.30.0-2         library for GNOME Panel applets
ii  libpango1.0-0           1.28.0-1         Layout and rendering of internatio
ii  libpolkit-gobject-1-0   0.96-2           PolicyKit Authorization API
ii  libpolkit-gtk-1-0       0.96-2           PolicyKit GTK+ API
ii  libpopt0                1.16-1           lib for parsing cmdline parameters
ii  librsvg2-common         2.26.3-1         SAX-based renderer library for SVG
ii  libselinux1             2.0.94-1         SELinux runtime shared libraries
ii  libwrap0                7.6.q-19         Wietse Venema's TCP wrappers libra
ii  libx11-6                2:1.3.3-3        X11 client-side library
ii  libxau6                 1:1.0.5-2        X11 authorisation library
ii  libxdmcp6               1:1.0.3-2.1      X11 Display Manager Control Protoc
ii  libxklavier16           5.0-2            X Keyboard Extension high-level AP
ii  libxml2                 2.7.7.dfsg-2     GNOME XML library
ii  lsb-base                3.2-23.1         Linux Standard Base 3.2 init scrip
ii  metacity [x-window-mana 1:2.30.1-1       lightweight GTK+ window manager
ii  policykit-1-gnome       0.96-2           GNOME authentication agent for Pol
ii  terminator [x-terminal- 0.93-1           multiple GNOME terminals in one wi
ii  tilda [x-terminal-emula 0.09.6-2         terminal emulator with first perso
ii  twm [x-window-manager]  1:1.0.4-2        Tab window manager
ii  upower                  0.9.4-2          abstraction for power management
ii  xfce4-session [x-sessio 4.6.2-1          Xfce4 Session Manager
ii  xfce4-terminal [x-termi 0.4.5-1          Xfce terminal emulator
ii  xfwm4 [x-window-manager 4.6.2-1          window manager of the Xfce project
ii  xterm [x-terminal-emula 258-1            X terminal emulator
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages gdm3 recommends:
pn  at-spi                        <none>     (no description available)
ii  gnome-icon-theme              2.30.3-1   GNOME Desktop icon theme
ii  gnome-power-manager           2.30.1-1   power management tool for the GNOM
ii  gnome-settings-daemon         2.30.1-1   daemon handling the GNOME session 
ii  xnest                         2:1.7.7-1  Nested X server
ii  xserver-xephyr                2:1.7.7-1  nested X server
ii  xserver-xorg                  1:7.5+6    the X.Org X server
ii  zenity                        2.30.0-1   Display graphical dialog boxes fro

Versions of packages gdm3 suggests:
pn  gnome-mag                     <none>     (no description available)
pn  gnome-orca                    <none>     (no description available)
pn  gok                           <none>     (no description available)
ii  libpam-gnome-keyring          2.30.1-2   PAM module to unlock the GNOME key
ii  metacity                      1:2.30.1-1 lightweight GTK+ window manager

-- Configuration Files:
/etc/gdm3/daemon.conf changed:
[daemon]
TimedLoginEnable=false
AutomaticLoginEnable=true
TimedLogin=mario
AutomaticLogin=mario
TimedLoginDelay=30

[security]
DisallowTCP=false

[xdmcp]
Enable=true
DisplaysPerHost=4
HonorIndirect=true
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=true

[debug]
Enable=true


-- debconf information:
  shared/default-x-display-manager: gdm3
  gdm3/daemon_name: /usr/sbin/gdm3





More information about the pkg-gnome-maintainers mailing list