rpms/gdm/devel gdm-2.17.1-desensitize-entry.patch, NONE, 1.1 gdm-2.17.1-move-default-message.patch, NONE, 1.1 gdm-2.17.1-reset-pam.patch, NONE, 1.1 .cvsignore, 1.35, 1.36 gdm.spec, 1.212, 1.213 sources, 1.37, 1.38

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Sun Nov 5 19:36:54 UTC 2006


Author: mclasen

Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv17862

Modified Files:
	.cvsignore gdm.spec sources 
Added Files:
	gdm-2.17.1-desensitize-entry.patch 
	gdm-2.17.1-move-default-message.patch 
	gdm-2.17.1-reset-pam.patch 
Log Message:
2.17.1


gdm-2.17.1-desensitize-entry.patch:
 gdmlogin.c                 |    2 +-
 greeter/greeter_item_pam.c |   19 ++++++++++++++-----
 2 files changed, 15 insertions(+), 6 deletions(-)

--- NEW FILE gdm-2.17.1-desensitize-entry.patch ---
--- gdm-2.17.1/gui/gdmlogin.c.desensitize-entry	2006-11-05 14:22:49.000000000 -0500
+++ gdm-2.17.1/gui/gdmlogin.c	2006-11-05 14:24:05.000000000 -0500
@@ -1776,7 +1776,7 @@
 	    curuser = NULL;
 	}
 
-	gtk_widget_set_sensitive (entry, TRUE);
+	gtk_widget_set_sensitive (entry, FALSE);
 	gtk_widget_set_sensitive (ok_button, FALSE);
 	gtk_widget_set_sensitive (start_again_button, FALSE);
 
--- gdm-2.17.1/gui/greeter/greeter_item_pam.c.desensitize-entry	2006-11-05 14:22:49.000000000 -0500
+++ gdm-2.17.1/gui/greeter/greeter_item_pam.c	2006-11-05 14:22:50.000000000 -0500
@@ -291,11 +291,20 @@
     {
       entry = GNOME_CANVAS_WIDGET (entry_info->item)->widget;
       
-      gtk_entry_set_visibility (GTK_ENTRY (entry), entry_visible);
-      gtk_widget_set_sensitive (GTK_WIDGET (entry), TRUE);
-      gtk_entry_set_max_length (GTK_ENTRY (entry), entry_len);
-      gtk_entry_set_text (GTK_ENTRY (entry), "");
-      gtk_widget_grab_focus (entry);
+      if (message != NULL && strcmp (message, "") != 0) 
+        {
+          gtk_entry_set_visibility (GTK_ENTRY (entry), entry_visible);
+          gtk_widget_set_sensitive (GTK_WIDGET (entry), TRUE);
+          gtk_entry_set_max_length (GTK_ENTRY (entry), entry_len);
+          gtk_entry_set_text (GTK_ENTRY (entry), "");
+          gtk_widget_grab_focus (entry);
+        }
+      else
+        {
+          gtk_entry_set_visibility (GTK_ENTRY (entry), entry_visible);
+          gtk_entry_set_text (GTK_ENTRY (entry), "...");
+          gtk_widget_set_sensitive (GTK_WIDGET (entry), FALSE);
+        }
     }
 
   messages_to_give = FALSE;

gdm-2.17.1-move-default-message.patch:
 daemon/verify-crypt.c          |    1 -
 daemon/verify-pam.c            |    6 ------
 daemon/verify-shadow.c         |    1 -
 gui/gdmlogin.c                 |   15 ++++++++++++---
 gui/greeter/greeter_item_pam.c |   25 +++++++++++++++++++++++++
 5 files changed, 37 insertions(+), 11 deletions(-)

--- NEW FILE gdm-2.17.1-move-default-message.patch ---
--- gdm-2.17.1/gui/greeter/greeter_item_pam.c.move-default-message	2006-10-30 15:59:44.000000000 -0500
+++ gdm-2.17.1/gui/greeter/greeter_item_pam.c	2006-11-05 14:18:40.000000000 -0500
@@ -46,6 +46,7 @@
 gboolean require_quarter = FALSE;
 
 extern gboolean greeter_probably_login_prompt;
+static gboolean using_fallback_message = FALSE;
 extern GtkButton *gtk_ok_button;
 extern GtkButton *gtk_start_again_button;
 
@@ -251,13 +252,35 @@
 			 int         entry_len,
 			 gboolean    entry_visible)
 {
+  GreeterItemInfo *message_info;
   GreeterItemInfo *conversation_info;
   GreeterItemInfo *entry_info;
   GtkWidget *entry;
 
+  message_info = greeter_lookup_id ("pam-message");
   conversation_info = greeter_lookup_id ("pam-prompt");
   entry_info = greeter_lookup_id ("user-pw-entry");
 
+  if (strcmp (message, _("Username:")) == 0 && message_info)
+    {
+      gchar *text;
+      text = NULL;
+      g_object_get (G_OBJECT (message_info->item),
+                    "text", &text,
+                    NULL);
+      if (ve_string_empty (text))
+        {
+          set_text (message_info, _("Please enter your username"));
+          using_fallback_message = TRUE;
+        }
+      g_free (text);
+    } 
+  else if (using_fallback_message)
+    {
+      set_text (message_info, "");
+      using_fallback_message = FALSE;
+    }
+
   if (conversation_info)
     {
       set_text (conversation_info, message);
@@ -297,6 +320,7 @@
        * we try to collect them until the next prompt or reset or
        * whatnot */
       if ( ! replace_msg &&
+	   ! using_fallback_message &&
 	   /* empty message is for clearing */
 	   ! ve_string_empty (message))
 	{
@@ -316,6 +340,7 @@
         set_text (message_info, message);
     }
   replace_msg = FALSE;
+  using_fallback_message = FALSE;
 }
 
 
--- gdm-2.17.1/gui/gdmlogin.c.move-default-message	2006-10-30 14:15:51.000000000 -0500
+++ gdm-2.17.1/gui/gdmlogin.c	2006-11-05 14:18:01.000000000 -0500
@@ -160,6 +160,7 @@
 extern const gchar *current_session;
 extern gboolean session_dir_whacked_out;
 extern gint gdm_timed_delay;
+static gboolean using_fallback_message = FALSE;
 
 static void login_window_resize (gboolean force);
 
@@ -1553,12 +1554,21 @@
 					gdm_config_get_string (GDM_KEY_SOUND_ON_LOGIN_FILE),
 					gdm_config_get_bool   (GDM_KEY_SOUND_ON_LOGIN));
 		gtk_label_set_text_with_mnemonic (GTK_LABEL (label), _("_Username:"));
+                if (ve_string_empty (gtk_label_get_text (GTK_LABEL (msg)))) {
+                        gtk_label_set_text (GTK_LABEL (msg),
+                                            _("Please enter your username"));
+                        using_fallback_message = TRUE;
+                }
 		greeter_probably_login_prompt = TRUE;
 		gtk_widget_set_sensitive (start_again_button, FALSE);
 	} else {
 		gtk_widget_set_sensitive (start_again_button, TRUE);
 		if (tmp != NULL)
 			gtk_label_set_text (GTK_LABEL (label), tmp);
+                if (using_fallback_message) {
+                        gtk_label_set_text (GTK_LABEL (msg), "");
+                        using_fallback_message = FALSE;
+                }
 	}
 	g_free (tmp);
 
@@ -1645,6 +1655,7 @@
 		g_free (tmp);
 	}
 	replace_msg = FALSE;
+	using_fallback_message = FALSE;
 
 	gtk_widget_show (GTK_WIDGET (msg));
 	printf ("%c\n", STX);
@@ -1772,9 +1783,7 @@
 	if (browser_ok && gdm_config_get_bool (GDM_KEY_BROWSER))
 	    gtk_widget_set_sensitive (GTK_WIDGET (browser), TRUE);
 
-	tmp = ve_locale_to_utf8 (args);
-	gtk_label_set_text (GTK_LABEL (msg), tmp);
-	g_free (tmp);
+	gtk_label_set_text (GTK_LABEL (msg), "");
 	gtk_widget_show (GTK_WIDGET (msg));
 
 	printf ("%c\n", STX);
--- gdm-2.17.1/daemon/verify-pam.c.move-default-message	2006-11-05 14:08:43.000000000 -0500
+++ gdm-2.17.1/daemon/verify-pam.c	2006-11-05 14:08:43.000000000 -0500
@@ -525,12 +525,6 @@
 			       then I can afford. */
 			    s = g_strdup (selected_user);
 		    } else {
-			    /* this is an evil hack, but really there is no way we'll
-			    know this is a username prompt.  However we SHOULD NOT
-			    rely on this working.  The pam modules can set their
-			    prompt to whatever they wish to */
-			    gdm_slave_greeter_ctl_no_ret
-				    (GDM_MSG, _("Please enter your username"));
 			    s = gdm_slave_greeter_ctl (GDM_PROMPT, m);
 			    /* this will clear the message */
 			    gdm_slave_greeter_ctl_no_ret (GDM_MSG, "");
--- gdm-2.17.1/daemon/verify-shadow.c.move-default-message	2006-09-26 15:18:27.000000000 -0400
+++ gdm-2.17.1/daemon/verify-shadow.c	2006-11-05 14:08:43.000000000 -0500
@@ -114,7 +114,6 @@
 authenticate_again:
 	    /* Ask for the user's login */
 	    gdm_verify_select_user (NULL);
-	    gdm_slave_greeter_ctl_no_ret (GDM_MSG, _("Please enter your username"));
 	    login = gdm_slave_greeter_ctl (GDM_PROMPT, _("Username:"));
 	    if (login == NULL ||
 		gdm_slave_greeter_check_interruption ()) {
--- gdm-2.17.1/daemon/verify-crypt.c.move-default-message	2006-09-26 15:18:27.000000000 -0400
+++ gdm-2.17.1/daemon/verify-crypt.c	2006-11-05 14:08:43.000000000 -0500
@@ -115,7 +115,6 @@
 authenticate_again:
 	    /* Ask for the user's login */
 	    gdm_verify_select_user (NULL);
-	    gdm_slave_greeter_ctl_no_ret (GDM_MSG, _("Please enter your username"));
 	    login = gdm_slave_greeter_ctl (GDM_PROMPT, _("Username:"));
 	    if (login == NULL ||
 		gdm_slave_greeter_check_interruption ()) {

gdm-2.17.1-reset-pam.patch:
 daemon/gdm.c          |    8 ++++++++
 daemon/gdm.h          |    4 ++++
 daemon/slave.c        |   34 +++++++++++++++++++++++++++-------
 gui/greeter/greeter.c |   16 ++++------------
 4 files changed, 43 insertions(+), 19 deletions(-)

--- NEW FILE gdm-2.17.1-reset-pam.patch ---
--- gdm-2.17.1/gui/greeter/greeter.c.reset-pam	2006-10-30 15:59:44.000000000 -0500
+++ gdm-2.17.1/gui/greeter/greeter.c	2006-11-05 14:22:21.000000000 -0500
@@ -170,7 +170,6 @@
     GtkWidget *dlg;
     char *tmp;
     char *session;
-    GreeterItemInfo *conversation_info;
     static GnomeCanvasItem *disabled_cover = NULL;
     gchar *language;
     gchar *selected_user = NULL;
@@ -330,17 +329,10 @@
 	if (gtk_start_again_button != NULL)
                 gtk_widget_set_sensitive (gtk_start_again_button, FALSE);
 
-	conversation_info = greeter_lookup_id ("pam-conversation");
-	
-	if (conversation_info)
-	  {
-	    tmp = ve_locale_to_utf8 (args);
-	    g_object_set (G_OBJECT (conversation_info->item),
-			  "text", tmp,
-			  NULL);
-	    g_free (tmp);
-	  }
-
+        greeter_item_ulist_unset_selected_user ();
+        greeter_item_pam_prompt ("", PW_ENTRY_SIZE, TRUE);
+        greeter_item_pam_message ("");
+ 
 	printf ("%c\n", STX);
 	fflush (stdout);
 	greeter_ignore_buttons (FALSE);
--- gdm-2.17.1/daemon/gdm.c.reset-pam	2006-10-30 13:14:46.000000000 -0500
+++ gdm-2.17.1/daemon/gdm.c	2006-11-05 14:20:02.000000000 -0500
@@ -2496,6 +2496,14 @@
 				     TRUE /* handled */,
 				     FALSE /* chooser */,
 				     NULL, 0, NULL, NULL);
+	} else if (strcmp (msg, GDM_SOP_CANCEL_LOGIN_REQUESTS) == 0) {
+		GSList *li;
+		for (li = displays; li != NULL; li = li->next) {
+			GdmDisplay *d = li->data;
+			if (!d->logged_in) {
+				send_slave_command (d, GDM_NOTIFY_RESET);
+			}
+		}
 	}
 }
 
--- gdm-2.17.1/daemon/slave.c.reset-pam	2006-11-05 14:20:02.000000000 -0500
+++ gdm-2.17.1/daemon/slave.c	2006-11-05 14:20:02.000000000 -0500
@@ -128,6 +128,12 @@
 static int greeter_fd_out = -1;
 static int greeter_fd_in = -1;
 
+/* a dup of the other side of greeter_fd_in so that
+ * the slave can talk to itself from its sig handler
+ * using the greeter ipc mechanism
+ */
+static int slave_fd_out = -1;
+
 #ifdef HAVE_TSOL
 static gboolean have_suntsol_extension = FALSE;
 #endif
@@ -620,7 +626,7 @@
 }
 
 static void
-whack_greeter_fds (void)
+whack_greeter_and_slave_fds (void)
 {
 	if (greeter_fd_out > 0)
 		VE_IGNORE_EINTR (close (greeter_fd_out));
@@ -628,6 +634,9 @@
 	if (greeter_fd_in > 0)
 		VE_IGNORE_EINTR (close (greeter_fd_in));
 	greeter_fd_in = -1;
+	if (slave_fd_out > 0)
+		VE_IGNORE_EINTR (close (slave_fd_out));
+	slave_fd_out = -1;
 }
 
 static void
@@ -1078,7 +1087,7 @@
 
 	d->greetpid = 0;
 
-	whack_greeter_fds ();
+	whack_greeter_and_slave_fds ();
 
 	gdm_slave_send_num (GDM_SOP_GREETPID, 0);
 
@@ -1844,7 +1853,7 @@
 
 		d->greetpid = 0;
 
-		whack_greeter_fds ();
+		whack_greeter_and_slave_fds ();
 
 		gdm_slave_send_num (GDM_SOP_GREETPID, 0);
 	}
@@ -2076,6 +2085,12 @@
 			break;
 		}
 
+		if (do_cancel) {
+			gdm_debug ("canceling...");
+			gdm_slave_greeter_ctl_no_ret (GDM_RESETOK, "");
+			continue;
+		}
+
 		if (login == NULL) {
 			char *failuresound = gdm_get_value_string (GDM_KEY_SOUND_ON_LOGIN_FAILURE_FILE);
 
@@ -2674,9 +2689,9 @@
 	
     default:
 	VE_IGNORE_EINTR (close (pipe1[0]));
-	VE_IGNORE_EINTR (close (pipe2[1]));
+	whack_greeter_and_slave_fds ();
 
-	whack_greeter_fds ();
+	slave_fd_out = pipe2[1];
 
 	greeter_fd_out = pipe1[1];
 	greeter_fd_in = pipe2[0];
@@ -4661,7 +4676,7 @@
 
 			greet = FALSE;
 			d->greetpid = 0;
-			whack_greeter_fds ();
+			whack_greeter_and_slave_fds ();
 			gdm_slave_send_num (GDM_SOP_GREETPID, 0);
 
 			do_restart_greeter = TRUE;
@@ -4673,7 +4688,7 @@
 			continue;
 		}
 
-		whack_greeter_fds ();
+		whack_greeter_and_slave_fds ();
 
 		/* if greet is TRUE, then the greeter died outside of our
 		 * control really, so clean up and die, something is wrong
@@ -4816,6 +4831,11 @@
 				gdm_wait_for_go = FALSE;
 			} else if (strcmp (&s[1], GDM_NOTIFY_TWIDDLE_POINTER) == 0) {
 				gdm_twiddle_pointer (d);
+			} else if (strcmp (&s[1], GDM_NOTIFY_RESET) == 0) {
+				if (!d->logged_in) {
+					gdm_fdprintf (slave_fd_out, "%c%c%c\n", 
+						      STX, BEL, GDM_INTERRUPT_CANCEL);
+				}
 			}
 		}
 	}
--- gdm-2.17.1/daemon/gdm.h.reset-pam	2006-10-30 13:14:46.000000000 -0500
+++ gdm-2.17.1/daemon/gdm.h	2006-11-05 14:20:02.000000000 -0500
@@ -742,6 +742,9 @@
 /* Start a new standard X flexible server */
 #define GDM_SOP_FLEXI_XSERVER "FLEXI_XSERVER" /* no arguments */
 
+/* Reset any in progress authentication conversations */
+#define GDM_SOP_CANCEL_LOGIN_REQUESTS "CANCEL_LOGIN_REQUESTS" /* no arguments */
+
 /* Notification protocol */
 /* keys */
 #define GDM_NOTIFY_ALLOW_REMOTE_ROOT "AllowRemoteRoot" /* <true/false as int> */
@@ -769,6 +772,7 @@
 #define GDM_NOTIFY_SOFT_RESTART_SERVERS "SOFT_RESTART_SERVERS"
 #define GDM_NOTIFY_GO "GO"
 #define GDM_NOTIFY_TWIDDLE_POINTER "TWIDDLE_POINTER"
+#define GDM_NOTIFY_RESET "RESET"
 
 /* Ack for a slave message */
 /* Note that an extra response can follow an 'ack' */


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/.cvsignore,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- .cvsignore	23 Oct 2006 03:52:15 -0000	1.35
+++ .cvsignore	5 Nov 2006 19:36:52 -0000	1.36
@@ -1 +1 @@
-gdm-2.17.0.tar.bz2
+gdm-2.17.1.tar.bz2


Index: gdm.spec
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -r1.212 -r1.213
--- gdm.spec	26 Oct 2006 04:18:52 -0000	1.212
+++ gdm.spec	5 Nov 2006 19:36:52 -0000	1.213
@@ -15,8 +15,8 @@
 
 Summary: The GNOME Display Manager.
 Name: gdm
-Version: 2.17.0
-Release: 2%{?dist}
+Version: 2.17.1
+Release: 1%{?dist}
 Epoch: 1
 License: LGPL/GPL
 Group: User Interface/X
@@ -39,8 +39,8 @@
 Patch12: gdm-2.13.0.4-audit-login.patch
 
 # http://bugzilla.gnome.org/show_bug.cgi?id=347798
-Patch19: gdm-2.15.5-move-default-message.patch
-Patch20: gdm-2.15.5-reset-pam.patch
+Patch19: gdm-2.17.1-move-default-message.patch
+Patch20: gdm-2.17.1-reset-pam.patch
 Patch21: gdm-2.16.0-security-tokens.patch
 
 # http://bugzilla.gnome.org/show_bug.cgi?id=347871
@@ -49,13 +49,7 @@
 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=203917
 Patch25: gdm-2.16.0-indic-langs.patch
 
-Patch28: gdm-2.16.0-desensitize-entry.patch
-
-# http://bugzilla.gnome.org/show_bug.cgi?id=362853
-Patch29: gdm-2.16.0-photo-setup-help.patch
-
-# http://bugzilla.gnome.org/show_bug.cgi?id=345434
-Patch30: gdm-2.17.0-a11y-launch.patch
+Patch28: gdm-2.17.1-desensitize-entry.patch
 
 BuildRoot: %{_tmppath}/gdm-%{PACKAGE_VERSION}-root
 
@@ -127,8 +121,6 @@
 %patch24 -p1 -b .wtmp
 %patch25 -p1 -b .indic-langs
 %patch28 -p1 -b .desensitize-entry
-%patch29 -p1 -b .photo-setup-help
-%patch30 -p0 -b .a11y-launch
 
 %build
 cp -f %{SOURCE1} config/gdm
@@ -317,6 +309,9 @@
 %attr(1770, root, gdm) %dir %{_localstatedir}/gdm
 
 %changelog
+* Sun Nov  5 2006 Matthias Clasen <mclasen at redhat.com> - 1:2.17.1-1
+- Update to 2.17.1
+
 * Thu Oct 26 2006 Matthias Clasen <mclasen at redhat.com> - 1:2.17.0-2
 - Fix a crash with launching a11y support
 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/sources,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- sources	23 Oct 2006 03:52:15 -0000	1.37
+++ sources	5 Nov 2006 19:36:52 -0000	1.38
@@ -1 +1 @@
-8f05a52b520021d18e4d4d86b1c57b85  gdm-2.17.0.tar.bz2
+a56733aa192d903265334c9b0a1b12b9  gdm-2.17.1.tar.bz2




More information about the fedora-cvs-commits mailing list