diff options
author | drochner <drochner> | 2010-02-11 18:02:39 +0000 |
---|---|---|
committer | drochner <drochner> | 2010-02-11 18:02:39 +0000 |
commit | b8366f5a809814361b9ff1905f555583b8186f74 (patch) | |
tree | d48035bad89a32027151ae7535cf4d281c7a789e /x11/gnome-screensaver/patches | |
parent | 87819e6f7b4b8631a1b2bbce6e139d5741679711 (diff) | |
download | pkgsrc-b8366f5a809814361b9ff1905f555583b8186f74.tar.gz |
-install the autostart file correctly so that the thing actually
starts up (the mechanism changed in 2.28)
-update to 2.28.2
changes:
-bugfixes
-fix a possible authentication bypass (CVE-2010-0414) -- I don't think
we are affected because this depends on dynamic monitor addition/removal
Diffstat (limited to 'x11/gnome-screensaver/patches')
-rw-r--r-- | x11/gnome-screensaver/patches/patch-ac | 50 | ||||
-rw-r--r-- | x11/gnome-screensaver/patches/patch-ad | 73 | ||||
-rw-r--r-- | x11/gnome-screensaver/patches/patch-ae | 13 |
3 files changed, 13 insertions, 123 deletions
diff --git a/x11/gnome-screensaver/patches/patch-ac b/x11/gnome-screensaver/patches/patch-ac deleted file mode 100644 index b0130b60f20..00000000000 --- a/x11/gnome-screensaver/patches/patch-ac +++ /dev/null @@ -1,50 +0,0 @@ -$NetBSD: patch-ac,v 1.7 2009/11/18 08:12:12 wiz Exp $ - -https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/446395 -http://patches.ubuntu.com/g/gnome-screensaver/extracted/08_gs_dialog_request_to_exit.patch - ---- src/gnome-screensaver-dialog.c.orig 2009-08-26 16:06:12.000000000 +0000 -+++ src/gnome-screensaver-dialog.c -@@ -29,6 +29,7 @@ - #include <sys/types.h> - #include <sys/wait.h> - #include <unistd.h> -+#include <signal.h> - - #include <glib/gi18n.h> - #include <gdk/gdkx.h> -@@ -326,6 +327,21 @@ response_cb (GSLockPlug *plug, - } - - static gboolean -+response_request_quit (void) -+{ -+ printf ("REQUEST QUIT\n"); -+ fflush (stdout); -+ return FALSE; -+} -+ -+static gboolean -+quit_timeout_cb (gpointer data) -+{ -+ gtk_main_quit (); -+ return FALSE; -+} -+ -+static gboolean - auth_check_idle (GSLockPlug *plug) - { - gboolean res; -@@ -347,7 +363,11 @@ auth_check_idle (GSLockPlug *plug) - } else { - gs_debug ("Authentication failed, quitting (max failures)"); - again = FALSE; -- gtk_main_quit (); -+ /* Don't quit immediately, but rather request that gnome-screensaver -+ * terminates us after it has finished the dialog shake. Time out -+ * after 5 seconds and quit anyway if this doesn't happen though */ -+ g_idle_add ((GSourceFunc)response_request_quit, NULL); -+ g_timeout_add (5000, (GSourceFunc)quit_timeout_cb, NULL); - } - } - diff --git a/x11/gnome-screensaver/patches/patch-ad b/x11/gnome-screensaver/patches/patch-ad deleted file mode 100644 index c686d459cf6..00000000000 --- a/x11/gnome-screensaver/patches/patch-ad +++ /dev/null @@ -1,73 +0,0 @@ -$NetBSD: patch-ad,v 1.1 2009/11/18 08:12:12 wiz Exp $ - -https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/446395 -http://patches.ubuntu.com/g/gnome-screensaver/extracted/08_gs_dialog_request_to_exit.patch - ---- src/gs-window-x11.c.orig 2009-08-19 23:19:14.000000000 +0000 -+++ src/gs-window-x11.c -@@ -91,6 +91,8 @@ struct GSWindowPrivate - gint lock_pid; - gint lock_watch_id; - gint dialog_response; -+ gboolean dialog_quit_requested; -+ gboolean dialog_shake_in_progress; - - gint keyboard_pid; - gint keyboard_watch_id; -@@ -1383,6 +1385,16 @@ gs_window_dialog_finish (GSWindow *windo - remove_key_events (window); - } - -+static void -+maybe_kill_dialog (GSWindow *window) -+{ -+ if (!window->priv->dialog_shake_in_progress -+ && window->priv->dialog_quit_requested -+ && window->priv->lock_pid > 0) { -+ kill (window->priv->lock_pid, SIGTERM); -+ } -+} -+ - /* very rudimentary animation for indicating an auth failure */ - static void - shake_dialog (GSWindow *window) -@@ -1391,6 +1403,8 @@ shake_dialog (GSWindow *window) - guint left; - guint right; - -+ window->priv->dialog_shake_in_progress = TRUE; -+ - for (i = 0; i < 9; i++) { - if (i % 2 == 0) { - left = 30; -@@ -1415,6 +1429,9 @@ shake_dialog (GSWindow *window) - - g_usleep (10000); - } -+ -+ window->priv->dialog_shake_in_progress = FALSE; -+ maybe_kill_dialog (window); - } - - static gboolean -@@ -1457,6 +1474,10 @@ lock_command_watch (GIOChannel *source - window->priv->dialog_response = DIALOG_RESPONSE_CANCEL; - } - finished = TRUE; -+ } else if (strstr (line, "REQUEST QUIT") != NULL) { -+ gs_debug ("Got request for quit"); -+ window->priv->dialog_quit_requested = TRUE; -+ maybe_kill_dialog (window); - } - break; - case G_IO_STATUS_EOF: -@@ -1570,6 +1591,9 @@ popup_dialog_idle (GSWindow *window) - - set_invisible_cursor (GTK_WIDGET (window)->window, FALSE); - -+ window->priv->dialog_quit_requested = FALSE; -+ window->priv->dialog_shake_in_progress = FALSE; -+ - result = spawn_on_window (window, - command->str, - &window->priv->lock_pid, diff --git a/x11/gnome-screensaver/patches/patch-ae b/x11/gnome-screensaver/patches/patch-ae new file mode 100644 index 00000000000..9593abffcec --- /dev/null +++ b/x11/gnome-screensaver/patches/patch-ae @@ -0,0 +1,13 @@ +$NetBSD: patch-ae,v 1.1 2010/02/11 18:02:39 drochner Exp $ + +--- src/Makefile.in.orig 2010-02-08 15:58:16.000000000 +0000 ++++ src/Makefile.in +@@ -396,7 +396,7 @@ INCLUDES = \ + $(LIBNOTIFY_CFLAGS) \ + $(NULL) + +-desktopdir = $(sysconfdir)/xdg/autostart ++desktopdir = $(PREFIX)/share/gnome/autostart + desktop_in_files = gnome-screensaver.desktop.in + desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) + gnome_screensaver_command_SOURCES = \ |