The branch, v3-3-test has been updated
       via  64c0c6cfc6d44a9bb8ea13e56ed6c3d1eee3861e (commit)
      from  f3ec61a77973781ca1f39c345d5e03a9ba9e43ae (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit 64c0c6cfc6d44a9bb8ea13e56ed6c3d1eee3861e
Author: Günther Deschner <g...@samba.org>
Date:   Tue Apr 14 22:39:36 2009 +0200

    netdomjoin-gui: make sure to grey out change fields when not running as 
root.
    
    Guenther
    (cherry picked from commit ca3de0103b545c86c8507dfc7d042f1838d5dfb2)
    (cherry picked from commit cb96e70a1d9112d9e4fff1fda4cf64abc7985347)

-----------------------------------------------------------------------

Summary of changes:
 .../examples/netdomjoin-gui/netdomjoin-gui.c       |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c 
b/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
index 40a6e41..8164b74 100644
--- a/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
+++ b/source/lib/netapi/examples/netdomjoin-gui/netdomjoin-gui.c
@@ -78,6 +78,7 @@ typedef struct join_state {
        gboolean hostname_changed;
        uint32_t stored_num_ous;
        char *target_hostname;
+       uid_t uid;
 } join_state;
 
 static void debug(const char *format, ...)
@@ -1440,6 +1441,10 @@ static int draw_main_window(struct join_state *state)
                /* Entry */
                entry = gtk_entry_new();
                gtk_entry_set_max_length(GTK_ENTRY(entry), 256);
+
+               if (state->uid != 0) {
+                       gtk_widget_set_sensitive(GTK_WIDGET(entry), FALSE);
+               }
                g_signal_connect(G_OBJECT(entry), "changed",
                                 
G_CALLBACK(callback_enter_computer_description_and_unlock),
                                 state);
@@ -1526,6 +1531,9 @@ static int draw_main_window(struct join_state *state)
                         G_CALLBACK(callback_do_change),
                         (gpointer)state);
        gtk_box_pack_start(GTK_BOX(bbox), button, TRUE, TRUE, 0);
+       if (state->uid != 0) {
+               gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE);
+       }
        gtk_widget_show(button);
 
        /* Label (hidden) */
@@ -1533,6 +1541,11 @@ static int draw_main_window(struct join_state *state)
        gtk_label_set_line_wrap(GTK_LABEL(state->label_reboot), TRUE);
        gtk_misc_set_alignment(GTK_MISC(state->label_reboot), 0, 0);
        gtk_box_pack_start(GTK_BOX(vbox), state->label_reboot, TRUE, TRUE, 0);
+       if (state->uid != 0) {
+               gtk_label_set_text(GTK_LABEL(state->label_reboot),
+                          "You cannot change computer description as you're 
not running with root permissions");
+       }
+
        gtk_widget_show(state->label_reboot);
 
 #if 0
@@ -1763,6 +1776,8 @@ static int initialize_join_state(struct join_state *state,
                return -1;
        }
 
+       state->uid = geteuid();
+
        state->ctx = ctx;
 
        return 0;


-- 
Samba Shared Repository

Reply via email to