Package: libgksu2-0
Version: 2.0.5-1ubuntu4
Severity: wishlist
Tags: patch
User: [EMAIL PROTECTED]
Usertags: origin-ubuntu hardy ubuntu-patch

This patch adds a option to force asking for the password to
libgksu. I use it for gksu prompts when packages get installed,
I want this to be always confirmed.

Cheers,
 Michael

-- System Information:
Debian Release: lenny/sid
  APT prefers gutsy
  APT policy: (500, 'gutsy')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-14-generic (SMP w/2 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)

Versions of packages libgksu2-0 depends on:
ii  gconf2           2.20.0-0ubuntu1         GNOME configuration database syste
ii  libatk1.0-0      1.20.0-0ubuntu1         The ATK accessibility toolkit
ii  libc6            2.6.1-1ubuntu10         GNU C Library: Shared libraries
ii  libcairo2        1.4.10-1ubuntu4         The Cairo 2D vector graphics libra
ii  libfontconfig1   2.4.2-1.2ubuntu4        generic font configuration library
ii  libfreetype6     2.3.5-1ubuntu4          FreeType 2 font engine, shared lib
ii  libgconf2-4      2.20.0-0ubuntu1         GNOME configuration database syste
ii  libglade2-0      1:2.6.2-1               library to load .glade files at ru
ii  libglib2.0-0     2.14.1-1ubuntu1         The GLib library of C routines
ii  libgnome-keyring 2.20-0ubuntu4           GNOME keyring services library
ii  libgtk2.0-0      2.12.0-1ubuntu3         The GTK+ graphical user interface 
ii  libgtop2-7       2.20.0-0ubuntu1         gtop system monitoring library
ii  liborbit2        1:2.14.9-0ubuntu1       libraries for ORBit2 - a CORBA ORB
ii  libpango1.0-0    1.18.3-0ubuntu1         Layout and rendering of internatio
ii  libpng12-0       1.2.15~beta5-2build1    PNG library - runtime
ii  libstartup-notif 0.9-1                   library for program launch feedbac
ii  libx11-6         2:1.1.1-1ubuntu4        X11 client-side library
ii  libxcomposite1   1:0.4.0-0ubuntu1        X11 Composite extension library
ii  libxcursor1      1:1.1.8-2               X cursor management library
ii  libxdamage1      1:1.1.1-3               X11 damaged region extension libra
ii  libxext6         2:1.0.3-2build1         X11 miscellaneous extension librar
ii  libxfixes3       1:4.0.3-2               X11 miscellaneous 'fixes' extensio
ii  libxi6           2:1.1.2-1               X11 Input extension library
ii  libxinerama1     2:1.0.2-1build1         X11 Xinerama extension library
ii  libxml2          2.6.30.dfsg-2ubuntu1    GNOME XML library
ii  libxrandr2       2:1.2.1-1               X11 RandR extension library
ii  libxrender1      1:0.9.2-1               X Rendering Extension client libra
ii  xbase-clients    1:7.2-5ubuntu13         X Window System client utility tra
ii  zlib1g           1:1.2.3.3.dfsg-5ubuntu2 compression library - runtime

Versions of packages libgksu2-0 recommends:
ii  sudo                   1.6.8p12-5ubuntu2 Provide limited super user privile

-- no debconf information
diff -Nur libgksu-2.0.3/libgksu/libgksu.c libgksu-2.0.3.new/libgksu/libgksu.c
--- libgksu-2.0.3/libgksu/libgksu.c     2007-03-05 10:05:05.000000000 +0100
+++ libgksu-2.0.3.new/libgksu/libgksu.c 2007-03-05 10:06:02.000000000 +0100
@@ -1334,6 +1334,7 @@
   context->message = NULL;
   context->alert = NULL;
   context->grab = TRUE;
+  context->always_ask_password = FALSE;
 
   context->debug = FALSE;
 
@@ -1605,6 +1606,35 @@
 }
 
 /**
+ * gksu_context_set_always_ask_password:
+ * @context: the #GksuContext you want to modify
+ * @value: TRUE or FALSE
+ *
+ * Set up if gksu should always ask for a password
+ */
+void
+gksu_context_set_always_ask_password (GksuContext *context, gboolean value)
+{
+  context->always_ask_password = value;
+}
+
+/**
+ * gksu_context_get_always_ask_password:
+ * @context: the #GksuContext you want to ask whether a grab will be done.
+ *
+ * Returns TRUE if gksu has been asked to always ask for a password 
+ * (even if sudo has it cached)
+ *
+ * Returns: TRUE if yes, FALSE otherwise.
+ */
+gboolean
+gksu_context_get_always_ask_password (GksuContext *context)
+{
+   return context->always_ask_password;
+}
+
+
+/**
  * gksu_context_set_launcher_context:
  * @context: the #GksuContext you want to set the sn context in
  * @sn_context: the #SnLauncherContext you want to set
@@ -2316,12 +2346,18 @@
        fprintf (stderr, "No ask_pass set, using default!\n");
       ask_pass = su_ask_password;
     }
-
   if (pass_not_needed == NULL)
     {
       pass_not_needed = no_pass;
     }
 
+  if (context->always_ask_password)
+    {
+       gint exit_status;
+       g_spawn_command_line_sync("/usr/bin/sudo -K", NULL, NULL, &exit_status, 
NULL);
+    }
+
+
   /*
      FIXME: need to set GError in a more detailed way
   */
diff -Nur libgksu-2.0.3/libgksu/libgksu.h libgksu-2.0.3.new/libgksu/libgksu.h
--- libgksu-2.0.3/libgksu/libgksu.h     2007-03-05 10:05:05.000000000 +0100
+++ libgksu-2.0.3.new/libgksu/libgksu.h 2007-03-05 10:05:05.000000000 +0100
@@ -60,6 +60,7 @@
   gchar *message;
   gchar *alert;
   gboolean grab;
+  gboolean always_ask_password;
 
   /* startup notification */
   SnLauncherContext *sn_context;
@@ -150,6 +151,12 @@
 gksu_context_get_grab (GksuContext *context);
 
 void
+gksu_context_set_always_ask_password (GksuContext *context, gboolean value);
+
+gboolean
+gksu_context_get_always_ask_password (GksuContext *context);
+
+void
 gksu_context_set_launcher_context (GksuContext *context, SnLauncherContext 
*sn_context);
 
 SnLauncherContext*

Reply via email to