Index: configure
--- configure.orig	2006-09-18 16:37:20 +0200
+++ configure	2006-09-19 09:26:06 +0200
@@ -4208,7 +4208,7 @@
 
 case "$with_keyring_api" in
 "gnome")
-	gnome_keyring="gnome-keyring-1 >= 0.4.4"
+	gnome_keyring=""
 	;;
 "apple")
 	gnome_keyring=""
Index: src/gq-keyring.c
--- src/gq-keyring.c.orig	2006-09-15 12:20:26 +0200
+++ src/gq-keyring.c	2006-09-19 09:27:25 +0200
@@ -27,6 +27,7 @@
 gq_keyring_attribute_list_from_server(GqServer* server) {
 	GnomeKeyringAttributeList* attributes = NULL;
 
+#if 0
 	g_return_val_if_fail(GQ_IS_SERVER(server), NULL);
 
 	attributes = gnome_keyring_attribute_list_new();
@@ -34,20 +35,25 @@
 	gnome_keyring_attribute_list_append_string(attributes, "server", server->ldaphost);
 	gnome_keyring_attribute_list_append_uint32(attributes, "port", server->ldapport);
 	gnome_keyring_attribute_list_append_string(attributes, "protocol", "ldap");
+#endif
 	return attributes;
 }
 
 static GList*
 gq_keyring_find_servers(GqServer* server) {
+#if 0
 	GnomeKeyringAttributeList* list = NULL;
+#endif
 	GList* found = NULL;
 
+#if 0
 	list = gq_keyring_attribute_list_from_server(server);
 	// FIXME: do async
 	// FIXME: check result
 	gnome_keyring_find_items_sync(GNOME_KEYRING_ITEM_NETWORK_PASSWORD, list, &found);
 	gnome_keyring_attribute_list_free(list);
 	list = NULL;
+#endif
 
 	return found;
 }
@@ -59,6 +65,7 @@
 
 	g_return_if_fail(GQ_IS_SERVER(server));
 
+#if 0
 	if(!gnome_keyring_is_available()) {
 		return;
 	}
@@ -72,15 +79,19 @@
 	}
 
 	g_list_free(ret);
+#endif
 }
 
 gchar*
 gq_keyring_get_password(GqServer* server) {
 	GList* found = NULL;
 	GList* item;
+#if 0
 	GnomeKeyringAttributeList* list = NULL;
+#endif
 	gchar* retval = NULL;
 
+#if 0
 	if(!gnome_keyring_is_available()) {
 		return NULL;
 	}
@@ -97,11 +108,13 @@
 
 	g_list_foreach(found, (GFunc)gnome_keyring_found_free, NULL);
 	g_list_free(found);
+#endif
 	return retval;
 }
 
 void
 gq_keyring_save_server_password(GqServer* server) {
+#if 0
 	GnomeKeyringAttributeList* list = NULL;
 	gchar* display_name = NULL;
 	guint32 id = 0;
@@ -125,5 +138,6 @@
 			&id);
 	gnome_keyring_attribute_list_free(list);
 	g_free(display_name);
+#endif
 }
 
Index: src/gq-keyring.h
--- src/gq-keyring.h.orig	2006-09-15 12:20:26 +0200
+++ src/gq-keyring.h	2006-09-19 09:26:06 +0200
@@ -24,7 +24,11 @@
 #ifndef GQ_KEYRING_H
 #define GQ_KEYRING_H
 
+#if 0
 #include <gnome-keyring.h>
+#else
+typedef int GnomeKeyringAttributeList;
+#endif
 #include "common.h" // for ldapserver
 
 G_BEGIN_DECLS
@@ -35,6 +39,9 @@
 gchar*	gq_keyring_get_password		     (GqServer* server);
 void	gq_keyring_save_server_password      (GqServer* server);
 
+#define gnome_keyring_is_available() 0
+#define gnome_keyring_free_password(n) (void)0
+ 
 G_END_DECLS
 
 #endif /* !GQ_KEYRING_H */
Index: src/state.c
--- src/state.c.orig	2006-09-15 12:20:28 +0200
+++ src/state.c	2006-09-19 09:26:06 +0200
@@ -744,7 +744,7 @@
 	}
     }
 
-    if (n != NULL && v->type != 0) {
+    if (n != NULL && v!=NULL && v->type != 0) {
 	char *ep;
 
 	g_assert(v);
Index: src/xmlparse.c
--- src/xmlparse.c.orig	2006-09-15 12:20:26 +0200
+++ src/xmlparse.c	2006-09-19 09:26:06 +0200
@@ -51,7 +51,7 @@
 #include "xmlparse.h"
 
 #define malloc g_malloc
-#define calloc(n,s) g_malloc0(n * s)
+#define calloc(n,s) g_malloc0((n) * (s))
 
 #define TAGSTACK_INCR 20
 
@@ -162,10 +162,11 @@
     e->attrs = NULL;
     if (attrs) {
 	for (i = 0 ; attrs[i] ; i++) ;
-	e->attrs = calloc(i, sizeof(xmlChar *));
+	e->attrs = calloc(i+1, sizeof(xmlChar *));
 	for (i = 0 ; attrs[i] ; i++) {
 	    e->attrs[i] = (guchar*)strdup((gchar*)attrs[i]);
 	}
+ 	e->attrs[i] = NULL;
     }
     
     /* lookup handler */
