Hello community, here is the log from the commit of package lightdm for openSUSE:Factory checked in at 2015-03-11 09:58:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lightdm (Old) and /work/SRC/openSUSE:Factory/.lightdm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lightdm" Changes: -------- --- /work/SRC/openSUSE:Factory/lightdm/lightdm.changes 2014-11-14 09:19:21.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.lightdm.new/lightdm.changes 2015-03-11 09:58:37.000000000 +0100 @@ -1,0 +2,8 @@ +Tue Mar 10 06:58:19 UTC 2015 - [email protected] + +- update to version 1.12.3 + - fix pipe file descriptor leak for each greeter session + - don't attempt generate D-Bus seat/session removal signals on + shutdown + +------------------------------------------------------------------- Old: ---- lightdm-1.12.2.tar.xz New: ---- lightdm-1.12.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lightdm.spec ++++++ --- /var/tmp/diff_new_pack.4jQ69L/_old 2015-03-11 09:58:38.000000000 +0100 +++ /var/tmp/diff_new_pack.4jQ69L/_new 2015-03-11 09:58:38.000000000 +0100 @@ -27,7 +27,7 @@ %define rundir /run Name: lightdm -Version: 1.12.2 +Version: 1.12.3 Release: 0 Summary: Lightweight, Cross-desktop Display Manager License: GPL-3.0+ ++++++ lightdm-1.12.2.tar.xz -> lightdm-1.12.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/NEWS new/lightdm-1.12.3/NEWS --- old/lightdm-1.12.2/NEWS 2014-11-12 22:47:37.000000000 +0100 +++ new/lightdm-1.12.3/NEWS 2015-03-10 04:04:46.000000000 +0100 @@ -1,3 +1,8 @@ +Overview of changes in lightdm 1.12.3 + + * Fix pipe file descriptor leak for each greeter session. + * Don't attempt generate D-Bus seat/session removal signals on shutdown. + Overview of changes in lightdm 1.12.2 * Fix pipe file descriptor leak for each session login / authentication diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/aclocal.m4 new/lightdm-1.12.3/aclocal.m4 --- old/lightdm-1.12.2/aclocal.m4 2014-11-12 22:45:54.000000000 +0100 +++ new/lightdm-1.12.3/aclocal.m4 2015-03-10 04:06:47.000000000 +0100 @@ -389,7 +389,7 @@ EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files -distdir-help-files: +distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ @@ -418,7 +418,7 @@ .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) -install-help: +install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/configure new/lightdm-1.12.3/configure --- old/lightdm-1.12.2/configure 2014-11-12 22:45:55.000000000 +0100 +++ new/lightdm-1.12.3/configure 2015-03-10 04:06:48.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for lightdm 1.12.2. +# Generated by GNU Autoconf 2.69 for lightdm 1.12.3. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='lightdm' PACKAGE_TARNAME='lightdm' -PACKAGE_VERSION='1.12.2' -PACKAGE_STRING='lightdm 1.12.2' +PACKAGE_VERSION='1.12.3' +PACKAGE_STRING='lightdm 1.12.3' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1470,7 +1470,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lightdm 1.12.2 to adapt to many kinds of systems. +\`configure' configures lightdm 1.12.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1540,7 +1540,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lightdm 1.12.2:";; + short | recursive ) echo "Configuration of lightdm 1.12.3:";; esac cat <<\_ACEOF @@ -1712,7 +1712,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -lightdm configure 1.12.2 +lightdm configure 1.12.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2198,7 +2198,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lightdm $as_me 1.12.2, which was +It was created by lightdm $as_me 1.12.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3064,7 +3064,7 @@ # Define the identity of the package. PACKAGE='lightdm' - VERSION='1.12.2' + VERSION='1.12.3' cat >>confdefs.h <<_ACEOF @@ -17834,7 +17834,7 @@ EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files -distdir-help-files: +distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ @@ -17863,7 +17863,7 @@ .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) -install-help: +install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done @@ -19104,7 +19104,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by lightdm $as_me 1.12.2, which was +This file was extended by lightdm $as_me 1.12.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19170,7 +19170,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -lightdm config.status 1.12.2 +lightdm config.status 1.12.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/configure.ac new/lightdm-1.12.3/configure.ac --- old/lightdm-1.12.2/configure.ac 2014-11-12 22:37:09.000000000 +0100 +++ new/lightdm-1.12.3/configure.ac 2015-03-10 04:02:43.000000000 +0100 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(lightdm, 1.12.2) +AC_INIT(lightdm, 1.12.3) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/ltmain.sh new/lightdm-1.12.3/ltmain.sh --- old/lightdm-1.12.2/ltmain.sh 2014-11-12 22:45:52.000000000 +0100 +++ new/lightdm-1.12.3/ltmain.sh 2015-03-10 04:06:45.000000000 +0100 @@ -70,7 +70,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10ubuntu1 +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 # automake: $automake_version # autoconf: $autoconf_version # @@ -80,7 +80,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.10ubuntu1" +VERSION="2.4.2 Debian-2.4.2-1.11" TIMESTAMP="" package_revision=1.3337 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/src/greeter.c new/lightdm-1.12.3/src/greeter.c --- old/lightdm-1.12.2/src/greeter.c 2014-09-30 05:00:39.000000000 +0200 +++ new/lightdm-1.12.3/src/greeter.c 2015-03-09 04:39:24.000000000 +0100 @@ -76,6 +76,8 @@ gboolean guest_account_authenticated; /* Communication channels to communicate with */ + int to_greeter_input; + int from_greeter_output; GIOChannel *to_greeter_channel; GIOChannel *from_greeter_channel; guint from_greeter_watch; @@ -954,6 +956,7 @@ { Greeter *greeter = GREETER (session); int to_greeter_pipe[2], from_greeter_pipe[2]; + int to_greeter_output, from_greeter_input; gboolean result = FALSE; gchar *value; GError *error = NULL; @@ -964,12 +967,16 @@ g_warning ("Failed to create pipes: %s", strerror (errno)); return FALSE; } - greeter->priv->to_greeter_channel = g_io_channel_unix_new (to_greeter_pipe[1]); + to_greeter_output = to_greeter_pipe[0]; + greeter->priv->to_greeter_input = to_greeter_pipe[1]; + greeter->priv->to_greeter_channel = g_io_channel_unix_new (greeter->priv->to_greeter_input); g_io_channel_set_encoding (greeter->priv->to_greeter_channel, NULL, &error); if (error) g_warning ("Failed to set encoding on to greeter channel to binary: %s\n", error->message); g_clear_error (&error); - greeter->priv->from_greeter_channel = g_io_channel_unix_new (from_greeter_pipe[0]); + greeter->priv->from_greeter_output = from_greeter_pipe[0]; + from_greeter_input = from_greeter_pipe[1]; + greeter->priv->from_greeter_channel = g_io_channel_unix_new (greeter->priv->from_greeter_output); g_io_channel_set_encoding (greeter->priv->from_greeter_channel, NULL, &error); if (error) g_warning ("Failed to set encoding on from greeter channel to binary: %s\n", error->message); @@ -978,22 +985,22 @@ greeter->priv->from_greeter_watch = g_io_add_watch (greeter->priv->from_greeter_channel, G_IO_IN | G_IO_HUP, read_cb, greeter); /* Let the greeter session know how to communicate with the daemon */ - value = g_strdup_printf ("%d", from_greeter_pipe[1]); + value = g_strdup_printf ("%d", from_greeter_input); session_set_env (SESSION (greeter), "LIGHTDM_TO_SERVER_FD", value); g_free (value); - value = g_strdup_printf ("%d", to_greeter_pipe[0]); + value = g_strdup_printf ("%d", to_greeter_output); session_set_env (SESSION (greeter), "LIGHTDM_FROM_SERVER_FD", value); g_free (value); /* Don't allow the daemon end of the pipes to be accessed in child processes */ - fcntl (to_greeter_pipe[1], F_SETFD, FD_CLOEXEC); - fcntl (from_greeter_pipe[0], F_SETFD, FD_CLOEXEC); + fcntl (greeter->priv->to_greeter_input, F_SETFD, FD_CLOEXEC); + fcntl (greeter->priv->from_greeter_output, F_SETFD, FD_CLOEXEC); result = SESSION_CLASS (greeter_parent_class)->start (session); /* Close the session ends of the pipe */ - close (to_greeter_pipe[0]); - close (from_greeter_pipe[1]); + close (to_greeter_output); + close (from_greeter_input); return result; } @@ -1049,6 +1056,8 @@ g_signal_handlers_disconnect_matched (self->priv->authentication_session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self); g_object_unref (self->priv->authentication_session); } + close (self->priv->to_greeter_input); + close (self->priv->from_greeter_output); if (self->priv->to_greeter_channel) g_io_channel_unref (self->priv->to_greeter_channel); if (self->priv->from_greeter_channel) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/src/lightdm.c new/lightdm-1.12.3/src/lightdm.c --- old/lightdm-1.12.2/src/lightdm.c 2014-10-03 04:31:39.000000000 +0200 +++ new/lightdm-1.12.3/src/lightdm.c 2014-12-07 23:38:34.000000000 +0100 @@ -593,11 +593,6 @@ { SeatBusEntry *entry = data; - g_dbus_connection_unregister_object (bus, entry->bus_id); - - emit_object_value_changed (bus, "/org/freedesktop/DisplayManager", "org.freedesktop.DisplayManager", "Seats", get_seat_list ()); - emit_object_signal (bus, "/org/freedesktop/DisplayManager", "SeatRemoved", entry->path); - g_free (entry->path); g_free (entry); } @@ -607,14 +602,6 @@ { SessionBusEntry *entry = data; - g_dbus_connection_unregister_object (bus, entry->bus_id); - - emit_object_value_changed (bus, "/org/freedesktop/DisplayManager", "org.freedesktop.DisplayManager", "Sessions", get_session_list (NULL)); - emit_object_signal (bus, "/org/freedesktop/DisplayManager", "SessionRemoved", entry->path); - - emit_object_value_changed (bus, entry->seat_path, "org.freedesktop.DisplayManager.Seat", "Sessions", get_session_list (entry->seat_path)); - emit_object_signal (bus, entry->seat_path, "SessionRemoved", entry->path); - g_free (entry->path); g_free (entry->seat_path); g_free (entry); @@ -667,8 +654,28 @@ static void session_removed_cb (Seat *seat, Session *session) { + SessionBusEntry *entry; + gchar *seat_path = NULL; + g_signal_handlers_disconnect_matched (session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, seat); + + entry = g_hash_table_lookup (session_bus_entries, session); + if (entry) + { + g_dbus_connection_unregister_object (bus, entry->bus_id); + emit_object_signal (bus, "/org/freedesktop/DisplayManager", "SessionRemoved", entry->path); + emit_object_signal (bus, entry->seat_path, "SessionRemoved", entry->path); + seat_path = g_strdup (entry->seat_path); + } + g_hash_table_remove (session_bus_entries, session); + + if (seat_path) + { + emit_object_value_changed (bus, "/org/freedesktop/DisplayManager", "org.freedesktop.DisplayManager", "Sessions", get_session_list (NULL)); + emit_object_value_changed (bus, seat_path, "org.freedesktop.DisplayManager.Seat", "Sessions", get_session_list (seat_path)); + g_free (seat_path); + } } static void @@ -712,7 +719,18 @@ static void seat_removed_cb (DisplayManager *display_manager, Seat *seat) { + SeatBusEntry *entry; + + entry = g_hash_table_lookup (seat_bus_entries, seat); + if (entry) + { + g_dbus_connection_unregister_object (bus, entry->bus_id); + emit_object_signal (bus, "/org/freedesktop/DisplayManager", "SeatRemoved", entry->path); + } + g_hash_table_remove (seat_bus_entries, seat); + + emit_object_value_changed (bus, "/org/freedesktop/DisplayManager", "org.freedesktop.DisplayManager", "Seats", get_seat_list ()); } static gboolean diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lightdm-1.12.2/tests/scripts/dbus.conf new/lightdm-1.12.3/tests/scripts/dbus.conf --- old/lightdm-1.12.2/tests/scripts/dbus.conf 2014-09-30 05:00:39.000000000 +0200 +++ new/lightdm-1.12.3/tests/scripts/dbus.conf 2014-12-07 23:38:34.000000000 +0100 @@ -64,10 +64,10 @@ #?XSERVER-0 TERMINATE SIGNAL=15 # Removal is reported via D-Bus -#?RUNNER DBUS-PROPERTIES-CHANGED PATH=/org/freedesktop/DisplayManager INTERFACE=org.freedesktop.DisplayManager CHANGED=Sessions #?RUNNER DBUS-SIGNAL PATH=/org/freedesktop/DisplayManager INTERFACE=org.freedesktop.DisplayManager NAME=SessionRemoved -#?RUNNER DBUS-PROPERTIES-CHANGED PATH=/org/freedesktop/DisplayManager/Seat0 INTERFACE=org.freedesktop.DisplayManager.Seat CHANGED=Sessions #?RUNNER DBUS-SIGNAL PATH=/org/freedesktop/DisplayManager/Seat0 INTERFACE=org.freedesktop.DisplayManager NAME=SessionRemoved +#?RUNNER DBUS-PROPERTIES-CHANGED PATH=/org/freedesktop/DisplayManager INTERFACE=org.freedesktop.DisplayManager CHANGED=Sessions +#?RUNNER DBUS-PROPERTIES-CHANGED PATH=/org/freedesktop/DisplayManager/Seat0 INTERFACE=org.freedesktop.DisplayManager.Seat CHANGED=Sessions # X server starts #?XSERVER-0 START VT=7 SEAT=seat0 ++++++ lightdm-sysconfig-support.patch ++++++ --- /var/tmp/diff_new_pack.4jQ69L/_old 2015-03-11 09:58:38.000000000 +0100 +++ /var/tmp/diff_new_pack.4jQ69L/_new 2015-03-11 09:58:38.000000000 +0100 @@ -179,7 +179,7 @@ static void log_cb (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer data) { -@@ -1379,6 +1491,9 @@ main (int argc, char **argv) +@@ -1397,6 +1509,9 @@ main (int argc, char **argv) g_warning ("Failed to make cache directory %s: %s", dir, strerror (errno)); g_free (dir); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
