rpms/gdm/F-12 0001-Don-t-show-lock-screen-option-if-locked-down.patch, NONE, 1.1 gdm.spec, 1.515, 1.516

Matthias Clasen mclasen at fedoraproject.org
Sat Oct 31 23:43:23 UTC 2009


Author: mclasen

Update of /cvs/pkgs/rpms/gdm/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26714

Modified Files:
	gdm.spec 
Added Files:
	0001-Don-t-show-lock-screen-option-if-locked-down.patch 
Log Message:
Fix lockdown of the lock screen option


0001-Don-t-show-lock-screen-option-if-locked-down.patch:
 applet.c |   31 ++++++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 7 deletions(-)

--- NEW FILE 0001-Don-t-show-lock-screen-option-if-locked-down.patch ---
>From 8b03661e8fe3cb7ad2785c935fd0920f44d32138 Mon Sep 17 00:00:00 2001
From: William Jon McCann <jmccann at redhat.com>
Date: Wed, 28 Oct 2009 19:18:50 -0400
Subject: [PATCH 01/12] Don't show lock screen option if locked down

Also fix up some other silliness
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599962
---
 gui/user-switch-applet/applet.c |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c
index 66897c0..a72997b 100644
--- a/gui/user-switch-applet/applet.c
+++ b/gui/user-switch-applet/applet.c
@@ -44,7 +44,9 @@
 #include "gdm-entry-menu-item.h"
 
 #define LOCKDOWN_DIR    "/desktop/gnome/lockdown"
-#define LOCKDOWN_KEY    LOCKDOWN_DIR "/disable_user_switching"
+#define LOCKDOWN_USER_SWITCHING_KEY LOCKDOWN_DIR "/disable_user_switching"
+#define LOCKDOWN_LOCK_SCREEN_KEY    LOCKDOWN_DIR "/disable_lock_screen"
+#define LOCKDOWN_COMMAND_LINE_KEY   LOCKDOWN_DIR "/disable_command_line"
 
 typedef enum {
         GSM_PRESENCE_STATUS_AVAILABLE = 0,
@@ -1163,7 +1165,7 @@ create_sub_menu (GdmAppletData *adata)
                           G_CALLBACK (menuitem_style_set_cb), adata);
         g_signal_connect (adata->lock_screen_item, "activate",
                           G_CALLBACK (on_lock_screen_activate), adata);
-        gtk_widget_show (adata->lock_screen_item);
+        /* Only show if not locked down */
 
         adata->login_screen_item = gtk_image_menu_item_new_with_label (_("Switch User"));
         gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->login_screen_item),
@@ -1229,12 +1231,18 @@ client_notify_lockdown_func (GConfClient   *client,
                 return;
         }
 
-        if (strcmp (key, LOCKDOWN_KEY) == 0) {
+        if (strcmp (key, LOCKDOWN_USER_SWITCHING_KEY) == 0) {
                 if (gconf_value_get_bool (value)) {
                         set_menu_visibility (adata, FALSE);
                 } else {
                         set_menu_visibility (adata, TRUE);
                 }
+        } else if (strcmp (key, LOCKDOWN_LOCK_SCREEN_KEY) == 0) {
+                if (gconf_value_get_bool (value)) {
+                        gtk_widget_hide (adata->lock_screen_item);
+                } else {
+                        gtk_widget_show (adata->lock_screen_item);
+                }
         }
 }
 
@@ -1430,7 +1438,7 @@ fill_applet (PanelApplet *applet)
 
         /* Hide the admin context menu items if locked down or no cmd-line */
         if (gconf_client_get_bool (adata->client,
-                                   "/desktop/gnome/lockdown/inhibit_command_line",
+                                   LOCKDOWN_COMMAND_LINE_KEY,
                                    NULL) ||
             panel_applet_get_locked_down (applet)) {
                 bonobo_ui_component_set_prop (popup_component,
@@ -1502,18 +1510,28 @@ fill_applet (PanelApplet *applet)
         adata->manager = gdm_user_manager_ref_default ();
         setup_current_user (adata);
 
+        gconf_client_add_dir (adata->client,
+                              LOCKDOWN_DIR,
+                              GCONF_CLIENT_PRELOAD_ONELEVEL,
+                              NULL);
+
         adata->client_notify_lockdown_id = gconf_client_notify_add (adata->client,
-                                                                    LOCKDOWN_KEY,
+                                                                    LOCKDOWN_DIR,
                                                                     (GConfClientNotifyFunc)client_notify_lockdown_func,
                                                                     adata,
                                                                     NULL,
                                                                     NULL);
 
-        if (gconf_client_get_bool (adata->client, LOCKDOWN_KEY, NULL)) {
+        if (gconf_client_get_bool (adata->client, LOCKDOWN_USER_SWITCHING_KEY, NULL)) {
                 set_menu_visibility (adata, FALSE);
         } else {
                 set_menu_visibility (adata, TRUE);
         }
+        if (gconf_client_get_bool (adata->client, LOCKDOWN_LOCK_SCREEN_KEY, NULL)) {
+                        gtk_widget_hide (adata->lock_screen_item);
+        } else {
+                        gtk_widget_show (adata->lock_screen_item);
+        }
 
         error = NULL;
         bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
-- 
1.6.5.1



Index: gdm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/F-12/gdm.spec,v
retrieving revision 1.515
retrieving revision 1.516
diff -u -p -r1.515 -r1.516
--- gdm.spec	31 Oct 2009 22:30:41 -0000	1.515
+++ gdm.spec	31 Oct 2009 23:43:22 -0000	1.516
@@ -16,7 +16,7 @@
 Summary: The GNOME Display Manager
 Name: gdm
 Version: 2.28.1
-Release: 18%{?dist}
+Release: 19%{?dist}
 Epoch: 1
 License: GPLv2+
 Group: User Interface/X
@@ -107,6 +107,7 @@ Patch23: fix-na-tray.patch
 Patch24: fix-computer-info.patch
 Patch25: fix-run-dir-permissions.patch
 Patch26: make-user-list-animation-smoother.patch
+Patch27: 0001-Don-t-show-lock-screen-option-if-locked-down.patch
 
 Patch96: gdm-multistack.patch
 # Fedora-specific
@@ -160,6 +161,7 @@ The GDM fingerprint plugin provides func
 %patch24 -p1 -b .fix-computer-info
 %patch25 -p1 -b .fix-run-dir-permission
 %patch26 -p1 -b .make-user-list-animation-smoother
+%patch27 -p1 -b .dont-show-lock-screen-if-locked-down
 
 %patch96 -p1 -b .multistack
 %patch97 -p1 -b .bubble-location
@@ -417,6 +419,9 @@ fi
 %{_libdir}/gdm/simple-greeter/plugins/fingerprint.so
 
 %changelog
+* Sat Oct 31 2009 Matthias Clasen <mclasen at redhat.com> 2.28.1-19
+- Don't show 'Lock Screen' in the user switcher if locked down
+
 * Sat Oct 31 2009 Matthias Clasen <mclasen at redhat.com> 2.28.1-18
 - Actually set up statusicon padding
 




More information about the fedora-extras-commits mailing list