summaryrefslogtreecommitdiff
path: root/x11/gnome-screensaver/patches
diff options
context:
space:
mode:
authordrochner <drochner>2010-02-11 18:02:39 +0000
committerdrochner <drochner>2010-02-11 18:02:39 +0000
commitb8366f5a809814361b9ff1905f555583b8186f74 (patch)
treed48035bad89a32027151ae7535cf4d281c7a789e /x11/gnome-screensaver/patches
parent87819e6f7b4b8631a1b2bbce6e139d5741679711 (diff)
downloadpkgsrc-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-ac50
-rw-r--r--x11/gnome-screensaver/patches/patch-ad73
-rw-r--r--x11/gnome-screensaver/patches/patch-ae13
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 = \