GNOME #631465

Index: gnome-keyring-2.30.3/daemon/gkd-main.c
===================================================================
--- gnome-keyring-2.30.3.orig/daemon/gkd-main.c	2010-10-05 21:59:31.531925308 +0200
+++ gnome-keyring-2.30.3/daemon/gkd-main.c	2010-10-05 22:29:52.171927885 +0200
@@ -82,6 +82,8 @@
 #define DEFAULT_COMPONENTS  "pkcs11,secrets"
 #endif
 
+#define LOGIN_TIMEOUT 10
+
 static gchar* run_components = DEFAULT_COMPONENTS;
 static gboolean pkcs11_started = FALSE;
 static gboolean secrets_started = FALSE;
@@ -690,6 +692,14 @@ gkd_main_complete_initialization (const
 	gkr_daemon_initialize_steps (components);
 }
 
+static gboolean
+on_login_timeout (gpointer data)
+{
+	if (!initialization_completed)
+		cleanup_and_exit (0);
+	return FALSE;
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -772,6 +782,7 @@ main (int argc, char *argv[])
 	if (run_for_login) {
 		login_password = read_login_password (STDIN);
 		atexit (clear_login_password);
+		g_timeout_add_seconds (LOGIN_TIMEOUT, (GSourceFunc) on_login_timeout, NULL);
 
 	/* Not a login daemon. Startup stuff now.*/
 	} else {
