Hi, please find attached a proposed stable update for gdm3.
gdm3 (2.30.5-6squeeze4) stable; urgency=low * 35_double_free.patch: stolen from 2.30.7. Fix a double free issue in the chooser code. * 36_windowpath.patch: stolen from 2.30.7. Only set the WINDOWPATH variable if not null. * 37_shutdown_buttons.patch: stolen from upstream git. Only show shutdown options when requested. Closes: #628032. * 14_pam_dialog.patch: remove the beep, since it happens after the session has been reaped and can lock the sound device. Cheers, -- .''`. Josselin Mouette : :' : `. `' `-
diff -Nru gdm3-2.30.5/debian/changelog gdm3-2.30.5/debian/changelog --- gdm3-2.30.5/debian/changelog 2011-04-20 21:31:43.000000000 +0200 +++ gdm3-2.30.5/debian/changelog 2011-08-18 18:21:18.000000000 +0200 @@ -1,3 +1,16 @@ +gdm3 (2.30.5-6squeeze4) stable; urgency=low + + * 35_double_free.patch: stolen from 2.30.7. Fix a double free issue in + the chooser code. + * 36_windowpath.patch: stolen from 2.30.7. Only set the WINDOWPATH + variable if not null. + * 37_shutdown_buttons.patch: stolen from upstream git. Only show + shutdown options when requested. Closes: #628032. + * 14_pam_dialog.patch: remove the beep, since it happens after the + session has been reaped and can lock the sound device. + + -- Josselin Mouette <j...@debian.org> Thu, 18 Aug 2011 18:21:15 +0200 + gdm3 (2.30.5-6squeeze3) stable; urgency=low * 33_reset_signal_handler.patch: stolen upstream. Reset SIGPIPE diff -Nru gdm3-2.30.5/debian/patches/14_pam_dialog.patch gdm3-2.30.5/debian/patches/14_pam_dialog.patch --- gdm3-2.30.5/debian/patches/14_pam_dialog.patch 2011-04-20 21:28:24.000000000 +0200 +++ gdm3-2.30.5/debian/patches/14_pam_dialog.patch 2011-08-18 18:21:18.000000000 +0200 @@ -3,9 +3,9 @@ Index: gdm-2.30.5/daemon/gdm-session-worker.c =================================================================== ---- gdm-2.30.5.orig/daemon/gdm-session-worker.c 2010-09-16 11:29:04.000000000 +0200 -+++ gdm-2.30.5/daemon/gdm-session-worker.c 2010-09-16 11:31:42.000000000 +0200 -@@ -815,7 +815,7 @@ +--- gdm-2.30.5.orig/daemon/gdm-session-worker.c 2011-08-18 18:18:46.369202613 +0200 ++++ gdm-2.30.5/daemon/gdm-session-worker.c 2011-08-18 18:18:46.689204182 +0200 +@@ -815,7 +815,7 @@ gdm_session_worker_process_pam_message ( res = gdm_session_worker_ask_for_secret (worker, utf8_msg, &user_answer); break; case PAM_TEXT_INFO: @@ -17,12 +17,13 @@ Index: gdm-2.30.5/gui/simple-greeter/gdm-greeter-login-window.c =================================================================== --- gdm-2.30.5.orig/gui/simple-greeter/gdm-greeter-login-window.c 2010-08-11 19:40:07.000000000 +0200 -+++ gdm-2.30.5/gui/simple-greeter/gdm-greeter-login-window.c 2010-09-16 11:31:06.000000000 +0200 -@@ -667,9 +667,68 @@ ++++ gdm-2.30.5/gui/simple-greeter/gdm-greeter-login-window.c 2011-08-18 18:19:25.741393775 +0200 +@@ -667,8 +667,65 @@ gdm_greeter_login_window_problem (GdmGre g_debug ("GdmGreeterLoginWindow: problem: %s", text); - set_message (GDM_GREETER_LOGIN_WINDOW (login_window), text); +- gdk_window_beep (GTK_WIDGET (login_window)->window); + _gdm_greeter_login_window_set_interactive (login_window, FALSE); + + GtkWidget *dialog; @@ -81,10 +82,7 @@ + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + - gdk_window_beep (GTK_WIDGET (login_window)->window); - + _gdm_greeter_login_window_set_interactive (login_window, TRUE); -+ + return TRUE; } - diff -Nru gdm3-2.30.5/debian/patches/35_double_free.patch gdm3-2.30.5/debian/patches/35_double_free.patch --- gdm3-2.30.5/debian/patches/35_double_free.patch 1970-01-01 01:00:00.000000000 +0100 +++ gdm3-2.30.5/debian/patches/35_double_free.patch 2011-08-18 18:21:18.000000000 +0200 @@ -0,0 +1,20 @@ +From f33b0e8ccac7aa1719af42ec268071c8dcf6a395 Mon Sep 17 00:00:00 2001 +From: Brian Cameron <brian.came...@oracle.com> +Date: Thu, 02 Jun 2011 14:50:50 +0000 +Subject: Fix bug #650659 - double free issue in chooser. + +--- +diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c +index d4b0a4a..3c6ec4c 100644 +--- a/gui/simple-greeter/gdm-chooser-widget.c ++++ b/gui/simple-greeter/gdm-chooser-widget.c +@@ -2355,6 +2355,7 @@ gdm_chooser_widget_lookup_item (GdmChooserWidget *widget, + + if (active_item_id == NULL || strcmp (active_item_id, id) != 0) { + g_free (active_item_id); ++ active_item_id = NULL; + + if (!find_item (widget, id, &iter)) { + return FALSE; +-- +cgit v0.9.0.2 diff -Nru gdm3-2.30.5/debian/patches/36_windowpath.patch gdm3-2.30.5/debian/patches/36_windowpath.patch --- gdm3-2.30.5/debian/patches/36_windowpath.patch 1970-01-01 01:00:00.000000000 +0100 +++ gdm3-2.30.5/debian/patches/36_windowpath.patch 2011-08-18 18:21:18.000000000 +0200 @@ -0,0 +1,38 @@ +From eef9fec895f1411066cb15c64be10e5e84b565e0 Mon Sep 17 00:00:00 2001 +From: Brian Cameron <brian.came...@oracle.com> +Date: Thu, 02 Jun 2011 14:56:41 +0000 +Subject: Only set WINDOWPATH if it is not NULL. + +--- +diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c +index d1fec90..73c34e2 100644 +--- a/daemon/gdm-session-direct.c ++++ b/daemon/gdm-session-direct.c +@@ -2047,6 +2047,8 @@ gdm_session_direct_set_environment_variable (GdmSessionDirect *session, + static void + setup_session_environment (GdmSessionDirect *session) + { ++ char *windowpath; ++ + gdm_session_direct_set_environment_variable (session, + "GDMSESSION", + get_session_name (session)); +@@ -2078,10 +2080,12 @@ setup_session_environment (GdmSessionDirect *session) + session->priv->user_x11_authority_file); + } + +- gdm_session_direct_set_environment_variable (session, +- "WINDOWPATH", +- g_getenv ("WINDOWPATH")); +- ++ windowpath = g_getenv ("WINDOWPATH"); ++ if (windowpath != NULL) { ++ gdm_session_direct_set_environment_variable (session, ++ "WINDOWPATH", ++ windowpath); ++ } + + /* FIXME: We do this here and in the session worker. We should consolidate + * somehow. +-- +cgit v0.9.0.2 diff -Nru gdm3-2.30.5/debian/patches/37_shutdown_buttons.patch gdm3-2.30.5/debian/patches/37_shutdown_buttons.patch --- gdm3-2.30.5/debian/patches/37_shutdown_buttons.patch 1970-01-01 01:00:00.000000000 +0100 +++ gdm3-2.30.5/debian/patches/37_shutdown_buttons.patch 2011-08-18 18:21:18.000000000 +0200 @@ -0,0 +1,33 @@ +From d8a75a806215cf95832de70da7fdb9c7592d697f Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstr...@redhat.com> +Date: Wed, 15 Sep 2010 18:54:17 +0000 +Subject: Don't show shutdown options when not available + +The logic for showing the shut down menu was a little +iffy before. This is apparently causing issues on solaris, +and probably elsewhere. + +https://bugzilla.gnome.org/show_bug.cgi?id=624298 +--- +Index: gdm-2.30.5/gui/simple-greeter/gdm-greeter-panel.c +=================================================================== +--- gdm-2.30.5.orig/gui/simple-greeter/gdm-greeter-panel.c 2011-08-18 18:19:35.393442281 +0200 ++++ gdm-2.30.5/gui/simple-greeter/gdm-greeter-panel.c 2011-08-18 18:19:47.869503273 +0200 +@@ -838,7 +838,7 @@ setup_panel (GdmGreeterPanel *panel) + gtk_widget_show (panel->priv->hostname_label); + } + +- if (panel->priv->display_is_local || get_show_restart_buttons (panel)) { ++ if (!panel->priv->display_is_local || get_show_restart_buttons (panel)) { + GtkWidget *menu_item; + GtkWidget *image; + +@@ -869,7 +869,7 @@ setup_panel (GdmGreeterPanel *panel) + menu_item = gtk_menu_item_new_with_label (_("Quit")); + g_signal_connect (G_OBJECT (menu_item), "activate", G_CALLBACK (do_disconnect), NULL); + gtk_menu_shell_append (GTK_MENU_SHELL (panel->priv->shutdown_menu), menu_item); +- } else { ++ } else if (get_show_restart_buttons (panel)) { + if (can_suspend ()) { + menu_item = gtk_menu_item_new_with_label (_("Suspend")); + g_signal_connect (G_OBJECT (menu_item), "activate", G_CALLBACK (do_system_suspend), NULL); diff -Nru gdm3-2.30.5/debian/patches/series gdm3-2.30.5/debian/patches/series --- gdm3-2.30.5/debian/patches/series 2011-04-20 21:31:43.000000000 +0200 +++ gdm3-2.30.5/debian/patches/series 2011-08-18 18:21:18.000000000 +0200 @@ -32,5 +32,8 @@ 30_utf8_locale.patch 33_reset_signal_handler.patch 34_postsession_shutdown.patch +35_double_free.patch +36_windowpath.patch +37_shutdown_buttons.patch 90_relibtoolize.patch 99_CVE-2011-0727.patch