diff options
author | Brian Cameron <brian.cameron@oracle.com> | 2011-04-07 12:01:48 -0500 |
---|---|---|
committer | Brian Cameron <brian.cameron@oracle.com> | 2011-04-07 12:01:48 -0500 |
commit | 55caa12c1ba79008484bdca555de51d8c4f7856a (patch) | |
tree | 84e19ff9a58765f4d643ad51c3ad74502046094a | |
parent | 752b74c84b2dadbe7a22a30d9128245babb467c9 (diff) | |
download | gdm-55caa12c1ba79008484bdca555de51d8c4f7856a.tar.gz |
Fix for bug #624298, corrects Solaris RBAC integration so it works.
-rw-r--r-- | gui/simple-greeter/gdm-greeter-panel.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/gui/simple-greeter/gdm-greeter-panel.c b/gui/simple-greeter/gdm-greeter-panel.c index a852646f..e10500e2 100644 --- a/gui/simple-greeter/gdm-greeter-panel.c +++ b/gui/simple-greeter/gdm-greeter-panel.c @@ -652,21 +652,6 @@ get_show_restart_buttons (GdmGreeterPanel *panel) g_error_free (error); } -#ifdef ENABLE_RBAC_SHUTDOWN - { - char *username; - - username = g_get_user_name (); - if (username == NULL || !chkauthattr (RBAC_SHUTDOWN_KEY, username)) { - show = FALSE; - g_debug ("GdmGreeterPanel: Not showing stop/restart buttons for user %s due to RBAC key %s", - username, RBAC_SHUTDOWN_KEY); - } else { - g_debug ("GdmGreeterPanel: Showing stop/restart buttons for user %s due to RBAC key %s", - username, RBAC_SHUTDOWN_KEY); - } - } -#endif return show; } @@ -725,6 +710,7 @@ setup_panel (GdmGreeterPanel *panel) NaTray *tray; GtkWidget *spacer; int padding; + gboolean show_restart_buttons = TRUE; gdm_profile_start (NULL); @@ -793,7 +779,24 @@ setup_panel (GdmGreeterPanel *panel) gtk_widget_show (panel->priv->hostname_label); } - if (panel->priv->display_is_local || get_show_restart_buttons (panel)) { +#ifdef ENABLE_RBAC_SHUTDOWN + { + char *username; + + username = g_get_user_name (); + if (username == NULL || !chkauthattr (RBAC_SHUTDOWN_KEY, username)) { + show_restart_buttons = FALSE; + g_debug ("GdmGreeterPanel: Not showing stop/restart buttons for user %s due to RBAC key %s", + username ? username : "(null)", RBAC_SHUTDOWN_KEY); + } else { + g_debug ("GdmGreeterPanel: Showing stop/restart buttons for user %s due to RBAC key %s", + username, RBAC_SHUTDOWN_KEY); + } + } +#endif + + if (show_restart_buttons && + (panel->priv->display_is_local || get_show_restart_buttons (panel))) { GtkWidget *menu_item; GtkWidget *image; |