kov changed libgksu/trunk/ChangeLog, libgksu/trunk/libgksu/libgksu.c

Gustavo Noronha kov at alioth.debian.org
Wed Jun 24 18:11:07 UTC 2009


Mensagem de log: 
2009-06-24  Joshua Kwan <jkwan at vmware.com>

	* libgksu/libgksu.c:

	- Make su code work on Red Hat systems.



-----


Modified: libgksu/trunk/ChangeLog
===================================================================
--- libgksu/trunk/ChangeLog	2009-06-24 17:59:41 UTC (rev 864)
+++ libgksu/trunk/ChangeLog	2009-06-24 18:11:06 UTC (rev 865)
@@ -1,11 +1,17 @@
-2009-06-17  	Joshua Kwan <jkwan at vmware.com>
+2009-06-24  Joshua Kwan <jkwan at vmware.com>
 
+	* libgksu/libgksu.c:
+
+	- Make su code work on Red Hat systems.
+
+2009-06-17  Joshua Kwan <jkwan at vmware.com>
+
         * libgksu/libgksu.c:
 
         - Make sudo also use forkpty, to also work when /etc/sudoers is
           configured to require a tty.
 
-2009-06-17  	Joshua Kwan <jkwan at vmware.com>
+2009-06-17  Joshua Kwan <jkwan at vmware.com>
 
 	* libgksu/libgksu.c:
 	- Make su backend work with Fedora's su.

Modified: libgksu/trunk/libgksu/libgksu.c
===================================================================
--- libgksu/trunk/libgksu/libgksu.c	2009-06-24 17:59:41 UTC (rev 864)
+++ libgksu/trunk/libgksu/libgksu.c	2009-06-24 18:11:06 UTC (rev 865)
@@ -56,6 +56,9 @@
 static void
 gksu_context_launch_complete (GksuContext *context);
 
+static void
+read_line (int fd, gchar *buffer, int n);
+
 GType
 gksu_error_get_type (void)
 {
@@ -2122,10 +2125,10 @@
 	  /* drop the \n echoed on password entry if su did request
 	     a password */
 	  if (password_needed)
-	    read (fdpty, buf, 255);
+	    read_line (fdpty, buf, 255);
 	  if (context->debug)
 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
-	  read (fdpty, buf, 255);
+	  read_line (fdpty, buf, 255);
 	  if (context->debug)
 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
 	}
@@ -2139,7 +2142,9 @@
 	{
 	  int retval = 0;
 
-	  if (!strncmp (buf, "su", 2))
+	  /* Red Hat's su shows the full path to su in its error messages. */
+	  if (!strncmp (buf, "su:", 3) ||
+	      !strncmp (buf, "/bin/su:", 7))
 	    {
 	      gchar **strings;
 




More information about the gksu-commits mailing list