Hello community, here is the log from the commit of package lightdm for openSUSE:Factory checked in at Wed Sep 21 17:11:25 CEST 2011.
-------- --- lightdm/lightdm.changes 2011-09-07 12:08:22.000000000 +0200 +++ /mounts/work_src_done/STABLE/lightdm/lightdm.changes 2011-09-20 12:42:22.000000000 +0200 @@ -1,0 +2,35 @@ +Tue Sep 20 10:34:07 UTC 2011 - [email protected] + +- update to current pre-0.9.8 bzr snapshot + - add ability to set the language of a user from the greeter + - set LANG variable based on the user language + - add language selector into GTK greeter (disabled by default) + - allow TCP/IP connections if xserver-allow-tcp is true + +------------------------------------------------------------------- +Mon Sep 19 22:31:28 UTC 2011 - [email protected] + +- added configuration script for /etc/init.d/xdm + +------------------------------------------------------------------- +Mon Sep 19 11:45:35 UTC 2011 - [email protected] + +- update to current pre-0.9.8 bzr snapshot + - Remove GetSeatForCookie and GetSessionForCookie now + XDG_SEAT_PATH and XDG_SESSION_PATH exist + - Change log filenames to be unique across different display + types + - Fix up script hooks, add regression tests for them + - Complete removal of X code from the core of LightDM, so it can + better support various display types + - Set PAM_TTY to the display name, not the tty device + - Only unlock displays if switched to from greeter + - Make log file not system readable + - Write ~/.Xauthority inside the session process so it cannot be + hijacked + - Set PAM_TTY and PAM_XDISPLAY when opening PAM session + - Add VNC server support + - Do not write ~/.dmrc and ~/.Xauthority as root, this addresses + CVE-2011-3349 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- lightdm-0.9.5.tar.gz New: ---- X11-displaymanagers-lightdm lightdm-0.9.7.99_bzr20110920.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lightdm.spec ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -23,7 +23,7 @@ %define qt_lib lib%{qt_libname}-0 Name: lightdm -Version: 0.9.5 +Version: 0.9.7.99_bzr20110920 Release: 1 Summary: Lightweight, Cross-desktop Display Manager Group: System/X11/Displaymanagers @@ -32,6 +32,7 @@ Source0: %{name}-%{version}.tar.gz Source1: %{name}.pamd Source2: %{name}-autologin.pamd +Source3: X11-displaymanagers-%{name} Source100: %{name}-rpmlintrc # PATCH-FEATURE-OPENSUSE lightdm-sysconfig-support.patch [email protected] -- Adds support for reading configuration options from /etc/sysconfig/displaymanager and /etc/sysconfig/windowmanager Patch1: lightdm-sysconfig-support.patch @@ -80,7 +81,6 @@ %lang_package %package -n %{gobject_lib} - Summary: LightDM GObject-based Client Library Group: System/Libraries @@ -89,7 +89,6 @@ %package gobject-devel - Summary: Development Files for %{gobject_lib} Group: Development/Libraries/C and C++ Requires: %{gobject_lib} = %{version} @@ -100,7 +99,6 @@ %package -n %{qt_lib} - Summary: LightDM Qt-based Client Library Group: System/Libraries @@ -109,7 +107,6 @@ %package qt-devel - Summary: Development Files for %{qt_lib} Group: Development/Libraries/C and C++ Requires: %{qt_lib} = %{version} @@ -120,7 +117,6 @@ %package gtk-greeter - Summary: GTK-based Greeter for LightDM Group: System/X11/Displaymanagers Requires(post): update-alternatives @@ -135,7 +131,6 @@ %package gtk-greeter-branding-upstream - Summary: Upstream branding of %{name}-gtk-greeter Group: System/X11/Displaymanagers Requires: %{name}-gtk-greeter = %{version} @@ -151,7 +146,6 @@ %package qt-greeter - Summary: Qt-based Greeter for LightDM Group: System/X11/Displaymanagers Requires(post): update-alternatives @@ -191,6 +185,7 @@ install -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/lightdm install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/lightdm-autologin +install -D -m 644 %{SOURCE3} %{buildroot}%{_libdir}/X11/displaymanagers/lightdm mv %{buildroot}%{_libexecdir}/lightdm-set-defaults \ %{buildroot}%{_libexecdir}/lightdm/lightdm-set-defaults @@ -258,6 +253,9 @@ %config %{_sysconfdir}/lightdm/keys.conf %config %{_sysconfdir}/pam.d/lightdm* %config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf +%dir %{_libdir}/X11/ +%dir %{_libdir}/X11/displaymanagers/ +%{_libdir}/X11/displaymanagers/lightdm %dir %{_datadir}/xgreeters/ %ghost %attr(751,lightdm,lightdm) %dir %{_localstatedir}/run/lightdm %attr(750,lightdm,lightdm) %dir %{_localstatedir}/log/lightdm ++++++ X11-displaymanagers-lightdm ++++++ lightdm_reload_proc() { /etc/init.d/xdm restart exit $? } lightdm_vars() { case $1 in lightdm) DISPLAYMANAGER=/usr/sbin/lightdm RELOADPROC=lightdm_reload_proc ;; *) return 1 ;; esac return 0 } ++++++ lightdm-default-configuration.patch ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 6c508ea3a4ce2c6f1443cdbe1e64f6d9851a1d5c +# Parent 151070165a310baed73af12324d27804fa2c556a openSUSE-specific default configuration diff --git a/data/lightdm.conf b/data/lightdm.conf --- a/data/lightdm.conf +++ b/data/lightdm.conf -@@ -45,7 +45,7 @@ +@@ -47,7 +47,7 @@ #greeter-user=lightdm #minimum-display-number=0 #minimum-vt=7 @@ -14,7 +14,7 @@ #guest-account-script=guest-account #log-directory=/var/log/lightdm #run-directory=/var/run/lightdm -@@ -79,7 +79,7 @@ +@@ -82,7 +82,7 @@ # exit-on-failure = True if the daemon should exit if this seat fails # [SeatDefaults] @@ -22,8 +22,8 @@ +xserver-command=/usr/bin/X #xserver-layout= #xserver-config= - #xdmcp-manager= -@@ -90,11 +90,11 @@ + #xserver-allow-tcp=false +@@ -94,11 +94,11 @@ #user-session=default #allow-guest=true #guest-session=UNIMPLEMENTED ++++++ lightdm-desktop-session-env-pam.patch ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 2151c7759ae2e749bbb6909f284cab6829b513ad +# Parent 0fd6772405c66ee0058a5a70c2c550821b930582 pass a DESKTOP_SESSION environment variable with the name of the selected session into the PAM environment diff --git a/src/display.c b/src/display.c --- a/src/display.c +++ b/src/display.c -@@ -474,6 +474,8 @@ create_session (Display *display, PAMSes +@@ -451,6 +451,8 @@ create_session (Display *display, PAMSes session_set_is_greeter (session, is_greeter); session_set_authentication (session, authentication); session_set_command (session, command); @@ -17,7 +17,7 @@ diff --git a/src/pam-session.c b/src/pam-session.c --- a/src/pam-session.c +++ b/src/pam-session.c -@@ -113,7 +113,7 @@ pam_session_get_is_authenticated (PAMSes +@@ -134,7 +134,7 @@ pam_session_set_item (PAMSession *sessio } gboolean @@ -26,7 +26,7 @@ { int result = PAM_SUCCESS; -@@ -123,6 +123,14 @@ pam_session_open (PAMSession *session) +@@ -144,6 +144,14 @@ pam_session_open (PAMSession *session) if (!passwd_file && getuid () == 0) { @@ -38,15 +38,15 @@ + g_free (desktop_session); + } + - // FIXME: Set X items - //pam_set_item (session->priv->pam_handle, PAM_TTY, &tty); - //pam_set_item (session->priv->pam_handle, PAM_XDISPLAY, &display); + result = pam_open_session (session->priv->pam_handle, 0); + g_debug ("pam_open_session(%p, 0) -> %d (%s)", + session->priv->pam_handle, diff --git a/src/pam-session.h b/src/pam-session.h --- a/src/pam-session.h +++ b/src/pam-session.h -@@ -52,7 +52,7 @@ gboolean pam_session_authenticate (PAMSe +@@ -54,7 +54,7 @@ gboolean pam_session_get_is_authenticate - gboolean pam_session_get_is_authenticated (PAMSession *session); + gboolean pam_session_set_item (PAMSession *session, int item_type, const gchar *value); -gboolean pam_session_open (PAMSession *session); +gboolean pam_session_open (PAMSession *session, const gchar *session_name); @@ -56,18 +56,18 @@ diff --git a/src/session.c b/src/session.c --- a/src/session.c +++ b/src/session.c -@@ -25,6 +25,9 @@ struct SessionPrivate +@@ -26,6 +26,9 @@ struct SessionPrivate /* Authentication for this session */ PAMSession *authentication; - + + /* Name of the user session */ + gchar *user_session_name; + /* Command to run for this session */ gchar *command; -@@ -88,6 +91,21 @@ session_get_command (Session *session) - return session->priv->command; +@@ -76,6 +79,21 @@ session_get_is_greeter (Session *session + return session->priv->is_greeter; } +session_set_user_session_name (Session *session, const gchar *user_session_name) @@ -86,17 +86,17 @@ +} + void - session_set_cookie (Session *session, const gchar *cookie) + session_set_command (Session *session, const gchar *command) { -@@ -196,7 +214,7 @@ session_start (Session *session) - - g_debug ("Launching session"); +@@ -272,7 +290,7 @@ session_real_start (Session *session) + g_free (path); + } - pam_session_open (session->priv->authentication); + pam_session_open (session->priv->authentication, session->priv->user_session_name); - - user = pam_session_get_user (session->priv->authentication); - process_set_env (PROCESS (session), "PATH", "/usr/local/bin:/usr/bin:/bin"); + + /* Open ConsoleKit session */ + if (getuid () == 0) diff --git a/src/session.h b/src/session.h --- a/src/session.h +++ b/src/session.h @@ -108,6 +108,6 @@ + +const gchar *session_get_user_session_name (Session *session); + - void session_set_cookie (Session *session, const gchar *cookie); + void session_set_console_kit_parameter (Session *session, const gchar *name, GVariant *value); - const gchar *session_get_cookie (Session *session); + gboolean session_start (Session *session); ++++++ lightdm-set-gdmflexiserver-envvar.patch ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -1,15 +1,15 @@ # HG changeset patch -# Parent c8e620b67f0c43998b66514be5860d08f9a20721 +# Parent 202b32c6346a0090075743eb314e3665de58d97e set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper diff --git a/src/session.c b/src/session.c --- a/src/session.c +++ b/src/session.c -@@ -222,6 +222,7 @@ session_start (Session *session) +@@ -251,6 +251,7 @@ session_start (Session *session) process_set_env (PROCESS (session), "USERNAME", user_get_name (user)); // FIXME: Is this required? process_set_env (PROCESS (session), "HOME", user_get_home_directory (user)); process_set_env (PROCESS (session), "SHELL", user_get_shell (user)); + process_set_env (PROCESS (session), "GDMFLEXISERVER", PKGLIBEXEC_DIR "/gdmflexiserver"); set_env_from_authentication (session, session->priv->authentication); + set_language (session); - /* Insert our own utility directory to PATH ++++++ lightdm-sysconfig-support.patch ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -3,7 +3,7 @@ diff --git a/data/lightdm.conf b/data/lightdm.conf --- a/data/lightdm.conf +++ b/data/lightdm.conf -@@ -1,3 +1,30 @@ +@@ -1,3 +1,32 @@ +# NOTE: settings under /etc/sysconfig take precendence over those below, +# specifically: +# @@ -25,6 +25,8 @@ +# if set to yes or true +# [XDMCPServer] +# port = 6000 ++# [SeatDefaults] ++# xserver-allow-tcp = <value> +# +# /etc/sysconfig/windowmanager - DEFAULT_WM: +# [SeatDefaults] @@ -37,7 +39,7 @@ diff --git a/src/Makefile.am b/src/Makefile.am --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -26,6 +26,8 @@ lightdm_SOURCES = \ +@@ -28,6 +28,8 @@ lightdm_SOURCES = \ lightdm.c \ ldm-marshal.c \ ldm-marshal.h \ @@ -49,7 +51,7 @@ diff --git a/src/display.c b/src/display.c --- a/src/display.c +++ b/src/display.c -@@ -883,7 +883,10 @@ static void +@@ -822,7 +822,10 @@ static void display_init (Display *display) { display->priv = G_TYPE_INSTANCE_GET_PRIVATE (display, DISPLAY_TYPE, DisplayPrivate); @@ -64,15 +66,15 @@ diff --git a/src/lightdm.c b/src/lightdm.c --- a/src/lightdm.c +++ b/src/lightdm.c -@@ -20,6 +20,7 @@ - #include <fcntl.h> +@@ -21,6 +21,7 @@ + #include <sys/stat.h> #include "configuration.h" +#include "opensuse-sysconfig.h" #include "display-manager.h" #include "xdmcp-server.h" - #include "seat-xdmcp-session.h" -@@ -56,6 +57,114 @@ typedef struct + #include "vnc-server.h" +@@ -59,6 +60,117 @@ typedef struct #define LIGHTDM_BUS_NAME "org.freedesktop.DisplayManager" @@ -133,7 +135,10 @@ + if (!error) + { + if (boolean_value) ++ { + config_set_integer (config_get_instance (), "XDMCPServer", "port", 6000); ++ config_set_boolean (config_get_instance (), "SeatDefaults", "xserver-allow-tcp", TRUE); ++ } + } + else + { @@ -187,7 +192,7 @@ static void log_cb (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer data) -@@ -1016,6 +1125,9 @@ main (int argc, char **argv) +@@ -962,6 +1074,9 @@ main (int argc, char **argv) loop = g_main_loop_new (NULL, FALSE); ++++++ lightdm-xauthlocalhostname-support.patch ++++++ --- /var/tmp/diff_new_pack.JhPHeo/_old 2011-09-21 17:11:09.000000000 +0200 +++ /var/tmp/diff_new_pack.JhPHeo/_new 2011-09-21 17:11:09.000000000 +0200 @@ -1,22 +1,22 @@ # HG changeset patch -# Parent 61b4b7ce4fde209014a6b07ffa3a8671605bdf88 +# Parent a85bfd253b82467d4a434708b8bc4e793dc80a1b set XAUTHLOCALHOSTNAME to localhost for local logins to avoid issues in the session in case the hostname changes -diff --git a/src/seat.c b/src/seat.c ---- a/src/seat.c -+++ b/src/seat.c -@@ -298,6 +298,7 @@ run_script (Display *display, const gcha - (xauthority_path = xserver_local_get_authority_file_path (XSERVER_LOCAL (xserver)))) - { - g_ptr_array_add (env_array, g_strdup_printf ("XAUTHORITY=%s", xauthority_path)); -+ g_ptr_array_add (env_array, g_strdup ("XAUTHLOCALHOSTNAME=localhost")); - g_free (xauthority_path); - } - } +diff --git a/src/seat-xlocal.c b/src/seat-xlocal.c +--- a/src/seat-xlocal.c ++++ b/src/seat-xlocal.c +@@ -142,6 +142,7 @@ seat_xlocal_run_script (Seat *seat, Disp + path = xserver_local_get_authority_file_path (xserver); + process_set_env (script, "DISPLAY", xserver_get_address (XSERVER (xserver))); + process_set_env (script, "XAUTHORITY", path); ++ process_set_env (script, "XAUTHLOCALHOSTNAME", "localhost"); + g_free (path); + + SEAT_CLASS (seat_xlocal_parent_class)->run_script (seat, display, script); diff --git a/src/xserver-local.c b/src/xserver-local.c --- a/src/xserver-local.c +++ b/src/xserver-local.c -@@ -347,7 +347,8 @@ xserver_local_start (DisplayServer *disp +@@ -345,7 +345,8 @@ xserver_local_start (DisplayServer *disp XServerLocal *server = XSERVER_LOCAL (display_server); gboolean result; gchar *filename, *dir, *path, *absolute_command; @@ -24,9 +24,9 @@ + gchar hostname[] = "localhost"; + gchar *number; GString *command; - GError *error = NULL; -@@ -391,7 +392,6 @@ xserver_local_start (DisplayServer *disp + g_return_val_if_fail (server->priv->xserver_process == NULL, FALSE); +@@ -387,7 +388,6 @@ xserver_local_start (DisplayServer *disp if (server->priv->layout) g_string_append_printf (command, " -layout %s", server->priv->layout); @@ -43,14 +43,14 @@ #include "xsession.h" +#include "xserver-local.h" #include "configuration.h" + #include "privileges.h" - struct XSessionPrivate -@@ -82,6 +83,8 @@ xsession_start (Session *session) - g_clear_error (&error); +@@ -117,6 +118,8 @@ xsession_start (Session *session) + g_free (path); } + if (IS_XSERVER_LOCAL (XSESSION (session)->priv->xserver)) -+ process_set_env (PROCESS (session), "XAUTHLOCALHOSTNAME", g_strdup("localhost")); - process_set_env (PROCESS (session), "DISPLAY", xserver_get_address (XSESSION (session)->priv->xserver)); ++ process_set_env (PROCESS (session), "XAUTHLOCALHOSTNAME", "localhost"); + process_set_env (PROCESS (session), "DISPLAY", xserver_get_address (xsession->priv->xserver)); return SESSION_CLASS (xsession_parent_class)->start (session); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
