--- daemon/gkr-daemon-ops.c.orig	2009-11-20 17:52:12.459466388 +0100
+++ daemon/gkr-daemon-ops.c	2009-11-20 18:03:48.779465649 +0100
@@ -129,6 +129,27 @@
 	return FALSE;
 }
 
+
+static gchar *whitelist_paths[] = {
+	"/usr/lib/",
+	"/usr/bin/",
+	NULL
+};
+
+static gboolean
+acl_check_whitelist (GnomeKeyringApplicationRef *app)
+{
+	int i;
+	
+	for (i=0; whitelist_paths[i]; i++) {
+		if (g_str_has_prefix (app->pathname, whitelist_paths[i])) {
+			return TRUE;
+		}
+	}
+	
+	return FALSE;
+}
+
 static void
 add_item_acl (GkrKeyringItem *item,
 	      GnomeKeyringApplicationRef *app_ref,
@@ -171,6 +192,12 @@
 		return GKR_ASK_STOP_REQUEST;
 	}
 	
+	/* Whitelist applications that are installed by the system */
+	if (acl_check_whitelist (app)) {
+		ask->response = GKR_ASK_RESPONSE_ALLOW;
+		return GKR_ASK_STOP_REQUEST;
+	}
+	
 	/* See if this application already has access to this item */
 	if (acl_check_access (item, app, access_type, secret)) {
 		ask->response = GKR_ASK_RESPONSE_ALLOW;
