Went over all of the files and made sure they all were indented the same way.
authorMikael Hallendal <micke@imendio.com>
Wed, 08 Oct 2008 13:11:02 +0200
changeset 518 cdd6a0c5b439
parent 517 6fabea75bea7
child 519 b80401412e1c
Went over all of the files and made sure they all were indented the same way. This means from now on use 4 space instead of tabs everywhere for indentation.
examples/lm-change-password.c
examples/lm-register.c
examples/lm-send-async.c
examples/test-http-proxy.c
examples/test-lm.c
examples/test-tunnel.c
loudmouth/asyncns.c
loudmouth/asyncns.h
loudmouth/lm-asyncns-resolver.c
loudmouth/lm-asyncns-resolver.h
loudmouth/lm-blocking-resolver.c
loudmouth/lm-blocking-resolver.h
loudmouth/lm-connection.c
loudmouth/lm-connection.h
loudmouth/lm-debug.c
loudmouth/lm-debug.h
loudmouth/lm-dummy.c
loudmouth/lm-dummy.h
loudmouth/lm-error.c
loudmouth/lm-error.h
loudmouth/lm-feature-ping.c
loudmouth/lm-feature-ping.h
loudmouth/lm-internals.h
loudmouth/lm-message-handler.c
loudmouth/lm-message-handler.h
loudmouth/lm-message-node.c
loudmouth/lm-message-node.h
loudmouth/lm-message-queue.c
loudmouth/lm-message-queue.h
loudmouth/lm-message.c
loudmouth/lm-message.h
loudmouth/lm-misc.c
loudmouth/lm-misc.h
loudmouth/lm-old-socket.c
loudmouth/lm-old-socket.h
loudmouth/lm-parser.c
loudmouth/lm-parser.h
loudmouth/lm-proxy.c
loudmouth/lm-proxy.h
loudmouth/lm-resolver.c
loudmouth/lm-resolver.h
loudmouth/lm-sasl.c
loudmouth/lm-sasl.h
loudmouth/lm-sha.c
loudmouth/lm-simple-io.c
loudmouth/lm-simple-io.h
loudmouth/lm-sock.c
loudmouth/lm-socket.c
loudmouth/lm-socket.h
loudmouth/lm-soup-socket.c
loudmouth/lm-soup-socket.h
loudmouth/lm-ssl-base.c
loudmouth/lm-ssl-base.h
loudmouth/lm-ssl-generic.c
loudmouth/lm-ssl-gnutls.c
loudmouth/lm-ssl-internals.h
loudmouth/lm-ssl-openssl.c
loudmouth/lm-ssl.h
loudmouth/lm-tcp-socket.c
loudmouth/lm-tcp-socket.h
loudmouth/lm-utils.c
loudmouth/lm-xmpp-writer.c
loudmouth/lm-xmpp-writer.h
loudmouth/md5.c
loudmouth/md5.h
loudmouth/test-dns.c
loudmouth/test-jid.c
loudmouth/test-lm.c
tests/test-parser.c
--- a/examples/lm-change-password.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/lm-change-password.c	Wed Oct 08 13:11:02 2008 +0200
@@ -27,132 +27,132 @@
 
 static LmSSLResponse 
 ssl_func (LmSSL        *ssl,
-	  LmSSLStatus   status,
-	  gpointer      user_data)
+          LmSSLStatus   status,
+          gpointer      user_data)
 {
-	return LM_SSL_RESPONSE_CONTINUE;
+    return LM_SSL_RESPONSE_CONTINUE;
 }
 
 static void
 print_usage (const gchar *exec_name)
 {
-	g_print ("Usage: %s <server> <username> <oldpassword> <newpassword> [--ssl] [--host <host>]\n",
-		 exec_name);
+    g_print ("Usage: %s <server> <username> <oldpassword> <newpassword> [--ssl] [--host <host>]\n",
+             exec_name);
 }
 
 int 
 main (int argc, char **argv)
 {
-	LmConnection  *connection;
-	const gchar   *server;
-	const gchar   *username;
-	const gchar   *old_pass;
-	const gchar   *new_pass;
-	const gchar   *host;
-	GError        *error = NULL;
-	LmMessage     *m;
-	LmMessage     *reply;
-	LmMessageNode *query;
-	gboolean       use_ssl = FALSE;
-	
-	
-	if (argc < 5) {
-		print_usage (argv[0]);
-		return -1;
-	}
+    LmConnection  *connection;
+    const gchar   *server;
+    const gchar   *username;
+    const gchar   *old_pass;
+    const gchar   *new_pass;
+    const gchar   *host;
+    GError        *error = NULL;
+    LmMessage     *m;
+    LmMessage     *reply;
+    LmMessageNode *query;
+    gboolean       use_ssl = FALSE;
+    
+    
+    if (argc < 5) {
+        print_usage (argv[0]);
+        return -1;
+    }
 
-	server = argv[1];
-	username = argv[2];
-	old_pass = argv[3];
-	new_pass = argv[4];
-	host = NULL;
+    server = argv[1];
+    username = argv[2];
+    old_pass = argv[3];
+    new_pass = argv[4];
+    host = NULL;
 
-	if (argc >= 5) {
-		int i;
+    if (argc >= 5) {
+        int i;
 
-		for (i = 5; i < argc; ++i) {
-			if (strcmp (argv[i], "-s") == 0 ||
-			    strcmp (argv[i], "--ssl") == 0) {
-				use_ssl = TRUE;
-			}
-			else if (strcmp (argv[i], "-h") == 0 ||
-				 strcmp (argv[i], "--host") == 0) {
-				if (++i >= argc) {
-					print_usage (argv[0]);
-					return -1;
-				} 
+        for (i = 5; i < argc; ++i) {
+            if (strcmp (argv[i], "-s") == 0 ||
+                strcmp (argv[i], "--ssl") == 0) {
+                use_ssl = TRUE;
+            }
+            else if (strcmp (argv[i], "-h") == 0 ||
+                     strcmp (argv[i], "--host") == 0) {
+                if (++i >= argc) {
+                    print_usage (argv[0]);
+                    return -1;
+                } 
 
-				host = argv[i];
-				g_print ("HOST: %s\n", host);
-			}
-		}
-	}
+                host = argv[i];
+                g_print ("HOST: %s\n", host);
+            }
+        }
+    }
 
-	connection = lm_connection_new (server);
+    connection = lm_connection_new (server);
 
-	if (host) {
-		gchar *jid;
+    if (host) {
+        gchar *jid;
 
-		jid = g_strdup_printf ("%s@%s", username, host);
-		g_print ("Setting jid to %s\n", jid);
-		lm_connection_set_jid (connection, jid);
-		g_free (jid);
-	}
-	
-	if (use_ssl) {
-		LmSSL *ssl;
+        jid = g_strdup_printf ("%s@%s", username, host);
+        g_print ("Setting jid to %s\n", jid);
+        lm_connection_set_jid (connection, jid);
+        g_free (jid);
+    }
+    
+    if (use_ssl) {
+        LmSSL *ssl;
 
-		if (!lm_ssl_is_supported ()) {
-			g_print ("This loudmouth installation doesn't support SSL\n");
-			return 1;
-		}
+        if (!lm_ssl_is_supported ()) {
+            g_print ("This loudmouth installation doesn't support SSL\n");
+            return 1;
+        }
 
-		g_print ("Setting ssl\n");
-		ssl = lm_ssl_new (NULL, ssl_func, NULL, NULL);
-		lm_connection_set_ssl (connection, ssl);
-		lm_ssl_unref (ssl);
+        g_print ("Setting ssl\n");
+        ssl = lm_ssl_new (NULL, ssl_func, NULL, NULL);
+        lm_connection_set_ssl (connection, ssl);
+        lm_ssl_unref (ssl);
 
-		lm_connection_set_port (connection,
-					LM_CONNECTION_DEFAULT_PORT_SSL);
-	}
+        lm_connection_set_port (connection,
+                                LM_CONNECTION_DEFAULT_PORT_SSL);
+    }
 
-	if (!lm_connection_open_and_block (connection, &error)) {
-		g_error ("Failed to open: %s\n", error->message);
-	}
+    if (!lm_connection_open_and_block (connection, &error)) {
+        g_error ("Failed to open: %s\n", error->message);
+    }
 
-	if (!lm_connection_authenticate_and_block (connection,
-						   username, old_pass, 
-						   "Password changer",
-						   &error)) {
-		g_error ("Failed to authenticate: %s\n", error->message);
-	}
+    if (!lm_connection_authenticate_and_block (connection,
+                                               username, old_pass, 
+                                               "Password changer",
+                                               &error)) {
+        g_error ("Failed to authenticate: %s\n", error->message);
+    }
 
-	m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ, 
-					 LM_MESSAGE_SUB_TYPE_SET);
-	
-	query = lm_message_node_add_child (m->node, "query", NULL);
-	
-	lm_message_node_set_attributes (query, "xmlns", "jabber:iq:register",
-					NULL);
-	lm_message_node_add_child (query, "username", username);
-	lm_message_node_add_child (query, "password", new_pass);
+    m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ, 
+                                      LM_MESSAGE_SUB_TYPE_SET);
+    
+    query = lm_message_node_add_child (m->node, "query", NULL);
+    
+    lm_message_node_set_attributes (query, "xmlns", "jabber:iq:register",
+                                    NULL);
+    lm_message_node_add_child (query, "username", username);
+    lm_message_node_add_child (query, "password", new_pass);
 
-	reply = lm_connection_send_with_reply_and_block (connection, m, &error);
-	if (!reply) {
-		g_error ("Failed to change password: %s\n", error->message);
-	}	
+    reply = lm_connection_send_with_reply_and_block (connection, m, &error);
+    if (!reply) {
+        g_error ("Failed to change password: %s\n", error->message);
+    }   
 
-	if (lm_message_get_sub_type (reply) == LM_MESSAGE_SUB_TYPE_RESULT) {
-		g_print ("Password changed\n");
-	} else {
-		g_print ("Failed to change password\n");
-		/* If this wasn't only an example we should check error code
-		 * here to tell the user why it failed */
-	}
-	
-	lm_connection_close (connection, NULL);
+    if (lm_message_get_sub_type (reply) == LM_MESSAGE_SUB_TYPE_RESULT) {
+        g_print ("Password changed\n");
+    } else {
+        g_print ("Failed to change password\n");
+        /* If this wasn't only an example we should check error code
+         * here to tell the user why it failed */
+    }
+    
+    lm_connection_close (connection, NULL);
 
-	return 0;
+    return 0;
 }
 
 
--- a/examples/lm-register.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/lm-register.c	Wed Oct 08 13:11:02 2008 +0200
@@ -27,114 +27,114 @@
 
 static LmSSLResponse 
 ssl_func (LmSSL        *ssl,
-	  LmSSLStatus   status,
-	  gpointer      user_data)
+          LmSSLStatus   status,
+          gpointer      user_data)
 {
-	return LM_SSL_RESPONSE_CONTINUE;
+    return LM_SSL_RESPONSE_CONTINUE;
 }
 
 static void
 print_usage (const gchar *exec_name)
 {
-        g_print ("Usage: %s <server> <username> <password> [--ssl]\n",
-                 exec_name);
+    g_print ("Usage: %s <server> <username> <password> [--ssl]\n",
+             exec_name);
 }
 
 int
 main (int argc, char **argv)
 {
-        LmConnection  *connection;
-        const gchar   *server;
-        const gchar   *username;
-        const gchar   *pass;
-        GError        *error = NULL;
-        LmMessage     *m, *reply;
-        LmMessageNode *query, *node;
-	gboolean       use_ssl = FALSE;
+    LmConnection  *connection;
+    const gchar   *server;
+    const gchar   *username;
+    const gchar   *pass;
+    GError        *error = NULL;
+    LmMessage     *m, *reply;
+    LmMessageNode *query, *node;
+    gboolean       use_ssl = FALSE;
+
+    if (argc < 4) {
+        print_usage (argv[0]);
+        return -1;
+    }
+
+    server = argv[1];
+    username = argv[2];
+    pass = argv[3];
 
-        if (argc < 4) {
-                print_usage (argv[0]);
-                return -1;
+    if (argc >= 4) {
+        int i;
+
+        for (i = 4; i < argc; ++i) {
+            if (strcmp (argv[i], "-s") == 0 ||
+                strcmp (argv[i], "--ssl") == 0) {
+                use_ssl = TRUE;
+                break;
+            }
+        }
+    }
+
+    connection = lm_connection_new (server);
+
+    if (use_ssl) {
+        LmSSL *ssl;
+
+        if (!lm_ssl_is_supported ()) {
+            g_print ("This loudmouth installation doesn't support SSL\n");
+            return 1;
         }
 
-        server = argv[1];
-        username = argv[2];
-        pass = argv[3];
-
-	if (argc >= 4) {
-		int i;
+        g_print ("Setting ssl\n");
+        ssl = lm_ssl_new (NULL, ssl_func, NULL, NULL);
+        lm_connection_set_ssl (connection, ssl);
+        lm_ssl_unref (ssl);
 
-		for (i = 4; i < argc; ++i) {
-			if (strcmp (argv[i], "-s") == 0 ||
-			    strcmp (argv[i], "--ssl") == 0) {
-				use_ssl = TRUE;
-				break;
-			}
-		}
-	}
-
-        connection = lm_connection_new (server);
+        lm_connection_set_port (connection,
+                                LM_CONNECTION_DEFAULT_PORT_SSL);
+    }
 
-	if (use_ssl) {
-		LmSSL *ssl;
+    if (!lm_connection_open_and_block (connection, &error)) {
+        g_error ("Failed to open: %s\n", error->message);
+    }
 
-		if (!lm_ssl_is_supported ()) {
-			g_print ("This loudmouth installation doesn't support SSL\n");
-			return 1;
-		}
+    m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
+                                      LM_MESSAGE_SUB_TYPE_SET);
 
-		g_print ("Setting ssl\n");
-		ssl = lm_ssl_new (NULL, ssl_func, NULL, NULL);
-		lm_connection_set_ssl (connection, ssl);
-		lm_ssl_unref (ssl);
+    query = lm_message_node_add_child (m->node, "query", NULL);
 
-		lm_connection_set_port (connection,
-					LM_CONNECTION_DEFAULT_PORT_SSL);
-	}
-
-        if (!lm_connection_open_and_block (connection, &error)) {
-                g_error ("Failed to open: %s\n", error->message);
-        }
+    lm_message_node_set_attributes (query, "xmlns", "jabber:iq:register",
+                                    NULL);
+    lm_message_node_add_child (query, "username", username);
+    lm_message_node_add_child (query, "password", pass);
 
-	m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
-					  LM_MESSAGE_SUB_TYPE_SET);
-
-        query = lm_message_node_add_child (m->node, "query", NULL);
-
-        lm_message_node_set_attributes (query, "xmlns", "jabber:iq:register",
-                                        NULL);
-        lm_message_node_add_child (query, "username", username);
-        lm_message_node_add_child (query, "password", pass);
-
-	reply = lm_connection_send_with_reply_and_block (connection, 
-							 m, &error);
-	
-        if (!reply) {
-                g_error ("Failed to send registration request: %s\n", 
-			 error->message);
-        }
+    reply = lm_connection_send_with_reply_and_block (connection, 
+                                                     m, &error);
+    
+    if (!reply) {
+        g_error ("Failed to send registration request: %s\n", 
+                 error->message);
+    }
 
-	switch (lm_message_get_sub_type (reply)) {
-	case LM_MESSAGE_SUB_TYPE_RESULT:
-		g_print ("Succeeded in register account '%s@%s'\n",
-			 username, server);
-		break;
-	case LM_MESSAGE_SUB_TYPE_ERROR:
-	default:
-		g_print ("Failed to register account '%s@%s' due to: ",
-			 username, server);
-		
-		node = lm_message_node_find_child (reply->node, "error");
-		if (node) {
-			g_print ("%s\n", lm_message_node_get_value (node));
-		} else {
-			g_print ("Unknown error\n");
-		}
-		break;
-	}
+    switch (lm_message_get_sub_type (reply)) {
+    case LM_MESSAGE_SUB_TYPE_RESULT:
+        g_print ("Succeeded in register account '%s@%s'\n",
+                 username, server);
+        break;
+    case LM_MESSAGE_SUB_TYPE_ERROR:
+    default:
+        g_print ("Failed to register account '%s@%s' due to: ",
+                 username, server);
+        
+        node = lm_message_node_find_child (reply->node, "error");
+        if (node) {
+            g_print ("%s\n", lm_message_node_get_value (node));
+        } else {
+            g_print ("Unknown error\n");
+        }
+        break;
+    }
 
-        lm_connection_close (connection, NULL);
+    lm_connection_close (connection, NULL);
 
-	return 0;
+    return 0;
 }
 
--- a/examples/lm-send-async.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/lm-send-async.c	Wed Oct 08 13:11:02 2008 +0200
@@ -47,93 +47,93 @@
 
 static GOptionEntry entries[] = 
 {
-  { "server", 's', 0, G_OPTION_ARG_STRING, &server, 
-    "Server to connect to", NULL },
-  { "port", 'P', 0, G_OPTION_ARG_INT, &port, 
-    "Port to connect to [default=5222]", NULL },
-  { "username", 'u', 0, G_OPTION_ARG_STRING, &username, 
-    "Username to connect with (user@server.org)", NULL },
-  { "password", 'p', 0, G_OPTION_ARG_STRING, &password, 
-    "Password to try", NULL },
-  { "resource", 'r', 0, G_OPTION_ARG_STRING, &resource, 
-    "Resource connect with [default=lm-send-async]", NULL },
-  { "recipient", 'R', 0, G_OPTION_ARG_STRING, &recipient, 
-    "Recipient to send the message to (e.g. user@server.org)", NULL },
-  { "fingerprint", 'f', 0, G_OPTION_ARG_STRING, &fingerprint, 
-    "SSL Fingerprint to use", NULL },
-  { "message", 'm', 0, G_OPTION_ARG_STRING, &message, 
-    "Message to send to recipient [default=test message]", NULL },
-  { NULL }
+    { "server", 's', 0, G_OPTION_ARG_STRING, &server, 
+      "Server to connect to", NULL },
+    { "port", 'P', 0, G_OPTION_ARG_INT, &port, 
+      "Port to connect to [default=5222]", NULL },
+    { "username", 'u', 0, G_OPTION_ARG_STRING, &username, 
+      "Username to connect with (user@server.org)", NULL },
+    { "password", 'p', 0, G_OPTION_ARG_STRING, &password, 
+      "Password to try", NULL },
+    { "resource", 'r', 0, G_OPTION_ARG_STRING, &resource, 
+      "Resource connect with [default=lm-send-async]", NULL },
+    { "recipient", 'R', 0, G_OPTION_ARG_STRING, &recipient, 
+      "Recipient to send the message to (e.g. user@server.org)", NULL },
+    { "fingerprint", 'f', 0, G_OPTION_ARG_STRING, &fingerprint, 
+      "SSL Fingerprint to use", NULL },
+    { "message", 'm', 0, G_OPTION_ARG_STRING, &message, 
+      "Message to send to recipient [default=test message]", NULL },
+    { NULL }
 };
 
 static gchar *
 get_part_name (const gchar *username)
 {
-	const gchar *ch;
+    const gchar *ch;
 
-	g_return_val_if_fail (username != NULL, NULL);
+    g_return_val_if_fail (username != NULL, NULL);
 
-	ch = strchr (username, '@');
-	if (!ch) {
-		return NULL;
-	}
+    ch = strchr (username, '@');
+    if (!ch) {
+        return NULL;
+    }
 
-	return g_strndup (username, ch - username);
+    return g_strndup (username, ch - username);
 }
 
 static void
 print_finger (const char   *fpr,
-	      unsigned int  size)
+              unsigned int  size)
 {
-	gint i;
-	for (i = 0; i < size-1; i++) {
-		g_printerr ("%02X:", fpr[i]);
-	}
-	
-	g_printerr ("%02X", fpr[size-1]);
+    gint i;
+    for (i = 0; i < size-1; i++) {
+        g_printerr ("%02X:", fpr[i]);
+    }
+    
+    g_printerr ("%02X", fpr[size-1]);
 }
 
 static LmSSLResponse
 ssl_cb (LmSSL       *ssl, 
-	LmSSLStatus  status, 
-	gpointer     ud)
+        LmSSLStatus  status, 
+        gpointer     ud)
 {
-	g_print ("LmSendAsync: SSL status:%d\n", status);
+    g_print ("LmSendAsync: SSL status:%d\n", status);
 
-	switch (status) {
-	case LM_SSL_STATUS_NO_CERT_FOUND:
-		g_printerr ("LmSendAsync: No certificate found!\n");
-		break;
-	case LM_SSL_STATUS_UNTRUSTED_CERT:
-		g_printerr ("LmSendAsync: Certificate is not trusted!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_EXPIRED:
-		g_printerr ("LmSendAsync: Certificate has expired!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_NOT_ACTIVATED:
-		g_printerr ("LmSendAsync: Certificate has not been activated!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH:
-		g_printerr ("LmSendAsync: Certificate hostname does not match expected hostname!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: {
-		const char *fpr = lm_ssl_get_fingerprint (ssl);
-		g_printerr ("LmSendAsync: Certificate fingerprint does not match expected fingerprint!\n"); 
-		g_printerr ("LmSendAsync: Remote fingerprint: ");
-		print_finger (fpr, 16);
+    switch (status) {
+    case LM_SSL_STATUS_NO_CERT_FOUND:
+        g_printerr ("LmSendAsync: No certificate found!\n");
+        break;
+    case LM_SSL_STATUS_UNTRUSTED_CERT:
+        g_printerr ("LmSendAsync: Certificate is not trusted!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_EXPIRED:
+        g_printerr ("LmSendAsync: Certificate has expired!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_NOT_ACTIVATED:
+        g_printerr ("LmSendAsync: Certificate has not been activated!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH:
+        g_printerr ("LmSendAsync: Certificate hostname does not match expected hostname!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: {
+        const char *fpr = lm_ssl_get_fingerprint (ssl);
+        g_printerr ("LmSendAsync: Certificate fingerprint does not match expected fingerprint!\n"); 
+        g_printerr ("LmSendAsync: Remote fingerprint: ");
+        print_finger (fpr, 16);
 
-		g_printerr ("\n"
-			    "LmSendAsync: Expected fingerprint: ");
-		print_finger (expected_fingerprint, 16);
-		g_printerr ("\n");
-		break;
-	}
-	case LM_SSL_STATUS_GENERIC_ERROR:
-		g_printerr ("LmSendAsync: Generic SSL error!\n"); 
-		break;
-	}
+        g_printerr ("\n"
+                    "LmSendAsync: Expected fingerprint: ");
+        print_finger (expected_fingerprint, 16);
+        g_printerr ("\n");
+        break;
+    }
+    case LM_SSL_STATUS_GENERIC_ERROR:
+        g_printerr ("LmSendAsync: Generic SSL error!\n"); 
+        break;
+    }
 
-	return LM_SSL_RESPONSE_CONTINUE;
+    return LM_SSL_RESPONSE_CONTINUE;
 }
 
 static void
@@ -141,121 +141,121 @@
                     gboolean      success, 
                     gpointer      user_data)
 {
-	if (success) {
-		GError    *error = NULL;
-		LmMessage *m;
+    if (success) {
+        GError    *error = NULL;
+        LmMessage *m;
 
-		g_print ("LmSendAsync: Authenticated successfully\n");
-		
-		m = lm_message_new (recipient, LM_MESSAGE_TYPE_MESSAGE);
-		lm_message_node_add_child (m->node, "body", message);
-		
-		if (!lm_connection_send (connection, m, &error)) {
-			g_printerr ("LmSendAsync: Failed to send message:'%s'\n", 
-				 lm_message_node_to_string (m->node));
-		} else {
-			g_print ("LmSendAsync: Sent message:'%s'\n", 
-				 lm_message_node_to_string (m->node));
-			test_success = TRUE;
-		}
-		
-		lm_message_unref (m);
-	} else {
-		g_printerr ("LmSendAsync: Failed to authenticate\n");
-	}
+        g_print ("LmSendAsync: Authenticated successfully\n");
+        
+        m = lm_message_new (recipient, LM_MESSAGE_TYPE_MESSAGE);
+        lm_message_node_add_child (m->node, "body", message);
+        
+        if (!lm_connection_send (connection, m, &error)) {
+            g_printerr ("LmSendAsync: Failed to send message:'%s'\n", 
+                        lm_message_node_to_string (m->node));
+        } else {
+            g_print ("LmSendAsync: Sent message:'%s'\n", 
+                     lm_message_node_to_string (m->node));
+            test_success = TRUE;
+        }
+        
+        lm_message_unref (m);
+    } else {
+        g_printerr ("LmSendAsync: Failed to authenticate\n");
+    }
 
-	lm_connection_close (connection, NULL);
-	g_main_loop_quit (main_loop);
+    lm_connection_close (connection, NULL);
+    g_main_loop_quit (main_loop);
 }
 
 static void
 connection_open_cb (LmConnection *connection,
-		    gboolean      success,
-		    gpointer      user_data)
+                    gboolean      success,
+                    gpointer      user_data)
 {
-	if (success) {
-		gchar *user;
+    if (success) {
+        gchar *user;
 
-		user = get_part_name (username);
-		if (!lm_connection_authenticate (connection, user, 
-						 password, resource,
-						 connection_auth_cb, 
-						 NULL, FALSE,  NULL)) {
-			g_free (user);
-			g_printerr ("LmSendAsync: Failed to send authentication\n");
-			g_main_loop_quit (main_loop);
-			return;
-		}
+        user = get_part_name (username);
+        if (!lm_connection_authenticate (connection, user, 
+                                         password, resource,
+                                         connection_auth_cb, 
+                                         NULL, FALSE,  NULL)) {
+            g_free (user);
+            g_printerr ("LmSendAsync: Failed to send authentication\n");
+            g_main_loop_quit (main_loop);
+            return;
+        }
 
-		g_free (user);
+        g_free (user);
 
-		g_print ("LmSendAsync: Sent authentication message\n");
-	} else {
-		g_printerr ("LmSendAsync: Failed to connect\n");
-		g_main_loop_quit (main_loop);
-	}
+        g_print ("LmSendAsync: Sent authentication message\n");
+    } else {
+        g_printerr ("LmSendAsync: Failed to connect\n");
+        g_main_loop_quit (main_loop);
+    }
 }
 
 int
 main (int argc, char **argv)
 {
-	GMainContext   *main_context;
-	GOptionContext *context;
-        LmConnection   *connection;
+    GMainContext   *main_context;
+    GOptionContext *context;
+    LmConnection   *connection;
 
-	context = g_option_context_new ("- test send message asynchronously");
-	g_option_context_add_main_entries (context, entries, NULL);
-	g_option_context_parse (context, &argc, &argv, NULL);
-	g_option_context_free (context);
-	
-	if (!username || !password || !recipient) {
-		g_printerr ("For usage, try %s --help\n", argv[0]);
-		return EXIT_FAILURE;
-	}
-
-	if (username && strchr (username, '@') == NULL) {
-		g_printerr ("LmSendAsync: Username must have an '@' included\n");
-		return EXIT_FAILURE;
-	}
-
-	main_context = g_main_context_new ();
-        connection = lm_connection_new_with_context (server, main_context);
-	lm_connection_set_port (connection, port);
-	lm_connection_set_jid (connection, username);
+    context = g_option_context_new ("- test send message asynchronously");
+    g_option_context_add_main_entries (context, entries, NULL);
+    g_option_context_parse (context, &argc, &argv, NULL);
+    g_option_context_free (context);
+    
+    if (!username || !password || !recipient) {
+        g_printerr ("For usage, try %s --help\n", argv[0]);
+        return EXIT_FAILURE;
+    }
 
-	if (fingerprint) {
-		LmSSL *ssl;
-		char  *p;
-		int    i;
-		
-		if (port == LM_CONNECTION_DEFAULT_PORT) {
-			lm_connection_set_port (connection,
-						LM_CONNECTION_DEFAULT_PORT_SSL);
-		}
+    if (username && strchr (username, '@') == NULL) {
+        g_printerr ("LmSendAsync: Username must have an '@' included\n");
+        return EXIT_FAILURE;
+    }
 
-		for (i = 0, p = fingerprint; *p && *(p+1); i++, p += 3) {
-			expected_fingerprint[i] = (unsigned char) g_ascii_strtoull (p, NULL, 16);
-		}
-	
-		ssl = lm_ssl_new (expected_fingerprint,
-				  (LmSSLFunction) ssl_cb,
-				  NULL, NULL);
-	
-                lm_ssl_use_starttls (ssl, TRUE, FALSE);
+    main_context = g_main_context_new ();
+    connection = lm_connection_new_with_context (server, main_context);
+    lm_connection_set_port (connection, port);
+    lm_connection_set_jid (connection, username);
 
-		lm_connection_set_ssl (connection, ssl);
-		lm_ssl_unref (ssl);
-	}
-
-	if (!lm_connection_open (connection, 
-                                 (LmResultFunction) connection_open_cb,
-                                 NULL, NULL, NULL)) {
-                g_printerr ("LmSendAsync: Could not open a connection\n");
-		return EXIT_FAILURE;
+    if (fingerprint) {
+        LmSSL *ssl;
+        char  *p;
+        int    i;
+        
+        if (port == LM_CONNECTION_DEFAULT_PORT) {
+            lm_connection_set_port (connection,
+                                    LM_CONNECTION_DEFAULT_PORT_SSL);
         }
 
-        main_loop = g_main_loop_new (main_context, FALSE);
-        g_main_loop_run (main_loop);
+        for (i = 0, p = fingerprint; *p && *(p+1); i++, p += 3) {
+            expected_fingerprint[i] = (unsigned char) g_ascii_strtoull (p, NULL, 16);
+        }
+    
+        ssl = lm_ssl_new (expected_fingerprint,
+                          (LmSSLFunction) ssl_cb,
+                          NULL, NULL);
+    
+        lm_ssl_use_starttls (ssl, TRUE, FALSE);
 
-	return (test_success ? EXIT_SUCCESS : EXIT_FAILURE);
+        lm_connection_set_ssl (connection, ssl);
+        lm_ssl_unref (ssl);
+    }
+
+    if (!lm_connection_open (connection, 
+                             (LmResultFunction) connection_open_cb,
+                             NULL, NULL, NULL)) {
+        g_printerr ("LmSendAsync: Could not open a connection\n");
+        return EXIT_FAILURE;
+    }
+
+    main_loop = g_main_loop_new (main_context, FALSE);
+    g_main_loop_run (main_loop);
+
+    return (test_success ? EXIT_SUCCESS : EXIT_FAILURE);
 }
--- a/examples/test-http-proxy.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/test-http-proxy.c	Wed Oct 08 13:11:02 2008 +0200
@@ -29,48 +29,48 @@
 #endif
  
 typedef struct {
-        gchar *name;
-        gchar *passwd;
+    gchar *name;
+    gchar *passwd;
 } UserInfo;
  
 static void
 free_user_info (UserInfo *info)
 {
-        g_free (info->name);
-        g_free (info->passwd);
+    g_free (info->name);
+    g_free (info->passwd);
  
-        g_free (info);
+    g_free (info);
 }
  
  
 static void
 authentication_cb (LmConnection *connection, gboolean result, gpointer ud)
 {
-        g_print ("Auth: %d\n", result);
-	free_user_info ((UserInfo *) ud);
+    g_print ("Auth: %d\n", result);
+    free_user_info ((UserInfo *) ud);
  
-        if (result == TRUE) {
-                LmMessage *m;
+    if (result == TRUE) {
+        LmMessage *m;
                  
-		m = lm_message_new_with_sub_type (NULL,
-                                                  LM_MESSAGE_TYPE_PRESENCE,
-                                                  LM_MESSAGE_SUB_TYPE_AVAILABLE);
-                g_print (":: %s\n", lm_message_node_to_string (m->node));
+        m = lm_message_new_with_sub_type (NULL,
+                                          LM_MESSAGE_TYPE_PRESENCE,
+                                          LM_MESSAGE_SUB_TYPE_AVAILABLE);
+        g_print (":: %s\n", lm_message_node_to_string (m->node));
                  
-                lm_connection_send (connection, m, NULL);
-                lm_message_unref (m);
-        }
+        lm_connection_send (connection, m, NULL);
+        lm_message_unref (m);
+    }
 
 }
  
 static void
 connection_open_cb (LmConnection *connection, gboolean result, UserInfo *info)
 {
-        g_print ("Connected callback\n");
-        lm_connection_authenticate (connection,
-                                    info->name, info->passwd, "TestLM",
-                                    authentication_cb, info, FALSE,  NULL);
-        g_print ("Sent auth message\n");
+    g_print ("Connected callback\n");
+    lm_connection_authenticate (connection,
+                                info->name, info->passwd, "TestLM",
+                                authentication_cb, info, FALSE,  NULL);
+    g_print ("Sent auth message\n");
 }
  
 static LmHandlerResult
@@ -79,61 +79,61 @@
                  LmMessage        *m,
                  gpointer          user_data)
 {
-        g_print ("Incoming message from: %s\n",
-                 lm_message_node_get_attribute (m->node, "from"));
+    g_print ("Incoming message from: %s\n",
+             lm_message_node_get_attribute (m->node, "from"));
  
-        return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 int
 main (int argc, char **argv)
 {
-        GMainLoop        *main_loop;
-        LmConnection     *connection;
-        LmMessageHandler *handler;
-        gboolean          result;
-        UserInfo         *info;
-	LmProxy          *proxy; 
-	guint             proxy_port;
+    GMainLoop        *main_loop;
+    LmConnection     *connection;
+    LmMessageHandler *handler;
+    gboolean          result;
+    UserInfo         *info;
+    LmProxy          *proxy; 
+    guint             proxy_port;
                                                                                 
-        if (argc < 6) {
-                g_print ("Usage: %s <server> <username> <password> <proxyserver> <proxyport>\n", argv[0]);
-                return 1;
-        }
+    if (argc < 6) {
+        g_print ("Usage: %s <server> <username> <password> <proxyserver> <proxyport>\n", argv[0]);
+        return 1;
+    }
                                                                                 
-        connection = lm_connection_new (argv[1]);
+    connection = lm_connection_new (argv[1]);
 
-	proxy = lm_proxy_new (LM_PROXY_TYPE_HTTP);
-	lm_proxy_set_server (proxy, argv[4]);
+    proxy = lm_proxy_new (LM_PROXY_TYPE_HTTP);
+    lm_proxy_set_server (proxy, argv[4]);
 
-	proxy_port = strtol (argv[5], (char **) NULL, 10);
-	lm_proxy_set_port (proxy, proxy_port);
-	lm_connection_set_proxy (connection, proxy);
-	lm_proxy_unref (proxy);
+    proxy_port = strtol (argv[5], (char **) NULL, 10);
+    lm_proxy_set_port (proxy, proxy_port);
+    lm_connection_set_proxy (connection, proxy);
+    lm_proxy_unref (proxy);
                                                                                 
-        handler = lm_message_handler_new (handle_messages, NULL, NULL);
-        lm_connection_register_message_handler (connection, handler,
-                                                LM_MESSAGE_TYPE_MESSAGE,
-                                                LM_HANDLER_PRIORITY_NORMAL);
+    handler = lm_message_handler_new (handle_messages, NULL, NULL);
+    lm_connection_register_message_handler (connection, handler,
+                                            LM_MESSAGE_TYPE_MESSAGE,
+                                            LM_HANDLER_PRIORITY_NORMAL);
                                                                                 
-        lm_message_handler_unref (handler);
+    lm_message_handler_unref (handler);
                                                                                 
-        info = g_new0 (UserInfo, 1);
-        info->name = g_strdup (argv[2]);
-        info->passwd = g_strdup (argv[3]);
+    info = g_new0 (UserInfo, 1);
+    info->name = g_strdup (argv[2]);
+    info->passwd = g_strdup (argv[3]);
                                                                                 
-        result = lm_connection_open (connection,
-                                     (LmResultFunction) connection_open_cb,
-                                     info, NULL, NULL);
+    result = lm_connection_open (connection,
+                                 (LmResultFunction) connection_open_cb,
+                                 info, NULL, NULL);
                                                                                 
-        if (!result) {
-                g_print ("Opening connection failed: %d\n", result);
-        } else {
-                g_print ("Returned from the connection_open\n");
-        }
+    if (!result) {
+        g_print ("Opening connection failed: %d\n", result);
+    } else {
+        g_print ("Returned from the connection_open\n");
+    }
                                                                                 
-        main_loop = g_main_loop_new (NULL, FALSE);
-        g_main_loop_run (main_loop);
+    main_loop = g_main_loop_new (NULL, FALSE);
+    g_main_loop_run (main_loop);
                                                                                 
-        return 0;
+    return 0;
 }
 
--- a/examples/test-lm.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/test-lm.c	Wed Oct 08 13:11:02 2008 +0200
@@ -40,260 +40,260 @@
 
 static GOptionEntry entries[] = 
 {
-  { "server", 's', 0, G_OPTION_ARG_STRING, &server, 
-    "Server to connect to", NULL },
-  { "port", 'P', 0, G_OPTION_ARG_INT, &port, 
-    "Port to connect to [default=5222]", NULL },
-  { "username", 'u', 0, G_OPTION_ARG_STRING, &username, 
-    "Username to connect with (user@server.org)", NULL },
-  { "password", 'p', 0, G_OPTION_ARG_STRING, &password, 
-    "Password to try", NULL },
-  { "resource", 'r', 0, G_OPTION_ARG_STRING, &resource, 
-    "Resource connect with [default=test-lm]", NULL },
-  { "fingerprint", 'f', 0, G_OPTION_ARG_STRING, &fingerprint, 
-    "SSL Fingerprint to use", NULL },
-  { NULL }
+    { "server", 's', 0, G_OPTION_ARG_STRING, &server, 
+      "Server to connect to", NULL },
+    { "port", 'P', 0, G_OPTION_ARG_INT, &port, 
+      "Port to connect to [default=5222]", NULL },
+    { "username", 'u', 0, G_OPTION_ARG_STRING, &username, 
+      "Username to connect with (user@server.org)", NULL },
+    { "password", 'p', 0, G_OPTION_ARG_STRING, &password, 
+      "Password to try", NULL },
+    { "resource", 'r', 0, G_OPTION_ARG_STRING, &resource, 
+      "Resource connect with [default=test-lm]", NULL },
+    { "fingerprint", 'f', 0, G_OPTION_ARG_STRING, &fingerprint, 
+      "SSL Fingerprint to use", NULL },
+    { NULL }
 };
 
 static gchar *
 get_part_name (const gchar *username)
 {
-	const gchar *ch;
+    const gchar *ch;
 
-	g_return_val_if_fail (username != NULL, NULL);
+    g_return_val_if_fail (username != NULL, NULL);
 
-	ch = strchr (username, '@');
-	if (!ch) {
-		return NULL;
-	}
+    ch = strchr (username, '@');
+    if (!ch) {
+        return NULL;
+    }
 
-	return g_strndup (username, ch - username);
+    return g_strndup (username, ch - username);
 }
 
 static void
 print_finger (const char   *fpr,
-	      unsigned int  size)
+              unsigned int  size)
 {
-	gint i;
-	for (i = 0; i < size-1; i++) {
-		g_printerr ("%02X:", fpr[i]);
-	}
-	
-	g_printerr ("%02X", fpr[size-1]);
+    gint i;
+    for (i = 0; i < size-1; i++) {
+        g_printerr ("%02X:", fpr[i]);
+    }
+    
+    g_printerr ("%02X", fpr[size-1]);
 }
 
 static LmSSLResponse
 ssl_cb (LmSSL       *ssl, 
-	LmSSLStatus  status, 
-	gpointer     ud)
+        LmSSLStatus  status, 
+        gpointer     ud)
 {
-	g_print ("TestLM: SSL status:%d\n", status);
+    g_print ("TestLM: SSL status:%d\n", status);
 
-	switch (status) {
-	case LM_SSL_STATUS_NO_CERT_FOUND:
-		g_printerr ("TestLM: No certificate found!\n");
-		break;
-	case LM_SSL_STATUS_UNTRUSTED_CERT:
-		g_printerr ("TestLM: Certificate is not trusted!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_EXPIRED:
-		g_printerr ("TestLM: Certificate has expired!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_NOT_ACTIVATED:
-		g_printerr ("TestLM: Certificate has not been activated!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH:
-		g_printerr ("TestLM: Certificate hostname does not match expected hostname!\n"); 
-		break;
-	case LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: {
-		const char *fpr = lm_ssl_get_fingerprint (ssl);
-		g_printerr ("TestLM: Certificate fingerprint does not match expected fingerprint!\n"); 
-		g_printerr ("TestLM: Remote fingerprint: ");
-		print_finger (fpr, 16);
+    switch (status) {
+    case LM_SSL_STATUS_NO_CERT_FOUND:
+        g_printerr ("TestLM: No certificate found!\n");
+        break;
+    case LM_SSL_STATUS_UNTRUSTED_CERT:
+        g_printerr ("TestLM: Certificate is not trusted!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_EXPIRED:
+        g_printerr ("TestLM: Certificate has expired!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_NOT_ACTIVATED:
+        g_printerr ("TestLM: Certificate has not been activated!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH:
+        g_printerr ("TestLM: Certificate hostname does not match expected hostname!\n"); 
+        break;
+    case LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: {
+        const char *fpr = lm_ssl_get_fingerprint (ssl);
+        g_printerr ("TestLM: Certificate fingerprint does not match expected fingerprint!\n"); 
+        g_printerr ("TestLM: Remote fingerprint: ");
+        print_finger (fpr, 16);
 
-		g_printerr ("\n"
-			    "TestLM: Expected fingerprint: ");
-		print_finger (expected_fingerprint, 16);
-		g_printerr ("\n");
-		break;
-	}
-	case LM_SSL_STATUS_GENERIC_ERROR:
-		g_printerr ("TestLM: Generic SSL error!\n"); 
-		break;
-	}
+        g_printerr ("\n"
+                    "TestLM: Expected fingerprint: ");
+        print_finger (expected_fingerprint, 16);
+        g_printerr ("\n");
+        break;
+    }
+    case LM_SSL_STATUS_GENERIC_ERROR:
+        g_printerr ("TestLM: Generic SSL error!\n"); 
+        break;
+    }
 
-	return LM_SSL_RESPONSE_CONTINUE;
+    return LM_SSL_RESPONSE_CONTINUE;
 }
 
 static void
 connection_auth_cb (LmConnection *connection,
-		    gboolean      success, 
-		    gpointer      user_data)
+                    gboolean      success, 
+                    gpointer      user_data)
 {
-	if (success) {
-		LmMessage *m;
-		
-		test_success = TRUE;
-		g_print ("TestLM: Authenticated successfully\n");
+    if (success) {
+        LmMessage *m;
+        
+        test_success = TRUE;
+        g_print ("TestLM: Authenticated successfully\n");
 
-		m = lm_message_new_with_sub_type (NULL,
-						  LM_MESSAGE_TYPE_PRESENCE,
-						  LM_MESSAGE_SUB_TYPE_AVAILABLE);
-		lm_connection_send (connection, m, NULL);
-		g_print ("TestLM: Sent presence message:'%s'\n", 
-			 lm_message_node_to_string (m->node));
+        m = lm_message_new_with_sub_type (NULL,
+                                          LM_MESSAGE_TYPE_PRESENCE,
+                                          LM_MESSAGE_SUB_TYPE_AVAILABLE);
+        lm_connection_send (connection, m, NULL);
+        g_print ("TestLM: Sent presence message:'%s'\n", 
+                 lm_message_node_to_string (m->node));
 
-		lm_message_unref (m);
-	} else {
-		g_printerr ("TestLM: Failed to authenticate\n");
-		g_main_loop_quit (main_loop);
-	}
+        lm_message_unref (m);
+    } else {
+        g_printerr ("TestLM: Failed to authenticate\n");
+        g_main_loop_quit (main_loop);
+    }
 }
 
 static void
 connection_open_cb (LmConnection *connection, 
-		    gboolean      success,
-		    gpointer      user_data)
+                    gboolean      success,
+                    gpointer      user_data)
 {
-	if (success) {
-		gchar *user;
+    if (success) {
+        gchar *user;
 
-		user = get_part_name (username);
-		lm_connection_authenticate (connection, user, 
-					    password, resource,
-					    connection_auth_cb, 
-					    NULL, FALSE,  NULL);
-		g_free (user);
-		
-		g_print ("TestLM: Sent authentication message\n");
-	} else {
-		g_printerr ("TestLM: Failed to connect\n");
-		g_main_loop_quit (main_loop);
-	}
+        user = get_part_name (username);
+        lm_connection_authenticate (connection, user, 
+                                    password, resource,
+                                    connection_auth_cb, 
+                                    NULL, FALSE,  NULL);
+        g_free (user);
+        
+        g_print ("TestLM: Sent authentication message\n");
+    } else {
+        g_printerr ("TestLM: Failed to connect\n");
+        g_main_loop_quit (main_loop);
+    }
 }
 
 static void
 connection_close_cb (LmConnection       *connection, 
-		     LmDisconnectReason  reason,
-		     gpointer            user_data)
+                     LmDisconnectReason  reason,
+                     gpointer            user_data)
 {
-	const char *str;
-	
-	switch (reason) {
-	case LM_DISCONNECT_REASON_OK:
-		str = "LM_DISCONNECT_REASON_OK";
-		break;
-	case LM_DISCONNECT_REASON_PING_TIME_OUT:
-		str = "LM_DISCONNECT_REASON_PING_TIME_OUT";
-		break;
-	case LM_DISCONNECT_REASON_HUP:
-		str = "LM_DISCONNECT_REASON_HUP";
-		break;
-	case LM_DISCONNECT_REASON_ERROR:
-		str = "LM_DISCONNECT_REASON_ERROR";
-		break;
-	case LM_DISCONNECT_REASON_UNKNOWN:
-	default:
-		str = "LM_DISCONNECT_REASON_UNKNOWN";
-		break;
-	}
+    const char *str;
+    
+    switch (reason) {
+    case LM_DISCONNECT_REASON_OK:
+        str = "LM_DISCONNECT_REASON_OK";
+        break;
+    case LM_DISCONNECT_REASON_PING_TIME_OUT:
+        str = "LM_DISCONNECT_REASON_PING_TIME_OUT";
+        break;
+    case LM_DISCONNECT_REASON_HUP:
+        str = "LM_DISCONNECT_REASON_HUP";
+        break;
+    case LM_DISCONNECT_REASON_ERROR:
+        str = "LM_DISCONNECT_REASON_ERROR";
+        break;
+    case LM_DISCONNECT_REASON_UNKNOWN:
+    default:
+        str = "LM_DISCONNECT_REASON_UNKNOWN";
+        break;
+    }
 
-	g_print ("TestLM: Disconnected, reason:%d->'%s'\n", reason, str);
+    g_print ("TestLM: Disconnected, reason:%d->'%s'\n", reason, str);
 }
 
 static LmHandlerResult
 handle_messages (LmMessageHandler *handler,
-		 LmConnection     *connection,
-		 LmMessage        *m,
-		 gpointer          user_data)
+                 LmConnection     *connection,
+                 LmMessage        *m,
+                 gpointer          user_data)
 {
-	g_print ("TestLM: Incoming message from: %s\n",
-		 lm_message_node_get_attribute (m->node, "from"));
+    g_print ("TestLM: Incoming message from: %s\n",
+             lm_message_node_get_attribute (m->node, "from"));
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 int 
 main (int argc, char **argv)
 {
-	GOptionContext   *context;
-	LmConnection     *connection;
-	LmMessageHandler *handler;
-	gboolean          result;
-	GError           *error = NULL;
-	
-	context = g_option_context_new ("- test Loudmouth");
-	g_option_context_add_main_entries (context, entries, NULL);
-	g_option_context_parse (context, &argc, &argv, NULL);
-	g_option_context_free (context);
-	
-	if (!server || !username || !password) {
-		g_printerr ("For usage, try %s --help\n", argv[0]);
-		return EXIT_FAILURE;
-	}
+    GOptionContext   *context;
+    LmConnection     *connection;
+    LmMessageHandler *handler;
+    gboolean          result;
+    GError           *error = NULL;
+    
+    context = g_option_context_new ("- test Loudmouth");
+    g_option_context_add_main_entries (context, entries, NULL);
+    g_option_context_parse (context, &argc, &argv, NULL);
+    g_option_context_free (context);
+    
+    if (!server || !username || !password) {
+        g_printerr ("For usage, try %s --help\n", argv[0]);
+        return EXIT_FAILURE;
+    }
 
-	if (fingerprint && !lm_ssl_is_supported ()) {
-		g_printerr ("TestLM: SSL is not supported in this build\n");
-		return EXIT_FAILURE;
-	}
+    if (fingerprint && !lm_ssl_is_supported ()) {
+        g_printerr ("TestLM: SSL is not supported in this build\n");
+        return EXIT_FAILURE;
+    }
 
-	if (username && strchr (username, '@') == NULL) {
-		g_printerr ("TestLM: Username must have an '@' included\n");
-		return EXIT_FAILURE;
-	}
+    if (username && strchr (username, '@') == NULL) {
+        g_printerr ("TestLM: Username must have an '@' included\n");
+        return EXIT_FAILURE;
+    }
 
-        connection = lm_connection_new (server);
-	lm_connection_set_port (connection, port);
-	lm_connection_set_jid (connection, username);
+    connection = lm_connection_new (server);
+    lm_connection_set_port (connection, port);
+    lm_connection_set_jid (connection, username);
 
-	handler = lm_message_handler_new (handle_messages, NULL, NULL);
-	lm_connection_register_message_handler (connection, handler, 
-						LM_MESSAGE_TYPE_MESSAGE, 
-						LM_HANDLER_PRIORITY_NORMAL);
-	
-	lm_message_handler_unref (handler);
-	
-	lm_connection_set_disconnect_function (connection,
-					       connection_close_cb,
-					       NULL, NULL);
+    handler = lm_message_handler_new (handle_messages, NULL, NULL);
+    lm_connection_register_message_handler (connection, handler, 
+                                            LM_MESSAGE_TYPE_MESSAGE, 
+                                            LM_HANDLER_PRIORITY_NORMAL);
+    
+    lm_message_handler_unref (handler);
+    
+    lm_connection_set_disconnect_function (connection,
+                                           connection_close_cb,
+                                           NULL, NULL);
 
-	if (fingerprint) {
-		LmSSL *ssl;
-		char  *p;
-		int    i;
-		
-		if (port == LM_CONNECTION_DEFAULT_PORT) {
-			lm_connection_set_port (connection,
-						LM_CONNECTION_DEFAULT_PORT_SSL);
-		}
+    if (fingerprint) {
+        LmSSL *ssl;
+        char  *p;
+        int    i;
+        
+        if (port == LM_CONNECTION_DEFAULT_PORT) {
+            lm_connection_set_port (connection,
+                                    LM_CONNECTION_DEFAULT_PORT_SSL);
+        }
 
-		for (i = 0, p = fingerprint; *p && *(p+1); i++, p += 3) {
-			expected_fingerprint[i] = (unsigned char) g_ascii_strtoull (p, NULL, 16);
-		}
-	
-		ssl = lm_ssl_new (expected_fingerprint,
-				  (LmSSLFunction) ssl_cb,
-				  NULL, NULL);
+        for (i = 0, p = fingerprint; *p && *(p+1); i++, p += 3) {
+            expected_fingerprint[i] = (unsigned char) g_ascii_strtoull (p, NULL, 16);
+        }
+    
+        ssl = lm_ssl_new (expected_fingerprint,
+                          (LmSSLFunction) ssl_cb,
+                          NULL, NULL);
 
-                lm_ssl_use_starttls (ssl, TRUE, FALSE);
-	
-		lm_connection_set_ssl (connection, ssl);
-		lm_ssl_unref (ssl);
-	}
+        lm_ssl_use_starttls (ssl, TRUE, FALSE);
+    
+        lm_connection_set_ssl (connection, ssl);
+        lm_ssl_unref (ssl);
+    }
 
-	result = lm_connection_open (connection,
-				     (LmResultFunction) connection_open_cb,
-				     NULL, NULL, &error);
+    result = lm_connection_open (connection,
+                                 (LmResultFunction) connection_open_cb,
+                                 NULL, NULL, &error);
 
-	if (!result) {
-		g_printerr ("TestLM: Opening connection failed, error:%d->'%s'\n", 
-			 error->code, error->message);
-		g_free (error);
-		return EXIT_FAILURE;
-	}
-	
-	main_loop = g_main_loop_new (NULL, FALSE);
-	g_main_loop_run (main_loop);
+    if (!result) {
+        g_printerr ("TestLM: Opening connection failed, error:%d->'%s'\n", 
+                    error->code, error->message);
+        g_free (error);
+        return EXIT_FAILURE;
+    }
+    
+    main_loop = g_main_loop_new (NULL, FALSE);
+    g_main_loop_run (main_loop);
 
-	return (test_success ? EXIT_SUCCESS : EXIT_FAILURE);
+    return (test_success ? EXIT_SUCCESS : EXIT_FAILURE);
 }
--- a/examples/test-tunnel.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/examples/test-tunnel.c	Wed Oct 08 13:11:02 2008 +0200
@@ -29,48 +29,48 @@
 #endif
  
 typedef struct {
-        gchar *name;
-        gchar *passwd;
+    gchar *name;
+    gchar *passwd;
 } UserInfo;
  
 static void
 free_user_info (UserInfo *info)
 {
-        g_free (info->name);
-        g_free (info->passwd);
+    g_free (info->name);
+    g_free (info->passwd);
  
-        g_free (info);
+    g_free (info);
 }
  
  
 static void
 authentication_cb (LmConnection *connection, gboolean result, gpointer ud)
 {
-        g_print ("Auth: %d\n", result);
-	free_user_info ((UserInfo *) ud);
+    g_print ("Auth: %d\n", result);
+    free_user_info ((UserInfo *) ud);
  
-        if (result == TRUE) {
-                LmMessage *m;
+    if (result == TRUE) {
+        LmMessage *m;
                  
-		m = lm_message_new_with_sub_type (NULL,
-                                                  LM_MESSAGE_TYPE_PRESENCE,
-                                                  LM_MESSAGE_SUB_TYPE_AVAILABLE);
-                g_print (":: %s\n", lm_message_node_to_string (m->node));
+        m = lm_message_new_with_sub_type (NULL,
+                                          LM_MESSAGE_TYPE_PRESENCE,
+                                          LM_MESSAGE_SUB_TYPE_AVAILABLE);
+        g_print (":: %s\n", lm_message_node_to_string (m->node));
                  
-                lm_connection_send (connection, m, NULL);
-                lm_message_unref (m);
-        }
+        lm_connection_send (connection, m, NULL);
+        lm_message_unref (m);
+    }
 
 }
  
 static void
 connection_open_cb (LmConnection *connection, gboolean result, UserInfo *info)
 {
-        g_print ("Connected callback\n");
-        lm_connection_authenticate (connection,
-                                    info->name, info->passwd, "TestLM",
-                                    authentication_cb, info, FALSE,  NULL);
-        g_print ("Sent auth message\n");
+    g_print ("Connected callback\n");
+    lm_connection_authenticate (connection,
+                                info->name, info->passwd, "TestLM",
+                                authentication_cb, info, FALSE,  NULL);
+    g_print ("Sent auth message\n");
 }
  
 static LmHandlerResult
@@ -79,58 +79,58 @@
                  LmMessage        *m,
                  gpointer          user_data)
 {
-        g_print ("Incoming message from: %s\n",
-                 lm_message_node_get_attribute (m->node, "from"));
+    g_print ("Incoming message from: %s\n",
+             lm_message_node_get_attribute (m->node, "from"));
  
-        return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 int
 main (int argc, char **argv)
 {
-        GMainLoop        *main_loop;
-        LmConnection     *connection;
-        LmMessageHandler *handler;
-        gboolean          result;
-        UserInfo         *info;
-	gchar            *jid;
+    GMainLoop        *main_loop;
+    LmConnection     *connection;
+    LmMessageHandler *handler;
+    gboolean          result;
+    UserInfo         *info;
+    gchar            *jid;
                                                                                 
-        if (argc < 6) {
-                g_print ("Usage: %s <server> <username> <password> <connectserver> <connectport>\n", argv[0]);
-                return 1;
-        }
+    if (argc < 6) {
+        g_print ("Usage: %s <server> <username> <password> <connectserver> <connectport>\n", argv[0]);
+        return 1;
+    }
                                                                                 
-        connection = lm_connection_new (argv[4]);
+    connection = lm_connection_new (argv[4]);
 
-	jid = g_strdup_printf ("%s@%s", argv[2], argv[1]);
-	lm_connection_set_jid (connection, jid);
-	g_free (jid);
+    jid = g_strdup_printf ("%s@%s", argv[2], argv[1]);
+    lm_connection_set_jid (connection, jid);
+    g_free (jid);
 
-	lm_connection_set_port (connection, strtol (argv[5], (char **) NULL, 10));
+    lm_connection_set_port (connection, strtol (argv[5], (char **) NULL, 10));
 
-        handler = lm_message_handler_new (handle_messages, NULL, NULL);
-        lm_connection_register_message_handler (connection, handler,
-                                                LM_MESSAGE_TYPE_MESSAGE,
-                                                LM_HANDLER_PRIORITY_NORMAL);
+    handler = lm_message_handler_new (handle_messages, NULL, NULL);
+    lm_connection_register_message_handler (connection, handler,
+                                            LM_MESSAGE_TYPE_MESSAGE,
+                                            LM_HANDLER_PRIORITY_NORMAL);
                                                                                 
-        lm_message_handler_unref (handler);
+    lm_message_handler_unref (handler);
                                                                                 
-        info = g_new0 (UserInfo, 1);
-        info->name = g_strdup (argv[2]);
-        info->passwd = g_strdup (argv[3]);
+    info = g_new0 (UserInfo, 1);
+    info->name = g_strdup (argv[2]);
+    info->passwd = g_strdup (argv[3]);
                                                                                 
-        result = lm_connection_open (connection,
-                                     (LmResultFunction) connection_open_cb,
-                                     info, NULL, NULL);
+    result = lm_connection_open (connection,
+                                 (LmResultFunction) connection_open_cb,
+                                 info, NULL, NULL);
                                                                                 
-        if (!result) {
-                g_print ("Opening connection failed: %d\n", result);
-        } else {
-                g_print ("Returned from the connection_open\n");
-        }
+    if (!result) {
+        g_print ("Opening connection failed: %d\n", result);
+    } else {
+        g_print ("Returned from the connection_open\n");
+    }
                                                                                 
-        main_loop = g_main_loop_new (NULL, FALSE);
-        g_main_loop_run (main_loop);
+    main_loop = g_main_loop_new (NULL, FALSE);
+    g_main_loop_run (main_loop);
                                                                                 
-        return 0;
+    return 0;
 }
 
--- a/loudmouth/asyncns.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/asyncns.c	Wed Oct 08 13:11:02 2008 +0200
@@ -1,22 +1,23 @@
+/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* $Id: asyncns.c 27 2007-02-16 13:51:03Z lennart $ */
 
 /***
-  This file is part of libasyncns.
+    This file is part of libasyncns.
  
-  libasyncns is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as
-  published by the Free Software Foundation; either version 2 of the
-  License, or (at your option) any later version.
+    libasyncns is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.
  
-  libasyncns is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+    libasyncns is distributed in the hope that it will be useful, but
+    WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    General Public License for more details.
  
-  You should have received a copy of the GNU Lesser General Public
-  License along with libasyncns; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-  USA.
+    You should have received a copy of the GNU Lesser General Public
+    License along with libasyncns; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+    USA.
 ***/
 
 /*#undef HAVE_PTHREAD */
@@ -291,86 +292,86 @@
     assert(length == req->length);
 
     switch (req->type) {
-        case REQUEST_ADDRINFO: {
-            struct addrinfo ai, *result = NULL;
-            const addrinfo_request_t *ai_req = (const addrinfo_request_t*) req;
-            const char *node, *service;
-            int ret;
+    case REQUEST_ADDRINFO: {
+        struct addrinfo ai, *result = NULL;
+        const addrinfo_request_t *ai_req = (const addrinfo_request_t*) req;
+        const char *node, *service;
+        int ret;
 
-            assert(length >= sizeof(addrinfo_request_t));
-            assert(length == sizeof(addrinfo_request_t) + ai_req->node_len + ai_req->service_len);
+        assert(length >= sizeof(addrinfo_request_t));
+        assert(length == sizeof(addrinfo_request_t) + ai_req->node_len + ai_req->service_len);
 
-            memset(&ai, 0, sizeof(ai));
-            ai.ai_flags = ai_req->ai_flags;
-            ai.ai_family = ai_req->ai_family;
-            ai.ai_socktype = ai_req->ai_socktype;
-            ai.ai_protocol = ai_req->ai_protocol;
+        memset(&ai, 0, sizeof(ai));
+        ai.ai_flags = ai_req->ai_flags;
+        ai.ai_family = ai_req->ai_family;
+        ai.ai_socktype = ai_req->ai_socktype;
+        ai.ai_protocol = ai_req->ai_protocol;
 
-            node = ai_req->node_len ? (const char*) req + sizeof(addrinfo_request_t) : NULL;
-            service = ai_req->service_len ? (const char*) req + sizeof(addrinfo_request_t) + ai_req->node_len : NULL;
+        node = ai_req->node_len ? (const char*) req + sizeof(addrinfo_request_t) : NULL;
+        service = ai_req->service_len ? (const char*) req + sizeof(addrinfo_request_t) + ai_req->node_len : NULL;
 
-            /*printf("[getaddrinfo for '%s']\n", node);*/
-            ret = getaddrinfo(node, service,
-                              ai_req->hints_is_null ? NULL : &ai,
-                              &result);
-            /*printf("[return value: %d: '%s']\n", ret, gai_strerror(ret));*/
+        /*printf("[getaddrinfo for '%s']\n", node);*/
+        ret = getaddrinfo(node, service,
+                          ai_req->hints_is_null ? NULL : &ai,
+                          &result);
+        /*printf("[return value: %d: '%s']\n", ret, gai_strerror(ret));*/
 
-            /* send_addrinfo_reply() frees result */
-            return send_addrinfo_reply(out_fd, req->id, ret, result);
-        }
+        /* send_addrinfo_reply() frees result */
+        return send_addrinfo_reply(out_fd, req->id, ret, result);
+    }
 
-        case REQUEST_NAMEINFO: {
-            int ret;
-            const nameinfo_request_t *ni_req = (const nameinfo_request_t*) req;
-            char hostbuf[NI_MAXHOST], servbuf[NI_MAXSERV];
-            const struct sockaddr *sa;
+    case REQUEST_NAMEINFO: {
+        int ret;
+        const nameinfo_request_t *ni_req = (const nameinfo_request_t*) req;
+        char hostbuf[NI_MAXHOST], servbuf[NI_MAXSERV];
+        const struct sockaddr *sa;
             
-            assert(length >= sizeof(nameinfo_request_t));
-            assert(length == sizeof(nameinfo_request_t) + ni_req->sockaddr_len);
+        assert(length >= sizeof(nameinfo_request_t));
+        assert(length == sizeof(nameinfo_request_t) + ni_req->sockaddr_len);
 
-            sa = (const struct sockaddr*) ((const char*) req + sizeof(nameinfo_request_t));
+        sa = (const struct sockaddr*) ((const char*) req + sizeof(nameinfo_request_t));
             
-            ret = getnameinfo(sa, ni_req->sockaddr_len,
-                              ni_req->gethost ? hostbuf : NULL, ni_req->gethost ? sizeof(hostbuf) : 0,
-                              ni_req->getserv ? servbuf : NULL, ni_req->getserv ? sizeof(servbuf) : 0,
-                              ni_req->flags);
+        ret = getnameinfo(sa, ni_req->sockaddr_len,
+                          ni_req->gethost ? hostbuf : NULL, ni_req->gethost ? sizeof(hostbuf) : 0,
+                          ni_req->getserv ? servbuf : NULL, ni_req->getserv ? sizeof(servbuf) : 0,
+                          ni_req->flags);
 
-            return send_nameinfo_reply(out_fd, req->id, ret,
-                                       ret == 0 && ni_req->gethost ? hostbuf : NULL,
-                                       ret == 0 && ni_req->getserv ? servbuf : NULL);
-        }
+        return send_nameinfo_reply(out_fd, req->id, ret,
+                                   ret == 0 && ni_req->gethost ? hostbuf : NULL,
+                                   ret == 0 && ni_req->getserv ? servbuf : NULL);
+    }
 
-        case REQUEST_RES_QUERY: 
-        case REQUEST_RES_SEARCH: {
-            int ret;
-            unsigned char answer[BUFSIZE];
-            const res_request_t *res_req = (const res_request_t *)req;
-            const char *dname;
+    case REQUEST_RES_QUERY: 
+    case REQUEST_RES_SEARCH: {
+        int ret;
+        unsigned char answer[BUFSIZE];
+        const res_request_t *res_req = (const res_request_t *)req;
+        const char *dname;
 
-            assert(length >= sizeof(res_request_t));
-            assert(length == sizeof(res_request_t) + res_req->dlen + 1);
+        assert(length >= sizeof(res_request_t));
+        assert(length == sizeof(res_request_t) + res_req->dlen + 1);
 
-            dname = (const char *) req + sizeof(res_request_t);
+        dname = (const char *) req + sizeof(res_request_t);
 
-            if (req->type == REQUEST_RES_QUERY) { 
-                /*printf("[res query for '%s']\n", dname);*/
-                ret = res_query(dname, res_req->class, res_req->type, 
-                                answer, BUFSIZE);
-                /*printf("[return value: %d]\n", ret);*/
-            } else {
-                ret = res_search(dname, res_req->class, res_req->type, 
-                                 answer, BUFSIZE);
-            }
-            return send_res_reply(out_fd, req->id, answer, ret);
+        if (req->type == REQUEST_RES_QUERY) { 
+            /*printf("[res query for '%s']\n", dname);*/
+            ret = res_query(dname, res_req->class, res_req->type, 
+                            answer, BUFSIZE);
+            /*printf("[return value: %d]\n", ret);*/
+        } else {
+            ret = res_search(dname, res_req->class, res_req->type, 
+                             answer, BUFSIZE);
         }
+        return send_res_reply(out_fd, req->id, answer, ret);
+    }
 
-        case REQUEST_TERMINATE: {
-            /* Quit */
-            return -1;
-        }
+    case REQUEST_TERMINATE: {
+        /* Quit */
+        return -1;
+    }
 
-        default:
-            ;
+    default:
+        ;
     }
 
     return 0;
@@ -545,7 +546,7 @@
 
     return asyncns;
 
-fail:
+ fail:
     if (asyncns) 
         asyncns_free(asyncns);
 
@@ -671,7 +672,7 @@
     return (uint8_t*) p + l;
 
 
-fail:
+ fail:
     if (ai)
         asyncns_freeaddrinfo(ai);
 
@@ -689,76 +690,76 @@
         return 0;
     
     switch (resp->type) {
-        case RESPONSE_ADDRINFO: {
-            const addrinfo_response_t *ai_resp = (addrinfo_response_t*) resp;
-            void *p;
-            size_t l;
-            struct addrinfo *prev = NULL;
+    case RESPONSE_ADDRINFO: {
+        const addrinfo_response_t *ai_resp = (addrinfo_response_t*) resp;
+        void *p;
+        size_t l;
+        struct addrinfo *prev = NULL;
 
-            assert(length >= sizeof(addrinfo_response_t));
-            assert(q->type == REQUEST_ADDRINFO);
+        assert(length >= sizeof(addrinfo_response_t));
+        assert(q->type == REQUEST_ADDRINFO);
 
-            q->ret = ai_resp->ret;
-            l = length - sizeof(addrinfo_response_t);
-            p = (uint8_t*) resp + sizeof(addrinfo_response_t);
+        q->ret = ai_resp->ret;
+        l = length - sizeof(addrinfo_response_t);
+        p = (uint8_t*) resp + sizeof(addrinfo_response_t);
 
-            while (l > 0 && p) {
-                struct addrinfo *ai = NULL;
-                p = unserialize_addrinfo(p, &ai, &l);
+        while (l > 0 && p) {
+            struct addrinfo *ai = NULL;
+            p = unserialize_addrinfo(p, &ai, &l);
 
-                if (!ai)
-                    break;
+            if (!ai)
+                break;
 
-                if (prev)
-                    prev->ai_next = ai;
-                else
-                    q->addrinfo = ai;
+            if (prev)
+                prev->ai_next = ai;
+            else
+                q->addrinfo = ai;
 
-                prev = ai;
-            }
-
-            complete_query(asyncns, q);
-            break;
+            prev = ai;
         }
 
-        case RESPONSE_NAMEINFO: {
-            const nameinfo_response_t *ni_resp = (nameinfo_response_t*) resp;
+        complete_query(asyncns, q);
+        break;
+    }
 
-            assert(length >= sizeof(nameinfo_response_t));
-            assert(q->type == REQUEST_NAMEINFO);
+    case RESPONSE_NAMEINFO: {
+        const nameinfo_response_t *ni_resp = (nameinfo_response_t*) resp;
 
-            q->ret = ni_resp->ret;
+        assert(length >= sizeof(nameinfo_response_t));
+        assert(q->type == REQUEST_NAMEINFO);
+
+        q->ret = ni_resp->ret;
 
-            if (ni_resp->hostlen)
-                q->host = g_strndup((const char*) ni_resp + sizeof(nameinfo_response_t), (gsize)ni_resp->hostlen-1);
+        if (ni_resp->hostlen)
+            q->host = g_strndup((const char*) ni_resp + sizeof(nameinfo_response_t), (gsize)ni_resp->hostlen-1);
 
-            if (ni_resp->servlen)
-                q->serv = g_strndup((const char*) ni_resp + sizeof(nameinfo_response_t) + ni_resp->hostlen, (gsize)ni_resp->servlen-1);
+        if (ni_resp->servlen)
+            q->serv = g_strndup((const char*) ni_resp + sizeof(nameinfo_response_t) + ni_resp->hostlen, (gsize)ni_resp->servlen-1);
                     
 
-            complete_query(asyncns, q);
-            break;
+        complete_query(asyncns, q);
+        break;
+    }
+
+    case RESPONSE_RES: {
+        const res_response_t *res_resp = (res_response_t *)resp;
+
+        assert(length >= sizeof(res_response_t));
+        assert(q->type == REQUEST_RES_QUERY || q->type == REQUEST_RES_SEARCH);
+
+        q->ret = res_resp->ret;
+
+        if (res_resp->ret >= 0)  {
+            q->serv = malloc(res_resp->ret);
+            memcpy(q->serv, (char *)resp + sizeof(res_response_t), res_resp->ret);
         }
 
-        case RESPONSE_RES: {
-            const res_response_t *res_resp = (res_response_t *)resp;
-
-            assert(length >= sizeof(res_response_t));
-            assert(q->type == REQUEST_RES_QUERY || q->type == REQUEST_RES_SEARCH);
-
-            q->ret = res_resp->ret;
-
-            if (res_resp->ret >= 0)  {
-                q->serv = malloc(res_resp->ret);
-                memcpy(q->serv, (char *)resp + sizeof(res_response_t), res_resp->ret);
-            }
-
-            complete_query(asyncns, q);
-            break;
-        }
+        complete_query(asyncns, q);
+        break;
+    }
             
-        default:
-            ;
+    default:
+        ;
     }
     
     return 0;
@@ -871,7 +872,7 @@
     
     return q;
 
-fail:
+ fail:
     if (q)
         asyncns_cancel(asyncns, q);
 
@@ -929,7 +930,7 @@
     
     return q;
 
-fail:
+ fail:
     if (q)
         asyncns_cancel(asyncns, q);
 
@@ -1000,7 +1001,7 @@
 
     return q;
 
-fail:
+ fail:
     if (q)
         asyncns_cancel(asyncns, q);
 
--- a/loudmouth/asyncns.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/asyncns.h	Wed Oct 08 13:11:02 2008 +0200
@@ -1,25 +1,26 @@
+/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 #ifndef fooasyncnshfoo
 #define fooasyncnshfoo
 
 /* $Id: asyncns.h 23 2007-02-16 12:49:17Z lennart $ */
 
 /***
-  This file is part of libasyncns.
+    This file is part of libasyncns.
  
-  libasyncns is free software; you can redistribute it and/or modify
-  it under the terms of the GNU Lesser General Public License as
-  published by the Free Software Foundation; either version 2 of the
-  License, or (at your option) any later version.
+    libasyncns is free software; you can redistribute it and/or modify
+    it under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.
  
-  libasyncns is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+    libasyncns is distributed in the hope that it will be useful, but
+    WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    General Public License for more details.
  
-  You should have received a copy of the GNU Lesser General Public
-  License along with libasyncns; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-  USA.
+    You should have received a copy of the GNU Lesser General Public
+    License along with libasyncns; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+    USA.
 ***/
 
 #include <sys/types.h>
@@ -49,36 +50,36 @@
 #endif
 
 /** An opaque libasyncns session structure */
-typedef struct asyncns asyncns_t;
+    typedef struct asyncns asyncns_t;
 
 /** An opaque libasyncns query structure */
-typedef struct asyncns_query asyncns_query_t;
+    typedef struct asyncns_query asyncns_query_t;
 
 /** Allocate a new libasyncns session with n_proc worker processes */
-asyncns_t* asyncns_new(unsigned n_proc);
+    asyncns_t* asyncns_new(unsigned n_proc);
 
 /** Free a libasyncns session. This destroys all attached
  * asyncns_query_t objects automatically */
-void asyncns_free(asyncns_t *asyncns);
+    void asyncns_free(asyncns_t *asyncns);
 
 /** Return the UNIX file descriptor to select() for readability
  * on. Use this function to integrate libasyncns with your custom main
  * loop. */
-int asyncns_fd(asyncns_t *asyncns);
+    int asyncns_fd(asyncns_t *asyncns);
 
 /** Process pending responses. After this function is called you can
  * get the next completed query object(s) using asyncns_getnext(). If
  * block is non-zero wait until at least one response has been
  * processed. If block is zero, process all pending responses and
  * return. */
-int asyncns_wait(asyncns_t *asyncns, int block);
+    int asyncns_wait(asyncns_t *asyncns, int block);
 
 /** Issue a name to address query on the specified session. The
  * arguments are compatible with the ones of libc's
  * getaddrinfo(3). The function returns a new query object. When the
  * query is completed you may retrieve the results using
  * asyncns_getaddrinfo_done().*/
-asyncns_query_t* asyncns_getaddrinfo(asyncns_t *asyncns, const char *node, const char *service, const struct addrinfo *hints);
+    asyncns_query_t* asyncns_getaddrinfo(asyncns_t *asyncns, const char *node, const char *service, const struct addrinfo *hints);
 
 /** Retrieve the results of a preceding asyncns_getaddrinfo()
  * call. Returns a addrinfo structure and a return value compatible
@@ -87,71 +88,71 @@
  * returned addrinfo structure with asyncns_freeaddrinfo() and not
  * libc's freeaddrinfo(3)! If the query is not completed yet EAI_AGAIN
  * is returned.*/
-int asyncns_getaddrinfo_done(asyncns_t *asyncns, asyncns_query_t* q, struct addrinfo **ret_res);
+    int asyncns_getaddrinfo_done(asyncns_t *asyncns, asyncns_query_t* q, struct addrinfo **ret_res);
 
 /** Issue an address to name query on the specified session. The
-arguments are compatible with the ones of libc's getnameinfo(3). The
-function returns a new query object. When the query is completed you
-may retrieve the results using asyncns_getnameinfo_done(). Set gethost
-(resp. getserv) to non-zero if you want to query the hostname
-(resp. the service name). */
-asyncns_query_t* asyncns_getnameinfo(asyncns_t *asyncns, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv);
+    arguments are compatible with the ones of libc's getnameinfo(3). The
+    function returns a new query object. When the query is completed you
+    may retrieve the results using asyncns_getnameinfo_done(). Set gethost
+    (resp. getserv) to non-zero if you want to query the hostname
+    (resp. the service name). */
+    asyncns_query_t* asyncns_getnameinfo(asyncns_t *asyncns, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv);
 
 /** Retrieve the results of a preceding asyncns_getnameinfo)(
  * call. Returns the hostname and the service name in ret_host and
  * ret_serv. The query object q is destroyed by this call and may not
  * be used any further. If the query is not completed yet EAI_AGAIN is
  * returned. */
-int asyncns_getnameinfo_done(asyncns_t *asyncns, asyncns_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen);
+    int asyncns_getnameinfo_done(asyncns_t *asyncns, asyncns_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen);
 
 /** Issue an resolver query on the specified session. The arguments are
  * compatible with the ones of libc's res_query(3). The function returns a new
  * query object. When the query is completed you may retrieve the results using
  * asyncns_res_done().  */
-asyncns_query_t* asyncns_res_query(asyncns_t *asyncns, const char *dname, int class, int type);
+    asyncns_query_t* asyncns_res_query(asyncns_t *asyncns, const char *dname, int class, int type);
 
 /** Issue an resolver query on the specified session. The arguments are
  * compatible with the ones of libc's res_search(3). The function returns a new
  * query object. When the query is completed you may retrieve the results using
  * asyncns_res_done().  */
-asyncns_query_t* asyncns_res_search(asyncns_t *asyncns, const char *dname, int class, int type);
+    asyncns_query_t* asyncns_res_search(asyncns_t *asyncns, const char *dname, int class, int type);
 
 /** Retrieve the results of a preceding asyncns_res_query)( or
  * asyncns_res_search call.  The query object q is destroyed by this call and
  * may not be used any further. Returns a pointer to the answer of the
  * res_query call. If the query is not completed yet -EAGAIN is returned, on
  * failure -errno is returned otherwise the length of answer is returned. */
-int asyncns_res_done(asyncns_t *asyncns, asyncns_query_t* q, unsigned char
-**answer);
+    int asyncns_res_done(asyncns_t *asyncns, asyncns_query_t* q, unsigned char
+                         **answer);
 
 /** Return the next completed query object. If no query has been
  * completed yet, return NULL. Please note that you need to run
  * asyncns_wait() before this function will return sensible data.  */
-asyncns_query_t* asyncns_getnext(asyncns_t *asyncns);
+    asyncns_query_t* asyncns_getnext(asyncns_t *asyncns);
 
 /** Return the number of query objects (completed or not) attached to
  * this session */
-int asyncns_getnqueries(asyncns_t *asyncns);
+    int asyncns_getnqueries(asyncns_t *asyncns);
 
 /** Cancel a currently running query. q is is destroyed by this call
  * and may not be used any futher. */
-void asyncns_cancel(asyncns_t *asyncns, asyncns_query_t* q);
+    void asyncns_cancel(asyncns_t *asyncns, asyncns_query_t* q);
 
 /** Free the addrinfo structure as returned by
-asyncns_getaddrinfo_done(). Make sure to use this functions instead of
-the libc's freeaddrinfo()! */
-void asyncns_freeaddrinfo(struct addrinfo *ai);
+    asyncns_getaddrinfo_done(). Make sure to use this functions instead of
+    the libc's freeaddrinfo()! */
+    void asyncns_freeaddrinfo(struct addrinfo *ai);
 
 /** Returns non-zero when the query operation specified by q has been completed */
-int asyncns_isdone(asyncns_t *asyncns, asyncns_query_t*q);
+    int asyncns_isdone(asyncns_t *asyncns, asyncns_query_t*q);
 
 /** Assign some opaque userdata with a query object */
-void asyncns_setuserdata(asyncns_t *asyncns, asyncns_query_t *q, void *userdata);
+    void asyncns_setuserdata(asyncns_t *asyncns, asyncns_query_t *q, void *userdata);
 
 /** Return userdata assigned to a query object. Use
  * asyncns_setuserdata() to set this data. If no data has been set
  * prior to this call it returns NULL. */
-void* asyncns_getuserdata(asyncns_t *asyncns, asyncns_query_t *q);
+    void* asyncns_getuserdata(asyncns_t *asyncns, asyncns_query_t *q);
 
 #ifdef  __cplusplus
 }
--- a/loudmouth/lm-asyncns-resolver.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-asyncns-resolver.c	Wed Oct 08 13:11:02 2008 +0200
@@ -42,10 +42,10 @@
 
 typedef struct LmAsyncnsResolverPriv LmAsyncnsResolverPriv;
 struct LmAsyncnsResolverPriv {
-	GSource		*watch_resolv;
-	asyncns_query_t *resolv_query;
-	asyncns_t	*asyncns_ctx;
-	GIOChannel	*resolv_channel;
+    GSource     *watch_resolv;
+    asyncns_query_t *resolv_query;
+    asyncns_t   *asyncns_ctx;
+    GIOChannel  *resolv_channel;
 };
 
 static void     asyncns_resolver_finalize      (GObject     *object);
@@ -57,84 +57,84 @@
 static void
 lm_asyncns_resolver_class_init (LmAsyncnsResolverClass *class)
 {
-	GObjectClass    *object_class = G_OBJECT_CLASS (class);
-        LmResolverClass *resolver_class = LM_RESOLVER_CLASS (class);
+    GObjectClass    *object_class = G_OBJECT_CLASS (class);
+    LmResolverClass *resolver_class = LM_RESOLVER_CLASS (class);
 
-	object_class->finalize = asyncns_resolver_finalize;
+    object_class->finalize = asyncns_resolver_finalize;
 
-        resolver_class->lookup = asyncns_resolver_lookup;
-        resolver_class->cancel = asyncns_resolver_cancel;
+    resolver_class->lookup = asyncns_resolver_lookup;
+    resolver_class->cancel = asyncns_resolver_cancel;
 
-	g_type_class_add_private (object_class, sizeof (LmAsyncnsResolverPriv));
+    g_type_class_add_private (object_class, sizeof (LmAsyncnsResolverPriv));
 }
 
 static void
 lm_asyncns_resolver_init (LmAsyncnsResolver *asyncns_resolver)
 {
-	LmAsyncnsResolverPriv *priv;
+    LmAsyncnsResolverPriv *priv;
 
-	priv = GET_PRIV (asyncns_resolver);
+    priv = GET_PRIV (asyncns_resolver);
 }
 
 static void
 asyncns_resolver_finalize (GObject *object)
 {
-	LmAsyncnsResolverPriv *priv;
+    LmAsyncnsResolverPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	(G_OBJECT_CLASS (lm_asyncns_resolver_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_asyncns_resolver_parent_class)->finalize) (object);
 }
 
 static void
 asyncns_resolver_cleanup (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
 
-        if (priv->resolv_channel != NULL) {
-		g_io_channel_unref (priv->resolv_channel);
-                priv->resolv_channel = NULL;
-	}
+    if (priv->resolv_channel != NULL) {
+        g_io_channel_unref (priv->resolv_channel);
+        priv->resolv_channel = NULL;
+    }
  
-        if (priv->watch_resolv) {
-		g_source_destroy (priv->watch_resolv);
-                priv->watch_resolv = NULL;
-	}
+    if (priv->watch_resolv) {
+        g_source_destroy (priv->watch_resolv);
+        priv->watch_resolv = NULL;
+    }
 
-	if (priv->asyncns_ctx) {
-                asyncns_free (priv->asyncns_ctx);
-                priv->asyncns_ctx = NULL;
-	}
+    if (priv->asyncns_ctx) {
+        asyncns_free (priv->asyncns_ctx);
+        priv->asyncns_ctx = NULL;
+    }
 
-        priv->resolv_query = NULL;
+    priv->resolv_query = NULL;
 }
 
 static void
 asyncns_resolver_done (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
-        struct addrinfo	      *ans;
-	int 		       err;
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    struct addrinfo       *ans;
+    int                err;
 
-        err = asyncns_getaddrinfo_done (priv->asyncns_ctx, priv->resolv_query, &ans);
-        priv->resolv_query = NULL;
-        /* Signal that we are done */
+    err = asyncns_getaddrinfo_done (priv->asyncns_ctx, priv->resolv_query, &ans);
+    priv->resolv_query = NULL;
+    /* Signal that we are done */
 
-        g_object_ref (resolver);
+    g_object_ref (resolver);
 
-        if (err) {
-                _lm_resolver_set_result (resolver,
-                                         LM_RESOLVER_RESULT_FAILED, 
-                                         NULL);
-        } else {
-                _lm_resolver_set_result (resolver,
-                                         LM_RESOLVER_RESULT_OK,
-                                         ans);
-        }
+    if (err) {
+        _lm_resolver_set_result (resolver,
+                                 LM_RESOLVER_RESULT_FAILED, 
+                                 NULL);
+    } else {
+        _lm_resolver_set_result (resolver,
+                                 LM_RESOLVER_RESULT_OK,
+                                 ans);
+    }
 
-        asyncns_resolver_cleanup (resolver);
+    asyncns_resolver_cleanup (resolver);
 
-        g_object_unref (resolver);
+    g_object_unref (resolver);
 }
 
 typedef gboolean  (* LmAsyncnsResolverCallback) (LmResolver *resolver);
@@ -144,213 +144,213 @@
                         GIOCondition  condition,
                         LmResolver   *resolver)
 {
-        LmAsyncnsResolverPriv     *priv = GET_PRIV (resolver);
-        LmAsyncnsResolverCallback  func;
+    LmAsyncnsResolverPriv     *priv = GET_PRIV (resolver);
+    LmAsyncnsResolverCallback  func;
 
-        asyncns_wait (priv->asyncns_ctx, FALSE);
+    asyncns_wait (priv->asyncns_ctx, FALSE);
 
-        if (!asyncns_isdone (priv->asyncns_ctx, priv->resolv_query)) {
-                return TRUE;
-        }
+    if (!asyncns_isdone (priv->asyncns_ctx, priv->resolv_query)) {
+        return TRUE;
+    }
 
-        func = (LmAsyncnsResolverCallback) asyncns_getuserdata (priv->asyncns_ctx,
-                                                                priv->resolv_query);
-        return func (resolver);
+    func = (LmAsyncnsResolverCallback) asyncns_getuserdata (priv->asyncns_ctx,
+                                                            priv->resolv_query);
+    return func (resolver);
 }
 
 static gboolean
 asyncns_resolver_prep (LmResolver *resolver, GError **error)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
-        GMainContext          *context;
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    GMainContext          *context;
 
-        if (priv->asyncns_ctx) {
-                return TRUE;
-	}
+    if (priv->asyncns_ctx) {
+        return TRUE;
+    }
 
-        priv->asyncns_ctx = asyncns_new (1);
-	if (priv->asyncns_ctx == NULL) {
-                g_set_error (error,
-                             LM_ERROR,                 
-                             LM_ERROR_CONNECTION_FAILED,   
-                             "can't initialise libasyncns");
-		return FALSE;
-	}
+    priv->asyncns_ctx = asyncns_new (1);
+    if (priv->asyncns_ctx == NULL) {
+        g_set_error (error,
+                     LM_ERROR,                 
+                     LM_ERROR_CONNECTION_FAILED,   
+                     "can't initialise libasyncns");
+        return FALSE;
+    }
 
-        priv->resolv_channel =
-                g_io_channel_unix_new (asyncns_fd (priv->asyncns_ctx));
+    priv->resolv_channel =
+        g_io_channel_unix_new (asyncns_fd (priv->asyncns_ctx));
 
-        g_object_get (resolver, "context", &context, NULL);
+    g_object_get (resolver, "context", &context, NULL);
         
-        g_print ("Setting up io watch\n");
+    g_print ("Setting up io watch\n");
 
-        priv->watch_resolv = 
-                lm_misc_add_io_watch (context,
-                                      priv->resolv_channel,
-				      G_IO_IN,
-                                      (GIOFunc) asyncns_resolver_io_cb,
-                                      resolver);
+    priv->watch_resolv = 
+        lm_misc_add_io_watch (context,
+                              priv->resolv_channel,
+                              G_IO_IN,
+                              (GIOFunc) asyncns_resolver_io_cb,
+                              resolver);
 
-	return TRUE;
+    return TRUE;
 }
 
 static void
 asyncns_resolver_lookup_host (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
-        gchar               *host;
-        struct addrinfo      req;
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    gchar               *host;
+    struct addrinfo      req;
 
-        g_object_get (resolver, "host", &host, NULL);
+    g_object_get (resolver, "host", &host, NULL);
 
-	memset (&req, 0, sizeof(req));
-	req.ai_family   = AF_UNSPEC;
-	req.ai_socktype = SOCK_STREAM;
-	req.ai_protocol = IPPROTO_TCP;
+    memset (&req, 0, sizeof(req));
+    req.ai_family   = AF_UNSPEC;
+    req.ai_socktype = SOCK_STREAM;
+    req.ai_protocol = IPPROTO_TCP;
 
-	if (!asyncns_resolver_prep (resolver, NULL)) {
-                g_warning ("Signal error\n");
-		return;
-        }
+    if (!asyncns_resolver_prep (resolver, NULL)) {
+        g_warning ("Signal error\n");
+        return;
+    }
 
-        priv->resolv_query =
-	  	asyncns_getaddrinfo (priv->asyncns_ctx,
-                                     host,
-				     NULL,
-				     &req);
+    priv->resolv_query =
+        asyncns_getaddrinfo (priv->asyncns_ctx,
+                             host,
+                             NULL,
+                             &req);
 
-	asyncns_setuserdata (priv->asyncns_ctx,
-                             priv->resolv_query,
-			     (gpointer) asyncns_resolver_done);
+    asyncns_setuserdata (priv->asyncns_ctx,
+                         priv->resolv_query,
+                         (gpointer) asyncns_resolver_done);
 }
 
 static void
 asyncns_resolver_srv_done (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
-        unsigned char         *srv_ans;
-	int 		       srv_len;
-        gboolean               result = FALSE;
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    unsigned char         *srv_ans;
+    int                srv_len;
+    gboolean               result = FALSE;
 
-        g_print ("srv_done callback\n");
+    g_print ("srv_done callback\n");
 
-        srv_len = asyncns_res_done (priv->asyncns_ctx, 
-                                    priv->resolv_query, &srv_ans);
+    srv_len = asyncns_res_done (priv->asyncns_ctx, 
+                                priv->resolv_query, &srv_ans);
 
-        priv->resolv_query = NULL;
+    priv->resolv_query = NULL;
 
-        if (srv_len <= 0) {
-                /* FIXME: Report error */
-                g_warning ("Failed to read srv request results");
-        } else {
-                gchar *new_server;
-                guint  new_port;
+    if (srv_len <= 0) {
+        /* FIXME: Report error */
+        g_warning ("Failed to read srv request results");
+    } else {
+        gchar *new_server;
+        guint  new_port;
 
-                g_print ("trying to parse srv response\n");
+        g_print ("trying to parse srv response\n");
 
-                result = _lm_resolver_parse_srv_response (srv_ans, srv_len,
-                                                          &new_server,
-                                                          &new_port);
-                if (result == TRUE) {
-                        g_print ("worked, new host/post is %s/%d\n",
-                                 new_server, new_port);
+        result = _lm_resolver_parse_srv_response (srv_ans, srv_len,
+                                                  &new_server,
+                                                  &new_port);
+        if (result == TRUE) {
+            g_print ("worked, new host/post is %s/%d\n",
+                     new_server, new_port);
 
-                        g_object_set (resolver,
-                                      "host", new_server,
-                                      "port", new_port,
-                                      NULL);
-                }
-
-                g_free (new_server);
-                /* TODO: Check whether srv_ans needs freeing */
+            g_object_set (resolver,
+                          "host", new_server,
+                          "port", new_port,
+                          NULL);
         }
 
-        asyncns_resolver_cleanup (resolver);
+        g_free (new_server);
+        /* TODO: Check whether srv_ans needs freeing */
+    }
 
-        if (result == TRUE) {
-                asyncns_resolver_lookup_host (resolver);
-        }
+    asyncns_resolver_cleanup (resolver);
+
+    if (result == TRUE) {
+        asyncns_resolver_lookup_host (resolver);
+    }
 }
 
 static void
 asyncns_resolver_lookup_service (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
-        gchar                 *domain;
-        gchar                 *service;
-        gchar                 *protocol;
-        gchar                 *srv;
+    LmAsyncnsResolverPriv *priv = GET_PRIV (resolver);
+    gchar                 *domain;
+    gchar                 *service;
+    gchar                 *protocol;
+    gchar                 *srv;
 
 
-        g_object_get (resolver,
-                      "domain", &domain,
-                      "service", &service,
-                      "protocol", &protocol,
-                      NULL);
+    g_object_get (resolver,
+                  "domain", &domain,
+                  "service", &service,
+                  "protocol", &protocol,
+                  NULL);
         
-        srv = _lm_resolver_create_srv_string (domain, service, protocol);
+    srv = _lm_resolver_create_srv_string (domain, service, protocol);
         
-        g_print ("Looking up service: %s %s %s\n[%s]", domain, service, protocol, srv);
+    g_print ("Looking up service: %s %s %s\n[%s]", domain, service, protocol, srv);
 
-        if (!asyncns_resolver_prep (resolver, /* Use GError? */ NULL)) {
-                g_warning ("Failed to initiate the asyncns library");
-                /* FIXME: Signal error */
-                return;
-        }
+    if (!asyncns_resolver_prep (resolver, /* Use GError? */ NULL)) {
+        g_warning ("Failed to initiate the asyncns library");
+        /* FIXME: Signal error */
+        return;
+    }
 
-        priv->resolv_query =
-                asyncns_res_query (priv->asyncns_ctx, srv, C_IN, T_SRV);
+    priv->resolv_query =
+        asyncns_res_query (priv->asyncns_ctx, srv, C_IN, T_SRV);
         
-        asyncns_setuserdata (priv->asyncns_ctx, 
-                             priv->resolv_query, 
-                             (gpointer) asyncns_resolver_srv_done);
+    asyncns_setuserdata (priv->asyncns_ctx, 
+                         priv->resolv_query, 
+                         (gpointer) asyncns_resolver_srv_done);
 
-        g_free (srv);
-        g_free (domain);
-        g_free (service);
-        g_free (protocol);
+    g_free (srv);
+    g_free (domain);
+    g_free (service);
+    g_free (protocol);
 }
 
 static void
 asyncns_resolver_lookup (LmResolver *resolver)
 {
-        gint type;
+    gint type;
 
-        /* Start the DNS querying */
+    /* Start the DNS querying */
 
-        /* Decide if we are going to lookup a srv or host */
-        g_object_get (resolver, "type", &type, NULL);
+    /* Decide if we are going to lookup a srv or host */
+    g_object_get (resolver, "type", &type, NULL);
 
-        switch (type) {
-        case LM_RESOLVER_HOST:
-                asyncns_resolver_lookup_host (resolver);
-                break;
-        case LM_RESOLVER_SRV:
-                asyncns_resolver_lookup_service (resolver);
-                break;
-        };
+    switch (type) {
+    case LM_RESOLVER_HOST:
+        asyncns_resolver_lookup_host (resolver);
+        break;
+    case LM_RESOLVER_SRV:
+        asyncns_resolver_lookup_service (resolver);
+        break;
+    };
 
-        /* End of DNS querying */
+    /* End of DNS querying */
 } 
 
 static void
 asyncns_resolver_cancel (LmResolver *resolver)
 {
-        LmAsyncnsResolverPriv *priv;
+    LmAsyncnsResolverPriv *priv;
 
-        g_return_if_fail (LM_IS_ASYNCNS_RESOLVER (resolver));
+    g_return_if_fail (LM_IS_ASYNCNS_RESOLVER (resolver));
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        if (priv->asyncns_ctx) {
-                if (priv->resolv_query) {
-                        asyncns_cancel (priv->asyncns_ctx, priv->resolv_query);
-                        priv->resolv_query = NULL;
-                }
+    if (priv->asyncns_ctx) {
+        if (priv->resolv_query) {
+            asyncns_cancel (priv->asyncns_ctx, priv->resolv_query);
+            priv->resolv_query = NULL;
+        }
 
-                _lm_resolver_set_result (resolver,
-                                         LM_RESOLVER_RESULT_CANCELLED,
-                                         NULL);
-        }
+        _lm_resolver_set_result (resolver,
+                                 LM_RESOLVER_RESULT_CANCELLED,
+                                 NULL);
+    }
 }
 
--- a/loudmouth/lm-asyncns-resolver.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-asyncns-resolver.h	Wed Oct 08 13:11:02 2008 +0200
@@ -38,11 +38,11 @@
 typedef struct LmAsyncnsResolverClass LmAsyncnsResolverClass;
 
 struct LmAsyncnsResolver {
-        LmResolver parent;
+    LmResolver parent;
 };
 
 struct LmAsyncnsResolverClass {
-        LmResolverClass parent_class;
+    LmResolverClass parent_class;
 };
 
 GType   lm_asyncns_resolver_get_type  (void);
--- a/loudmouth/lm-blocking-resolver.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-blocking-resolver.c	Wed Oct 08 13:11:02 2008 +0200
@@ -43,7 +43,7 @@
 
 typedef struct LmBlockingResolverPriv LmBlockingResolverPriv;
 struct LmBlockingResolverPriv {
-        GSource *idle_source;
+    GSource *idle_source;
 };
 
 static void     blocking_resolver_finalize    (GObject       *object);
@@ -55,187 +55,187 @@
 static void
 lm_blocking_resolver_class_init (LmBlockingResolverClass *class)
 {
-        GObjectClass    *object_class   = G_OBJECT_CLASS (class);
-        LmResolverClass *resolver_class = LM_RESOLVER_CLASS (class);
+    GObjectClass    *object_class   = G_OBJECT_CLASS (class);
+    LmResolverClass *resolver_class = LM_RESOLVER_CLASS (class);
 
-	object_class->finalize = blocking_resolver_finalize;
+    object_class->finalize = blocking_resolver_finalize;
 
-        resolver_class->lookup = blocking_resolver_lookup;
-        resolver_class->cancel = blocking_resolver_cancel;
-	
-	g_type_class_add_private (object_class, 
-                                  sizeof (LmBlockingResolverPriv));
+    resolver_class->lookup = blocking_resolver_lookup;
+    resolver_class->cancel = blocking_resolver_cancel;
+    
+    g_type_class_add_private (object_class, 
+                              sizeof (LmBlockingResolverPriv));
 }
 
 static void
 lm_blocking_resolver_init (LmBlockingResolver *blocking_resolver)
 {
-	LmBlockingResolverPriv *priv;
+    LmBlockingResolverPriv *priv;
 
-	priv = GET_PRIV (blocking_resolver);
+    priv = GET_PRIV (blocking_resolver);
 }
 
 static void
 blocking_resolver_finalize (GObject *object)
 {
-	LmBlockingResolverPriv *priv;
+    LmBlockingResolverPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-        /* Ensure we don't have an idle around */
-        blocking_resolver_cancel (LM_RESOLVER (object));
+    /* Ensure we don't have an idle around */
+    blocking_resolver_cancel (LM_RESOLVER (object));
 
-	(G_OBJECT_CLASS (lm_blocking_resolver_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_blocking_resolver_parent_class)->finalize) (object);
 }
 
 static void
 blocking_resolver_lookup_host (LmBlockingResolver *resolver)
 {
-        gchar           *host;
-        struct addrinfo  req;
-        struct addrinfo *ans;
-        int              err;
+    gchar           *host;
+    struct addrinfo  req;
+    struct addrinfo *ans;
+    int              err;
 
-        g_object_get (resolver, "host", &host, NULL);
+    g_object_get (resolver, "host", &host, NULL);
 
-        /* Lookup */
+    /* Lookup */
 
-	memset (&req, 0, sizeof(req));
-	req.ai_family   = AF_UNSPEC;
-	req.ai_socktype = SOCK_STREAM;
-	req.ai_protocol = IPPROTO_TCP;
+    memset (&req, 0, sizeof(req));
+    req.ai_family   = AF_UNSPEC;
+    req.ai_socktype = SOCK_STREAM;
+    req.ai_protocol = IPPROTO_TCP;
 
-        err = getaddrinfo (host, NULL, &req, &ans);
+    err = getaddrinfo (host, NULL, &req, &ans);
 
-	if (err != 0) {
-                /* FIXME: Report error */
-                g_print ("ERROR: %d in %s\n", err, G_STRFUNC);
-		return;
-	}
+    if (err != 0) {
+        /* FIXME: Report error */
+        g_print ("ERROR: %d in %s\n", err, G_STRFUNC);
+        return;
+    }
 
-        if (ans == NULL) {
-                /* Couldn't find any results */
-                /* FIXME: Report no results  */
-                g_print ("No results in %s\n", G_STRFUNC);
-        }
+    if (ans == NULL) {
+        /* Couldn't find any results */
+        /* FIXME: Report no results  */
+        g_print ("No results in %s\n", G_STRFUNC);
+    }
 
-        /* FIXME: How to set and iterate the results */
-        /*priv->results    = ans;
-        priv->cur_result = ans; */
+    /* FIXME: How to set and iterate the results */
+    /*priv->results    = ans;
+      priv->cur_result = ans; */
 
-        g_print ("Found result for %s\n", host);
+    g_print ("Found result for %s\n", host);
 
-        g_object_ref (resolver);
+    g_object_ref (resolver);
 
-        _lm_resolver_set_result (LM_RESOLVER (resolver), LM_RESOLVER_RESULT_OK,
-                                 ans);
+    _lm_resolver_set_result (LM_RESOLVER (resolver), LM_RESOLVER_RESULT_OK,
+                             ans);
 
-        g_object_unref (resolver);
+    g_object_unref (resolver);
 
-        g_free (host);
+    g_free (host);
 }
 
 static void
 blocking_resolver_lookup_service (LmBlockingResolver *resolver)
 {
-        gchar *domain;
-        gchar *service;
-        gchar *protocol;
-        gchar *srv;
-        gchar *new_server = NULL;
-        guint  new_port = 0;
-        gboolean  result;
-	unsigned char    srv_ans[SRV_LEN];
-	int              len;
+    gchar *domain;
+    gchar *service;
+    gchar *protocol;
+    gchar *srv;
+    gchar *new_server = NULL;
+    guint  new_port = 0;
+    gboolean  result;
+    unsigned char    srv_ans[SRV_LEN];
+    int              len;
 
-        g_object_get (resolver,
-                      "domain", &domain,
-                      "service", &service,
-                      "protocol", &protocol,
-                      NULL);
+    g_object_get (resolver,
+                  "domain", &domain,
+                  "service", &service,
+                  "protocol", &protocol,
+                  NULL);
 
-        srv = _lm_resolver_create_srv_string (domain, service, protocol);
+    srv = _lm_resolver_create_srv_string (domain, service, protocol);
 
-        res_init ();
+    res_init ();
 
-        len = res_query (srv, C_IN, T_SRV, srv_ans, SRV_LEN);
+    len = res_query (srv, C_IN, T_SRV, srv_ans, SRV_LEN);
 
-        result = _lm_resolver_parse_srv_response (srv_ans, len, 
-                                                  &new_server, &new_port);
-        if (result == FALSE) {
-                g_print ("Error while parsing srv response in %s\n", 
-                         G_STRFUNC);
-                /* FIXME: Report error */
-        }
+    result = _lm_resolver_parse_srv_response (srv_ans, len, 
+                                              &new_server, &new_port);
+    if (result == FALSE) {
+        g_print ("Error while parsing srv response in %s\n", 
+                 G_STRFUNC);
+        /* FIXME: Report error */
+    }
 
-        g_object_set (resolver, 
-                      "host", new_server,
-                      "port", new_port,
-                      NULL);
+    g_object_set (resolver, 
+                  "host", new_server,
+                  "port", new_port,
+                  NULL);
 
-        /* Lookup the new server and the new port */
-        blocking_resolver_lookup_host (resolver);
+    /* Lookup the new server and the new port */
+    blocking_resolver_lookup_host (resolver);
 
-        g_free (new_server);
-        g_free (srv);
-        g_free (domain);
-        g_free (service);
-        g_free (protocol);
+    g_free (new_server);
+    g_free (srv);
+    g_free (domain);
+    g_free (service);
+    g_free (protocol);
 }
 
 static gboolean
 blocking_resolver_idle_lookup (LmBlockingResolver *resolver) 
 {
-        LmBlockingResolverPriv *priv = GET_PRIV (resolver);
-        gint                    type;
+    LmBlockingResolverPriv *priv = GET_PRIV (resolver);
+    gint                    type;
 
-        /* Start the DNS querying */
+    /* Start the DNS querying */
 
-        /* Decide if we are going to lookup a srv or host */
-        g_object_get (resolver, "type", &type, NULL);
+    /* Decide if we are going to lookup a srv or host */
+    g_object_get (resolver, "type", &type, NULL);
 
-        switch (type) {
-        case LM_RESOLVER_HOST:
-                blocking_resolver_lookup_host (resolver);
-                break;
-        case LM_RESOLVER_SRV:
-                blocking_resolver_lookup_service (resolver);
-                break;
-        };
+    switch (type) {
+    case LM_RESOLVER_HOST:
+        blocking_resolver_lookup_host (resolver);
+        break;
+    case LM_RESOLVER_SRV:
+        blocking_resolver_lookup_service (resolver);
+        break;
+    };
 
-        /* End of DNS querying */
-        priv->idle_source = NULL;
-        return FALSE;
+    /* End of DNS querying */
+    priv->idle_source = NULL;
+    return FALSE;
 }
 
 static void
 blocking_resolver_lookup (LmResolver *resolver)
 {
-        LmBlockingResolverPriv *priv;
-        GMainContext           *context;
+    LmBlockingResolverPriv *priv;
+    GMainContext           *context;
 
-        g_return_if_fail (LM_IS_BLOCKING_RESOLVER (resolver));
+    g_return_if_fail (LM_IS_BLOCKING_RESOLVER (resolver));
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        g_object_get (resolver, "context", &context, NULL);
+    g_object_get (resolver, "context", &context, NULL);
 
-        priv->idle_source = lm_misc_add_idle (context, 
-                                              (GSourceFunc) blocking_resolver_idle_lookup,
-                                              resolver);
+    priv->idle_source = lm_misc_add_idle (context, 
+                                          (GSourceFunc) blocking_resolver_idle_lookup,
+                                          resolver);
 }
 
 static void
 blocking_resolver_cancel (LmResolver *resolver)
 {
-        LmBlockingResolverPriv *priv;
+    LmBlockingResolverPriv *priv;
 
-        g_return_if_fail (LM_IS_BLOCKING_RESOLVER (resolver));
+    g_return_if_fail (LM_IS_BLOCKING_RESOLVER (resolver));
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        if (priv->idle_source) {
-                g_source_destroy (priv->idle_source);
-                priv->idle_source = NULL;
-        }
+    if (priv->idle_source) {
+        g_source_destroy (priv->idle_source);
+        priv->idle_source = NULL;
+    }
 }
--- a/loudmouth/lm-blocking-resolver.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-blocking-resolver.h	Wed Oct 08 13:11:02 2008 +0200
@@ -38,11 +38,11 @@
 typedef struct LmBlockingResolverClass LmBlockingResolverClass;
 
 struct LmBlockingResolver {
-        LmResolver parent;
+    LmResolver parent;
 };
 
 struct LmBlockingResolverClass {
-	LmResolverClass parent_class;
+    LmResolverClass parent_class;
 };
 
 GType   lm_blocking_resolver_get_type  (void);
--- a/loudmouth/lm-connection.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-connection.c	Wed Oct 08 13:11:02 2008 +0200
@@ -33,7 +33,7 @@
  *       LmConnection *connection;
  *       GError       *error = NULL;
  *       gint          i;
- * 	 LmMessage    *m;
+ *   LmMessage    *m;
  *
  *       connection = lm_connection_new ("myserver");
  * 
@@ -42,24 +42,24 @@
  *       }
  * 
  *       if (!lm_connection_authenticate_and_block (connection,
- * 						   "username", "password", 
- * 						   "resource",
- * 						   &amp;error)) {
- * 		g_error ("Failed to authenticate: &percnt;s\n", error->message);
- * 	}
- * 	
- * 	m = lm_message_new ("recipient", LM_MESSAGE_TYPE_MESSAGE);
- * 	lm_message_node_add_child (m->node, "body", "message");
- * 	
- * 	if (!lm_connection_send (connection, m, &amp;error)) {
- * 		g_error ("Send failed: &percnt;s\n", error->message);
- * 	}
+ *                         "username", "password", 
+ *                         "resource",
+ *                         &amp;error)) {
+ *      g_error ("Failed to authenticate: &percnt;s\n", error->message);
+ *  }
+ *  
+ *  m = lm_message_new ("recipient", LM_MESSAGE_TYPE_MESSAGE);
+ *  lm_message_node_add_child (m->node, "body", "message");
+ *  
+ *  if (!lm_connection_send (connection, m, &amp;error)) {
+ *      g_error ("Send failed: &percnt;s\n", error->message);
+ *  }
  * 
- * 	lm_message_unref (m);
+ *  lm_message_unref (m);
  * 
- * 	lm_connection_close (connection, NULL);
- * 	lm_connection_unref (connection);
- * 	
+ *  lm_connection_close (connection, NULL);
+ *  lm_connection_unref (connection);
+ *  
  *         return 0;
  * }
  * </programlisting></informalexample>
@@ -101,63 +101,63 @@
 #define SRV_LEN 8192
 
 typedef struct {
-	LmHandlerPriority  priority;
-	LmMessageHandler  *handler;
+    LmHandlerPriority  priority;
+    LmMessageHandler  *handler;
 } HandlerData;
 
 struct _LmConnection {
-	/* Parameters */
-	GMainContext *context;
-	gchar        *server;
-	gchar        *jid;
-	gchar        *effective_jid;
-	guint         port;
-	gboolean      use_srv;
+    /* Parameters */
+    GMainContext *context;
+    gchar        *server;
+    gchar        *jid;
+    gchar        *effective_jid;
+    guint         port;
+    gboolean      use_srv;
 
-	LmOldSocket     *socket;
-	LmSSL        *ssl;
-	LmProxy      *proxy;
-	LmParser     *parser;
+    LmOldSocket     *socket;
+    LmSSL        *ssl;
+    LmProxy      *proxy;
+    LmParser     *parser;
 
-	gchar        *stream_id;
+    gchar        *stream_id;
 
-	GHashTable   *id_handlers;
-	GSList       *handlers[LM_MESSAGE_TYPE_UNKNOWN];
+    GHashTable   *id_handlers;
+    GSList       *handlers[LM_MESSAGE_TYPE_UNKNOWN];
 
-	/* XMPP1.0 stuff (SASL, resource binding, StartTLS) */
-	gboolean      use_sasl;
-	LmSASL       *sasl;
-	gchar        *resource;
-	LmMessageHandler *features_cb;
-	LmMessageHandler *starttls_cb;
-	gboolean      tls_started;
+    /* XMPP1.0 stuff (SASL, resource binding, StartTLS) */
+    gboolean      use_sasl;
+    LmSASL       *sasl;
+    gchar        *resource;
+    LmMessageHandler *features_cb;
+    LmMessageHandler *starttls_cb;
+    gboolean      tls_started;
 
-	/* Communication */
-	guint         open_id;
-	LmCallback   *open_cb;
+    /* Communication */
+    guint         open_id;
+    LmCallback   *open_cb;
 
- 	gboolean      async_connect_waiting;
-	gboolean      blocking;
+    gboolean      async_connect_waiting;
+    gboolean      blocking;
 
-	gboolean      cancel_open;
-	LmCallback   *auth_cb;
+    gboolean      cancel_open;
+    LmCallback   *auth_cb;
 
-	LmCallback   *disconnect_cb;
+    LmCallback   *disconnect_cb;
 
-	LmMessageQueue *queue;
+    LmMessageQueue *queue;
 
-	LmConnectionState state;
+    LmConnectionState state;
 
-        guint          keep_alive_rate;
-        LmFeaturePing *feature_ping;
+    guint          keep_alive_rate;
+    LmFeaturePing *feature_ping;
 
-	gint          ref_count;
+    gint          ref_count;
 };
 
 typedef enum {
-	AUTH_TYPE_PLAIN  = 1,
-	AUTH_TYPE_DIGEST = 2,
-	AUTH_TYPE_0K     = 4
+    AUTH_TYPE_PLAIN  = 1,
+    AUTH_TYPE_DIGEST = 2,
+    AUTH_TYPE_0K     = 4
 } AuthType;
 
 #define XMPP_NS_BIND "urn:ietf:params:xml:ns:xmpp-bind"
@@ -166,12 +166,12 @@
 
 static void     connection_free              (LmConnection        *connection);
 static void     connection_handle_message    (LmConnection        *connection,
-					      LmMessage           *message);
+                                              LmMessage           *message);
 static void     connection_new_message_cb    (LmParser            *parser,
-					      LmMessage           *message,
-					      LmConnection        *connection);
+                                              LmMessage           *message,
+                                              LmConnection        *connection);
 static gboolean connection_do_open           (LmConnection        *connection,
-					      GError             **error);
+                                              GError             **error);
 void            connection_do_close          (LmConnection        *connection);
 static LmMessage *     
 connection_create_auth_req_msg               (const gchar         *username);
@@ -239,265 +239,265 @@
 static void
 connection_free_handlers (LmConnection *connection)
 {
-	int i;
+    int i;
 
-	/* Unref handlers */
-	for (i = 0; i < LM_MESSAGE_TYPE_UNKNOWN; ++i) {
-		GSList *l;
+    /* Unref handlers */
+    for (i = 0; i < LM_MESSAGE_TYPE_UNKNOWN; ++i) {
+        GSList *l;
 
-		for (l = connection->handlers[i]; l; l = l->next) {
-			HandlerData *hd = (HandlerData *) l->data;
-			
-			lm_message_handler_unref (hd->handler);
-			g_free (hd);
-		}
+        for (l = connection->handlers[i]; l; l = l->next) {
+            HandlerData *hd = (HandlerData *) l->data;
+            
+            lm_message_handler_unref (hd->handler);
+            g_free (hd);
+        }
 
-		g_slist_free (connection->handlers[i]);
-	}
+        g_slist_free (connection->handlers[i]);
+    }
 }
 
 static void
 connection_free (LmConnection *connection)
 {
-	g_free (connection->server);
-	g_free (connection->jid);
-	g_free (connection->effective_jid);
-	g_free (connection->stream_id);
-	g_free (connection->resource);
+    g_free (connection->server);
+    g_free (connection->jid);
+    g_free (connection->effective_jid);
+    g_free (connection->stream_id);
+    g_free (connection->resource);
 
-	if (connection->sasl) {
-		lm_sasl_free (connection->sasl);
-	}
+    if (connection->sasl) {
+        lm_sasl_free (connection->sasl);
+    }
 
-	if (connection->parser) {
-		lm_parser_free (connection->parser);
-	}
+    if (connection->parser) {
+        lm_parser_free (connection->parser);
+    }
 
-	connection_free_handlers (connection);
-	
-	g_hash_table_destroy (connection->id_handlers);
-	if (connection->state >= LM_CONNECTION_STATE_OPENING) {
-		connection_do_close (connection);
-	}
+    connection_free_handlers (connection);
+    
+    g_hash_table_destroy (connection->id_handlers);
+    if (connection->state >= LM_CONNECTION_STATE_OPENING) {
+        connection_do_close (connection);
+    }
 
-	if (connection->open_cb) {
-		_lm_utils_free_callback (connection->open_cb);
-	}
-	
-	if (connection->auth_cb) {
-		_lm_utils_free_callback (connection->auth_cb);
-	}
+    if (connection->open_cb) {
+        _lm_utils_free_callback (connection->open_cb);
+    }
+    
+    if (connection->auth_cb) {
+        _lm_utils_free_callback (connection->auth_cb);
+    }
 
-	lm_connection_set_disconnect_function (connection, NULL, NULL, NULL);
+    lm_connection_set_disconnect_function (connection, NULL, NULL, NULL);
 
-	if (connection->proxy) {
-		lm_proxy_unref (connection->proxy);
-	}
+    if (connection->proxy) {
+        lm_proxy_unref (connection->proxy);
+    }
 
-	lm_message_queue_unref (connection->queue);
+    lm_message_queue_unref (connection->queue);
 
-        if (connection->context) {
-                g_main_context_unref (connection->context);
-        }
+    if (connection->context) {
+        g_main_context_unref (connection->context);
+    }
 
-	if (connection->socket) {
-		lm_old_socket_unref (connection->socket);
-	}
+    if (connection->socket) {
+        lm_old_socket_unref (connection->socket);
+    }
 
-        g_slice_free (LmConnection, connection);
+    g_slice_free (LmConnection, connection);
 }
 
 static LmHandlerResult
 connection_run_message_handler (LmConnection *connection, LmMessage *m)
 {
-        LmMessageHandler *handler;
-        const gchar      *id;
-        LmHandlerResult   result = LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    LmMessageHandler *handler;
+    const gchar      *id;
+    LmHandlerResult   result = LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
 
-        id = lm_message_node_get_attribute (m->node, "id");
-        if (!id) {
-                return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-        }
+    id = lm_message_node_get_attribute (m->node, "id");
+    if (!id) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
 
-        handler = g_hash_table_lookup (connection->id_handlers, id);
-        if (handler) {
-                result = _lm_message_handler_handle_message (handler,
-                                                             connection,
-                                                             m);
-                g_hash_table_remove (connection->id_handlers,
-                                     id);
-        }
+    handler = g_hash_table_lookup (connection->id_handlers, id);
+    if (handler) {
+        result = _lm_message_handler_handle_message (handler,
+                                                     connection,
+                                                     m);
+        g_hash_table_remove (connection->id_handlers,
+                             id);
+    }
 
-        return result;
+    return result;
 }
 
 static void
 connection_handle_message (LmConnection *connection, LmMessage *m)
 {
-	GSList          *l;
-	LmHandlerResult  result = LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    GSList          *l;
+    LmHandlerResult  result = LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
 
-	lm_connection_ref (connection);
+    lm_connection_ref (connection);
 
-	if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM) {
-		connection_stream_received (connection, m);
-		goto out;
-	}
+    if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM) {
+        connection_stream_received (connection, m);
+        goto out;
+    }
 
-        result = connection_run_message_handler (connection, m);
-        if (result == LM_HANDLER_RESULT_REMOVE_MESSAGE) {
-                goto out;
-        }
+    result = connection_run_message_handler (connection, m);
+    if (result == LM_HANDLER_RESULT_REMOVE_MESSAGE) {
+        goto out;
+    }
 
-	for (l = connection->handlers[lm_message_get_type (m)]; 
-	     l && result == LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; 
-	     l = l->next) {
-                HandlerData *hd = (HandlerData *) l->data;
-		
-		result = _lm_message_handler_handle_message (hd->handler,
-							     connection,
-							     m);
-	}
+    for (l = connection->handlers[lm_message_get_type (m)]; 
+         l && result == LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; 
+         l = l->next) {
+        HandlerData *hd = (HandlerData *) l->data;
+        
+        result = _lm_message_handler_handle_message (hd->handler,
+                                                     connection,
+                                                     m);
+    }
 
-        if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM_ERROR) {
-		connection_stream_error (connection, m);
-		goto out;
-	}
-	
-out:
-	lm_connection_unref (connection);
-	
-	return;
+    if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM_ERROR) {
+        connection_stream_error (connection, m);
+        goto out;
+    }
+    
+ out:
+    lm_connection_unref (connection);
+    
+    return;
 }
 
 static void
 connection_new_message_cb (LmParser     *parser,
-			   LmMessage    *m,
-			   LmConnection *connection)
+                           LmMessage    *m,
+                           LmConnection *connection)
 {
-	const gchar *from;
-	
-	lm_message_ref (m);
+    const gchar *from;
+    
+    lm_message_ref (m);
 
-	from = lm_message_node_get_attribute (m->node, "from");
-	if (!from) {
-		from = "unknown";
-	}
-	
-	lm_verbose ("New message with type=\"%s\" from: %s\n",
-		    _lm_message_type_to_string (lm_message_get_type (m)),
-		    from);
+    from = lm_message_node_get_attribute (m->node, "from");
+    if (!from) {
+        from = "unknown";
+    }
+    
+    lm_verbose ("New message with type=\"%s\" from: %s\n",
+                _lm_message_type_to_string (lm_message_get_type (m)),
+                from);
 
-	lm_message_queue_push_tail (connection->queue, m);
+    lm_message_queue_push_tail (connection->queue, m);
 }
 
 static void
 connection_ping_timed_out (LmFeaturePing *fp, 
                            LmConnection  *connection)
 {
-        connection_do_close (connection);
-        connection_signal_disconnect (connection,
-                                      LM_DISCONNECT_REASON_PING_TIME_OUT);
+    connection_do_close (connection);
+    connection_signal_disconnect (connection,
+                                  LM_DISCONNECT_REASON_PING_TIME_OUT);
 }
 
 static void
 connection_start_keep_alive (LmConnection *connection)
 {
-	if (connection->feature_ping) {
-                connection_stop_keep_alive (connection);
-	}
+    if (connection->feature_ping) {
+        connection_stop_keep_alive (connection);
+    }
 
-        connection->feature_ping = g_object_new (LM_TYPE_FEATURE_PING,
-                                                 "connection", connection,
-                                                 "rate", connection->keep_alive_rate,
-                                                 NULL);
+    connection->feature_ping = g_object_new (LM_TYPE_FEATURE_PING,
+                                             "connection", connection,
+                                             "rate", connection->keep_alive_rate,
+                                             NULL);
 
-        g_signal_connect (connection->feature_ping, "timed-out",
-                          G_CALLBACK (connection_ping_timed_out),
-                          connection);
+    g_signal_connect (connection->feature_ping, "timed-out",
+                      G_CALLBACK (connection_ping_timed_out),
+                      connection);
 
-        lm_feature_ping_start (connection->feature_ping);
+    lm_feature_ping_start (connection->feature_ping);
 }
 
 static void
 connection_stop_keep_alive (LmConnection *connection)
 {
-	if (connection->feature_ping) {
-                lm_feature_ping_stop (connection->feature_ping);
-                g_signal_handlers_disconnect_by_func (connection->feature_ping,
-                                                      G_CALLBACK (connection_ping_timed_out),
-                                                      connection);
-                g_object_unref (connection->feature_ping);
-        }
+    if (connection->feature_ping) {
+        lm_feature_ping_stop (connection->feature_ping);
+        g_signal_handlers_disconnect_by_func (connection->feature_ping,
+                                              G_CALLBACK (connection_ping_timed_out),
+                                              connection);
+        g_object_unref (connection->feature_ping);
+    }
         
-	connection->feature_ping = NULL;
+    connection->feature_ping = NULL;
 }
 
 static void
 connection_log_send (LmConnection *connection,
-		     const gchar  *str,
-		     gint          len)
+                     const gchar  *str,
+                     gint          len)
 {
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "\nSEND:\n");
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-	       "-----------------------------------\n");
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "%s\n", str);
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-	       "-----------------------------------\n");
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "\nSEND:\n");
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+           "-----------------------------------\n");
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "%s\n", str);
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+           "-----------------------------------\n");
 }
 
 static gboolean
 connection_send (LmConnection  *connection, 
-		 const gchar   *str, 
-		 gint           len, 
-		 GError       **error)
+                 const gchar   *str, 
+                 gint           len, 
+                 GError       **error)
 {
-	gint b_written;
+    gint b_written;
 
-	if (connection->state < LM_CONNECTION_STATE_OPENING) {
-		g_log (LM_LOG_DOMAIN,LM_LOG_LEVEL_NET,
-		       "Connection is not open.\n");
+    if (connection->state < LM_CONNECTION_STATE_OPENING) {
+        g_log (LM_LOG_DOMAIN,LM_LOG_LEVEL_NET,
+               "Connection is not open.\n");
 
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_NOT_OPEN,
-			     "Connection is not open, call lm_connection_open() first");
-		return FALSE;
-	}
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_NOT_OPEN,
+                     "Connection is not open, call lm_connection_open() first");
+        return FALSE;
+    }
 
-	if (len == -1) {
-		len = strlen (str);
-	}
+    if (len == -1) {
+        len = strlen (str);
+    }
 
-	connection_log_send (connection, str, len);
+    connection_log_send (connection, str, len);
 
-	/* Check to see if there already is an output buffer, if so, add to the
-	   buffer and return */
+    /* Check to see if there already is an output buffer, if so, add to the
+       buffer and return */
 
-	b_written = lm_old_socket_write (connection->socket, str, len);
+    b_written = lm_old_socket_write (connection->socket, str, len);
 
-	if (b_written < 0) {
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_FAILED,
-			     "Server closed the connection");
-		return FALSE;
-	}
+    if (b_written < 0) {
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_FAILED,
+                     "Server closed the connection");
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static void
 connection_message_queue_cb (LmMessageQueue *queue, LmConnection *connection)
 {
-	LmMessage *m;
+    LmMessage *m;
 
-	m = lm_message_queue_pop_nth (connection->queue, 0);
+    m = lm_message_queue_pop_nth (connection->queue, 0);
 
-	if (m) {
-		connection_handle_message (connection, m);
-		lm_message_unref (m);
-	}
+    if (m) {
+        connection_handle_message (connection, m);
+        lm_message_unref (m);
+    }
 }
 
 /* Returns directly */
@@ -505,612 +505,612 @@
 static gboolean
 connection_do_open (LmConnection *connection, GError **error) 
 {
-	gchar *domain = NULL;
+    gchar *domain = NULL;
 
-	if (lm_connection_is_open (connection)) {
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_NOT_OPEN,
-			     "Connection is already open, call lm_connection_close() first");
-		return FALSE;
-	}
+    if (lm_connection_is_open (connection)) {
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_NOT_OPEN,
+                     "Connection is already open, call lm_connection_close() first");
+        return FALSE;
+    }
 
-        domain = _lm_connection_get_server (connection);
+    domain = _lm_connection_get_server (connection);
 
-	lm_verbose ("Connecting to: %s:%d\n", connection->server, connection->port);
+    lm_verbose ("Connecting to: %s:%d\n", connection->server, connection->port);
 
-	connection->socket = lm_old_socket_create (connection->context,
-                                                   (IncomingDataFunc) connection_incoming_data,
-                                                   (SocketClosedFunc) connection_socket_closed_cb,
-                                                   (ConnectResultFunc) connection_socket_connect_cb,
-                                                   connection,
-                                                   connection,
-                                                   connection->blocking,
-                                                   connection->server,
-                                                   domain,
-                                                   connection->port,
-                                                   connection->ssl,
-                                                   connection->proxy,
-                                                   error);
+    connection->socket = lm_old_socket_create (connection->context,
+                                               (IncomingDataFunc) connection_incoming_data,
+                                               (SocketClosedFunc) connection_socket_closed_cb,
+                                               (ConnectResultFunc) connection_socket_connect_cb,
+                                               connection,
+                                               connection,
+                                               connection->blocking,
+                                               connection->server,
+                                               domain,
+                                               connection->port,
+                                               connection->ssl,
+                                               connection->proxy,
+                                               error);
 
-	g_free (domain);
+    g_free (domain);
 
-	if (!connection->socket) {
-		return FALSE;
-	}
+    if (!connection->socket) {
+        return FALSE;
+    }
 
-	lm_message_queue_attach (connection->queue, connection->context);
-	
-	connection->state = LM_CONNECTION_STATE_OPENING;
-	connection->async_connect_waiting = FALSE;
+    lm_message_queue_attach (connection->queue, connection->context);
+    
+    connection->state = LM_CONNECTION_STATE_OPENING;
+    connection->async_connect_waiting = FALSE;
 
-	return TRUE;
+    return TRUE;
 }
-					
+                    
 void
 connection_do_close (LmConnection *connection)
 {
-	connection_stop_keep_alive (connection);
+    connection_stop_keep_alive (connection);
 
-	if (connection->socket) {
-		lm_old_socket_close (connection->socket);
-	}
+    if (connection->socket) {
+        lm_old_socket_close (connection->socket);
+    }
 
-	lm_message_queue_detach (connection->queue);
-	
-	if (!lm_connection_is_open (connection)) {
-		/* lm_connection_is_open is FALSE for state OPENING as well */
-		connection->state = LM_CONNECTION_STATE_CLOSED;
-		connection->async_connect_waiting = FALSE;
-		return;
-	}
-	
-	connection->state = LM_CONNECTION_STATE_CLOSED;
-	connection->async_connect_waiting = FALSE;
+    lm_message_queue_detach (connection->queue);
+    
+    if (!lm_connection_is_open (connection)) {
+        /* lm_connection_is_open is FALSE for state OPENING as well */
+        connection->state = LM_CONNECTION_STATE_CLOSED;
+        connection->async_connect_waiting = FALSE;
+        return;
+    }
+    
+    connection->state = LM_CONNECTION_STATE_CLOSED;
+    connection->async_connect_waiting = FALSE;
 
-	if (connection->sasl) {
-		lm_sasl_free (connection->sasl);
-		connection->sasl = NULL;
-	}
+    if (connection->sasl) {
+        lm_sasl_free (connection->sasl);
+        connection->sasl = NULL;
+    }
 }
 
 typedef struct {
-	gchar        *username;
-	gchar        *password;
-	gchar        *resource;
+    gchar        *username;
+    gchar        *password;
+    gchar        *resource;
 } AuthReqData;
 
 static void 
 auth_req_data_free (AuthReqData *data) 
 {
-	g_free (data->username);
-	g_free (data->password);
-	g_free (data->resource);
-	g_free (data);
+    g_free (data->username);
+    g_free (data->password);
+    g_free (data->resource);
+    g_free (data);
 }
 
 static LmMessage *
 connection_create_auth_req_msg (const gchar *username)
 {
-	LmMessage     *m;
-	LmMessageNode *q_node;
-	
-	m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
-					  LM_MESSAGE_SUB_TYPE_GET);
-	q_node = lm_message_node_add_child (m->node, "query", NULL);
-	lm_message_node_set_attributes (q_node,
-					"xmlns", "jabber:iq:auth",
-					NULL);
-	lm_message_node_add_child (q_node, "username", username);
+    LmMessage     *m;
+    LmMessageNode *q_node;
+    
+    m = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
+                                      LM_MESSAGE_SUB_TYPE_GET);
+    q_node = lm_message_node_add_child (m->node, "query", NULL);
+    lm_message_node_set_attributes (q_node,
+                                    "xmlns", "jabber:iq:auth",
+                                    NULL);
+    lm_message_node_add_child (q_node, "username", username);
 
-	return m;
+    return m;
 }
 
 static LmMessage *
 connection_create_auth_msg (LmConnection *connection,
-			    const gchar  *username,
-			    const gchar  *password,
-			    const gchar  *resource,
-			    gint          auth_type)
+                            const gchar  *username,
+                            const gchar  *password,
+                            const gchar  *resource,
+                            gint          auth_type)
 {
-	LmMessage     *auth_msg;
-	LmMessageNode *q_node;
+    LmMessage     *auth_msg;
+    LmMessageNode *q_node;
 
-	auth_msg = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
-						 LM_MESSAGE_SUB_TYPE_SET);
-	
-	q_node = lm_message_node_add_child (auth_msg->node, "query", NULL);
-	
-	lm_message_node_set_attributes (q_node,
-					"xmlns", "jabber:iq:auth", 
-					NULL);
+    auth_msg = lm_message_new_with_sub_type (NULL, LM_MESSAGE_TYPE_IQ,
+                                             LM_MESSAGE_SUB_TYPE_SET);
+    
+    q_node = lm_message_node_add_child (auth_msg->node, "query", NULL);
+    
+    lm_message_node_set_attributes (q_node,
+                                    "xmlns", "jabber:iq:auth", 
+                                    NULL);
 
-	lm_message_node_add_child (q_node, "username", username);
-	
-	if (auth_type & AUTH_TYPE_0K) {
-		lm_verbose ("Using 0k auth (not implemented yet)\n");
-		/* TODO: Should probably use this? */
-	}
+    lm_message_node_add_child (q_node, "username", username);
+    
+    if (auth_type & AUTH_TYPE_0K) {
+        lm_verbose ("Using 0k auth (not implemented yet)\n");
+        /* TODO: Should probably use this? */
+    }
 
-	if (auth_type & AUTH_TYPE_DIGEST) {
-		gchar *str;
-                gchar *digest;
+    if (auth_type & AUTH_TYPE_DIGEST) {
+        gchar *str;
+        gchar *digest;
 
-		lm_verbose ("Using digest\n");
-		str = g_strconcat (connection->stream_id, password, NULL);
-		digest = lm_sha_hash (str);
-		g_free (str);
-		lm_message_node_add_child (q_node, "digest", digest);
-                g_free (digest);
-	} 
-	else if (auth_type & AUTH_TYPE_PLAIN) {
-		lm_verbose ("Using plaintext auth\n");
-		lm_message_node_add_child (q_node, "password", password);
-	} else {
-		/* TODO: Report error somehow */
-	}
-	
-	lm_message_node_add_child (q_node, "resource", resource);
+        lm_verbose ("Using digest\n");
+        str = g_strconcat (connection->stream_id, password, NULL);
+        digest = lm_sha_hash (str);
+        g_free (str);
+        lm_message_node_add_child (q_node, "digest", digest);
+        g_free (digest);
+    } 
+    else if (auth_type & AUTH_TYPE_PLAIN) {
+        lm_verbose ("Using plaintext auth\n");
+        lm_message_node_add_child (q_node, "password", password);
+    } else {
+        /* TODO: Report error somehow */
+    }
+    
+    lm_message_node_add_child (q_node, "resource", resource);
 
-	return auth_msg;
+    return auth_msg;
 }
 
 static LmHandlerResult
 connection_auth_req_reply (LmMessageHandler *handler,
-			   LmConnection     *connection,
-			   LmMessage        *m,
-			   gpointer          user_data)
+                           LmConnection     *connection,
+                           LmMessage        *m,
+                           gpointer          user_data)
 {
-	int               auth_type;
-	LmMessage        *auth_msg;
-	LmMessageHandler *auth_handler;
-	AuthReqData      *data = (AuthReqData *) user_data;      
-	gboolean          result;
-	
-	auth_type = connection_check_auth_type (m);
+    int               auth_type;
+    LmMessage        *auth_msg;
+    LmMessageHandler *auth_handler;
+    AuthReqData      *data = (AuthReqData *) user_data;      
+    gboolean          result;
+    
+    auth_type = connection_check_auth_type (m);
 
-	auth_msg = connection_create_auth_msg (connection, 
-					       data->username,
-					       data->password,
-					       data->resource,
-					       auth_type);
+    auth_msg = connection_create_auth_msg (connection, 
+                                           data->username,
+                                           data->password,
+                                           data->resource,
+                                           auth_type);
 
-	auth_handler = lm_message_handler_new (connection_auth_reply,
-					       NULL, NULL);
-	result = lm_connection_send_with_reply (connection, auth_msg, 
-						auth_handler, NULL);
-	lm_message_handler_unref (auth_handler);
-	lm_message_unref (auth_msg);
-	
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    auth_handler = lm_message_handler_new (connection_auth_reply,
+                                           NULL, NULL);
+    result = lm_connection_send_with_reply (connection, auth_msg, 
+                                            auth_handler, NULL);
+    lm_message_handler_unref (auth_handler);
+    lm_message_unref (auth_msg);
+    
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 static int
 connection_check_auth_type (LmMessage *auth_req_rpl)
 {
-	LmMessageNode *q_node;
-	gint           ret_val = 0; 
+    LmMessageNode *q_node;
+    gint           ret_val = 0; 
 
-	q_node = lm_message_node_get_child (auth_req_rpl->node, "query");
-	
-	if (!q_node) {
-		return AUTH_TYPE_PLAIN;
-	}
+    q_node = lm_message_node_get_child (auth_req_rpl->node, "query");
+    
+    if (!q_node) {
+        return AUTH_TYPE_PLAIN;
+    }
 
-	if (lm_message_node_get_child (q_node, "password")) {
-		ret_val |= AUTH_TYPE_PLAIN;
-	}
+    if (lm_message_node_get_child (q_node, "password")) {
+        ret_val |= AUTH_TYPE_PLAIN;
+    }
 
-	if (lm_message_node_get_child (q_node, "digest")) {
-		ret_val |= AUTH_TYPE_DIGEST;
-	}
+    if (lm_message_node_get_child (q_node, "digest")) {
+        ret_val |= AUTH_TYPE_DIGEST;
+    }
 
-	if (lm_message_node_get_child (q_node, "sequence") &&
-	    lm_message_node_get_child (q_node, "token")) {
-		ret_val |= AUTH_TYPE_0K;
-	}
+    if (lm_message_node_get_child (q_node, "sequence") &&
+        lm_message_node_get_child (q_node, "token")) {
+        ret_val |= AUTH_TYPE_0K;
+    }
 
-	return ret_val;
+    return ret_val;
 }
 
 static LmHandlerResult 
 connection_auth_reply (LmMessageHandler *handler,
-		       LmConnection     *connection,
-		       LmMessage        *m,
-		       gpointer          user_data)
+                       LmConnection     *connection,
+                       LmMessage        *m,
+                       gpointer          user_data)
 {
-	const gchar *type;
-	gboolean     result = TRUE;
-	
-	g_return_val_if_fail (connection != NULL, 
-			      LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS);
-	
+    const gchar *type;
+    gboolean     result = TRUE;
+    
+    g_return_val_if_fail (connection != NULL, 
+                          LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS);
+    
 
-	type = lm_message_node_get_attribute (m->node, "type");
-	if (strcmp (type, "result") == 0) {
-		result = TRUE;
-		connection->state = LM_CONNECTION_STATE_AUTHENTICATED;
-	} 
-	else if (strcmp (type, "error") == 0) {
-		result = FALSE;
-		connection->state = LM_CONNECTION_STATE_OPEN;
-	}
-	
-	lm_verbose ("AUTH reply: %d\n", result);
-	
-	if (connection->auth_cb) {
-	        LmCallback *cb = connection->auth_cb;
+    type = lm_message_node_get_attribute (m->node, "type");
+    if (strcmp (type, "result") == 0) {
+        result = TRUE;
+        connection->state = LM_CONNECTION_STATE_AUTHENTICATED;
+    } 
+    else if (strcmp (type, "error") == 0) {
+        result = FALSE;
+        connection->state = LM_CONNECTION_STATE_OPEN;
+    }
+    
+    lm_verbose ("AUTH reply: %d\n", result);
+    
+    if (connection->auth_cb) {
+        LmCallback *cb = connection->auth_cb;
 
-		connection->auth_cb = NULL;
+        connection->auth_cb = NULL;
 
-		if (cb->func) {
-	    		(* ((LmResultFunction) cb->func)) (connection, 
-						           result,
-                                                           cb->user_data);
-		}
+        if (cb->func) {
+            (* ((LmResultFunction) cb->func)) (connection, 
+                                               result,
+                                               cb->user_data);
+        }
 
-		_lm_utils_free_callback (cb);
-	}
-	
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+        _lm_utils_free_callback (cb);
+    }
+    
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 
 static LmHandlerResult
 _lm_connection_starttls_cb (LmMessageHandler *handler,
-			    LmConnection *connection,
-			    LmMessage *message,
-			    gpointer user_data)
+                            LmConnection *connection,
+                            LmMessage *message,
+                            gpointer user_data)
 {
-	if (lm_old_socket_starttls (connection->socket)) {
-		connection->tls_started = TRUE;
-		connection_send_stream_header (connection);
-	} else {
-		connection_do_close (connection);
-		connection_signal_disconnect (connection, 
-					      LM_DISCONNECT_REASON_ERROR);
-	}
+    if (lm_old_socket_starttls (connection->socket)) {
+        connection->tls_started = TRUE;
+        connection_send_stream_header (connection);
+    } else {
+        connection_do_close (connection);
+        connection_signal_disconnect (connection, 
+                                      LM_DISCONNECT_REASON_ERROR);
+    }
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 static void
 connection_possibly_register_starttls_handler (LmConnection *connection) 
 {
-        /* if we'd like to use tls and we didn't already start
-         * it, prepare for it now */
-        if (connection->ssl &&
-            lm_old_socket_get_use_starttls (connection->socket) &&
-            !connection->starttls_cb) {
-                connection->starttls_cb  =
-                        lm_message_handler_new (_lm_connection_starttls_cb,
-                                                NULL, NULL);
-                lm_connection_register_message_handler (connection,
-                                                        connection->starttls_cb,
-                                                        LM_MESSAGE_TYPE_PROCEED,
-                                                        LM_HANDLER_PRIORITY_FIRST);
-        }
+    /* if we'd like to use tls and we didn't already start
+     * it, prepare for it now */
+    if (connection->ssl &&
+        lm_old_socket_get_use_starttls (connection->socket) &&
+        !connection->starttls_cb) {
+        connection->starttls_cb  =
+            lm_message_handler_new (_lm_connection_starttls_cb,
+                                    NULL, NULL);
+        lm_connection_register_message_handler (connection,
+                                                connection->starttls_cb,
+                                                LM_MESSAGE_TYPE_PROCEED,
+                                                LM_HANDLER_PRIORITY_FIRST);
+    }
 }
 
 static void
 connection_stream_received (LmConnection *connection, LmMessage *m)
 {
-	gboolean result;
-	const char *xmpp_version;
-	
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (m != NULL);
-	
-	connection->stream_id = g_strdup (lm_message_node_get_attribute (m->node,
-									 "id"));;
+    gboolean result;
+    const char *xmpp_version;
+    
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (m != NULL);
+    
+    connection->stream_id = g_strdup (lm_message_node_get_attribute (m->node,
+                                                                     "id"));;
 
-	xmpp_version = lm_message_node_get_attribute (m->node, "version");
-	if (xmpp_version && strcmp (xmpp_version, "1.0") == 0) {
-		lm_verbose ("XMPP 1.0 stream received: %s\n",
-			    connection->stream_id);
+    xmpp_version = lm_message_node_get_attribute (m->node, "version");
+    if (xmpp_version && strcmp (xmpp_version, "1.0") == 0) {
+        lm_verbose ("XMPP 1.0 stream received: %s\n",
+                    connection->stream_id);
 
-		connection->use_sasl = TRUE;
-		
-		/* stream is started multiple times, but we only want
-		 * one sasl mechanism */
-		if (!connection->sasl) {
-			connection->sasl = lm_sasl_new(connection);
-                }
+        connection->use_sasl = TRUE;
+        
+        /* stream is started multiple times, but we only want
+         * one sasl mechanism */
+        if (!connection->sasl) {
+            connection->sasl = lm_sasl_new(connection);
+        }
 
-                connection_possibly_register_starttls_handler (connection);
-        } else {
-		lm_verbose ("Old Jabber stream received: %s\n", 
-			    connection->stream_id);
-	}
-	
-	if (connection->state < LM_CONNECTION_STATE_OPEN) {
-		connection->state = LM_CONNECTION_STATE_OPEN;
-	}
-	
-	/* Check to see if the stream is correctly set up */
-	result = TRUE;
+        connection_possibly_register_starttls_handler (connection);
+    } else {
+        lm_verbose ("Old Jabber stream received: %s\n", 
+                    connection->stream_id);
+    }
+    
+    if (connection->state < LM_CONNECTION_STATE_OPEN) {
+        connection->state = LM_CONNECTION_STATE_OPEN;
+    }
+    
+    /* Check to see if the stream is correctly set up */
+    result = TRUE;
 
-	connection_start_keep_alive (connection);
+    connection_start_keep_alive (connection);
 
-	if (connection->open_cb) {
-		LmCallback *cb = connection->open_cb;
+    if (connection->open_cb) {
+        LmCallback *cb = connection->open_cb;
 
-		connection->open_cb = NULL;
-		
-		if (cb->func) {
-		        (* ((LmResultFunction) cb->func)) (connection, result,
-			        			   cb->user_data);
-		}
-		_lm_utils_free_callback (cb);
-	}
+        connection->open_cb = NULL;
+        
+        if (cb->func) {
+            (* ((LmResultFunction) cb->func)) (connection, result,
+                                               cb->user_data);
+        }
+        _lm_utils_free_callback (cb);
+    }
 }
 
 static void
 connection_stream_error (LmConnection *connection, LmMessage *m)
 {
-	LmMessageNode *node, *reason_node;
-	LmDisconnectReason reason;
+    LmMessageNode *node, *reason_node;
+    LmDisconnectReason reason;
 
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (m != NULL);
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (m != NULL);
 
-	node = m->node;
+    node = m->node;
 
-	/* Resource conflict */
-	reason_node = lm_message_node_get_child (node, "conflict");
-	if (reason_node) {
-		lm_verbose ("Stream error: Conflict (resource connected elsewhere)\n");
-		reason = LM_DISCONNECT_REASON_RESOURCE_CONFLICT;
-		return;
-	}
+    /* Resource conflict */
+    reason_node = lm_message_node_get_child (node, "conflict");
+    if (reason_node) {
+        lm_verbose ("Stream error: Conflict (resource connected elsewhere)\n");
+        reason = LM_DISCONNECT_REASON_RESOURCE_CONFLICT;
+        return;
+    }
 
-	/* XML is crack */
-	reason_node = lm_message_node_get_child (node, "xml-not-well-formed");
-	if (reason_node) {
-		lm_verbose ("Stream error: XML not well formed\n");
-		reason = LM_DISCONNECT_REASON_INVALID_XML;
-		return;
-	}
+    /* XML is crack */
+    reason_node = lm_message_node_get_child (node, "xml-not-well-formed");
+    if (reason_node) {
+        lm_verbose ("Stream error: XML not well formed\n");
+        reason = LM_DISCONNECT_REASON_INVALID_XML;
+        return;
+    }
 
-	lm_verbose ("Stream error: Unrecognised error\n");
-	reason = LM_DISCONNECT_REASON_ERROR;
-	connection->stream_id = g_strdup (lm_message_node_get_attribute (m->node,
-									 "id"));;
-	connection_do_close (connection);
-	connection_signal_disconnect (connection, reason);
+    lm_verbose ("Stream error: Unrecognised error\n");
+    reason = LM_DISCONNECT_REASON_ERROR;
+    connection->stream_id = g_strdup (lm_message_node_get_attribute (m->node,
+                                                                     "id"));;
+    connection_do_close (connection);
+    connection_signal_disconnect (connection, reason);
 }
 
 static gint
 connection_handler_compare_func (HandlerData *a, HandlerData *b)
 {
-	return b->priority - a->priority;
+    return b->priority - a->priority;
 }
 
 static void
 connection_signal_disconnect (LmConnection       *connection,
-			      LmDisconnectReason  reason)
+                              LmDisconnectReason  reason)
 {
-	if (connection->disconnect_cb && connection->disconnect_cb->func) {
-		LmCallback *cb = connection->disconnect_cb;
-		
-		lm_connection_ref (connection);
-		(* ((LmDisconnectFunction) cb->func)) (connection,
-						       reason,
-						       cb->user_data);
-		lm_connection_unref (connection);
-	}
+    if (connection->disconnect_cb && connection->disconnect_cb->func) {
+        LmCallback *cb = connection->disconnect_cb;
+        
+        lm_connection_ref (connection);
+        (* ((LmDisconnectFunction) cb->func)) (connection,
+                                               reason,
+                                               cb->user_data);
+        lm_connection_unref (connection);
+    }
 }
 
 static void
 connection_incoming_data (LmOldSocket     *socket, 
-			  const gchar  *buf, 
-			  LmConnection *connection)
+                          const gchar  *buf, 
+                          LmConnection *connection)
 {
-	lm_parser_parse (connection->parser, buf);
+    lm_parser_parse (connection->parser, buf);
 }
 
 static void
 connection_socket_closed_cb (LmOldSocket        *socket,
-			     LmDisconnectReason reason,
-			     LmConnection       *connection)
+                             LmDisconnectReason reason,
+                             LmConnection       *connection)
 {
-	connection_do_close (connection);
-	connection_signal_disconnect (connection, reason);
+    connection_do_close (connection);
+    connection_signal_disconnect (connection, reason);
 }
 
 static void
 connection_socket_connect_cb (LmOldSocket           *socket,
-			      gboolean            result,
-			      LmConnection       *connection)
+                              gboolean            result,
+                              LmConnection       *connection)
 {
-	if (result == FALSE) {
-		connection_do_close (connection);
+    if (result == FALSE) {
+        connection_do_close (connection);
 
-		if (connection->open_cb) {
-			LmCallback *cb = connection->open_cb;
+        if (connection->open_cb) {
+            LmCallback *cb = connection->open_cb;
 
-			connection->open_cb = NULL;
-			
-			(* ((LmResultFunction) cb->func)) (connection, FALSE,
-							   cb->user_data);
-			_lm_utils_free_callback (cb);
-		}
-	
-		return;
-	}
-	
-	/* FIXME: Set up according to XMPP 1.0 specification */
-	/*        StartTLS and the like */
-	if (!connection_send (connection, 
-			      "<?xml version='1.0' encoding='UTF-8'?>", -1,
-			      NULL)) {
-		lm_verbose ("Failed to send xml version and encoding\n");
-		connection_do_close (connection);
+            connection->open_cb = NULL;
+            
+            (* ((LmResultFunction) cb->func)) (connection, FALSE,
+                                               cb->user_data);
+            _lm_utils_free_callback (cb);
+        }
+    
+        return;
+    }
+    
+    /* FIXME: Set up according to XMPP 1.0 specification */
+    /*        StartTLS and the like */
+    if (!connection_send (connection, 
+                          "<?xml version='1.0' encoding='UTF-8'?>", -1,
+                          NULL)) {
+        lm_verbose ("Failed to send xml version and encoding\n");
+        connection_do_close (connection);
 
-		return;
-	}
+        return;
+    }
 
-	connection_send_stream_header (connection);
+    connection_send_stream_header (connection);
 }
 
 static gboolean
 connection_get_server_from_jid (const gchar     *jid,
-				gchar          **server)
+                                gchar          **server)
 {
-	gchar *ch;
-	gchar *ch_end;
+    gchar *ch;
+    gchar *ch_end;
 
-	if (jid != NULL && (ch = strchr (jid, '@')) != NULL) {
-		ch_end = strchr(ch + 1, '/');
-		if (ch_end != NULL) {
-			*server = g_strndup (ch + 1, ch_end - ch - 1);
-		} else {
-			*server = g_strdup (ch + 1);
-		}
+    if (jid != NULL && (ch = strchr (jid, '@')) != NULL) {
+        ch_end = strchr(ch + 1, '/');
+        if (ch_end != NULL) {
+            *server = g_strndup (ch + 1, ch_end - ch - 1);
+        } else {
+            *server = g_strdup (ch + 1);
+        }
 
-		return TRUE;
-	} 
-	
-	return FALSE;
+        return TRUE;
+    } 
+    
+    return FALSE;
 }
 
 static void
 connection_send_stream_header (LmConnection *connection)
 {
-	LmMessage *m;
-	gchar     *server_from_jid;
+    LmMessage *m;
+    gchar     *server_from_jid;
 
-	lm_verbose ("Sending stream header\n");
+    lm_verbose ("Sending stream header\n");
 
-        server_from_jid = _lm_connection_get_server (connection);
+    server_from_jid = _lm_connection_get_server (connection);
 
-	m = lm_message_new (server_from_jid, LM_MESSAGE_TYPE_STREAM);
-	lm_message_node_set_attributes (m->node,
-					"xmlns:stream", 
-					"http://etherx.jabber.org/streams",
-					"xmlns", "jabber:client",
-					"version", "1.0",
-					NULL);
-	
-	g_free (server_from_jid);
+    m = lm_message_new (server_from_jid, LM_MESSAGE_TYPE_STREAM);
+    lm_message_node_set_attributes (m->node,
+                                    "xmlns:stream", 
+                                    "http://etherx.jabber.org/streams",
+                                    "xmlns", "jabber:client",
+                                    "version", "1.0",
+                                    NULL);
+    
+    g_free (server_from_jid);
 
-	if (!lm_connection_send (connection, m, NULL)) {
-		lm_verbose ("Failed to send stream information\n");
-		connection_do_close (connection);
-	}
-		
-	lm_message_unref (m);
+    if (!lm_connection_send (connection, m, NULL)) {
+        lm_verbose ("Failed to send stream information\n");
+        connection_do_close (connection);
+    }
+        
+    lm_message_unref (m);
 }
 
 GMainContext *
 _lm_connection_get_context (LmConnection *conn)
 {
-        g_return_val_if_fail (conn != NULL, NULL);
+    g_return_val_if_fail (conn != NULL, NULL);
 
-        return conn->context;
+    return conn->context;
 }
 
 gchar *
 _lm_connection_get_server (LmConnection *conn)
 {
-        gchar *server;
+    gchar *server;
 
-        g_return_val_if_fail (conn != NULL, NULL);
+    g_return_val_if_fail (conn != NULL, NULL);
 
-	if (!connection_get_server_from_jid (conn->jid, &server)) {
-		server = g_strdup (conn->server);
-	}
+    if (!connection_get_server_from_jid (conn->jid, &server)) {
+        server = g_strdup (conn->server);
+    }
 
-        return server;
+    return server;
 }
 
 gboolean 
 _lm_connection_async_connect_waiting (LmConnection *connection)
 {
-	return connection->async_connect_waiting;
+    return connection->async_connect_waiting;
 }
 
 void
 _lm_connection_set_async_connect_waiting (LmConnection *connection,
-					  gboolean      waiting)
+                                          gboolean      waiting)
 {
-	connection->async_connect_waiting = waiting;
+    connection->async_connect_waiting = waiting;
 }
 
 static void
 connection_call_auth_cb (LmConnection *connection, gboolean success)
 {
-	if (success) {
-		connection->state = LM_CONNECTION_STATE_AUTHENTICATED;
-	} else {
-		connection->state = LM_CONNECTION_STATE_OPEN;
-	}
+    if (success) {
+        connection->state = LM_CONNECTION_STATE_AUTHENTICATED;
+    } else {
+        connection->state = LM_CONNECTION_STATE_OPEN;
+    }
 
-	if (connection->auth_cb) {
-	        LmCallback *cb = connection->auth_cb;
+    if (connection->auth_cb) {
+        LmCallback *cb = connection->auth_cb;
 
-		connection->auth_cb = NULL;
+        connection->auth_cb = NULL;
 
-		if (cb->func) {
-	    		(* ((LmResultFunction) cb->func)) (connection, 
-						           success,
-							   cb->user_data);
-		}
+        if (cb->func) {
+            (* ((LmResultFunction) cb->func)) (connection, 
+                                               success,
+                                               cb->user_data);
+        }
 
-		_lm_utils_free_callback (cb);
-	}
+        _lm_utils_free_callback (cb);
+    }
 }
 
 static LmHandlerResult
 connection_bind_reply (LmMessageHandler *handler,
-			LmConnection    *connection,
-			LmMessage       *message,
-			gpointer         user_data)
+                       LmConnection    *connection,
+                       LmMessage       *message,
+                       gpointer         user_data)
 {
-	LmMessage        *m;
-	LmMessageNode    *session_node;
-	LmMessageNode    *jid_node;
-	int               result;
-	LmMessageSubType  type;
+    LmMessage        *m;
+    LmMessageNode    *session_node;
+    LmMessageNode    *jid_node;
+    int               result;
+    LmMessageSubType  type;
 
-	type = lm_message_get_sub_type (message);
-	if (type == LM_MESSAGE_SUB_TYPE_ERROR) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
-		       "%s: error while binding to resource\n", G_STRFUNC);
-	
-		connection_call_auth_cb (connection, FALSE);
-		
-		return LM_HANDLER_RESULT_REMOVE_MESSAGE;
-	}
+    type = lm_message_get_sub_type (message);
+    if (type == LM_MESSAGE_SUB_TYPE_ERROR) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
+               "%s: error while binding to resource\n", G_STRFUNC);
+    
+        connection_call_auth_cb (connection, FALSE);
+        
+        return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    }
 
-	/* use whatever server returns as our effective jid */
-	jid_node = lm_message_node_find_child (message->node, "jid");
-	if (jid_node) {
-		g_free (connection->effective_jid);
-		connection->effective_jid = g_strdup
-			(lm_message_node_get_value (jid_node));
-	}
+    /* use whatever server returns as our effective jid */
+    jid_node = lm_message_node_find_child (message->node, "jid");
+    if (jid_node) {
+        g_free (connection->effective_jid);
+        connection->effective_jid = g_strdup
+            (lm_message_node_get_value (jid_node));
+    }
 
 
-	m = lm_message_new_with_sub_type (NULL,
-					  LM_MESSAGE_TYPE_IQ, 
-					  LM_MESSAGE_SUB_TYPE_SET);
+    m = lm_message_new_with_sub_type (NULL,
+                                      LM_MESSAGE_TYPE_IQ, 
+                                      LM_MESSAGE_SUB_TYPE_SET);
 
-	session_node = lm_message_node_add_child (m->node, "session", NULL);
-	lm_message_node_set_attributes (session_node,
-					"xmlns", XMPP_NS_SESSION,
-					NULL);
+    session_node = lm_message_node_add_child (m->node, "session", NULL);
+    lm_message_node_set_attributes (session_node,
+                                    "xmlns", XMPP_NS_SESSION,
+                                    NULL);
 
-	result = lm_connection_send (connection, m, NULL);
-	lm_message_unref (m);
-	if (result < 0) {
-		connection_do_close (connection);
-	}
+    result = lm_connection_send (connection, m, NULL);
+    lm_message_unref (m);
+    if (result < 0) {
+        connection_do_close (connection);
+    }
 
-	/* We may finally tell the client they're authorized */
-	connection_call_auth_cb (connection, TRUE);
+    /* We may finally tell the client they're authorized */
+    connection_call_auth_cb (connection, TRUE);
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 static LmHandlerResult
@@ -1119,112 +1119,112 @@
                         LmMessage        *message,
                         gpointer          user_data)
 {
-	LmMessageNode *bind_node;
-	LmMessageNode    *starttls_node;
-	LmMessageNode *old_auth;
-	LmMessageNode *sasl_mechanisms;
-	
-	starttls_node = lm_message_node_find_child (message->node, "starttls");
-        if (connection->ssl && lm_old_socket_get_use_starttls (connection->socket)) {
-		if (starttls_node) {
-			LmMessage        *msg;
+    LmMessageNode *bind_node;
+    LmMessageNode    *starttls_node;
+    LmMessageNode *old_auth;
+    LmMessageNode *sasl_mechanisms;
+    
+    starttls_node = lm_message_node_find_child (message->node, "starttls");
+    if (connection->ssl && lm_old_socket_get_use_starttls (connection->socket)) {
+        if (starttls_node) {
+            LmMessage        *msg;
 
-			msg = lm_message_new (NULL, LM_MESSAGE_TYPE_STARTTLS);
+            msg = lm_message_new (NULL, LM_MESSAGE_TYPE_STARTTLS);
 
-			lm_message_node_set_attributes (
-				msg->node,
-				"xmlns", XMPP_NS_STARTTLS,
-				NULL);
+            lm_message_node_set_attributes (
+                msg->node,
+                "xmlns", XMPP_NS_STARTTLS,
+                NULL);
 
-			lm_connection_send (connection, msg, NULL);
-			lm_message_unref (msg);
+            lm_connection_send (connection, msg, NULL);
+            lm_message_unref (msg);
 
-			return LM_HANDLER_RESULT_REMOVE_MESSAGE;
-		} else if (!connection->tls_started &&
-                           lm_old_socket_get_require_starttls (connection->socket)) {
-			/* If there were no starttls features present and we require it, this is
-			 * the place to scream. */
+            return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+        } else if (!connection->tls_started &&
+                   lm_old_socket_get_require_starttls (connection->socket)) {
+            /* If there were no starttls features present and we require it, this is
+             * the place to scream. */
 
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
-			       "%s: required StartTLS feature not supported by server\n", G_STRFUNC);
-			connection_do_close (connection);
-			connection_signal_disconnect (connection,
-				LM_DISCONNECT_REASON_ERROR);
-			return LM_HANDLER_RESULT_REMOVE_MESSAGE;
-		}
-	}
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
+                   "%s: required StartTLS feature not supported by server\n", G_STRFUNC);
+            connection_do_close (connection);
+            connection_signal_disconnect (connection,
+                                          LM_DISCONNECT_REASON_ERROR);
+            return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+        }
+    }
 
-	bind_node = lm_message_node_find_child (message->node, "bind");
-	if (bind_node) {
-		LmMessageHandler *bind_handler;
-		LmMessage        *bind_msg;
-		const gchar      *ns;
-		int               result;
+    bind_node = lm_message_node_find_child (message->node, "bind");
+    if (bind_node) {
+        LmMessageHandler *bind_handler;
+        LmMessage        *bind_msg;
+        const gchar      *ns;
+        int               result;
 
-		ns = lm_message_node_get_attribute (bind_node, "xmlns");
-		if (!ns || strcmp (ns, XMPP_NS_BIND) != 0) {
-			return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-		}
+        ns = lm_message_node_get_attribute (bind_node, "xmlns");
+        if (!ns || strcmp (ns, XMPP_NS_BIND) != 0) {
+            return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+        }
 
-		bind_msg = lm_message_new_with_sub_type (NULL,
-							 LM_MESSAGE_TYPE_IQ, 
-							 LM_MESSAGE_SUB_TYPE_SET);
+        bind_msg = lm_message_new_with_sub_type (NULL,
+                                                 LM_MESSAGE_TYPE_IQ, 
+                                                 LM_MESSAGE_SUB_TYPE_SET);
 
-		bind_node = lm_message_node_add_child (bind_msg->node, 
-						       "bind", NULL);
-		lm_message_node_set_attributes (bind_node,
-						"xmlns", XMPP_NS_BIND,
-						NULL);
+        bind_node = lm_message_node_add_child (bind_msg->node, 
+                                               "bind", NULL);
+        lm_message_node_set_attributes (bind_node,
+                                        "xmlns", XMPP_NS_BIND,
+                                        NULL);
 
-		lm_message_node_add_child (bind_node, "resource",
-					   connection->resource);
+        lm_message_node_add_child (bind_node, "resource",
+                                   connection->resource);
 
-		bind_handler = lm_message_handler_new (connection_bind_reply,
-						       NULL, NULL);
-		result = lm_connection_send_with_reply (connection, bind_msg, 
-							bind_handler, NULL);
-		lm_message_handler_unref (bind_handler);
-		lm_message_unref (bind_msg);
+        bind_handler = lm_message_handler_new (connection_bind_reply,
+                                               NULL, NULL);
+        result = lm_connection_send_with_reply (connection, bind_msg, 
+                                                bind_handler, NULL);
+        lm_message_handler_unref (bind_handler);
+        lm_message_unref (bind_msg);
 
-		if (result < 0) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
-			       "%s: can't send resource binding request\n", G_STRFUNC);
-			connection_do_close (connection);
-		}
-	}
+        if (result < 0) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
+                   "%s: can't send resource binding request\n", G_STRFUNC);
+            connection_do_close (connection);
+        }
+    }
 
-	old_auth = lm_message_node_find_child (message->node, "auth");
+    old_auth = lm_message_node_find_child (message->node, "auth");
 
-	sasl_mechanisms = lm_message_node_find_child (message->node, "mechanisms");
-	if (connection->use_sasl && old_auth != NULL && sasl_mechanisms == NULL) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
-		       "Server uses XEP-0078 (jabber iq auth) instead of SASL\n");
-		/* So the server is XMPP1.0, but doesn't support SASL and uses
-		 * obsolete XEP-0078 instead. Let's cope. */
+    sasl_mechanisms = lm_message_node_find_child (message->node, "mechanisms");
+    if (connection->use_sasl && old_auth != NULL && sasl_mechanisms == NULL) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
+               "Server uses XEP-0078 (jabber iq auth) instead of SASL\n");
+        /* So the server is XMPP1.0, but doesn't support SASL and uses
+         * obsolete XEP-0078 instead. Let's cope. */
 
-		connection->use_sasl = FALSE;
+        connection->use_sasl = FALSE;
 
-		if (connection->sasl) {
-			const gchar *user, *pass;
+        if (connection->sasl) {
+            const gchar *user, *pass;
 
-			lm_sasl_get_auth_params (connection->sasl, &user, &pass);
-			if (user && pass) {
-				GError *error = NULL;
-				connection_old_auth (connection, user, pass,
-                                                     connection->resource,
-                                                     &error);
+            lm_sasl_get_auth_params (connection->sasl, &user, &pass);
+            if (user && pass) {
+                GError *error = NULL;
+                connection_old_auth (connection, user, pass,
+                                     connection->resource,
+                                     &error);
 
-				if (error) {
-					g_error_free (error);
-				}
-			}
+                if (error) {
+                    g_error_free (error);
+                }
+            }
 
-			lm_sasl_free (connection->sasl);
-			connection->sasl = NULL;
-		}
-	}
+            lm_sasl_free (connection->sasl);
+            connection->sasl = NULL;
+        }
+    }
 
-	return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
 }
 
 /**
@@ -1239,54 +1239,54 @@
 LmConnection *
 lm_connection_new (const gchar *server)
 {
-	LmConnection *connection;
-	gint          i;
+    LmConnection *connection;
+    gint          i;
 
-        g_type_init (); /* Ensure that the GLib type library is initialized */
-	lm_debug_init ();
-	_lm_sock_library_init ();
+    g_type_init (); /* Ensure that the GLib type library is initialized */
+    lm_debug_init ();
+    _lm_sock_library_init ();
 
-	connection = g_slice_new0 (LmConnection);
+    connection = g_slice_new0 (LmConnection);
 
-	if (server) {
-		connection->server  = _lm_utils_hostname_to_punycode (server);
-		connection->use_srv = FALSE;
-	} else {
-		connection->server  = NULL;
-		connection->use_srv = TRUE;
-	}
+    if (server) {
+        connection->server  = _lm_utils_hostname_to_punycode (server);
+        connection->use_srv = FALSE;
+    } else {
+        connection->server  = NULL;
+        connection->use_srv = TRUE;
+    }
 
-	connection->context           = NULL;
-	connection->port              = LM_CONNECTION_DEFAULT_PORT;
-	connection->jid               = NULL;
-	connection->effective_jid     = NULL;
-	connection->ssl               = NULL;
-	connection->proxy             = NULL;
-	connection->disconnect_cb     = NULL;
-	connection->queue             = lm_message_queue_new ((LmMessageQueueCallback) connection_message_queue_cb, 
-							      connection);
-	connection->cancel_open       = FALSE;
-	connection->state             = LM_CONNECTION_STATE_CLOSED;
-	connection->keep_alive_rate   = 0;
-	connection->socket            = NULL;
-	connection->use_sasl          = FALSE;
-	connection->tls_started       = FALSE;
-	
-	connection->id_handlers = g_hash_table_new_full (g_str_hash, 
-							 g_str_equal,
-							 g_free, 
-							 (GDestroyNotify) lm_message_handler_unref);
-	connection->ref_count         = 1;
-	
-	for (i = 0; i < LM_MESSAGE_TYPE_UNKNOWN; ++i) {
-		connection->handlers[i] = NULL;
-	}
+    connection->context           = NULL;
+    connection->port              = LM_CONNECTION_DEFAULT_PORT;
+    connection->jid               = NULL;
+    connection->effective_jid     = NULL;
+    connection->ssl               = NULL;
+    connection->proxy             = NULL;
+    connection->disconnect_cb     = NULL;
+    connection->queue             = lm_message_queue_new ((LmMessageQueueCallback) connection_message_queue_cb, 
+                                                          connection);
+    connection->cancel_open       = FALSE;
+    connection->state             = LM_CONNECTION_STATE_CLOSED;
+    connection->keep_alive_rate   = 0;
+    connection->socket            = NULL;
+    connection->use_sasl          = FALSE;
+    connection->tls_started       = FALSE;
+    
+    connection->id_handlers = g_hash_table_new_full (g_str_hash, 
+                                                     g_str_equal,
+                                                     g_free, 
+                                                     (GDestroyNotify) lm_message_handler_unref);
+    connection->ref_count         = 1;
+    
+    for (i = 0; i < LM_MESSAGE_TYPE_UNKNOWN; ++i) {
+        connection->handlers[i] = NULL;
+    }
 
-	connection->parser = lm_parser_new 
-		((LmParserMessageFunction) connection_new_message_cb, 
-		 connection, NULL);
+    connection->parser = lm_parser_new 
+        ((LmParserMessageFunction) connection_new_message_cb, 
+         connection, NULL);
 
-	return connection;
+    return connection;
 }
 
 /**
@@ -1303,16 +1303,16 @@
 LmConnection *
 lm_connection_new_with_context (const gchar *server, GMainContext *context)
 {
-	LmConnection *connection;
+    LmConnection *connection;
 
-	connection = lm_connection_new (server);
-	connection->context = context;
+    connection = lm_connection_new (server);
+    connection->context = context;
 
-	if (context) {
-        	g_main_context_ref (connection->context);
-	}
+    if (context) {
+        g_main_context_ref (connection->context);
+    }
 
-	return connection;
+    return connection;
 }
 
 /**
@@ -1329,18 +1329,18 @@
  **/
 gboolean
 lm_connection_open (LmConnection      *connection, 
-		    LmResultFunction   function,
-		    gpointer           user_data,
-		    GDestroyNotify     notify,
-		    GError           **error)
+                    LmResultFunction   function,
+                    gpointer           user_data,
+                    GDestroyNotify     notify,
+                    GError           **error)
 {
-	g_return_val_if_fail (connection != NULL, FALSE);
-	
-	connection->open_cb = _lm_utils_new_callback (function, 
-						      user_data, notify);
-	connection->blocking = FALSE;
+    g_return_val_if_fail (connection != NULL, FALSE);
+    
+    connection->open_cb = _lm_utils_new_callback (function, 
+                                                  user_data, notify);
+    connection->blocking = FALSE;
 
-	return connection_do_open (connection, error);
+    return connection_do_open (connection, error);
 }
 
 /**
@@ -1355,41 +1355,41 @@
 gboolean
 lm_connection_open_and_block (LmConnection *connection, GError **error)
 {
-	gboolean          result;
-	LmConnectionState state;
-	
-	g_return_val_if_fail (connection != NULL, FALSE);
+    gboolean          result;
+    LmConnectionState state;
+    
+    g_return_val_if_fail (connection != NULL, FALSE);
 
-	connection->open_cb = NULL;
-	connection->blocking = TRUE;
+    connection->open_cb = NULL;
+    connection->blocking = TRUE;
 
-	result = connection_do_open (connection, error);
+    result = connection_do_open (connection, error);
 
-	if (result == FALSE) {
-		return FALSE;
-	}
-		
-	while ((state = lm_connection_get_state (connection)) == LM_CONNECTION_STATE_OPENING) {
-		if (g_main_context_pending (connection->context)) {
-			g_main_context_iteration (connection->context, TRUE);
-		} else {
-			/* Sleep for 1 millisecond */
-			g_usleep (1000);
-		}
-	}
+    if (result == FALSE) {
+        return FALSE;
+    }
+        
+    while ((state = lm_connection_get_state (connection)) == LM_CONNECTION_STATE_OPENING) {
+        if (g_main_context_pending (connection->context)) {
+            g_main_context_iteration (connection->context, TRUE);
+        } else {
+            /* Sleep for 1 millisecond */
+            g_usleep (1000);
+        }
+    }
 
-	if (lm_connection_is_open (connection)) {
-		connection_start_keep_alive (connection);
-		return TRUE;
-	}
+    if (lm_connection_is_open (connection)) {
+        connection_start_keep_alive (connection);
+        return TRUE;
+    }
 
-	/* Need to set the error here: LM-15 */
-	g_set_error (error,
-		     LM_ERROR,
-		     LM_ERROR_CONNECTION_FAILED,
-		     "Opening the connection failed");
+    /* Need to set the error here: LM-15 */
+    g_set_error (error,
+                 LM_ERROR,
+                 LM_ERROR_CONNECTION_FAILED,
+                 "Opening the connection failed");
 
-	return FALSE;
+    return FALSE;
 }
 
 /**
@@ -1401,16 +1401,16 @@
 void
 lm_connection_cancel_open (LmConnection *connection)
 {
-	g_return_if_fail (connection != NULL);
+    g_return_if_fail (connection != NULL);
 
-	if (connection->open_cb) {
-		_lm_utils_free_callback (connection->open_cb);
-		connection->open_cb = NULL;
-	}
+    if (connection->open_cb) {
+        _lm_utils_free_callback (connection->open_cb);
+        connection->open_cb = NULL;
+    }
 
-	connection->cancel_open = TRUE;
+    connection->cancel_open = TRUE;
 
-	lm_old_socket_asyncns_cancel (connection->socket);
+    lm_old_socket_asyncns_cancel (connection->socket);
 }
 
 /**
@@ -1424,54 +1424,54 @@
  **/
 gboolean
 lm_connection_close (LmConnection      *connection, 
-		     GError           **error)
+                     GError           **error)
 {
-	gboolean no_errors = TRUE;
-	
-	g_return_val_if_fail (connection != NULL, FALSE);
+    gboolean no_errors = TRUE;
+    
+    g_return_val_if_fail (connection != NULL, FALSE);
+
+    if (connection->socket) {
+        lm_old_socket_asyncns_cancel (connection->socket);
+    }
 
-        if (connection->socket) {
-                lm_old_socket_asyncns_cancel (connection->socket);
+    if (connection->state == LM_CONNECTION_STATE_CLOSED) {
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_NOT_OPEN,
+                     "Connection is not open, call lm_connection_open() first");
+        return FALSE;
+    }
+
+    lm_verbose ("Disconnecting from: %s:%d\n", 
+                connection->server, connection->port);
+    
+    if (lm_connection_is_open (connection)) {
+        if (!connection_send (connection, "</stream:stream>", -1, error)) {
+            no_errors = FALSE;
         }
 
-	if (connection->state == LM_CONNECTION_STATE_CLOSED) {
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_NOT_OPEN,
-			     "Connection is not open, call lm_connection_open() first");
-		return FALSE;
-	}
-
-	lm_verbose ("Disconnecting from: %s:%d\n", 
-		    connection->server, connection->port);
-	
-	if (lm_connection_is_open (connection)) {
-		if (!connection_send (connection, "</stream:stream>", -1, error)) {
-			no_errors = FALSE;
-		}
-
-		lm_old_socket_flush (connection->socket);
-	}
-	
-	connection_do_close (connection);
-	connection_signal_disconnect (connection, LM_DISCONNECT_REASON_OK);
-	
-	return no_errors;
+        lm_old_socket_flush (connection->socket);
+    }
+    
+    connection_do_close (connection);
+    connection_signal_disconnect (connection, LM_DISCONNECT_REASON_OK);
+    
+    return no_errors;
 }
 
 static void
 connection_sasl_auth_finished (LmSASL *sasl,
-			       LmConnection *connection,
-			       gboolean success,
-			       const gchar *reason)
+                               LmConnection *connection,
+                               gboolean success,
+                               const gchar *reason)
 {
-	if (!success) {
-		lm_verbose ("SASL authentication failed, closing connection\n");
-		connection_call_auth_cb (connection, FALSE);
-		return;
-	}
+    if (!success) {
+        lm_verbose ("SASL authentication failed, closing connection\n");
+        connection_call_auth_cb (connection, FALSE);
+        return;
+    }
 
-	connection_send_stream_header (connection);
+    connection_send_stream_header (connection);
 }
 
 /**
@@ -1491,56 +1491,56 @@
  **/
 gboolean
 lm_connection_authenticate (LmConnection      *connection,
-			    const gchar       *username,
-			    const gchar       *password,
-			    const gchar       *resource,
-			    LmResultFunction   function,
-			    gpointer           user_data,
-			    GDestroyNotify     notify,
-			    GError           **error)
+                            const gchar       *username,
+                            const gchar       *password,
+                            const gchar       *resource,
+                            LmResultFunction   function,
+                            gpointer           user_data,
+                            GDestroyNotify     notify,
+                            GError           **error)
 {
-	g_return_val_if_fail (connection != NULL, FALSE);
-	g_return_val_if_fail (username != NULL, FALSE);
-	g_return_val_if_fail (password != NULL, FALSE);
-	g_return_val_if_fail (resource != NULL, FALSE);
+    g_return_val_if_fail (connection != NULL, FALSE);
+    g_return_val_if_fail (username != NULL, FALSE);
+    g_return_val_if_fail (password != NULL, FALSE);
+    g_return_val_if_fail (resource != NULL, FALSE);
 
-	if (!lm_connection_is_open (connection)) {
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_NOT_OPEN,
-			     "Connection is not open, call lm_connection_open() first");
-		return FALSE;
-	}
+    if (!lm_connection_is_open (connection)) {
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_NOT_OPEN,
+                     "Connection is not open, call lm_connection_open() first");
+        return FALSE;
+    }
 
-	connection->state = LM_CONNECTION_STATE_AUTHENTICATING;
-	
-	connection->auth_cb = _lm_utils_new_callback (function, 
-						      user_data, 
-						      notify);
+    connection->state = LM_CONNECTION_STATE_AUTHENTICATING;
+    
+    connection->auth_cb = _lm_utils_new_callback (function, 
+                                                  user_data, 
+                                                  notify);
 
-	connection->resource = g_strdup (resource);
-	connection->effective_jid = g_strdup_printf ("%s/%s", 
-		connection->jid, connection->resource);
+    connection->resource = g_strdup (resource);
+    connection->effective_jid = g_strdup_printf ("%s/%s", 
+                                                 connection->jid, connection->resource);
 
-	if (connection->use_sasl) {
-		lm_sasl_authenticate (connection->sasl,
-				      username, password,
-				      connection->server,
-				      connection_sasl_auth_finished);
+    if (connection->use_sasl) {
+        lm_sasl_authenticate (connection->sasl,
+                              username, password,
+                              connection->server,
+                              connection_sasl_auth_finished);
 
-		connection->features_cb  =
-			lm_message_handler_new (connection_features_cb,
-				NULL, NULL);
-		lm_connection_register_message_handler (connection,
-			connection->features_cb,
-			LM_MESSAGE_TYPE_STREAM_FEATURES,
-			LM_HANDLER_PRIORITY_FIRST);
+        connection->features_cb  =
+            lm_message_handler_new (connection_features_cb,
+                                    NULL, NULL);
+        lm_connection_register_message_handler (connection,
+                                                connection->features_cb,
+                                                LM_MESSAGE_TYPE_STREAM_FEATURES,
+                                                LM_HANDLER_PRIORITY_FIRST);
 
-		return TRUE;
-	}
+        return TRUE;
+    }
 
-        return connection_old_auth (connection, username, password,
-                                    resource, error);
+    return connection_old_auth (connection, username, password,
+                                resource, error);
 }
 
 static gboolean
@@ -1550,28 +1550,28 @@
                      const gchar   *resource, 
                      GError       **error)
 {
-	LmMessage        *m;
-	AuthReqData      *data;
-	LmMessageHandler *handler;
-	gboolean          result;
-	
+    LmMessage        *m;
+    AuthReqData      *data;
+    LmMessageHandler *handler;
+    gboolean          result;
+    
 
-	m = connection_create_auth_req_msg (username);
-		
-	data = g_new0 (AuthReqData, 1);
-	data->username = g_strdup (username);
-	data->password = g_strdup (password);
-	data->resource = g_strdup (resource);
-	
-	handler = lm_message_handler_new (connection_auth_req_reply, 
-					  data, 
-					  (GDestroyNotify) auth_req_data_free);
-	result = lm_connection_send_with_reply (connection, m, handler, error);
-	
-	lm_message_handler_unref (handler);
-	lm_message_unref (m);
+    m = connection_create_auth_req_msg (username);
+        
+    data = g_new0 (AuthReqData, 1);
+    data->username = g_strdup (username);
+    data->password = g_strdup (password);
+    data->resource = g_strdup (resource);
+    
+    handler = lm_message_handler_new (connection_auth_req_reply, 
+                                      data, 
+                                      (GDestroyNotify) auth_req_data_free);
+    result = lm_connection_send_with_reply (connection, m, handler, error);
+    
+    lm_message_handler_unref (handler);
+    lm_message_unref (m);
 
-	return result;
+    return result;
 }
 
 /**
@@ -1588,45 +1588,45 @@
  **/
 gboolean
 lm_connection_authenticate_and_block (LmConnection  *connection,
-				      const gchar   *username,
-				      const gchar   *password,
-				      const gchar   *resource,
-				      GError       **error)
+                                      const gchar   *username,
+                                      const gchar   *password,
+                                      const gchar   *resource,
+                                      GError       **error)
 {
-	gboolean          result;
+    gboolean          result;
 
-	result = lm_connection_authenticate (connection, username, password,
-		resource, NULL, NULL, NULL, error);
+    result = lm_connection_authenticate (connection, username, password,
+                                         resource, NULL, NULL, NULL, error);
 
-	if (!result)
-		return result;
+    if (!result)
+        return result;
 
-	while (lm_connection_get_state (connection) == LM_CONNECTION_STATE_AUTHENTICATING) {
-		if (g_main_context_pending (connection->context)) {
-			g_main_context_iteration (connection->context, TRUE);
-		} else {
-			/* Sleep for 1 millisecond */
-			g_usleep (1000);
-		}
-	}
+    while (lm_connection_get_state (connection) == LM_CONNECTION_STATE_AUTHENTICATING) {
+        if (g_main_context_pending (connection->context)) {
+            g_main_context_iteration (connection->context, TRUE);
+        } else {
+            /* Sleep for 1 millisecond */
+            g_usleep (1000);
+        }
+    }
 
-	switch (lm_connection_get_state (connection)) {
-	case LM_CONNECTION_STATE_AUTHENTICATED:
-		return TRUE;
-		break;
-	case LM_CONNECTION_STATE_OPEN:
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_AUTH_FAILED,
-			     "Authentication failed");
-		return FALSE;
-		break;
-	default:
-		g_assert_not_reached ();
-		break;
-	} 
+    switch (lm_connection_get_state (connection)) {
+    case LM_CONNECTION_STATE_AUTHENTICATED:
+        return TRUE;
+        break;
+    case LM_CONNECTION_STATE_OPEN:
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_AUTH_FAILED,
+                     "Authentication failed");
+        return FALSE;
+        break;
+    default:
+        g_assert_not_reached ();
+        break;
+    } 
 
-	return FALSE;
+    return FALSE;
 }
 
 /**
@@ -1640,9 +1640,9 @@
 guint
 lm_connection_get_keep_alive_rate (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, 0);
+    g_return_val_if_fail (connection != NULL, 0);
 
-	return connection->keep_alive_rate;
+    return connection->keep_alive_rate;
 }
 
 /**
@@ -1656,19 +1656,19 @@
 void
 lm_connection_set_keep_alive_rate (LmConnection *connection, guint rate)
 {
-	g_return_if_fail (connection != NULL);
+    g_return_if_fail (connection != NULL);
 
-	connection_stop_keep_alive (connection);
+    connection_stop_keep_alive (connection);
 
-	if (rate == 0) {
-		return;
-	}
+    if (rate == 0) {
+        return;
+    }
 
-        connection->keep_alive_rate = rate;
-	
-        if (lm_connection_is_open (connection)) {
-		connection_start_keep_alive (connection);
-	}
+    connection->keep_alive_rate = rate;
+    
+    if (lm_connection_is_open (connection)) {
+        connection_start_keep_alive (connection);
+    }
 }
 
 /**
@@ -1682,9 +1682,9 @@
 gboolean
 lm_connection_is_open (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, FALSE);
-	
-	return connection->state >= LM_CONNECTION_STATE_OPEN;
+    g_return_val_if_fail (connection != NULL, FALSE);
+    
+    return connection->state >= LM_CONNECTION_STATE_OPEN;
 }
 
 /**
@@ -1698,9 +1698,9 @@
 gboolean 
 lm_connection_is_authenticated (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, FALSE);
+    g_return_val_if_fail (connection != NULL, FALSE);
 
-	return connection->state >= LM_CONNECTION_STATE_AUTHENTICATED;
+    return connection->state >= LM_CONNECTION_STATE_AUTHENTICATED;
 }
 
 /**
@@ -1714,9 +1714,9 @@
 const gchar *
 lm_connection_get_server (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
+    g_return_val_if_fail (connection != NULL, NULL);
 
-	return connection->server;
+    return connection->server;
 }
 
 /**
@@ -1730,17 +1730,17 @@
 void
 lm_connection_set_server (LmConnection *connection, const gchar *server)
 {
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (server != NULL);
-	
-	if (lm_connection_is_open (connection)) {
-		g_warning ("Can't change server address while connected");
-		return;
-	}
-	
-	g_free (connection->server);
-	connection->server = _lm_utils_hostname_to_punycode (server);
-	connection->use_srv = FALSE;
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (server != NULL);
+    
+    if (lm_connection_is_open (connection)) {
+        g_warning ("Can't change server address while connected");
+        return;
+    }
+    
+    g_free (connection->server);
+    connection->server = _lm_utils_hostname_to_punycode (server);
+    connection->use_srv = FALSE;
 }
 
 /**
@@ -1754,9 +1754,9 @@
 const gchar *
 lm_connection_get_jid (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
+    g_return_val_if_fail (connection != NULL, NULL);
 
-	return connection->jid;
+    return connection->jid;
 }
 
 /**
@@ -1771,9 +1771,9 @@
 gchar *
 lm_connection_get_full_jid (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
+    g_return_val_if_fail (connection != NULL, NULL);
 
-	return connection->effective_jid;
+    return connection->effective_jid;
 }
 
 /**
@@ -1786,15 +1786,15 @@
 void 
 lm_connection_set_jid (LmConnection *connection, const gchar *jid)
 {
-	g_return_if_fail (connection != NULL);
+    g_return_if_fail (connection != NULL);
 
-	if (lm_connection_is_open (connection)) {
-		g_warning ("Can't change JID while connected");
-		return;
-	}
+    if (lm_connection_is_open (connection)) {
+        g_warning ("Can't change JID while connected");
+        return;
+    }
 
-	g_free (connection->jid);
-	connection->jid = g_strdup (jid);
+    g_free (connection->jid);
+    connection->jid = g_strdup (jid);
 }
 
 /**
@@ -1808,9 +1808,9 @@
 guint
 lm_connection_get_port (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, 0);
+    g_return_val_if_fail (connection != NULL, 0);
 
-	return connection->port;
+    return connection->port;
 }
 
 /**
@@ -1823,14 +1823,14 @@
 void
 lm_connection_set_port (LmConnection *connection, guint port)
 {
-	g_return_if_fail (connection != NULL);
-	
-	if (lm_connection_is_open (connection)) {
-		g_warning ("Can't change server port while connected");
-		return;
-	}
-	
-	connection->port = port;
+    g_return_if_fail (connection != NULL);
+    
+    if (lm_connection_is_open (connection)) {
+        g_warning ("Can't change server port while connected");
+        return;
+    }
+    
+    connection->port = port;
 }
 
 /**
@@ -1844,9 +1844,9 @@
 LmSSL *
 lm_connection_get_ssl (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
-	
-	return connection->ssl;
+    g_return_val_if_fail (connection != NULL, NULL);
+    
+    return connection->ssl;
 }
 
 /**
@@ -1859,18 +1859,18 @@
 void
 lm_connection_set_ssl (LmConnection *connection, LmSSL *ssl)
 {
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (lm_ssl_is_supported () == TRUE);
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (lm_ssl_is_supported () == TRUE);
 
-	if (connection->ssl) {
-		lm_ssl_unref (connection->ssl);
-	}
+    if (connection->ssl) {
+        lm_ssl_unref (connection->ssl);
+    }
 
-	if (ssl) {
-		connection->ssl = lm_ssl_ref (ssl);
-	} else {
-		connection->ssl = NULL;
-	}
+    if (ssl) {
+        connection->ssl = lm_ssl_ref (ssl);
+    } else {
+        connection->ssl = NULL;
+    }
 }
 
 /**
@@ -1884,9 +1884,9 @@
 LmProxy *
 lm_connection_get_proxy (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
+    g_return_val_if_fail (connection != NULL, NULL);
 
-	return connection->proxy;
+    return connection->proxy;
 } 
 
 /**
@@ -1900,21 +1900,21 @@
 void
 lm_connection_set_proxy (LmConnection *connection, LmProxy *proxy)
 {
-	g_return_if_fail (connection != NULL);
+    g_return_if_fail (connection != NULL);
 
-	if (lm_connection_is_open (connection)) {
-		g_warning ("Can't change server proxy while connected");
-		return;
-	}
+    if (lm_connection_is_open (connection)) {
+        g_warning ("Can't change server proxy while connected");
+        return;
+    }
 
-	if (connection->proxy) {
-		lm_proxy_unref (connection->proxy);
-		connection->proxy = NULL;
-	}
+    if (connection->proxy) {
+        lm_proxy_unref (connection->proxy);
+        connection->proxy = NULL;
+    }
 
-	if (proxy && lm_proxy_get_type (proxy) != LM_PROXY_TYPE_NONE) {
-		connection->proxy = lm_proxy_ref (proxy);
-	}
+    if (proxy && lm_proxy_get_type (proxy) != LM_PROXY_TYPE_NONE) {
+        connection->proxy = lm_proxy_ref (proxy);
+    }
 }
 
 /**
@@ -1929,25 +1929,25 @@
  **/
 gboolean
 lm_connection_send (LmConnection  *connection, 
-		    LmMessage     *message, 
-		    GError       **error)
+                    LmMessage     *message, 
+                    GError       **error)
 {
-	gchar    *xml_str;
-	gchar    *ch;
-	gboolean  result;
-	
-	g_return_val_if_fail (connection != NULL, FALSE);
-	g_return_val_if_fail (message != NULL, FALSE);
+    gchar    *xml_str;
+    gchar    *ch;
+    gboolean  result;
+    
+    g_return_val_if_fail (connection != NULL, FALSE);
+    g_return_val_if_fail (message != NULL, FALSE);
 
-	xml_str = lm_message_node_to_string (message->node);
-	if ((ch = strstr (xml_str, "</stream:stream>"))) {
-		*ch = '\0';
-	}
-	
-	result = connection_send (connection, xml_str, -1, error);
-	g_free (xml_str);
+    xml_str = lm_message_node_to_string (message->node);
+    if ((ch = strstr (xml_str, "</stream:stream>"))) {
+        *ch = '\0';
+    }
+    
+    result = connection_send (connection, xml_str, -1, error);
+    g_free (xml_str);
 
-	return result;
+    return result;
 }
 
 /**
@@ -1963,28 +1963,28 @@
  **/
 gboolean 
 lm_connection_send_with_reply (LmConnection      *connection,
-			       LmMessage         *message,
-			       LmMessageHandler  *handler,
-			       GError           **error)
+                               LmMessage         *message,
+                               LmMessageHandler  *handler,
+                               GError           **error)
 {
-	gchar *id;
-	
-	g_return_val_if_fail (connection != NULL, FALSE);
-	g_return_val_if_fail (message != NULL, FALSE);
-	g_return_val_if_fail (handler != NULL, FALSE);
+    gchar *id;
+    
+    g_return_val_if_fail (connection != NULL, FALSE);
+    g_return_val_if_fail (message != NULL, FALSE);
+    g_return_val_if_fail (handler != NULL, FALSE);
 
-	if (lm_message_node_get_attribute (message->node, "id")) {
-		id = g_strdup (lm_message_node_get_attribute (message->node, 
-							      "id"));
-	} else {
-		id = _lm_utils_generate_id ();
-		lm_message_node_set_attributes (message->node, "id", id, NULL);
-	}
-	
-	g_hash_table_insert (connection->id_handlers, 
-			     id, lm_message_handler_ref (handler));
-	
-	return lm_connection_send (connection, message, error);
+    if (lm_message_node_get_attribute (message->node, "id")) {
+        id = g_strdup (lm_message_node_get_attribute (message->node, 
+                                                      "id"));
+    } else {
+        id = _lm_utils_generate_id ();
+        lm_message_node_set_attributes (message->node, "id", id, NULL);
+    }
+    
+    g_hash_table_insert (connection->id_handlers, 
+                         id, lm_message_handler_ref (handler));
+    
+    return lm_connection_send (connection, message, error);
 }
 
 /**
@@ -1999,65 +1999,65 @@
  **/
 LmMessage *
 lm_connection_send_with_reply_and_block (LmConnection  *connection,
-					 LmMessage     *message,
-					 GError       **error)
+                                         LmMessage     *message,
+                                         GError       **error)
 {
-	gchar     *id;
-	LmMessage *reply = NULL;
+    gchar     *id;
+    LmMessage *reply = NULL;
 
-	g_return_val_if_fail (connection != NULL, NULL);
-	g_return_val_if_fail (message != NULL, NULL);
+    g_return_val_if_fail (connection != NULL, NULL);
+    g_return_val_if_fail (message != NULL, NULL);
 
-	if (connection->state < LM_CONNECTION_STATE_OPENING) {
-		g_set_error (error,
-			     LM_ERROR,
-			     LM_ERROR_CONNECTION_NOT_OPEN,
-			     "Connection is not open, call lm_connection_open() first");
-		return FALSE;
-	}
+    if (connection->state < LM_CONNECTION_STATE_OPENING) {
+        g_set_error (error,
+                     LM_ERROR,
+                     LM_ERROR_CONNECTION_NOT_OPEN,
+                     "Connection is not open, call lm_connection_open() first");
+        return FALSE;
+    }
 
 
-	if (lm_message_node_get_attribute (message->node, "id")) {
-		id = g_strdup (lm_message_node_get_attribute (message->node, 
-							      "id"));
-	} else {
-		id = _lm_utils_generate_id ();
-		lm_message_node_set_attributes (message->node, "id", id, NULL);
-	}
+    if (lm_message_node_get_attribute (message->node, "id")) {
+        id = g_strdup (lm_message_node_get_attribute (message->node, 
+                                                      "id"));
+    } else {
+        id = _lm_utils_generate_id ();
+        lm_message_node_set_attributes (message->node, "id", id, NULL);
+    }
 
-	lm_message_queue_detach (connection->queue);
+    lm_message_queue_detach (connection->queue);
 
-	lm_connection_send (connection, message, error);
+    lm_connection_send (connection, message, error);
 
-	while (!reply) {
-		const gchar *m_id;
-		guint        n;
+    while (!reply) {
+        const gchar *m_id;
+        guint        n;
 
-		g_main_context_iteration (connection->context, TRUE);
-	
-		if (lm_message_queue_is_empty (connection->queue)) {
-			continue;
-		}
+        g_main_context_iteration (connection->context, TRUE);
+    
+        if (lm_message_queue_is_empty (connection->queue)) {
+            continue;
+        }
 
-		for (n = 0; n < lm_message_queue_get_length (connection->queue); n++) {
-			LmMessage *m;
+        for (n = 0; n < lm_message_queue_get_length (connection->queue); n++) {
+            LmMessage *m;
 
-			m = (LmMessage *) lm_message_queue_peek_nth (connection->queue, n);
+            m = (LmMessage *) lm_message_queue_peek_nth (connection->queue, n);
 
-			m_id = lm_message_node_get_attribute (m->node, "id");
-			
-			if (m_id && strcmp (m_id, id) == 0) {
-				reply = m;
-				lm_message_queue_pop_nth (connection->queue, n);
-				break;
-			}
-		}
-	}
+            m_id = lm_message_node_get_attribute (m->node, "id");
+            
+            if (m_id && strcmp (m_id, id) == 0) {
+                reply = m;
+                lm_message_queue_pop_nth (connection->queue, n);
+                break;
+            }
+        }
+    }
 
-	g_free (id);
-	lm_message_queue_attach (connection->queue, connection->context);
+    g_free (id);
+    lm_message_queue_attach (connection->queue, connection->context);
 
-	return reply;
+    return reply;
 }
 
 /**
@@ -2072,23 +2072,23 @@
  **/
 void
 lm_connection_register_message_handler  (LmConnection       *connection,
-					 LmMessageHandler   *handler,
-					 LmMessageType       type,
-					 LmHandlerPriority   priority)
+                                         LmMessageHandler   *handler,
+                                         LmMessageType       type,
+                                         LmHandlerPriority   priority)
 {
-	HandlerData      *hd;
-	
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (handler != NULL);
-	g_return_if_fail (type != LM_MESSAGE_TYPE_UNKNOWN);
+    HandlerData      *hd;
+    
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (handler != NULL);
+    g_return_if_fail (type != LM_MESSAGE_TYPE_UNKNOWN);
 
-	hd = g_new0 (HandlerData, 1);
-	hd->priority = priority;
-	hd->handler  = lm_message_handler_ref (handler);
+    hd = g_new0 (HandlerData, 1);
+    hd->priority = priority;
+    hd->handler  = lm_message_handler_ref (handler);
 
-	connection->handlers[type] = g_slist_insert_sorted (connection->handlers[type],
-							    hd, 
-							    (GCompareFunc) connection_handler_compare_func);
+    connection->handlers[type] = g_slist_insert_sorted (connection->handlers[type],
+                                                        hd, 
+                                                        (GCompareFunc) connection_handler_compare_func);
 }
 
 /**
@@ -2102,26 +2102,26 @@
  **/
 void
 lm_connection_unregister_message_handler (LmConnection      *connection,
-					  LmMessageHandler  *handler,
-					  LmMessageType      type)
+                                          LmMessageHandler  *handler,
+                                          LmMessageType      type)
 {
-	GSList *l;
-	
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (handler != NULL);
-	g_return_if_fail (type != LM_MESSAGE_TYPE_UNKNOWN);
+    GSList *l;
+    
+    g_return_if_fail (connection != NULL);
+    g_return_if_fail (handler != NULL);
+    g_return_if_fail (type != LM_MESSAGE_TYPE_UNKNOWN);
 
-	for (l = connection->handlers[type]; l; l = l->next) {
-		HandlerData *hd = (HandlerData *) l->data;
-		
-		if (handler == hd->handler) {
-			connection->handlers[type] = g_slist_remove_link (connection->handlers[type], l);
-			g_slist_free (l);
-			lm_message_handler_unref (hd->handler);
-			g_free (hd);
-			break;
-		}
-	}
+    for (l = connection->handlers[type]; l; l = l->next) {
+        HandlerData *hd = (HandlerData *) l->data;
+        
+        if (handler == hd->handler) {
+            connection->handlers[type] = g_slist_remove_link (connection->handlers[type], l);
+            g_slist_free (l);
+            lm_message_handler_unref (hd->handler);
+            g_free (hd);
+            break;
+        }
+    }
 }
 
 /**
@@ -2135,23 +2135,23 @@
  **/
 void
 lm_connection_set_disconnect_function (LmConnection         *connection,
-				       LmDisconnectFunction  function,
-				       gpointer              user_data,
-				       GDestroyNotify        notify)
+                                       LmDisconnectFunction  function,
+                                       gpointer              user_data,
+                                       GDestroyNotify        notify)
 {
-	g_return_if_fail (connection != NULL);
+    g_return_if_fail (connection != NULL);
 
-	if (connection->disconnect_cb) {
-		_lm_utils_free_callback (connection->disconnect_cb);
-	}
-		
-	if (function) {
-		connection->disconnect_cb = _lm_utils_new_callback (function, 
-	    					                    user_data,
-							            notify);
-	} else {
-		connection->disconnect_cb = NULL;
-	}
+    if (connection->disconnect_cb) {
+        _lm_utils_free_callback (connection->disconnect_cb);
+    }
+        
+    if (function) {
+        connection->disconnect_cb = _lm_utils_new_callback (function, 
+                                                            user_data,
+                                                            notify);
+    } else {
+        connection->disconnect_cb = NULL;
+    }
 }
 
 /**
@@ -2167,13 +2167,13 @@
  **/
 gboolean 
 lm_connection_send_raw (LmConnection  *connection, 
-			const gchar   *str, 
-			GError       **error)
+                        const gchar   *str, 
+                        GError       **error)
 {
-	g_return_val_if_fail (connection != NULL, FALSE);
-	g_return_val_if_fail (str != NULL, FALSE);
+    g_return_val_if_fail (connection != NULL, FALSE);
+    g_return_val_if_fail (str != NULL, FALSE);
 
-	return connection_send (connection, str, -1, error);
+    return connection_send (connection, str, -1, error);
 }
 /**
  * lm_connection_get_state:
@@ -2186,10 +2186,10 @@
 LmConnectionState 
 lm_connection_get_state (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, 
-			      LM_CONNECTION_STATE_CLOSED);
+    g_return_val_if_fail (connection != NULL, 
+                          LM_CONNECTION_STATE_CLOSED);
 
-	return connection->state;
+    return connection->state;
 }
 
 /**
@@ -2203,7 +2203,7 @@
 gchar *
 lm_connection_get_local_host (LmConnection *connection)
 {
-	return lm_old_socket_get_local_host (connection->socket);
+    return lm_old_socket_get_local_host (connection->socket);
 }
 
 /**
@@ -2218,11 +2218,11 @@
 LmConnection*
 lm_connection_ref (LmConnection *connection)
 {
-	g_return_val_if_fail (connection != NULL, NULL);
-	
-	connection->ref_count++;
-	
-	return connection;
+    g_return_val_if_fail (connection != NULL, NULL);
+    
+    connection->ref_count++;
+    
+    return connection;
 }
 
 /**
@@ -2235,11 +2235,11 @@
 void
 lm_connection_unref (LmConnection *connection)
 {
-	g_return_if_fail (connection != NULL);
-	
-	connection->ref_count--;
-	
-	if (connection->ref_count == 0) {
-		connection_free (connection);
-	}
+    g_return_if_fail (connection != NULL);
+    
+    connection->ref_count--;
+    
+    if (connection->ref_count == 0) {
+        connection_free (connection);
+    }
 }
--- a/loudmouth/lm-connection.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-connection.h	Wed Oct 08 13:11:02 2008 +0200
@@ -65,8 +65,8 @@
  * The return type of an LmMessageHandler. This determines whether more message handlers should be called.
  */
 typedef enum {
-	LM_HANDLER_RESULT_REMOVE_MESSAGE,
-	LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS
+    LM_HANDLER_RESULT_REMOVE_MESSAGE,
+    LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS
 } LmHandlerResult;
 
 /**
@@ -78,9 +78,9 @@
  * Since the handlers decide whether to stop the calling chain with there return values it's sometimes decirable to be able to set priority. For example a handler that only logs all incoming messages and then pass the message on to another handler wants to have priority %LM_HANDLER_PRIORITY_FIRST. An handler that should take all messages that wasn't handled by anything else would want to have priority %LM_HANDLER_PRIORITY_LAST. If several handlers have the same priority nothing can be said about the order the handlers will be called in.
  */
 typedef enum {
-	LM_HANDLER_PRIORITY_LAST   = 1,
-	LM_HANDLER_PRIORITY_NORMAL = 2,
-	LM_HANDLER_PRIORITY_FIRST  = 3
+    LM_HANDLER_PRIORITY_LAST   = 1,
+    LM_HANDLER_PRIORITY_NORMAL = 2,
+    LM_HANDLER_PRIORITY_FIRST  = 3
 } LmHandlerPriority;
 
 /**
@@ -93,13 +93,13 @@
  * Sent with #LmDisconnectFunction to describe why a connection was closed.
  */
 typedef enum {
-	LM_DISCONNECT_REASON_OK,
-	LM_DISCONNECT_REASON_PING_TIME_OUT,
-	LM_DISCONNECT_REASON_HUP,
-	LM_DISCONNECT_REASON_ERROR,
-	LM_DISCONNECT_REASON_RESOURCE_CONFLICT,
-	LM_DISCONNECT_REASON_INVALID_XML,
-	LM_DISCONNECT_REASON_UNKNOWN
+    LM_DISCONNECT_REASON_OK,
+    LM_DISCONNECT_REASON_PING_TIME_OUT,
+    LM_DISCONNECT_REASON_HUP,
+    LM_DISCONNECT_REASON_ERROR,
+    LM_DISCONNECT_REASON_RESOURCE_CONFLICT,
+    LM_DISCONNECT_REASON_INVALID_XML,
+    LM_DISCONNECT_REASON_UNKNOWN
 } LmDisconnectReason;
 
 /**
@@ -113,11 +113,11 @@
  * Describes the current state of an #LmConnection.
  */
 typedef enum {
-	LM_CONNECTION_STATE_CLOSED,
-	LM_CONNECTION_STATE_OPENING,
-	LM_CONNECTION_STATE_OPEN,
-	LM_CONNECTION_STATE_AUTHENTICATING,
-	LM_CONNECTION_STATE_AUTHENTICATED
+    LM_CONNECTION_STATE_CLOSED,
+    LM_CONNECTION_STATE_OPENING,
+    LM_CONNECTION_STATE_OPEN,
+    LM_CONNECTION_STATE_AUTHENTICATING,
+    LM_CONNECTION_STATE_AUTHENTICATED
 } LmConnectionState;
 
 /**
@@ -129,8 +129,8 @@
  * Callback for informing if an asynchronous operation was successful.
  */
 typedef void          (* LmResultFunction)     (LmConnection       *connection,
-						gboolean            success,
-						gpointer            user_data);
+                                                gboolean            success,
+                                                gpointer            user_data);
 
 /**
  * LmDisconnectFunction:
@@ -141,92 +141,92 @@
  * Callback called when a connection is closed.
  */
 typedef void          (* LmDisconnectFunction) (LmConnection       *connection,
-						LmDisconnectReason  reason,
-						gpointer            user_data);
+                                                LmDisconnectReason  reason,
+                                                gpointer            user_data);
 
 LmConnection *lm_connection_new               (const gchar        *server);
 LmConnection *lm_connection_new_with_context  (const gchar        *server,
-					       GMainContext       *context);
+                                               GMainContext       *context);
 gboolean      lm_connection_open              (LmConnection       *connection,
-					       LmResultFunction    function,
-					       gpointer            user_data,
-					       GDestroyNotify      notify,
-					       GError            **error);
+                                               LmResultFunction    function,
+                                               gpointer            user_data,
+                                               GDestroyNotify      notify,
+                                               GError            **error);
 
 gboolean      lm_connection_open_and_block    (LmConnection       *connection,
-					       GError            **error);
+                                               GError            **error);
 
 void          lm_connection_cancel_open       (LmConnection      *connection);
 gboolean      lm_connection_close             (LmConnection       *connection,
-					       GError            **error);
+                                               GError            **error);
 gboolean      lm_connection_authenticate      (LmConnection       *connection,
-					       const gchar        *username,
-					       const gchar        *password,
-					       const gchar        *resource,
-					       LmResultFunction    function,
-					       gpointer            user_data,
-					       GDestroyNotify      notify,
-					       GError            **error);
+                                               const gchar        *username,
+                                               const gchar        *password,
+                                               const gchar        *resource,
+                                               LmResultFunction    function,
+                                               gpointer            user_data,
+                                               GDestroyNotify      notify,
+                                               GError            **error);
 gboolean
 lm_connection_authenticate_and_block          (LmConnection       *connection,
-					       const gchar        *username,
-					       const gchar        *password,
-					       const gchar        *resource,
-					       GError            **error);
+                                               const gchar        *username,
+                                               const gchar        *password,
+                                               const gchar        *resource,
+                                               GError            **error);
 guint         lm_connection_get_keep_alive_rate (LmConnection     *connection);
 void        lm_connection_set_keep_alive_rate (LmConnection       *connection,
-					       guint               rate);
+                                               guint               rate);
 
 gboolean      lm_connection_is_open           (LmConnection       *connection);
 gboolean      lm_connection_is_authenticated  (LmConnection       *connection);
 
 const gchar * lm_connection_get_server        (LmConnection       *connection);
 void          lm_connection_set_server        (LmConnection       *connection,
-					       const gchar        *server);
+                                               const gchar        *server);
 void          lm_connection_set_jid           (LmConnection       *connection,
-					       const gchar        *jid);
+                                               const gchar        *jid);
 const gchar * lm_connection_get_jid           (LmConnection       *connection);
 gchar *       lm_connection_get_full_jid      (LmConnection       *connection);
 
 guint         lm_connection_get_port          (LmConnection       *connection);
 void          lm_connection_set_port          (LmConnection       *connection,
-					       guint               port);
+                                               guint               port);
 
 LmSSL *       lm_connection_get_ssl           (LmConnection       *connection);
 void          lm_connection_set_ssl           (LmConnection       *connection,
-					       LmSSL              *ssl);
+                                               LmSSL              *ssl);
 LmProxy *     lm_connection_get_proxy         (LmConnection       *connection);
 void          lm_connection_set_proxy         (LmConnection       *connection,
-					       LmProxy            *proxy);
+                                               LmProxy            *proxy);
 gboolean      lm_connection_send              (LmConnection       *connection,
-					       LmMessage          *message,
-					       GError            **error);
+                                               LmMessage          *message,
+                                               GError            **error);
 gboolean      lm_connection_send_with_reply   (LmConnection       *connection,
-					       LmMessage          *message,
-					       LmMessageHandler   *handler,
-					       GError            **error);
+                                               LmMessage          *message,
+                                               LmMessageHandler   *handler,
+                                               GError            **error);
 LmMessage *   
 lm_connection_send_with_reply_and_block       (LmConnection       *connection,
-					       LmMessage          *message,
-					       GError            **error);
+                                               LmMessage          *message,
+                                               GError            **error);
 void
 lm_connection_register_message_handler        (LmConnection       *connection,
-					       LmMessageHandler   *handler,
-					       LmMessageType       type,
-					       LmHandlerPriority   priority);
+                                               LmMessageHandler   *handler,
+                                               LmMessageType       type,
+                                               LmHandlerPriority   priority);
 void
 lm_connection_unregister_message_handler      (LmConnection       *connection,
-					       LmMessageHandler   *handler,
-					       LmMessageType       type);
+                                               LmMessageHandler   *handler,
+                                               LmMessageType       type);
 void 
 lm_connection_set_disconnect_function         (LmConnection       *connection,
-					       LmDisconnectFunction function,
-					       gpointer             user_data,
-					       GDestroyNotify       notify);
-					       
+                                               LmDisconnectFunction function,
+                                               gpointer             user_data,
+                                               GDestroyNotify       notify);
+                           
 gboolean      lm_connection_send_raw          (LmConnection       *connection,
-					       const gchar        *str,
-					       GError            **error);
+                                               const gchar        *str,
+                                               GError            **error);
 LmConnectionState lm_connection_get_state     (LmConnection       *connection);
 gchar *       lm_connection_get_local_host    (LmConnection       *connection);
 LmConnection* lm_connection_ref               (LmConnection       *connection);
--- a/loudmouth/lm-debug.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-debug.c	Wed Oct 08 13:11:02 2008 +0200
@@ -26,38 +26,38 @@
 static gboolean initialized = FALSE;
 
 static const GDebugKey debug_keys[] = {
-	{"VERBOSE",      LM_LOG_LEVEL_VERBOSE},
-	{"NET",          LM_LOG_LEVEL_NET},
-	{"PARSER",       LM_LOG_LEVEL_PARSER},
-	{"SSL",          LM_LOG_LEVEL_SSL},
-	{"SASL",         LM_LOG_LEVEL_SASL},
-	{"ALL",          LM_LOG_LEVEL_ALL}
+    {"VERBOSE",      LM_LOG_LEVEL_VERBOSE},
+    {"NET",          LM_LOG_LEVEL_NET},
+    {"PARSER",       LM_LOG_LEVEL_PARSER},
+    {"SSL",          LM_LOG_LEVEL_SSL},
+    {"SASL",         LM_LOG_LEVEL_SASL},
+    {"ALL",          LM_LOG_LEVEL_ALL}
 };
 
 #define NUM_DEBUG_KEYS (sizeof (debug_keys) / sizeof (GDebugKey))
 
 static void
 debug_log_handler (const gchar    *log_domain,
-		   GLogLevelFlags  log_level,
-		   const gchar    *message,
-		   gpointer        user_data)
+                   GLogLevelFlags  log_level,
+                   const gchar    *message,
+                   gpointer        user_data)
 {
-	if (debug_flags & log_level) {
-		if (log_level & LM_LOG_LEVEL_VERBOSE) {
-			g_print ("*** ");
-		}
-		else if (log_level & LM_LOG_LEVEL_PARSER) {
-			g_print ("LM-PARSER: ");
-		} 
-		else if (log_level & LM_LOG_LEVEL_SASL) {
-			g_print ("LM-SASL: ");
-		}
-		else if (log_level & LM_LOG_LEVEL_SSL) {
-			g_print ("LM-SSL: ");
-		}
-	
-		g_print ("%s", message);
-	}
+    if (debug_flags & log_level) {
+        if (log_level & LM_LOG_LEVEL_VERBOSE) {
+            g_print ("*** ");
+        }
+        else if (log_level & LM_LOG_LEVEL_PARSER) {
+            g_print ("LM-PARSER: ");
+        } 
+        else if (log_level & LM_LOG_LEVEL_SASL) {
+            g_print ("LM-SASL: ");
+        }
+        else if (log_level & LM_LOG_LEVEL_SSL) {
+            g_print ("LM-SSL: ");
+        }
+    
+        g_print ("%s", message);
+    }
 }
 
 /**
@@ -68,22 +68,22 @@
 void 
 lm_debug_init (void)
 {
-	const gchar *env_lm_debug;
+    const gchar *env_lm_debug;
 
-	if (initialized) {
-		return;
-	}
-	
-	env_lm_debug = g_getenv ("LM_DEBUG");
-	if (env_lm_debug) {
-		debug_flags = g_parse_debug_string (env_lm_debug, debug_keys,
-						    NUM_DEBUG_KEYS);
-	}
+    if (initialized) {
+        return;
+    }
+    
+    env_lm_debug = g_getenv ("LM_DEBUG");
+    if (env_lm_debug) {
+        debug_flags = g_parse_debug_string (env_lm_debug, debug_keys,
+                                            NUM_DEBUG_KEYS);
+    }
 
-	g_log_set_handler (LM_LOG_DOMAIN, LM_LOG_LEVEL_ALL, 
-			   debug_log_handler, NULL);
+    g_log_set_handler (LM_LOG_DOMAIN, LM_LOG_LEVEL_ALL, 
+                       debug_log_handler, NULL);
 
-	initialized = TRUE;
+    initialized = TRUE;
 }
 
 #else  /* LM_NO_DEBUG */
--- a/loudmouth/lm-debug.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-debug.h	Wed Oct 08 13:11:02 2008 +0200
@@ -24,16 +24,16 @@
 #include <glib.h>
 
 typedef enum {
-	LM_LOG_LEVEL_VERBOSE = 1 << (G_LOG_LEVEL_USER_SHIFT),
-	LM_LOG_LEVEL_NET     = 1 << (G_LOG_LEVEL_USER_SHIFT + 1),
-	LM_LOG_LEVEL_PARSER  = 1 << (G_LOG_LEVEL_USER_SHIFT + 2),
-	LM_LOG_LEVEL_SSL     = 1 << (G_LOG_LEVEL_USER_SHIFT + 3),
-	LM_LOG_LEVEL_SASL    = 1 << (G_LOG_LEVEL_USER_SHIFT + 4),
-	LM_LOG_LEVEL_ALL     = (LM_LOG_LEVEL_NET |
-				LM_LOG_LEVEL_VERBOSE |
-				LM_LOG_LEVEL_PARSER |
-				LM_LOG_LEVEL_SSL |
-				LM_LOG_LEVEL_SASL)
+    LM_LOG_LEVEL_VERBOSE = 1 << (G_LOG_LEVEL_USER_SHIFT),
+    LM_LOG_LEVEL_NET     = 1 << (G_LOG_LEVEL_USER_SHIFT + 1),
+    LM_LOG_LEVEL_PARSER  = 1 << (G_LOG_LEVEL_USER_SHIFT + 2),
+    LM_LOG_LEVEL_SSL     = 1 << (G_LOG_LEVEL_USER_SHIFT + 3),
+    LM_LOG_LEVEL_SASL    = 1 << (G_LOG_LEVEL_USER_SHIFT + 4),
+    LM_LOG_LEVEL_ALL     = (LM_LOG_LEVEL_NET |
+                            LM_LOG_LEVEL_VERBOSE |
+                            LM_LOG_LEVEL_PARSER |
+                            LM_LOG_LEVEL_SSL |
+                            LM_LOG_LEVEL_SASL)
 } LmLogLevelFlags;
 
 #ifndef LM_LOG_DOMAIN
@@ -61,10 +61,10 @@
 static void
 lm_verbose (const gchar *format, ...)
 {
-  va_list args;
-  va_start (args, format);
-  g_logv (LM_LOG_DOMAIN, LM_LOG_LEVEL_VERBOSE, format, args);
-  va_end (args);
+    va_list args;
+    va_start (args, format);
+    g_logv (LM_LOG_DOMAIN, LM_LOG_LEVEL_VERBOSE, format, args);
+    va_end (args);
 }
 #  endif
 #endif
--- a/loudmouth/lm-dummy.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-dummy.c	Wed Oct 08 13:11:02 2008 +0200
@@ -27,29 +27,29 @@
 
 typedef struct LmDummyPriv LmDummyPriv;
 struct LmDummyPriv {
-	gint my_prop;
+    gint my_prop;
 };
 
 static void     dummy_finalize            (GObject           *object);
 static void     dummy_get_property        (GObject           *object,
-					   guint              param_id,
-					   GValue            *value,
-					   GParamSpec        *pspec);
+                                           guint              param_id,
+                                           GValue            *value,
+                                           GParamSpec        *pspec);
 static void     dummy_set_property        (GObject           *object,
-					   guint              param_id,
-					   const GValue      *value,
-					   GParamSpec        *pspec);
+                                           guint              param_id,
+                                           const GValue      *value,
+                                           GParamSpec        *pspec);
 
 G_DEFINE_TYPE (LmDummy, lm_dummy, G_TYPE_OBJECT)
 
 enum {
-	PROP_0,
-	PROP_MY_PROP
+    PROP_0,
+    PROP_MY_PROP
 };
 
 enum {
-	SIGNAL_NAME,
-	LAST_SIGNAL
+    SIGNAL_NAME,
+    LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
@@ -57,89 +57,89 @@
 static void
 lm_dummy_class_init (LmDummyClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = dummy_finalize;
-	object_class->get_property = dummy_get_property;
-	object_class->set_property = dummy_set_property;
+    object_class->finalize     = dummy_finalize;
+    object_class->get_property = dummy_get_property;
+    object_class->set_property = dummy_set_property;
 
-	g_object_class_install_property (object_class,
-					 PROP_MY_PROP,
-					 g_param_spec_string ("my-prop",
-							      "My Prop",
-							      "My Property",
-							      NULL,
-							      G_PARAM_READWRITE));
-	
-	signals[SIGNAL_NAME] = 
-		g_signal_new ("signal-name",
-			      G_OBJECT_CLASS_TYPE (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      0,
-			      NULL, NULL,
-			      lm_marshal_VOID__INT,
-			      G_TYPE_NONE, 
-			      1, G_TYPE_INT);
-	
-	g_type_class_add_private (object_class, sizeof (LmDummyPriv));
+    g_object_class_install_property (object_class,
+                                     PROP_MY_PROP,
+                                     g_param_spec_string ("my-prop",
+                                                          "My Prop",
+                                                          "My Property",
+                                                          NULL,
+                                                          G_PARAM_READWRITE));
+    
+    signals[SIGNAL_NAME] = 
+        g_signal_new ("signal-name",
+                      G_OBJECT_CLASS_TYPE (object_class),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL, NULL,
+                      lm_marshal_VOID__INT,
+                      G_TYPE_NONE, 
+                      1, G_TYPE_INT);
+    
+    g_type_class_add_private (object_class, sizeof (LmDummyPriv));
 }
 
 static void
 lm_dummy_init (LmDummy *dummy)
 {
-	LmDummyPriv *priv;
+    LmDummyPriv *priv;
 
-	priv = GET_PRIV (dummy);
+    priv = GET_PRIV (dummy);
 
 }
 
 static void
 dummy_finalize (GObject *object)
 {
-	LmDummyPriv *priv;
+    LmDummyPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	(G_OBJECT_CLASS (lm_dummy_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_dummy_parent_class)->finalize) (object);
 }
 
 static void
 dummy_get_property (GObject    *object,
-		   guint       param_id,
-		   GValue     *value,
-		   GParamSpec *pspec)
+                    guint       param_id,
+                    GValue     *value,
+                    GParamSpec *pspec)
 {
-	LmDummyPriv *priv;
+    LmDummyPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		g_value_set_int (value, priv->my_prop);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        g_value_set_int (value, priv->my_prop);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
 dummy_set_property (GObject      *object,
-		   guint         param_id,
-		   const GValue *value,
-		   GParamSpec   *pspec)
+                    guint         param_id,
+                    const GValue *value,
+                    GParamSpec   *pspec)
 {
-	LmDummyPriv *priv;
+    LmDummyPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		priv->my_prop = g_value_get_int (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        priv->my_prop = g_value_get_int (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
--- a/loudmouth/lm-dummy.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-dummy.h	Wed Oct 08 13:11:02 2008 +0200
@@ -36,19 +36,19 @@
 typedef struct LmDummyClass LmDummyClass;
 
 struct LmDummy {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmDummyClass {
-	GObjectClass parent_class;
-	
-	/* <vtable> */
-	void  (*initialize)    (LmDummy     *dummy,
-				const char *username,
-				const char *server,
-				const char *password);
-	void  (*begin)         (LmDummy     *dummy);
-	void  (*cancel)        (LmDummy     *dummy);
+    GObjectClass parent_class;
+    
+    /* <vtable> */
+    void  (*initialize)    (LmDummy     *dummy,
+                            const char *username,
+                            const char *server,
+                            const char *password);
+    void  (*begin)         (LmDummy     *dummy);
+    void  (*cancel)        (LmDummy     *dummy);
 };
 
 GType   lm_dummy_get_type  (void);
--- a/loudmouth/lm-error.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-error.c	Wed Oct 08 13:11:02 2008 +0200
@@ -31,11 +31,11 @@
 GQuark
 lm_error_quark (void)
 {
-	static GQuark q = 0;
+    static GQuark q = 0;
 
-	if (q == 0) {
-		q = g_quark_from_static_string ("lm-error-quark");
-	}
-	
-	return q;
+    if (q == 0) {
+        q = g_quark_from_static_string ("lm-error-quark");
+    }
+    
+    return q;
 }
--- a/loudmouth/lm-error.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-error.h	Wed Oct 08 13:11:02 2008 +0200
@@ -45,10 +45,10 @@
  * Describes the problem of the error.
  */
 typedef enum {
-        LM_ERROR_CONNECTION_NOT_OPEN,
-        LM_ERROR_CONNECTION_OPEN,
-        LM_ERROR_AUTH_FAILED,
-	LM_ERROR_CONNECTION_FAILED
+    LM_ERROR_CONNECTION_NOT_OPEN,
+    LM_ERROR_CONNECTION_OPEN,
+    LM_ERROR_AUTH_FAILED,
+    LM_ERROR_CONNECTION_FAILED
 } LmError;
 
 GQuark lm_error_quark (void) G_GNUC_CONST;
--- a/loudmouth/lm-feature-ping.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-feature-ping.c	Wed Oct 08 13:11:02 2008 +0200
@@ -34,10 +34,10 @@
 
 typedef struct LmFeaturePingPriv LmFeaturePingPriv;
 struct LmFeaturePingPriv {
-        LmConnection *connection;
-	guint         keep_alive_rate;
-	GSource      *keep_alive_source;
-	guint         keep_alive_counter;
+    LmConnection *connection;
+    guint         keep_alive_rate;
+    GSource      *keep_alive_source;
+    guint         keep_alive_counter;
 };
 
 static void     feature_ping_finalize            (GObject           *object);
@@ -60,14 +60,14 @@
 G_DEFINE_TYPE (LmFeaturePing, lm_feature_ping, G_TYPE_OBJECT)
 
 enum {
-	PROP_0,
-        PROP_CONNECTION,
-        PROP_RATE
+    PROP_0,
+    PROP_CONNECTION,
+    PROP_RATE
 };
 
 enum {
-        TIMED_OUT,
-	LAST_SIGNAL
+    TIMED_OUT,
+    LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
@@ -75,57 +75,57 @@
 static void
 lm_feature_ping_class_init (LmFeaturePingClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = feature_ping_finalize;
-	object_class->get_property = feature_ping_get_property;
-	object_class->set_property = feature_ping_set_property;
+    object_class->finalize     = feature_ping_finalize;
+    object_class->get_property = feature_ping_get_property;
+    object_class->set_property = feature_ping_set_property;
 
-        g_object_class_install_property (object_class,
-                                         PROP_CONNECTION,
-                                         g_param_spec_pointer ("connection",
-                                                               "Connection",
-                                                               "The LmConnection to use",
-                                                               G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+    g_object_class_install_property (object_class,
+                                     PROP_CONNECTION,
+                                     g_param_spec_pointer ("connection",
+                                                           "Connection",
+                                                           "The LmConnection to use",
+                                                           G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 
-        g_object_class_install_property (object_class,
-					 PROP_RATE,
-					 g_param_spec_uint ("rate",
-                                                            "Timeout Rate",
-                                                            "Keep alive rate in seconds",
-                                                            0, G_MAXUINT,
-                                                            0,
-                                                            G_PARAM_READWRITE));
+    g_object_class_install_property (object_class,
+                                     PROP_RATE,
+                                     g_param_spec_uint ("rate",
+                                                        "Timeout Rate",
+                                                        "Keep alive rate in seconds",
+                                                        0, G_MAXUINT,
+                                                        0,
+                                                        G_PARAM_READWRITE));
 
-        signals[TIMED_OUT] = 
-		g_signal_new ("timed-out",
-			      G_OBJECT_CLASS_TYPE (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      0,
-			      NULL, NULL,
-			      lm_marshal_VOID__VOID,
-			      G_TYPE_NONE, 0);
-	
-	g_type_class_add_private (object_class, sizeof (LmFeaturePingPriv));
+    signals[TIMED_OUT] = 
+        g_signal_new ("timed-out",
+                      G_OBJECT_CLASS_TYPE (object_class),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL, NULL,
+                      lm_marshal_VOID__VOID,
+                      G_TYPE_NONE, 0);
+    
+    g_type_class_add_private (object_class, sizeof (LmFeaturePingPriv));
 }
 
 static void
 lm_feature_ping_init (LmFeaturePing *feature_ping)
 {
-	LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-	priv = GET_PRIV (feature_ping);
+    priv = GET_PRIV (feature_ping);
 
 }
 
 static void
 feature_ping_finalize (GObject *object)
 {
-	LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	(G_OBJECT_CLASS (lm_feature_ping_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_feature_ping_parent_class)->finalize) (object);
 }
 
 static void
@@ -134,18 +134,18 @@
                            GValue     *value,
                            GParamSpec *pspec)
 {
-	LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_RATE:
-		g_value_set_uint (value, priv->keep_alive_rate);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_RATE:
+        g_value_set_uint (value, priv->keep_alive_rate);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
@@ -154,22 +154,22 @@
                            const GValue *value,
                            GParamSpec   *pspec)
 {
-	LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-        case PROP_CONNECTION:
-                priv->connection = g_value_get_pointer (value);
-                break;
-        case PROP_RATE:
-		priv->keep_alive_rate = g_value_get_uint (value);
-                /* Restart the pings */
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_CONNECTION:
+        priv->connection = g_value_get_pointer (value);
+        break;
+    case PROP_RATE:
+        priv->keep_alive_rate = g_value_get_uint (value);
+        /* Restart the pings */
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static LmHandlerResult
@@ -178,105 +178,105 @@
                                LmMessage        *m,
                                gpointer          user_data)
 {
-        LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-        priv = GET_PRIV (user_data);
+    priv = GET_PRIV (user_data);
 
-        priv->keep_alive_counter = 0;
-	
-        return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    priv->keep_alive_counter = 0;
+    
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 static gboolean
 feature_ping_send_keep_alive (LmFeaturePing *fp)
 {
-        LmFeaturePingPriv *priv;
-	LmMessage         *ping;
-        LmMessageNode     *ping_node;
-	LmMessageHandler  *keep_alive_handler;
-        gchar             *server;
+    LmFeaturePingPriv *priv;
+    LmMessage         *ping;
+    LmMessageNode     *ping_node;
+    LmMessageHandler  *keep_alive_handler;
+    gchar             *server;
 
-        priv = GET_PRIV (fp);
+    priv = GET_PRIV (fp);
 
-        priv->keep_alive_counter++;
-	if (priv->keep_alive_counter > 3) {
-                g_signal_emit (fp, signals[TIMED_OUT], 0);
-                /* FIXME */
+    priv->keep_alive_counter++;
+    if (priv->keep_alive_counter > 3) {
+        g_signal_emit (fp, signals[TIMED_OUT], 0);
+        /* FIXME */
 #if 0 /* Should be moved to signal callback in LmConnection */
-                connection_do_close (connection);
-		connection_signal_disconnect (connection,
-					      LM_DISCONNECT_REASON_PING_TIME_OUT);
+        connection_do_close (connection);
+        connection_signal_disconnect (connection,
+                                      LM_DISCONNECT_REASON_PING_TIME_OUT);
 #endif
 
-	}
+    }
 
-        server = _lm_connection_get_server (priv->connection);
-	
-        ping = lm_message_new_with_sub_type (server,
-					     LM_MESSAGE_TYPE_IQ,
-					     LM_MESSAGE_SUB_TYPE_GET);
+    server = _lm_connection_get_server (priv->connection);
+    
+    ping = lm_message_new_with_sub_type (server,
+                                         LM_MESSAGE_TYPE_IQ,
+                                         LM_MESSAGE_SUB_TYPE_GET);
 
-	ping_node = lm_message_node_add_child (ping->node, "ping", NULL);
+    ping_node = lm_message_node_add_child (ping->node, "ping", NULL);
 
-	lm_message_node_set_attribute (ping_node, "xmlns", XMPP_NS_PING);
+    lm_message_node_set_attribute (ping_node, "xmlns", XMPP_NS_PING);
 
-	keep_alive_handler =
-		lm_message_handler_new (feature_ping_keep_alive_reply,
-                                        fp,
-				        FALSE);
+    keep_alive_handler =
+        lm_message_handler_new (feature_ping_keep_alive_reply,
+                                fp,
+                                FALSE);
 
-        if (!lm_connection_send_with_reply (priv->connection,
-					    ping,
-					    keep_alive_handler,
-					    NULL)) {
-                lm_verbose ("Error while sending XMPP ping!\n");
-	}
+    if (!lm_connection_send_with_reply (priv->connection,
+                                        ping,
+                                        keep_alive_handler,
+                                        NULL)) {
+        lm_verbose ("Error while sending XMPP ping!\n");
+    }
 
-	lm_message_handler_unref (keep_alive_handler);
-	lm_message_unref (ping);
-	g_free (server);
+    lm_message_handler_unref (keep_alive_handler);
+    lm_message_unref (ping);
+    g_free (server);
 
-	return TRUE;
+    return TRUE;
 }
 
 
 void
 lm_feature_ping_start (LmFeaturePing *fp)
 {
-        LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-        g_return_if_fail (LM_IS_FEATURE_PING (fp));
+    g_return_if_fail (LM_IS_FEATURE_PING (fp));
 
-        priv = GET_PRIV (fp);
+    priv = GET_PRIV (fp);
 
-        if (priv->keep_alive_source) {
-                lm_feature_ping_stop (fp);
-	}
+    if (priv->keep_alive_source) {
+        lm_feature_ping_stop (fp);
+    }
 
-        if (priv->keep_alive_rate > 0) {
-                priv->keep_alive_counter = 0;
-                priv->keep_alive_source =
-                        lm_misc_add_timeout (_lm_connection_get_context (priv->connection),
-					     priv->keep_alive_rate * 1000,
-					     (GSourceFunc) feature_ping_send_keep_alive,
-                                             fp);
-	}
+    if (priv->keep_alive_rate > 0) {
+        priv->keep_alive_counter = 0;
+        priv->keep_alive_source =
+            lm_misc_add_timeout (_lm_connection_get_context (priv->connection),
+                                 priv->keep_alive_rate * 1000,
+                                 (GSourceFunc) feature_ping_send_keep_alive,
+                                 fp);
+    }
 }
 
 void
 lm_feature_ping_stop (LmFeaturePing *fp)
 {
-        LmFeaturePingPriv *priv;
+    LmFeaturePingPriv *priv;
 
-        g_return_if_fail (LM_IS_FEATURE_PING (fp));
+    g_return_if_fail (LM_IS_FEATURE_PING (fp));
 
-        priv = GET_PRIV (fp);
+    priv = GET_PRIV (fp);
 
-        if (priv->keep_alive_source) {
-		g_source_destroy (priv->keep_alive_source);
-	}
+    if (priv->keep_alive_source) {
+        g_source_destroy (priv->keep_alive_source);
+    }
 
-        priv->keep_alive_source = NULL;
+    priv->keep_alive_source = NULL;
 }
 
 
--- a/loudmouth/lm-feature-ping.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-feature-ping.h	Wed Oct 08 13:11:02 2008 +0200
@@ -36,11 +36,11 @@
 typedef struct LmFeaturePingClass LmFeaturePingClass;
 
 struct LmFeaturePing {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmFeaturePingClass {
-	GObjectClass parent_class;
+    GObjectClass parent_class;
 };
 
 GType   lm_feature_ping_get_type  (void);
--- a/loudmouth/lm-internals.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-internals.h	Wed Oct 08 13:11:02 2008 +0200
@@ -44,26 +44,26 @@
 #endif /* G_OS_WIN32 */
 
 typedef struct {
-	gpointer       func;
-	gpointer       user_data;
-	GDestroyNotify notify;
+    gpointer       func;
+    gpointer       user_data;
+    GDestroyNotify notify;
 } LmCallback;
 
 typedef struct {
-	LmConnection    *connection;
-	LmOldSocket        *socket;
+    LmConnection    *connection;
+    LmOldSocket        *socket;
 
-	/* struct to save resolved address */
-	struct addrinfo *current_addr;
-	LmOldSocketT         fd;
-	GIOChannel      *io_channel;
+    /* struct to save resolved address */
+    struct addrinfo *current_addr;
+    LmOldSocketT         fd;
+    GIOChannel      *io_channel;
 } LmConnectData;
 
 GMainContext *   _lm_connection_get_context       (LmConnection       *conn);
 /* Need to free the return value */
 gchar *          _lm_connection_get_server        (LmConnection       *conn);
 gboolean         _lm_old_socket_failed_with_error (LmConnectData         *data,
-                                               int                    error);
+                                                   int                    error);
 gboolean         _lm_old_socket_failed            (LmConnectData         *data);
 void             _lm_old_socket_succeeded         (LmConnectData         *data);
 gboolean 
@@ -103,8 +103,8 @@
 void             _lm_sock_shutdown            (LmOldSocketT              sock);
 void             _lm_sock_close               (LmOldSocketT              sock);
 LmOldSocketT         _lm_sock_makesocket         (int                    af,
-                                               int                    type,
-                                               int                    protocol);
+                                                  int                    type,
+                                                  int                    protocol);
 int              _lm_sock_connect             (LmOldSocketT              sock,
                                                const struct sockaddr *name,
                                                int                    namelen);
--- a/loudmouth/lm-message-handler.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-handler.c	Wed Oct 08 13:11:02 2008 +0200
@@ -32,11 +32,11 @@
 #include "lm-message-handler.h"
 
 struct LmMessageHandler {
-	gboolean                valid;
-        gint                    ref_count;
-        LmHandleMessageFunction function;
-        gpointer                user_data;
-        GDestroyNotify          notify;
+    gboolean                valid;
+    gint                    ref_count;
+    LmHandleMessageFunction function;
+    gpointer                user_data;
+    GDestroyNotify          notify;
 };
 
 LmHandlerResult 
@@ -44,19 +44,19 @@
                                     LmConnection     *connection,
                                     LmMessage        *message)
 {
-        g_return_val_if_fail (handler != NULL, 
+    g_return_val_if_fail (handler != NULL, 
                           LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS);
 
-	if (!handler->valid) {
-		return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-	}
+    if (!handler->valid) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
         
-        if (handler->function) {
-                return (* handler->function) (handler, connection, 
-                                              message, handler->user_data);
-        }
+    if (handler->function) {
+        return (* handler->function) (handler, connection, 
+                                      message, handler->user_data);
+    }
         
-        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
 }
 
 /**
@@ -78,23 +78,23 @@
                         gpointer                user_data,
                         GDestroyNotify          notify)
 {
-        LmMessageHandler *handler;
+    LmMessageHandler *handler;
 
-	g_return_val_if_fail (function != NULL, NULL);
+    g_return_val_if_fail (function != NULL, NULL);
         
-        handler = g_new0 (LmMessageHandler, 1);
+    handler = g_new0 (LmMessageHandler, 1);
         
-        if (handler == NULL) {
-                return NULL;
-        }
+    if (handler == NULL) {
+        return NULL;
+    }
         
-	handler->valid     = TRUE;	
-        handler->ref_count = 1;
-        handler->function  = function;
-        handler->user_data = user_data;
-        handler->notify    = notify;
+    handler->valid     = TRUE;  
+    handler->ref_count = 1;
+    handler->function  = function;
+    handler->user_data = user_data;
+    handler->notify    = notify;
         
-        return handler;
+    return handler;
 }
 
 /**
@@ -106,7 +106,7 @@
 void
 lm_message_handler_invalidate (LmMessageHandler *handler)
 {
-	handler->valid = FALSE;
+    handler->valid = FALSE;
 }
 
 /**
@@ -120,9 +120,9 @@
 gboolean
 lm_message_handler_is_valid (LmMessageHandler *handler)
 {
-	g_return_val_if_fail (handler != NULL, FALSE);
+    g_return_val_if_fail (handler != NULL, FALSE);
 
-	return handler->valid;
+    return handler->valid;
 }
 
 /**
@@ -136,11 +136,11 @@
 LmMessageHandler *
 lm_message_handler_ref (LmMessageHandler *handler)
 {
-        g_return_val_if_fail (handler != NULL, NULL);
+    g_return_val_if_fail (handler != NULL, NULL);
         
-        handler->ref_count++;
+    handler->ref_count++;
 
-        return handler;
+    return handler;
 }
 
 /**
@@ -153,15 +153,15 @@
 void
 lm_message_handler_unref (LmMessageHandler *handler)
 {
-        g_return_if_fail (handler != NULL);
+    g_return_if_fail (handler != NULL);
         
-        handler->ref_count --;
+    handler->ref_count --;
         
-        if (handler->ref_count == 0) {
-                if (handler->notify) {
-                        (* handler->notify) (handler->user_data);
-                }
-                g_free (handler);
+    if (handler->ref_count == 0) {
+        if (handler->notify) {
+            (* handler->notify) (handler->user_data);
         }
+        g_free (handler);
+    }
 }
 
--- a/loudmouth/lm-message-handler.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-handler.h	Wed Oct 08 13:11:02 2008 +0200
@@ -41,13 +41,13 @@
  * Returns: #LM_HANDLER_RESULT_REMOVE_MESSAGE to indicate that message has been handled, otherwise #LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS.
  */
 typedef LmHandlerResult (* LmHandleMessageFunction) (LmMessageHandler *handler,
-						     LmConnection     *connection,
-						     LmMessage        *message,
-						     gpointer          user_data);
+                                                     LmConnection     *connection,
+                                                     LmMessage        *message,
+                                                     gpointer          user_data);
 
 LmMessageHandler *lm_message_handler_new   (LmHandleMessageFunction  function,
-					    gpointer                 user_data,
-					    GDestroyNotify           notify);
+                                            gpointer                 user_data,
+                                            GDestroyNotify           notify);
 void              lm_message_handler_invalidate (LmMessageHandler   *handler);
 gboolean          lm_message_handler_is_valid   (LmMessageHandler   *handler);
 LmMessageHandler *lm_message_handler_ref   (LmMessageHandler        *handler);
--- a/loudmouth/lm-message-node.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-node.c	Wed Oct 08 13:11:02 2008 +0200
@@ -31,8 +31,8 @@
 #include "lm-message-node.h"
 
 typedef struct {
-        gchar *key;
-        gchar *value;
+    gchar *key;
+    gchar *value;
 } KeyValuePair;
 
 static void            message_node_free            (LmMessageNode    *node);
@@ -41,91 +41,91 @@
 static void
 message_node_free (LmMessageNode *node)
 {
-        LmMessageNode *l;
-        GSList        *list;
+    LmMessageNode *l;
+    GSList        *list;
         
-        g_return_if_fail (node != NULL);
+    g_return_if_fail (node != NULL);
 
-	for (l = node->children; l;) {
-		LmMessageNode *next = l->next;
+    for (l = node->children; l;) {
+        LmMessageNode *next = l->next;
 
-		lm_message_node_unref (l);
-		l = next;
-        }
+        lm_message_node_unref (l);
+        l = next;
+    }
 
-        g_free (node->name);
-        g_free (node->value);
+    g_free (node->name);
+    g_free (node->value);
         
-        for (list = node->attributes; list; list = list->next) {
-                KeyValuePair *kvp = (KeyValuePair *) list->data;
+    for (list = node->attributes; list; list = list->next) {
+        KeyValuePair *kvp = (KeyValuePair *) list->data;
                 
-                g_free (kvp->key);
-                g_free (kvp->value);
-                g_free (kvp);
-        }
+        g_free (kvp->key);
+        g_free (kvp->value);
+        g_free (kvp);
+    }
         
-        g_slist_free (node->attributes);
-        g_free (node);
+    g_slist_free (node->attributes);
+    g_free (node);
 }
 
 static LmMessageNode *
 message_node_last_child (LmMessageNode *node)
 {
-        LmMessageNode *l;
+    LmMessageNode *l;
         
-        g_return_val_if_fail (node != NULL, NULL);
+    g_return_val_if_fail (node != NULL, NULL);
 
-        if (!node->children) {
-                return NULL;
-        }
+    if (!node->children) {
+        return NULL;
+    }
                 
-        l = node->children;
+    l = node->children;
 
-        while (l->next) {
-                l = l->next;
-        }
+    while (l->next) {
+        l = l->next;
+    }
 
-        return l;
+    return l;
 }
 
 LmMessageNode *
 _lm_message_node_new (const gchar *name)
 {
-        LmMessageNode *node;
+    LmMessageNode *node;
 
-        node = g_new0 (LmMessageNode, 1);
+    node = g_new0 (LmMessageNode, 1);
         
-        node->name       = g_strdup (name);
-        node->value      = NULL;
-	node->raw_mode   = FALSE;
-        node->attributes = NULL;
-        node->next       = NULL;
-        node->prev       = NULL;
-        node->parent     = NULL;
-        node->children   = NULL;
+    node->name       = g_strdup (name);
+    node->value      = NULL;
+    node->raw_mode   = FALSE;
+    node->attributes = NULL;
+    node->next       = NULL;
+    node->prev       = NULL;
+    node->parent     = NULL;
+    node->children   = NULL;
 
-	node->ref_count  = 1;
+    node->ref_count  = 1;
 
-        return node;
+    return node;
 }
 void
 _lm_message_node_add_child_node (LmMessageNode *node, LmMessageNode *child)
 {
-        LmMessageNode *prev;
-	
-        g_return_if_fail (node != NULL);
+    LmMessageNode *prev;
+    
+    g_return_if_fail (node != NULL);
 
-        prev = message_node_last_child (node);
-	lm_message_node_ref (child);
+    prev = message_node_last_child (node);
+    lm_message_node_ref (child);
 
-        if (prev) {
-                prev->next    = child;
-                child->prev   = prev;
-        } else {
-                node->children = child;
-        }
+    if (prev) {
+        prev->next    = child;
+        child->prev   = prev;
+    } else {
+        node->children = child;
+    }
         
-        child->parent = node;
+    child->parent = node;
 }
 
 /**
@@ -139,9 +139,9 @@
 const gchar *
 lm_message_node_get_value (LmMessageNode *node)
 {
-	g_return_val_if_fail (node != NULL, NULL);
-	
-	return node->value;
+    g_return_val_if_fail (node != NULL, NULL);
+    
+    return node->value;
 }
 
 /**
@@ -154,16 +154,16 @@
 void
 lm_message_node_set_value (LmMessageNode *node, const gchar *value)
 {
-        g_return_if_fail (node != NULL);
+    g_return_if_fail (node != NULL);
        
-        g_free (node->value);
-	
-        if (!value) {
-                node->value = NULL;
-                return;
-        }
+    g_free (node->value);
+    
+    if (!value) {
+        node->value = NULL;
+        return;
+    }
 
-        node->value = g_strdup (value);
+    node->value = g_strdup (value);
 }
 
 /**
@@ -178,21 +178,21 @@
  **/
 LmMessageNode *
 lm_message_node_add_child (LmMessageNode *node, 
-			   const gchar   *name, 
-			   const gchar   *value)
+                           const gchar   *name, 
+                           const gchar   *value)
 {
-	LmMessageNode *child;
-	
-        g_return_val_if_fail (node != NULL, NULL);
-        g_return_val_if_fail (name != NULL, NULL);
+    LmMessageNode *child;
+    
+    g_return_val_if_fail (node != NULL, NULL);
+    g_return_val_if_fail (name != NULL, NULL);
 
-	child = _lm_message_node_new (name);
+    child = _lm_message_node_new (name);
 
-	lm_message_node_set_value (child, value);
-	_lm_message_node_add_child_node (node, child);
-	lm_message_node_unref (child);
+    lm_message_node_set_value (child, value);
+    _lm_message_node_add_child_node (node, child);
+    lm_message_node_unref (child);
 
-	return child;
+    return child;
 }
 
 /**
@@ -206,25 +206,25 @@
  **/
 void
 lm_message_node_set_attributes  (LmMessageNode *node,
-				 const gchar   *name,
-				 ...)
+                                 const gchar   *name,
+                                 ...)
 {
-	va_list args;
-	
-        g_return_if_fail (node != NULL);
+    va_list args;
+    
+    g_return_if_fail (node != NULL);
 
-	for (va_start (args, name); 
-	     name; 
-	     name = (const gchar *) va_arg (args, gpointer)) {
-		const gchar *value;
+    for (va_start (args, name); 
+         name; 
+         name = (const gchar *) va_arg (args, gpointer)) {
+        const gchar *value;
 
-		value = (const gchar *) va_arg (args, gpointer);
+        value = (const gchar *) va_arg (args, gpointer);
 
-		lm_message_node_set_attribute (node, name, value);
-		
-	}
+        lm_message_node_set_attribute (node, name, value);
+        
+    }
 
-	va_end (args);
+    va_end (args);
 }
 
 /**
@@ -237,36 +237,36 @@
  **/
 void
 lm_message_node_set_attribute (LmMessageNode *node,
-			       const gchar   *name,
-			       const gchar   *value)
+                               const gchar   *name,
+                               const gchar   *value)
 {
-	gboolean  found = FALSE; 
-	GSList   *l;
+    gboolean  found = FALSE; 
+    GSList   *l;
 
-        g_return_if_fail (node != NULL);
-        g_return_if_fail (name != NULL);
-        g_return_if_fail (value != NULL);
+    g_return_if_fail (node != NULL);
+    g_return_if_fail (name != NULL);
+    g_return_if_fail (value != NULL);
 
-	for (l = node->attributes; l; l = l->next) {
-		KeyValuePair *kvp = (KeyValuePair *) l->data;
+    for (l = node->attributes; l; l = l->next) {
+        KeyValuePair *kvp = (KeyValuePair *) l->data;
                 
-		if (strcmp (kvp->key, name) == 0) {
-			g_free (kvp->value);
-			kvp->value = g_strdup (value);
-			found = TRUE;
-			break;
-		}
-	}
-	
-	if (!found) {
-		KeyValuePair *kvp;
-	
-		kvp = g_new0 (KeyValuePair, 1);                
-		kvp->key = g_strdup (name);
-		kvp->value = g_strdup (value);
-		
-		node->attributes = g_slist_prepend (node->attributes, kvp);
-	}
+        if (strcmp (kvp->key, name) == 0) {
+            g_free (kvp->value);
+            kvp->value = g_strdup (value);
+            found = TRUE;
+            break;
+        }
+    }
+    
+    if (!found) {
+        KeyValuePair *kvp;
+    
+        kvp = g_new0 (KeyValuePair, 1);                
+        kvp->key = g_strdup (name);
+        kvp->value = g_strdup (value);
+        
+        node->attributes = g_slist_prepend (node->attributes, kvp);
+    }
 }
 
 /**
@@ -281,21 +281,21 @@
 const gchar *
 lm_message_node_get_attribute (LmMessageNode *node, const gchar *name)
 {
-        GSList      *l;
-        const gchar *ret_val = NULL;
+    GSList      *l;
+    const gchar *ret_val = NULL;
 
-        g_return_val_if_fail (node != NULL, NULL);
-        g_return_val_if_fail (name != NULL, NULL);
+    g_return_val_if_fail (node != NULL, NULL);
+    g_return_val_if_fail (name != NULL, NULL);
 
-        for (l = node->attributes; l; l = l->next) {
-                KeyValuePair *kvp = (KeyValuePair *) l->data;
+    for (l = node->attributes; l; l = l->next) {
+        KeyValuePair *kvp = (KeyValuePair *) l->data;
                 
-                if (strcmp (kvp->key, name) == 0) {
-                        ret_val = kvp->value;
-                }
+        if (strcmp (kvp->key, name) == 0) {
+            ret_val = kvp->value;
         }
+    }
         
-        return ret_val;
+    return ret_val;
 }
 
 /**
@@ -311,18 +311,18 @@
 LmMessageNode *
 lm_message_node_get_child (LmMessageNode *node, const gchar *child_name)
 {
-	LmMessageNode *l;
+    LmMessageNode *l;
 
-        g_return_val_if_fail (node != NULL, NULL);
-        g_return_val_if_fail (child_name != NULL, NULL);
+    g_return_val_if_fail (node != NULL, NULL);
+    g_return_val_if_fail (child_name != NULL, NULL);
 
-	for (l = node->children; l; l = l->next) {
-		if (strcmp (l->name, child_name) == 0) {
-			return l;
-		}
-	}
+    for (l = node->children; l; l = l->next) {
+        if (strcmp (l->name, child_name) == 0) {
+            return l;
+        }
+    }
 
-	return NULL;
+    return NULL;
 }
 
 /**
@@ -337,27 +337,27 @@
  **/
 LmMessageNode * 
 lm_message_node_find_child (LmMessageNode *node,
-			    const gchar   *child_name)
+                            const gchar   *child_name)
 {
-        LmMessageNode *l;
-        LmMessageNode *ret_val = NULL;
+    LmMessageNode *l;
+    LmMessageNode *ret_val = NULL;
 
-        g_return_val_if_fail (node != NULL, NULL);
-        g_return_val_if_fail (child_name != NULL, NULL);
+    g_return_val_if_fail (node != NULL, NULL);
+    g_return_val_if_fail (child_name != NULL, NULL);
 
-        for (l = node->children; l; l = l->next) {
-                if (strcmp (l->name, child_name) == 0) {
-                        return l;
-                }
-                if (l->children) {
-                        ret_val = lm_message_node_find_child (l, child_name);
-                        if (ret_val) {
-                                return ret_val;
-                        }
-                }
+    for (l = node->children; l; l = l->next) {
+        if (strcmp (l->name, child_name) == 0) {
+            return l;
         }
+        if (l->children) {
+            ret_val = lm_message_node_find_child (l, child_name);
+            if (ret_val) {
+                return ret_val;
+            }
+        }
+    }
 
-        return NULL;
+    return NULL;
 }
 
 /**
@@ -371,9 +371,9 @@
 gboolean
 lm_message_node_get_raw_mode (LmMessageNode *node)
 {
-	g_return_val_if_fail (node != NULL, FALSE);
+    g_return_val_if_fail (node != NULL, FALSE);
 
-	return node->raw_mode;
+    return node->raw_mode;
 }
 
 /** 
@@ -386,9 +386,9 @@
 void
 lm_message_node_set_raw_mode (LmMessageNode *node, gboolean raw_mode)
 {
-	g_return_if_fail (node != NULL);
+    g_return_if_fail (node != NULL);
 
-	node->raw_mode = raw_mode;	
+    node->raw_mode = raw_mode;  
 }
 
 /**
@@ -402,11 +402,11 @@
 LmMessageNode *
 lm_message_node_ref (LmMessageNode *node)
 {
-	g_return_val_if_fail (node != NULL, NULL);
-	
-	node->ref_count++;
+    g_return_val_if_fail (node != NULL, NULL);
+    
+    node->ref_count++;
        
-	return node;
+    return node;
 }
 
 /**
@@ -422,13 +422,13 @@
 void
 lm_message_node_unref (LmMessageNode *node)
 {
-	g_return_if_fail (node != NULL);
-	
-	node->ref_count--;
-	
-	if (node->ref_count == 0) {
-		message_node_free (node);
-	}
+    g_return_if_fail (node != NULL);
+    
+    node->ref_count--;
+    
+    if (node->ref_count == 0) {
+        message_node_free (node);
+    }
 }
 
 /**
@@ -444,58 +444,58 @@
 gchar *
 lm_message_node_to_string (LmMessageNode *node)
 {
-	GString       *ret;
-	GSList        *l;
-	LmMessageNode *child;
+    GString       *ret;
+    GSList        *l;
+    LmMessageNode *child;
 
-	g_return_val_if_fail (node != NULL, NULL);
-	
-	if (node->name == NULL) {
-		return g_strdup ("");
-	}
-	
-	ret = g_string_new ("<");
-	g_string_append (ret, node->name);
-	
-	for (l = node->attributes; l; l = l->next) {
-		KeyValuePair *kvp = (KeyValuePair *) l->data;
+    g_return_val_if_fail (node != NULL, NULL);
+    
+    if (node->name == NULL) {
+        return g_strdup ("");
+    }
+    
+    ret = g_string_new ("<");
+    g_string_append (ret, node->name);
+    
+    for (l = node->attributes; l; l = l->next) {
+        KeyValuePair *kvp = (KeyValuePair *) l->data;
 
-		if (node->raw_mode == FALSE) {
-			gchar *escaped;
+        if (node->raw_mode == FALSE) {
+            gchar *escaped;
 
-			escaped = g_markup_escape_text (kvp->value, -1);
-			g_string_append_printf (ret, " %s=\"%s\"", 
-						kvp->key, escaped);
-			g_free (escaped);
-		} else {
-			g_string_append_printf (ret, " %s=\"%s\"", 
-						kvp->key, kvp->value);
-		}
-		
-	}
-	
-	g_string_append_c (ret, '>');
-	
-	if (node->value) {
-		gchar *tmp;
+            escaped = g_markup_escape_text (kvp->value, -1);
+            g_string_append_printf (ret, " %s=\"%s\"", 
+                                    kvp->key, escaped);
+            g_free (escaped);
+        } else {
+            g_string_append_printf (ret, " %s=\"%s\"", 
+                                    kvp->key, kvp->value);
+        }
+        
+    }
+    
+    g_string_append_c (ret, '>');
+    
+    if (node->value) {
+        gchar *tmp;
 
-		if (node->raw_mode == FALSE) {
-			tmp = g_markup_escape_text (node->value, -1);
-			g_string_append (ret,  tmp);
-			g_free (tmp);
-		} else {
-			g_string_append (ret, node->value);
-		}
-	} 
+        if (node->raw_mode == FALSE) {
+            tmp = g_markup_escape_text (node->value, -1);
+            g_string_append (ret,  tmp);
+            g_free (tmp);
+        } else {
+            g_string_append (ret, node->value);
+        }
+    } 
 
-	for (child = node->children; child; child = child->next) {
-		gchar *child_str = lm_message_node_to_string (child);
-		g_string_append_c (ret, ' ');
-		g_string_append (ret, child_str);
-		g_free (child_str);
-	}
+    for (child = node->children; child; child = child->next) {
+        gchar *child_str = lm_message_node_to_string (child);
+        g_string_append_c (ret, ' ');
+        g_string_append (ret, child_str);
+        g_free (child_str);
+    }
 
-	g_string_append_printf (ret, "</%s>\n", node->name);
-	
-	return g_string_free (ret, FALSE);
+    g_string_append_printf (ret, "</%s>\n", node->name);
+    
+    return g_string_free (ret, FALSE);
 }
--- a/loudmouth/lm-message-node.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-node.h	Wed Oct 08 13:11:02 2008 +0200
@@ -44,41 +44,41 @@
 typedef struct _LmMessageNode LmMessageNode;
 
 struct _LmMessageNode {
-	gchar      *name;
-	gchar      *value;
-	gboolean    raw_mode;
+    gchar      *name;
+    gchar      *value;
+    gboolean    raw_mode;
 
-        LmMessageNode     *next;
-        LmMessageNode     *prev;
-	LmMessageNode     *parent;
-        LmMessageNode     *children;
+    LmMessageNode     *next;
+    LmMessageNode     *prev;
+    LmMessageNode     *parent;
+    LmMessageNode     *children;
 
-	/* < private > */
-	GSList     *attributes;
-	gint        ref_count;
+    /* < private > */
+    GSList     *attributes;
+    gint        ref_count;
 };
 
 const gchar *  lm_message_node_get_value      (LmMessageNode *node);
 void           lm_message_node_set_value      (LmMessageNode *node,
-					       const gchar   *value);
+                                               const gchar   *value);
 LmMessageNode *lm_message_node_add_child      (LmMessageNode *node,
-					       const gchar   *name,
-					       const gchar   *value);
+                                               const gchar   *name,
+                                               const gchar   *value);
 void           lm_message_node_set_attributes (LmMessageNode *node,
-					       const gchar   *name,
-					       ...);
+                                               const gchar   *name,
+                                               ...);
 void           lm_message_node_set_attribute  (LmMessageNode *node,
-					       const gchar   *name,
-					       const gchar   *value);
+                                               const gchar   *name,
+                                               const gchar   *value);
 const gchar *  lm_message_node_get_attribute  (LmMessageNode *node,
-					       const gchar   *name);
+                                               const gchar   *name);
 LmMessageNode *lm_message_node_get_child      (LmMessageNode *node,
-					       const gchar   *child_name);
+                                               const gchar   *child_name);
 LmMessageNode *lm_message_node_find_child     (LmMessageNode *node,
-					       const gchar   *child_name);
+                                               const gchar   *child_name);
 gboolean       lm_message_node_get_raw_mode   (LmMessageNode *node);
 void           lm_message_node_set_raw_mode   (LmMessageNode *node,
-					       gboolean       raw_mode);
+                                               gboolean       raw_mode);
 LmMessageNode *lm_message_node_ref            (LmMessageNode *node);
 void           lm_message_node_unref          (LmMessageNode *node);
 gchar *        lm_message_node_to_string      (LmMessageNode *node);
--- a/loudmouth/lm-message-queue.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-queue.c	Wed Oct 08 13:11:02 2008 +0200
@@ -23,205 +23,205 @@
 #include "lm-message-queue.h"
 
 struct _LmMessageQueue {
-	GQueue                  *messages;
+    GQueue                  *messages;
 
-	GMainContext            *context;
-	GSource                 *source;
+    GMainContext            *context;
+    GSource                 *source;
 
-	LmMessageQueueCallback  callback;
-	gpointer                user_data;
+    LmMessageQueueCallback  callback;
+    gpointer                user_data;
 
-	gint                    ref_count;
+    gint                    ref_count;
 };
 
 typedef struct {
-	GSource         source;
-	LmMessageQueue *queue;
+    GSource         source;
+    LmMessageQueue *queue;
 } MessageQueueSource;
 
 static void        message_queue_free            (LmMessageQueue *queue);
 static gboolean    message_queue_prepare_func    (GSource         *source,
-						  gint            *timeout);
+                                                  gint            *timeout);
 static gboolean    message_queue_check_func      (GSource         *source);
 static gboolean    message_queue_dispatch_func   (GSource         *source,
-						  GSourceFunc      callback,
-						  gpointer         user_data);
+                                                  GSourceFunc      callback,
+                                                  gpointer         user_data);
 
 static GSourceFuncs source_funcs = {
-	message_queue_prepare_func,
-	message_queue_check_func,
-	message_queue_dispatch_func,
-	NULL
+    message_queue_prepare_func,
+    message_queue_check_func,
+    message_queue_dispatch_func,
+    NULL
 };
 
 static void
 foreach_free_message (LmMessage *m, gpointer user_data)
 {
-	lm_message_unref (m);
+    lm_message_unref (m);
 }
 
 static void
 message_queue_free (LmMessageQueue *queue)
 {
-	lm_message_queue_detach (queue);
-	
-	g_queue_foreach (queue->messages, (GFunc) foreach_free_message, NULL);
-	g_queue_free (queue->messages);
+    lm_message_queue_detach (queue);
+    
+    g_queue_foreach (queue->messages, (GFunc) foreach_free_message, NULL);
+    g_queue_free (queue->messages);
 
-	g_free (queue);
+    g_free (queue);
 }
 
 static gboolean
 message_queue_prepare_func (GSource *source, gint *timeout)
 {
-	LmMessageQueue *queue;
+    LmMessageQueue *queue;
 
-	queue = ((MessageQueueSource *)source)->queue;
+    queue = ((MessageQueueSource *)source)->queue;
 
-	return !g_queue_is_empty (queue->messages);
+    return !g_queue_is_empty (queue->messages);
 }
 
 static gboolean
 message_queue_check_func (GSource *source)
 {
-	return FALSE;
+    return FALSE;
 }
 
 static gboolean
 message_queue_dispatch_func (GSource     *source,
-			     GSourceFunc  callback,
-			     gpointer     user_data)
+                             GSourceFunc  callback,
+                             gpointer     user_data)
 {
-	LmMessageQueue *queue;
+    LmMessageQueue *queue;
 
-	queue = ((MessageQueueSource *)source)->queue;
+    queue = ((MessageQueueSource *)source)->queue;
 
-	if (queue->callback) {
-		(queue->callback) (queue, queue->user_data);
-	}
+    if (queue->callback) {
+        (queue->callback) (queue, queue->user_data);
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 LmMessageQueue *
 lm_message_queue_new (LmMessageQueueCallback  callback,
-		      gpointer                user_data)
+                      gpointer                user_data)
 {
-	LmMessageQueue *queue;
+    LmMessageQueue *queue;
 
-	queue = g_new0 (LmMessageQueue, 1);
+    queue = g_new0 (LmMessageQueue, 1);
 
-	queue->messages = g_queue_new ();
-	queue->context = NULL;
-	queue->source = NULL;
-	queue->ref_count = 1;
+    queue->messages = g_queue_new ();
+    queue->context = NULL;
+    queue->source = NULL;
+    queue->ref_count = 1;
 
-	queue->callback = callback;
-	queue->user_data = user_data;
+    queue->callback = callback;
+    queue->user_data = user_data;
 
-	return queue;
+    return queue;
 }
 
 void
 lm_message_queue_attach (LmMessageQueue *queue, GMainContext *context)
 {
-	GSource *source;
+    GSource *source;
 
-	if (queue->source) {
-		if (queue->context == context) {
-			/* Already attached */
-			return;
-		}
-		lm_message_queue_detach (queue);
-	}
+    if (queue->source) {
+        if (queue->context == context) {
+            /* Already attached */
+            return;
+        }
+        lm_message_queue_detach (queue);
+    }
 
-	if (context)  {
-		queue->context = g_main_context_ref (context);
-	}
-	
-	source = g_source_new (&source_funcs, sizeof (MessageQueueSource));
-	((MessageQueueSource *)source)->queue = queue;
-	queue->source = source;
+    if (context)  {
+        queue->context = g_main_context_ref (context);
+    }
+    
+    source = g_source_new (&source_funcs, sizeof (MessageQueueSource));
+    ((MessageQueueSource *)source)->queue = queue;
+    queue->source = source;
 
-	g_source_attach (source, queue->context);
+    g_source_attach (source, queue->context);
 }
 
 void
 lm_message_queue_detach (LmMessageQueue *queue)
 {
-	if (queue->source) {
-		g_source_destroy (queue->source);
-		g_source_unref (queue->source);
-	}
+    if (queue->source) {
+        g_source_destroy (queue->source);
+        g_source_unref (queue->source);
+    }
 
-	if (queue->context) {
-		g_main_context_unref (queue->context);
-	}
+    if (queue->context) {
+        g_main_context_unref (queue->context);
+    }
 
-	queue->source = NULL;
-	queue->context = NULL;
+    queue->source = NULL;
+    queue->context = NULL;
 }
 
 void
 lm_message_queue_push_tail (LmMessageQueue *queue, LmMessage *m)
 {
-	g_return_if_fail (queue != NULL);
-	g_return_if_fail (m != NULL);
+    g_return_if_fail (queue != NULL);
+    g_return_if_fail (m != NULL);
 
-	g_queue_push_tail (queue->messages, m);
+    g_queue_push_tail (queue->messages, m);
 }
 
 LmMessage *
 lm_message_queue_peek_nth (LmMessageQueue *queue, guint n)
 {
-	g_return_val_if_fail (queue != NULL, NULL);
+    g_return_val_if_fail (queue != NULL, NULL);
 
-	return (LmMessage *) g_queue_peek_nth (queue->messages, n);
+    return (LmMessage *) g_queue_peek_nth (queue->messages, n);
 }
 
 LmMessage *
 lm_message_queue_pop_nth (LmMessageQueue *queue, guint n)
 {
-	g_return_val_if_fail (queue != NULL, NULL);
+    g_return_val_if_fail (queue != NULL, NULL);
 
-	return (LmMessage *) g_queue_pop_nth (queue->messages, n);
+    return (LmMessage *) g_queue_pop_nth (queue->messages, n);
 }
 
 guint
 lm_message_queue_get_length (LmMessageQueue *queue)
 {
-	g_return_val_if_fail (queue != NULL, 0);
+    g_return_val_if_fail (queue != NULL, 0);
 
-	return g_queue_get_length (queue->messages);
+    return g_queue_get_length (queue->messages);
 }
 
 gboolean 
 lm_message_queue_is_empty (LmMessageQueue *queue)
 {
-	g_return_val_if_fail (queue != NULL, TRUE);
+    g_return_val_if_fail (queue != NULL, TRUE);
 
-	return g_queue_is_empty (queue->messages);
+    return g_queue_is_empty (queue->messages);
 }
 
 LmMessageQueue *
 lm_message_queue_ref (LmMessageQueue *queue)
 {
-	g_return_val_if_fail (queue != NULL, NULL);
+    g_return_val_if_fail (queue != NULL, NULL);
 
-	queue->ref_count++;
+    queue->ref_count++;
 
-	return queue;
+    return queue;
 }
 
 void
 lm_message_queue_unref (LmMessageQueue *queue)
 {
-	g_return_if_fail (queue != NULL);
+    g_return_if_fail (queue != NULL);
 
-	queue->ref_count--;
+    queue->ref_count--;
 
-	if (queue->ref_count <= 0) {
-		message_queue_free (queue);
-	}
+    if (queue->ref_count <= 0) {
+        message_queue_free (queue);
+    }
 }
 
--- a/loudmouth/lm-message-queue.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message-queue.h	Wed Oct 08 13:11:02 2008 +0200
@@ -27,20 +27,20 @@
 typedef struct _LmMessageQueue LmMessageQueue;
 
 typedef void (* LmMessageQueueCallback) (LmMessageQueue *queue,
-					 gpointer        user_data);
+                                         gpointer        user_data);
 
 LmMessageQueue *  lm_message_queue_new         (LmMessageQueueCallback func,
-						gpointer               data);
+                                                gpointer               data);
 void              lm_message_queue_attach      (LmMessageQueue        *queue,
-						GMainContext *context);
+                                                GMainContext *context);
 
 void              lm_message_queue_detach      (LmMessageQueue *queue);
 void              lm_message_queue_push_tail   (LmMessageQueue *queue,
-						LmMessage      *m);
+                                                LmMessage      *m);
 LmMessage *       lm_message_queue_peek_nth    (LmMessageQueue *queue,
-						guint           n);
+                                                guint           n);
 LmMessage *       lm_message_queue_pop_nth     (LmMessageQueue *queue,
-						guint           n);
+                                                guint           n);
 guint             lm_message_queue_get_length  (LmMessageQueue *queue);
 gboolean          lm_message_queue_is_empty    (LmMessageQueue *queue);
 
--- a/loudmouth/lm-message.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message.c	Wed Oct 08 13:11:02 2008 +0200
@@ -36,172 +36,172 @@
 
 static struct TypeNames 
 {
-        LmMessageType  type;
-        const gchar   *name;
+    LmMessageType  type;
+    const gchar   *name;
 } type_names[] = {
-	{ LM_MESSAGE_TYPE_MESSAGE,         "message"         },
-	{ LM_MESSAGE_TYPE_PRESENCE,        "presence"        },
-	{ LM_MESSAGE_TYPE_IQ,              "iq"              },
-	{ LM_MESSAGE_TYPE_STREAM,          "stream:stream"   },
-	{ LM_MESSAGE_TYPE_STREAM_FEATURES, "stream:features" },
-	{ LM_MESSAGE_TYPE_STREAM_ERROR,    "stream:error"    },
-	{ LM_MESSAGE_TYPE_AUTH,            "auth"            },
-	{ LM_MESSAGE_TYPE_CHALLENGE,       "challenge"       },
-	{ LM_MESSAGE_TYPE_RESPONSE,        "response"        },
-	{ LM_MESSAGE_TYPE_SUCCESS,         "success"         },
-	{ LM_MESSAGE_TYPE_FAILURE,         "failure"         },
-	{ LM_MESSAGE_TYPE_PROCEED,         "proceed"         },
-	{ LM_MESSAGE_TYPE_STARTTLS,        "starttls"        },
-	{ LM_MESSAGE_TYPE_UNKNOWN,         NULL              }
+    { LM_MESSAGE_TYPE_MESSAGE,         "message"         },
+    { LM_MESSAGE_TYPE_PRESENCE,        "presence"        },
+    { LM_MESSAGE_TYPE_IQ,              "iq"              },
+    { LM_MESSAGE_TYPE_STREAM,          "stream:stream"   },
+    { LM_MESSAGE_TYPE_STREAM_FEATURES, "stream:features" },
+    { LM_MESSAGE_TYPE_STREAM_ERROR,    "stream:error"    },
+    { LM_MESSAGE_TYPE_AUTH,            "auth"            },
+    { LM_MESSAGE_TYPE_CHALLENGE,       "challenge"       },
+    { LM_MESSAGE_TYPE_RESPONSE,        "response"        },
+    { LM_MESSAGE_TYPE_SUCCESS,         "success"         },
+    { LM_MESSAGE_TYPE_FAILURE,         "failure"         },
+    { LM_MESSAGE_TYPE_PROCEED,         "proceed"         },
+    { LM_MESSAGE_TYPE_STARTTLS,        "starttls"        },
+    { LM_MESSAGE_TYPE_UNKNOWN,         NULL              }
 };
 
 static struct SubTypeNames 
 {
-        LmMessageSubType  type;
-        const gchar      *name;
+    LmMessageSubType  type;
+    const gchar      *name;
 } sub_type_names[] = {
-	{ LM_MESSAGE_SUB_TYPE_NORMAL,          "normal"        },
-        { LM_MESSAGE_SUB_TYPE_CHAT,            "chat"          },
-	{ LM_MESSAGE_SUB_TYPE_GROUPCHAT,       "groupchat"     },
-	{ LM_MESSAGE_SUB_TYPE_HEADLINE,        "headline"      },
-	{ LM_MESSAGE_SUB_TYPE_UNAVAILABLE,     "unavailable"   },
-        { LM_MESSAGE_SUB_TYPE_PROBE,           "probe"         },
-	{ LM_MESSAGE_SUB_TYPE_SUBSCRIBE,       "subscribe"     },
-	{ LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE,     "unsubscribe"   },
-	{ LM_MESSAGE_SUB_TYPE_SUBSCRIBED,      "subscribed"    },
-	{ LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED,    "unsubscribed"  },
-	{ LM_MESSAGE_SUB_TYPE_GET,             "get"           },
-	{ LM_MESSAGE_SUB_TYPE_SET,             "set"           },
-	{ LM_MESSAGE_SUB_TYPE_RESULT,          "result"        }, 
-	{ LM_MESSAGE_SUB_TYPE_ERROR,           "error"         }
+    { LM_MESSAGE_SUB_TYPE_NORMAL,          "normal"        },
+    { LM_MESSAGE_SUB_TYPE_CHAT,            "chat"          },
+    { LM_MESSAGE_SUB_TYPE_GROUPCHAT,       "groupchat"     },
+    { LM_MESSAGE_SUB_TYPE_HEADLINE,        "headline"      },
+    { LM_MESSAGE_SUB_TYPE_UNAVAILABLE,     "unavailable"   },
+    { LM_MESSAGE_SUB_TYPE_PROBE,           "probe"         },
+    { LM_MESSAGE_SUB_TYPE_SUBSCRIBE,       "subscribe"     },
+    { LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE,     "unsubscribe"   },
+    { LM_MESSAGE_SUB_TYPE_SUBSCRIBED,      "subscribed"    },
+    { LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED,    "unsubscribed"  },
+    { LM_MESSAGE_SUB_TYPE_GET,             "get"           },
+    { LM_MESSAGE_SUB_TYPE_SET,             "set"           },
+    { LM_MESSAGE_SUB_TYPE_RESULT,          "result"        }, 
+    { LM_MESSAGE_SUB_TYPE_ERROR,           "error"         }
 };
 
 struct LmMessagePriv {
-	LmMessageType    type;
-	LmMessageSubType sub_type;
-	gint             ref_count;
+    LmMessageType    type;
+    LmMessageSubType sub_type;
+    gint             ref_count;
 };
 
 static LmMessageType
 message_type_from_string (const gchar *type_str)
 {
-        gint i;
+    gint i;
 
-        if (!type_str) {
-                return LM_MESSAGE_TYPE_UNKNOWN;
-        }
+    if (!type_str) {
+        return LM_MESSAGE_TYPE_UNKNOWN;
+    }
 
-        for (i = LM_MESSAGE_TYPE_MESSAGE;
-	     i < LM_MESSAGE_TYPE_UNKNOWN;
-	     ++i) {
-                if (strcmp (type_str, type_names[i].name) == 0) {
-                        return type_names[i].type;
-                }
+    for (i = LM_MESSAGE_TYPE_MESSAGE;
+         i < LM_MESSAGE_TYPE_UNKNOWN;
+         ++i) {
+        if (strcmp (type_str, type_names[i].name) == 0) {
+            return type_names[i].type;
         }
+    }
 
-        return LM_MESSAGE_TYPE_UNKNOWN;
+    return LM_MESSAGE_TYPE_UNKNOWN;
 }
 
 
 const gchar *
 _lm_message_type_to_string (LmMessageType type)
 {
-        if (type < LM_MESSAGE_TYPE_MESSAGE ||
-            type > LM_MESSAGE_TYPE_STARTTLS) {
-                type = LM_MESSAGE_TYPE_UNKNOWN;
-        }
+    if (type < LM_MESSAGE_TYPE_MESSAGE ||
+        type > LM_MESSAGE_TYPE_STARTTLS) {
+        type = LM_MESSAGE_TYPE_UNKNOWN;
+    }
 
-        return type_names[type].name;
+    return type_names[type].name;
 }
 
 static LmMessageSubType
 message_sub_type_from_string (const gchar *type_str)
 {
-        gint i;
+    gint i;
 
-        if (!type_str) {
-                return LM_MESSAGE_SUB_TYPE_NOT_SET;
-        }
+    if (!type_str) {
+        return LM_MESSAGE_SUB_TYPE_NOT_SET;
+    }
 
-        for (i = LM_MESSAGE_SUB_TYPE_NORMAL;
-	     i <= LM_MESSAGE_SUB_TYPE_ERROR;
-	     ++i) {
-                if (g_ascii_strcasecmp (type_str, 
-					sub_type_names[i].name) == 0) {
-                        return i;
-                }
+    for (i = LM_MESSAGE_SUB_TYPE_NORMAL;
+         i <= LM_MESSAGE_SUB_TYPE_ERROR;
+         ++i) {
+        if (g_ascii_strcasecmp (type_str, 
+                                sub_type_names[i].name) == 0) {
+            return i;
         }
+    }
 
-        return LM_MESSAGE_SUB_TYPE_NOT_SET;
+    return LM_MESSAGE_SUB_TYPE_NOT_SET;
 }
 
 const gchar *
 _lm_message_sub_type_to_string (LmMessageSubType type)
 {
-        if (type < LM_MESSAGE_SUB_TYPE_NORMAL ||
-            type > LM_MESSAGE_SUB_TYPE_ERROR) {
-		return NULL;
-        }
+    if (type < LM_MESSAGE_SUB_TYPE_NORMAL ||
+        type > LM_MESSAGE_SUB_TYPE_ERROR) {
+        return NULL;
+    }
 
-        return sub_type_names[type].name;
+    return sub_type_names[type].name;
 }
 
 static LmMessageSubType
 message_sub_type_when_unset (LmMessageType type) {
-	LmMessageSubType sub_type = LM_MESSAGE_SUB_TYPE_NORMAL;
+    LmMessageSubType sub_type = LM_MESSAGE_SUB_TYPE_NORMAL;
 
-	switch (type) {
-	case LM_MESSAGE_TYPE_MESSAGE:
-		/* A message without type should be handled like a message with
-		 * type=normal, but we won't set it to that since then the user
-		 * will not know if it's set or not.
-		 */
-		sub_type = LM_MESSAGE_SUB_TYPE_NOT_SET;
-		break;
-	case LM_MESSAGE_TYPE_PRESENCE:
-		sub_type = LM_MESSAGE_SUB_TYPE_AVAILABLE;
-		break;
-	case LM_MESSAGE_TYPE_IQ:
-		sub_type = LM_MESSAGE_SUB_TYPE_GET;
-		break;
-	default:
-		break;
-	}
+    switch (type) {
+    case LM_MESSAGE_TYPE_MESSAGE:
+        /* A message without type should be handled like a message with
+         * type=normal, but we won't set it to that since then the user
+         * will not know if it's set or not.
+         */
+        sub_type = LM_MESSAGE_SUB_TYPE_NOT_SET;
+        break;
+    case LM_MESSAGE_TYPE_PRESENCE:
+        sub_type = LM_MESSAGE_SUB_TYPE_AVAILABLE;
+        break;
+    case LM_MESSAGE_TYPE_IQ:
+        sub_type = LM_MESSAGE_SUB_TYPE_GET;
+        break;
+    default:
+        break;
+    }
 
-	return sub_type;
+    return sub_type;
 }
 
 LmMessage *
 _lm_message_new_from_node (LmMessageNode *node)
 {
-	LmMessage        *m;
-	LmMessageType     type;
-	LmMessageSubType  sub_type;
-	const gchar      *sub_type_str;
-	
-	type = message_type_from_string (node->name);
+    LmMessage        *m;
+    LmMessageType     type;
+    LmMessageSubType  sub_type;
+    const gchar      *sub_type_str;
+    
+    type = message_type_from_string (node->name);
 
-	if (type == LM_MESSAGE_TYPE_UNKNOWN) {
-		return NULL;
-	}
+    if (type == LM_MESSAGE_TYPE_UNKNOWN) {
+        return NULL;
+    }
 
-	sub_type_str = lm_message_node_get_attribute (node, "type");
-	if (sub_type_str) {
-		sub_type = message_sub_type_from_string (sub_type_str);
-	} else {
-		sub_type = message_sub_type_when_unset (type);
-	}
+    sub_type_str = lm_message_node_get_attribute (node, "type");
+    if (sub_type_str) {
+        sub_type = message_sub_type_from_string (sub_type_str);
+    } else {
+        sub_type = message_sub_type_when_unset (type);
+    }
 
-	m = g_new0 (LmMessage, 1);
-	m->priv = g_new0 (LmMessagePriv, 1);
-	
-	PRIV(m)->ref_count = 1;
-	PRIV(m)->type = type;
-	PRIV(m)->sub_type = sub_type;
-	
-	m->node = lm_message_node_ref (node);
-	
-	return m;
+    m = g_new0 (LmMessage, 1);
+    m->priv = g_new0 (LmMessagePriv, 1);
+    
+    PRIV(m)->ref_count = 1;
+    PRIV(m)->type = type;
+    PRIV(m)->sub_type = sub_type;
+    
+    m->node = lm_message_node_ref (node);
+    
+    return m;
 }
 
 /**
@@ -219,31 +219,31 @@
 LmMessage *
 lm_message_new (const gchar *to, LmMessageType type)
 {
-	LmMessage *m;
-	gchar     *id;
+    LmMessage *m;
+    gchar     *id;
 
-	m       = g_new0 (LmMessage, 1);
-	m->priv = g_new0 (LmMessagePriv, 1);
+    m       = g_new0 (LmMessage, 1);
+    m->priv = g_new0 (LmMessagePriv, 1);
 
-	PRIV(m)->ref_count = 1;
-	PRIV(m)->type      = type;
-	PRIV(m)->sub_type  = message_sub_type_when_unset (type);
-	
-	m->node = _lm_message_node_new (_lm_message_type_to_string (type));
+    PRIV(m)->ref_count = 1;
+    PRIV(m)->type      = type;
+    PRIV(m)->sub_type  = message_sub_type_when_unset (type);
+    
+    m->node = _lm_message_node_new (_lm_message_type_to_string (type));
 
-	id = _lm_utils_generate_id ();
-	lm_message_node_set_attribute (m->node, "id", id);
-	g_free (id);
-	
-	if (to) {
-		lm_message_node_set_attribute (m->node, "to", to);
-	}
+    id = _lm_utils_generate_id ();
+    lm_message_node_set_attribute (m->node, "id", id);
+    g_free (id);
+    
+    if (to) {
+        lm_message_node_set_attribute (m->node, "to", to);
+    }
 
-	if (type == LM_MESSAGE_TYPE_IQ) {
-		lm_message_node_set_attribute (m->node, "type", "get");
-	}
-	
-	return m;
+    if (type == LM_MESSAGE_TYPE_IQ) {
+        lm_message_node_set_attribute (m->node, "type", "get");
+    }
+    
+    return m;
 }
 
 /**
@@ -259,23 +259,23 @@
  **/
 LmMessage *
 lm_message_new_with_sub_type (const gchar      *to,
-			      LmMessageType     type, 
-			      LmMessageSubType  sub_type)
+                              LmMessageType     type, 
+                              LmMessageSubType  sub_type)
 {
-	LmMessage   *m;
-	const gchar *type_str;
+    LmMessage   *m;
+    const gchar *type_str;
 
-	m = lm_message_new (to, type);
+    m = lm_message_new (to, type);
 
-	type_str = _lm_message_sub_type_to_string (sub_type);
+    type_str = _lm_message_sub_type_to_string (sub_type);
 
-	if (type_str) {
-		lm_message_node_set_attributes (m->node,
-						"type", type_str, NULL);
-		PRIV(m)->sub_type = sub_type;
-	}
+    if (type_str) {
+        lm_message_node_set_attributes (m->node,
+                                        "type", type_str, NULL);
+        PRIV(m)->sub_type = sub_type;
+    }
 
-	return m;
+    return m;
 }
 
 /**
@@ -289,9 +289,9 @@
 LmMessageType
 lm_message_get_type (LmMessage *message)
 {
-	g_return_val_if_fail (message != NULL, LM_MESSAGE_TYPE_UNKNOWN);
-	
-	return PRIV(message)->type;
+    g_return_val_if_fail (message != NULL, LM_MESSAGE_TYPE_UNKNOWN);
+    
+    return PRIV(message)->type;
 }
 
 /**
@@ -305,9 +305,9 @@
 LmMessageSubType
 lm_message_get_sub_type (LmMessage *message)
 {
-	g_return_val_if_fail (message != NULL, LM_MESSAGE_TYPE_UNKNOWN);
-	
-	return PRIV(message)->sub_type;
+    g_return_val_if_fail (message != NULL, LM_MESSAGE_TYPE_UNKNOWN);
+    
+    return PRIV(message)->sub_type;
 }
 
 /**
@@ -321,9 +321,9 @@
 LmMessageNode *
 lm_message_get_node (LmMessage *message)
 {
-	g_return_val_if_fail (message != NULL, NULL);
-	
-	return message->node;
+    g_return_val_if_fail (message != NULL, NULL);
+    
+    return message->node;
 }
 
 /**
@@ -337,11 +337,11 @@
 LmMessage *
 lm_message_ref (LmMessage *message)
 {
-	g_return_val_if_fail (message != NULL, NULL);
-	
-	PRIV(message)->ref_count++;
-	
-	return message;
+    g_return_val_if_fail (message != NULL, NULL);
+    
+    PRIV(message)->ref_count++;
+    
+    return message;
 }
 
 /**
@@ -354,13 +354,13 @@
 void
 lm_message_unref (LmMessage *message)
 {
-	g_return_if_fail (message != NULL);
+    g_return_if_fail (message != NULL);
 
-	PRIV(message)->ref_count--;
-	
-	if (PRIV(message)->ref_count == 0) {
-		lm_message_node_unref (message->node);
-		g_free (message->priv);
-		g_free (message);
-	}
+    PRIV(message)->ref_count--;
+    
+    if (PRIV(message)->ref_count == 0) {
+        lm_message_node_unref (message->node);
+        g_free (message->priv);
+        g_free (message);
+    }
 }
--- a/loudmouth/lm-message.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-message.h	Wed Oct 08 13:11:02 2008 +0200
@@ -32,9 +32,9 @@
 typedef struct LmMessagePriv LmMessagePriv;
 
 typedef struct {
-	LmMessageNode *node;
+    LmMessageNode *node;
 
-	LmMessagePriv *priv;
+    LmMessagePriv *priv;
 } LmMessage;
 
 /**
@@ -49,20 +49,20 @@
  * Describes what type of message a message is. This maps directly to top level elements in the jabber protocol.
  */
 typedef enum {
-	LM_MESSAGE_TYPE_MESSAGE,
-	LM_MESSAGE_TYPE_PRESENCE,
-	LM_MESSAGE_TYPE_IQ,
-	LM_MESSAGE_TYPE_STREAM,
-	LM_MESSAGE_TYPE_STREAM_ERROR,
-	LM_MESSAGE_TYPE_STREAM_FEATURES,
-	LM_MESSAGE_TYPE_AUTH,
-	LM_MESSAGE_TYPE_CHALLENGE,
-	LM_MESSAGE_TYPE_RESPONSE,
-	LM_MESSAGE_TYPE_SUCCESS,
-	LM_MESSAGE_TYPE_FAILURE,
-	LM_MESSAGE_TYPE_PROCEED,
-	LM_MESSAGE_TYPE_STARTTLS,
-	LM_MESSAGE_TYPE_UNKNOWN
+    LM_MESSAGE_TYPE_MESSAGE,
+    LM_MESSAGE_TYPE_PRESENCE,
+    LM_MESSAGE_TYPE_IQ,
+    LM_MESSAGE_TYPE_STREAM,
+    LM_MESSAGE_TYPE_STREAM_ERROR,
+    LM_MESSAGE_TYPE_STREAM_FEATURES,
+    LM_MESSAGE_TYPE_AUTH,
+    LM_MESSAGE_TYPE_CHALLENGE,
+    LM_MESSAGE_TYPE_RESPONSE,
+    LM_MESSAGE_TYPE_SUCCESS,
+    LM_MESSAGE_TYPE_FAILURE,
+    LM_MESSAGE_TYPE_PROCEED,
+    LM_MESSAGE_TYPE_STARTTLS,
+    LM_MESSAGE_TYPE_UNKNOWN
 } LmMessageType;
 
 /**
@@ -86,29 +86,29 @@
  * Describes the sub type of a message. This is equal to the "type" attribute in the jabber protocol. What sub type a message can have is depending on the type of the message.
  */
 typedef enum {
-        LM_MESSAGE_SUB_TYPE_NOT_SET = -10,
-	LM_MESSAGE_SUB_TYPE_AVAILABLE = -1,
-	LM_MESSAGE_SUB_TYPE_NORMAL = 0,
-	LM_MESSAGE_SUB_TYPE_CHAT,
-        LM_MESSAGE_SUB_TYPE_GROUPCHAT,
-        LM_MESSAGE_SUB_TYPE_HEADLINE,
-        LM_MESSAGE_SUB_TYPE_UNAVAILABLE,
-        LM_MESSAGE_SUB_TYPE_PROBE,
-        LM_MESSAGE_SUB_TYPE_SUBSCRIBE,
-        LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE,
-        LM_MESSAGE_SUB_TYPE_SUBSCRIBED,
-        LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED,
-	LM_MESSAGE_SUB_TYPE_GET,
-	LM_MESSAGE_SUB_TYPE_SET,
-	LM_MESSAGE_SUB_TYPE_RESULT,
-	LM_MESSAGE_SUB_TYPE_ERROR
+    LM_MESSAGE_SUB_TYPE_NOT_SET = -10,
+    LM_MESSAGE_SUB_TYPE_AVAILABLE = -1,
+    LM_MESSAGE_SUB_TYPE_NORMAL = 0,
+    LM_MESSAGE_SUB_TYPE_CHAT,
+    LM_MESSAGE_SUB_TYPE_GROUPCHAT,
+    LM_MESSAGE_SUB_TYPE_HEADLINE,
+    LM_MESSAGE_SUB_TYPE_UNAVAILABLE,
+    LM_MESSAGE_SUB_TYPE_PROBE,
+    LM_MESSAGE_SUB_TYPE_SUBSCRIBE,
+    LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE,
+    LM_MESSAGE_SUB_TYPE_SUBSCRIBED,
+    LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED,
+    LM_MESSAGE_SUB_TYPE_GET,
+    LM_MESSAGE_SUB_TYPE_SET,
+    LM_MESSAGE_SUB_TYPE_RESULT,
+    LM_MESSAGE_SUB_TYPE_ERROR
 } LmMessageSubType;
 
 LmMessage *      lm_message_new               (const gchar      *to,
-					       LmMessageType     type);
+                                               LmMessageType     type);
 LmMessage *      lm_message_new_with_sub_type (const gchar      *to,
-					       LmMessageType     type,
-					       LmMessageSubType  sub_type);
+                                               LmMessageType     type,
+                                               LmMessageSubType  sub_type);
 LmMessageType    lm_message_get_type          (LmMessage        *message);
 LmMessageSubType lm_message_get_sub_type      (LmMessage        *message);
 LmMessageNode *  lm_message_get_node          (LmMessage        *message);
--- a/loudmouth/lm-misc.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-misc.c	Wed Oct 08 13:11:02 2008 +0200
@@ -26,81 +26,81 @@
 
 static void
 misc_setup_source (GMainContext *context,
-		   GSource      *source,
-		   GSourceFunc   function,
-		   gpointer      data)
+                   GSource      *source,
+                   GSourceFunc   function,
+                   gpointer      data)
 {
-	g_source_set_callback (source, (GSourceFunc)function, data, NULL);
-	g_source_attach (source, context);
-	g_source_unref (source);
+    g_source_set_callback (source, (GSourceFunc)function, data, NULL);
+    g_source_attach (source, context);
+    g_source_unref (source);
 }
 
 GSource *
 lm_misc_add_io_watch (GMainContext *context,
-		      GIOChannel   *channel,
-		      GIOCondition  condition,
-		      GIOFunc       function,
-		      gpointer      data)
+                      GIOChannel   *channel,
+                      GIOCondition  condition,
+                      GIOFunc       function,
+                      gpointer      data)
 {
-	GSource *source;
+    GSource *source;
                                                                                 
-	g_return_val_if_fail (channel != NULL, 0);
+    g_return_val_if_fail (channel != NULL, 0);
                                                                                 
-	source = g_io_create_watch (channel, condition);
-	misc_setup_source (context, source, (GSourceFunc) function, data);
+    source = g_io_create_watch (channel, condition);
+    misc_setup_source (context, source, (GSourceFunc) function, data);
 
-	return source;
+    return source;
 }
 
 GSource *
 lm_misc_add_idle (GMainContext *context,
-		  GSourceFunc   function,
-		  gpointer      data)
+                  GSourceFunc   function,
+                  gpointer      data)
 {
-	GSource *source;
+    GSource *source;
                                                                                 
-	g_return_val_if_fail (function != NULL, 0);
+    g_return_val_if_fail (function != NULL, 0);
                                                                                 
-	source = g_idle_source_new ();
-	misc_setup_source (context, source, function, data);
+    source = g_idle_source_new ();
+    misc_setup_source (context, source, function, data);
   
-	return source;
+    return source;
 }
 
 GSource *
 lm_misc_add_timeout (GMainContext *context,
-		     guint         interval,
-		     GSourceFunc   function,
-		     gpointer      data)
+                     guint         interval,
+                     GSourceFunc   function,
+                     gpointer      data)
 {
-	GSource *source;
+    GSource *source;
                                                                                 
-	g_return_val_if_fail (function != NULL, 0);
+    g_return_val_if_fail (function != NULL, 0);
                                                                                 
-	source = g_timeout_source_new (interval);
-	misc_setup_source (context, source, function, data);
+    source = g_timeout_source_new (interval);
+    misc_setup_source (context, source, function, data);
   
-	return source;
+    return source;
 }
 
 const char *
 lm_misc_io_condition_to_str  (GIOCondition condition)
 {
-	static char buf[256];
+    static char buf[256];
 
-	buf[0] = '\0';
+    buf[0] = '\0';
 
-	if(condition & G_IO_ERR)
-		strcat(buf, "G_IO_ERR ");
-	if(condition & G_IO_HUP)
-		strcat(buf, "G_IO_HUP ");
-	if(condition & G_IO_NVAL)
-		strcat(buf, "G_IO_NVAL ");
-	if(condition & G_IO_IN)
-		strcat(buf, "G_IO_IN ");
-	if(condition & G_IO_OUT)
-		strcat(buf, "G_IO_OUT ");
+    if(condition & G_IO_ERR)
+        strcat(buf, "G_IO_ERR ");
+    if(condition & G_IO_HUP)
+        strcat(buf, "G_IO_HUP ");
+    if(condition & G_IO_NVAL)
+        strcat(buf, "G_IO_NVAL ");
+    if(condition & G_IO_IN)
+        strcat(buf, "G_IO_IN ");
+    if(condition & G_IO_OUT)
+        strcat(buf, "G_IO_OUT ");
 
-	return buf;
+    return buf;
 }
 
--- a/loudmouth/lm-misc.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-misc.h	Wed Oct 08 13:11:02 2008 +0200
@@ -24,17 +24,17 @@
 #include <glib.h>
 
 GSource *          lm_misc_add_io_watch         (GMainContext *context,
-						 GIOChannel   *chan,
-						 GIOCondition  condition,
-						 GIOFunc       function,
-						 gpointer      data);
+                                                 GIOChannel   *chan,
+                                                 GIOCondition  condition,
+                                                 GIOFunc       function,
+                                                 gpointer      data);
 GSource *          lm_misc_add_idle             (GMainContext *context,
-						 GSourceFunc   function,
-						 gpointer      data);
+                                                 GSourceFunc   function,
+                                                 gpointer      data);
 GSource *          lm_misc_add_timeout          (GMainContext *context,
-						 guint         interval,
-						 GSourceFunc   function,
-						 gpointer      data);
+                                                 guint         interval,
+                                                 GSourceFunc   function,
+                                                 gpointer      data);
 
 const char *       lm_misc_io_condition_to_str  (GIOCondition    condition);
 
--- a/loudmouth/lm-old-socket.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-old-socket.c	Wed Oct 08 13:11:02 2008 +0200
@@ -58,69 +58,69 @@
 #define SRV_LEN 8192
 
 struct _LmOldSocket {
-	LmConnection *connection;
-	GMainContext *context;
+    LmConnection *connection;
+    GMainContext *context;
 
-	gchar        *domain;
-	gchar        *server;
-	guint         port;
+    gchar        *domain;
+    gchar        *server;
+    guint         port;
 
-	gboolean      blocking;
+    gboolean      blocking;
 
-	LmSSL        *ssl;
-	gboolean      ssl_started;
-	LmProxy      *proxy;
+    LmSSL        *ssl;
+    gboolean      ssl_started;
+    LmProxy      *proxy;
 
-	GIOChannel   *io_channel;
-	GSource      *watch_in;
-	GSource      *watch_err;
-	GSource      *watch_hup;
+    GIOChannel   *io_channel;
+    GSource      *watch_in;
+    GSource      *watch_err;
+    GSource      *watch_hup;
 
-	LmOldSocketT      fd;
+    LmOldSocketT      fd;
 
-	GSource      *watch_connect;
+    GSource      *watch_connect;
 
-	gboolean      cancel_open;
-	
-	GSource      *watch_out;
-	GString      *out_buf;
+    gboolean      cancel_open;
+    
+    GSource      *watch_out;
+    GString      *out_buf;
 
-	LmConnectData *connect_data;
+    LmConnectData *connect_data;
 
-	IncomingDataFunc data_func;
-	SocketClosedFunc closed_func;
-	ConnectResultFunc connect_func;
-	gpointer         user_data;
+    IncomingDataFunc data_func;
+    SocketClosedFunc closed_func;
+    ConnectResultFunc connect_func;
+    gpointer         user_data;
 
-	guint          ref_count;
+    guint          ref_count;
 
-        LmResolver      *resolver;
+    LmResolver      *resolver;
 
 #ifdef HAVE_ASYNCNS
-	GSource		*watch_resolv;
-	asyncns_query_t *resolv_query;
-	asyncns_t	*asyncns_ctx;
-	GIOChannel	*resolv_channel;
+    GSource     *watch_resolv;
+    asyncns_query_t *resolv_query;
+    asyncns_t   *asyncns_ctx;
+    GIOChannel  *resolv_channel;
 #endif
 }; 
 
 static void         socket_free               (LmOldSocket       *socket);
 static gboolean     socket_do_connect         (LmConnectData  *connect_data);
 static gboolean     socket_connect_cb         (GIOChannel     *source, 
-					       GIOCondition    condition,
-					       LmConnectData  *connect_data);
+                                               GIOCondition    condition,
+                                               LmConnectData  *connect_data);
 static gboolean     socket_in_event           (GIOChannel     *source,
-					       GIOCondition    condition,
-					       LmOldSocket       *socket);
+                                               GIOCondition    condition,
+                                               LmOldSocket       *socket);
 static gboolean     socket_hup_event          (GIOChannel     *source,
-					       GIOCondition    condition,
-					       LmOldSocket       *socket);
+                                               GIOCondition    condition,
+                                               LmOldSocket       *socket);
 static gboolean     socket_error_event        (GIOChannel     *source,
-					       GIOCondition    condition,
-					       LmOldSocket       *socket);
+                                               GIOCondition    condition,
+                                               LmOldSocket       *socket);
 static gboolean     socket_buffered_write_cb  (GIOChannel     *source, 
-					       GIOCondition    condition,
-					       LmOldSocket       *socket);
+                                               GIOCondition    condition,
+                                               LmOldSocket       *socket);
 static void         socket_close_io_channel   (GIOChannel     *io_channel);
 static gboolean     old_socket_output_is_buffered    (LmOldSocket       *socket,
                                                       const gchar    *buffer,
@@ -132,265 +132,265 @@
 static void
 socket_free (LmOldSocket *socket)
 {
-	g_free (socket->server);
-	g_free (socket->domain);
+    g_free (socket->server);
+    g_free (socket->domain);
 
-	if (socket->ssl) {
-		lm_ssl_unref (socket->ssl);
-	}
+    if (socket->ssl) {
+        lm_ssl_unref (socket->ssl);
+    }
 
-	if (socket->proxy) {
-		lm_proxy_unref (socket->proxy);
-	}
-	
-	if (socket->out_buf) {
-		g_string_free (socket->out_buf, TRUE);
-	}
+    if (socket->proxy) {
+        lm_proxy_unref (socket->proxy);
+    }
+    
+    if (socket->out_buf) {
+        g_string_free (socket->out_buf, TRUE);
+    }
 
-        if (socket->resolver) {
-                g_object_unref (socket->resolver);
-        }
+    if (socket->resolver) {
+        g_object_unref (socket->resolver);
+    }
 
-	g_free (socket);
+    g_free (socket);
 }
 
 static gint
 old_socket_do_write (LmOldSocket *socket, const gchar *buf, guint len)
 {
-        gint b_written;
+    gint b_written;
 
-        if (socket->ssl_started) {
-		b_written = _lm_ssl_send (socket->ssl, buf, len);
-	} else {
-		GIOStatus io_status = G_IO_STATUS_AGAIN;
-		gsize     bytes_written;
+    if (socket->ssl_started) {
+        b_written = _lm_ssl_send (socket->ssl, buf, len);
+    } else {
+        GIOStatus io_status = G_IO_STATUS_AGAIN;
+        gsize     bytes_written;
 
-		while (io_status == G_IO_STATUS_AGAIN) {
-			io_status = g_io_channel_write_chars (socket->io_channel, 
-							      buf, len, 
-							      &bytes_written,
-							      NULL);
-		}
+        while (io_status == G_IO_STATUS_AGAIN) {
+            io_status = g_io_channel_write_chars (socket->io_channel, 
+                                                  buf, len, 
+                                                  &bytes_written,
+                                                  NULL);
+        }
 
-		b_written = bytes_written;
+        b_written = bytes_written;
 
-		if (io_status != G_IO_STATUS_NORMAL) {
-			b_written = -1;
-		}
-	}
+        if (io_status != G_IO_STATUS_NORMAL) {
+            b_written = -1;
+        }
+    }
 
-        return b_written;
+    return b_written;
 }
 
 gint
 lm_old_socket_write (LmOldSocket *socket, const gchar *buf, gint len)
 {
-	gint b_written;
+    gint b_written;
 
-	if (old_socket_output_is_buffered (socket, buf, len)) {
-                return len;
-        }
+    if (old_socket_output_is_buffered (socket, buf, len)) {
+        return len;
+    }
 
-        b_written = old_socket_do_write (socket, buf, len);
+    b_written = old_socket_do_write (socket, buf, len);
 
-        if (b_written < len && b_written != -1) {
-                old_socket_setup_output_buffer (socket,
-                                                buf + b_written,
-                                                len - b_written);
-                return len;
-        }
+    if (b_written < len && b_written != -1) {
+        old_socket_setup_output_buffer (socket,
+                                        buf + b_written,
+                                        len - b_written);
+        return len;
+    }
         
-        return b_written;
+    return b_written;
 }
 
 static gboolean
 socket_read_incoming (LmOldSocket *socket,
-		      gchar    *buf,
-		      gsize     buf_size,
-		      gsize    *bytes_read,
-		      gboolean *hangup,
-		      gint     *reason)
+                      gchar    *buf,
+                      gsize     buf_size,
+                      gsize    *bytes_read,
+                      gboolean *hangup,
+                      gint     *reason)
 {
-	GIOStatus status;
+    GIOStatus status;
 
-	*hangup = FALSE;
+    *hangup = FALSE;
 
-	if (socket->ssl_started) {
-		status = _lm_ssl_read (socket->ssl, 
-				       buf, buf_size - 1, bytes_read);
-	} else {
-		status = g_io_channel_read_chars (socket->io_channel,
-						  buf, buf_size - 1,
-						  bytes_read,
-						  NULL);
-	}
+    if (socket->ssl_started) {
+        status = _lm_ssl_read (socket->ssl, 
+                               buf, buf_size - 1, bytes_read);
+    } else {
+        status = g_io_channel_read_chars (socket->io_channel,
+                                          buf, buf_size - 1,
+                                          bytes_read,
+                                          NULL);
+    }
 
-	if (status != G_IO_STATUS_NORMAL || *bytes_read < 0) {
-		switch (status) {
-		case G_IO_STATUS_EOF:
-			*reason = LM_DISCONNECT_REASON_HUP;
-			break;
-		case G_IO_STATUS_AGAIN:
-			/* No data readable but we didn't hangup */
-			return FALSE;
-			break;
-		case G_IO_STATUS_ERROR:
-			*reason = LM_DISCONNECT_REASON_ERROR;
-			break;
-		default:
-			*reason = LM_DISCONNECT_REASON_UNKNOWN;
-		}
+    if (status != G_IO_STATUS_NORMAL || *bytes_read < 0) {
+        switch (status) {
+        case G_IO_STATUS_EOF:
+            *reason = LM_DISCONNECT_REASON_HUP;
+            break;
+        case G_IO_STATUS_AGAIN:
+            /* No data readable but we didn't hangup */
+            return FALSE;
+            break;
+        case G_IO_STATUS_ERROR:
+            *reason = LM_DISCONNECT_REASON_ERROR;
+            break;
+        default:
+            *reason = LM_DISCONNECT_REASON_UNKNOWN;
+        }
 
-		/* Notify connection_in_event that we hangup the connection */
-		*hangup = TRUE;
-		
-		return FALSE;
-	}
+        /* Notify connection_in_event that we hangup the connection */
+        *hangup = TRUE;
+        
+        return FALSE;
+    }
 
-	buf[*bytes_read] = '\0';
+    buf[*bytes_read] = '\0';
 
-	/* There is more data to be read */
-	return TRUE;
+    /* There is more data to be read */
+    return TRUE;
 }
 
 static gboolean
 socket_in_event (GIOChannel   *source,
-		     GIOCondition  condition,
-		     LmOldSocket     *socket)
+                 GIOCondition  condition,
+                 LmOldSocket     *socket)
 {
-	gchar     buf[IN_BUFFER_SIZE];
-	gsize     bytes_read = 0;
-	gboolean  read_anything = FALSE;
-	gboolean  hangup = 0;
-	gint      reason = 0;
+    gchar     buf[IN_BUFFER_SIZE];
+    gsize     bytes_read = 0;
+    gboolean  read_anything = FALSE;
+    gboolean  hangup = 0;
+    gint      reason = 0;
 
-	if (!socket->io_channel) {
-		return FALSE;
-	}
+    if (!socket->io_channel) {
+        return FALSE;
+    }
 
-	while ((condition & G_IO_IN) && socket_read_incoming (socket, buf, IN_BUFFER_SIZE, 
-				     &bytes_read, &hangup, &reason)) {
-		
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "\nRECV [%d]:\n", 
-		       (int)bytes_read);
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-		       "-----------------------------------\n");
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "'%s'\n", buf);
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-		       "-----------------------------------\n");
-		
-		lm_verbose ("Read: %d chars\n", (int)bytes_read);
+    while ((condition & G_IO_IN) && socket_read_incoming (socket, buf, IN_BUFFER_SIZE, 
+                                                          &bytes_read, &hangup, &reason)) {
+        
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "\nRECV [%d]:\n", 
+               (int)bytes_read);
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+               "-----------------------------------\n");
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, "'%s'\n", buf);
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+               "-----------------------------------\n");
+        
+        lm_verbose ("Read: %d chars\n", (int)bytes_read);
 
-		(socket->data_func) (socket, buf, socket->user_data);
+        (socket->data_func) (socket, buf, socket->user_data);
 
-		read_anything = TRUE;
+        read_anything = TRUE;
 
-		condition = g_io_channel_get_buffer_condition (socket->io_channel);
-	}
+        condition = g_io_channel_get_buffer_condition (socket->io_channel);
+    }
 
-	/* If we have read something, delay the hangup so that the data can be
-	 * processed. */
-	if (hangup && !read_anything) {
-		(socket->closed_func) (socket, reason, socket->user_data);
-		return FALSE;
-	}
+    /* If we have read something, delay the hangup so that the data can be
+     * processed. */
+    if (hangup && !read_anything) {
+        (socket->closed_func) (socket, reason, socket->user_data);
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
-	
+    
 static gboolean
 socket_hup_event (GIOChannel   *source,
-		      GIOCondition  condition,
-		      LmOldSocket     *socket)
+                  GIOCondition  condition,
+                  LmOldSocket     *socket)
 {
-	lm_verbose ("HUP event: %d->'%s'\n", 
-		    condition, lm_misc_io_condition_to_str (condition));
+    lm_verbose ("HUP event: %d->'%s'\n", 
+                condition, lm_misc_io_condition_to_str (condition));
 
-	if (!socket->io_channel) {
-		return FALSE;
-	}
+    if (!socket->io_channel) {
+        return FALSE;
+    }
 
-	(socket->closed_func) (socket, LM_DISCONNECT_REASON_HUP, 
-			       socket->user_data);
-	
-	return TRUE;
+    (socket->closed_func) (socket, LM_DISCONNECT_REASON_HUP, 
+                           socket->user_data);
+    
+    return TRUE;
 }
 
 static gboolean
 socket_error_event (GIOChannel   *source,
-		    GIOCondition  condition,
-		    LmOldSocket     *socket)
+                    GIOCondition  condition,
+                    LmOldSocket     *socket)
 {
-	lm_verbose ("ERROR event: %d->'%s'\n", 
-		    condition, lm_misc_io_condition_to_str (condition));
+    lm_verbose ("ERROR event: %d->'%s'\n", 
+                condition, lm_misc_io_condition_to_str (condition));
 
-	if (!socket->io_channel) {
-		return FALSE;
-	}
+    if (!socket->io_channel) {
+        return FALSE;
+    }
 
-	(socket->closed_func) (socket, LM_DISCONNECT_REASON_ERROR, 
-			       socket->user_data);
-	
-	return TRUE;
+    (socket->closed_func) (socket, LM_DISCONNECT_REASON_ERROR, 
+                           socket->user_data);
+    
+    return TRUE;
 }
 
 static gboolean
 _lm_old_socket_ssl_init (LmOldSocket *socket, gboolean delayed)
 {
-	GError *error = NULL;
-	const gchar *ssl_verify_domain = NULL;
+    GError *error = NULL;
+    const gchar *ssl_verify_domain = NULL;
 
-	lm_verbose ("Setting up SSL...\n");
+    lm_verbose ("Setting up SSL...\n");
 
-	_lm_ssl_initialize (socket->ssl);
+    _lm_ssl_initialize (socket->ssl);
 
 #ifdef HAVE_GNUTLS
-	/* GNU TLS requires the socket to be blocking */
-	_lm_sock_set_blocking (socket->fd, TRUE);
+    /* GNU TLS requires the socket to be blocking */
+    _lm_sock_set_blocking (socket->fd, TRUE);
 #endif
 
-	/* If we're using StartTLS, the correct thing is to verify against
-	 * the domain. If we're using old SSL, we should verify against the
-	 * hostname. */
-	if (delayed)
-		ssl_verify_domain = socket->domain;
-	else
-		ssl_verify_domain = socket->server;
-	
-	if (!_lm_ssl_begin (socket->ssl, socket->fd, ssl_verify_domain, &error)) {
-		lm_verbose ("Could not begin SSL\n");
+    /* If we're using StartTLS, the correct thing is to verify against
+     * the domain. If we're using old SSL, we should verify against the
+     * hostname. */
+    if (delayed)
+        ssl_verify_domain = socket->domain;
+    else
+        ssl_verify_domain = socket->server;
+    
+    if (!_lm_ssl_begin (socket->ssl, socket->fd, ssl_verify_domain, &error)) {
+        lm_verbose ("Could not begin SSL\n");
 
-		if (error) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-				"%s\n", error->message);
-				g_error_free (error);
-		}
+        if (error) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+                   "%s\n", error->message);
+            g_error_free (error);
+        }
 
-		_lm_sock_shutdown (socket->fd);
-		_lm_sock_close (socket->fd);
+        _lm_sock_shutdown (socket->fd);
+        _lm_sock_close (socket->fd);
 
-		if (!delayed && socket->connect_func) {
-			(socket->connect_func) (socket, FALSE, socket->user_data);
-		}
-		
-		return FALSE;
-	}
+        if (!delayed && socket->connect_func) {
+            (socket->connect_func) (socket, FALSE, socket->user_data);
+        }
+        
+        return FALSE;
+    }
 
 #ifdef HAVE_GNUTLS
-	_lm_sock_set_blocking (socket->fd, FALSE); 
+    _lm_sock_set_blocking (socket->fd, FALSE); 
 #endif
 
-	socket->ssl_started = TRUE;
+    socket->ssl_started = TRUE;
 
-  return TRUE;
+    return TRUE;
 }
 
 gboolean
 lm_old_socket_starttls (LmOldSocket *socket)
 {
-	g_return_val_if_fail (lm_ssl_get_use_starttls (socket->ssl) == TRUE, FALSE);
+    g_return_val_if_fail (lm_ssl_get_use_starttls (socket->ssl) == TRUE, FALSE);
 
-	return _lm_old_socket_ssl_init (socket, TRUE);
+    return _lm_old_socket_ssl_init (socket, TRUE);
 }
 
 
@@ -398,374 +398,374 @@
 void
 _lm_old_socket_succeeded (LmConnectData *connect_data)
 {
-	LmOldSocket     *socket;
-	
-	socket = connect_data->socket;
+    LmOldSocket     *socket;
+    
+    socket = connect_data->socket;
 
-	if (socket->watch_connect) {
-		g_source_destroy (socket->watch_connect);
-		socket->watch_connect = NULL;
-	}
+    if (socket->watch_connect) {
+        g_source_destroy (socket->watch_connect);
+        socket->watch_connect = NULL;
+    }
 
-	/* Need some way to report error/success */
-	if (socket->cancel_open) {
-		lm_verbose ("Cancelling connection...\n");
-		if (socket->connect_func) {
-			(socket->connect_func) (socket, FALSE, socket->user_data);
-		}
-		return;
-	}
-	
-	socket->fd = connect_data->fd;
-	socket->io_channel = connect_data->io_channel;
+    /* Need some way to report error/success */
+    if (socket->cancel_open) {
+        lm_verbose ("Cancelling connection...\n");
+        if (socket->connect_func) {
+            (socket->connect_func) (socket, FALSE, socket->user_data);
+        }
+        return;
+    }
+    
+    socket->fd = connect_data->fd;
+    socket->io_channel = connect_data->io_channel;
 
-        g_object_unref (socket->resolver);
-        socket->resolver = NULL;
+    g_object_unref (socket->resolver);
+    socket->resolver = NULL;
 
-	socket->connect_data = NULL;
-	g_free (connect_data);
+    socket->connect_data = NULL;
+    g_free (connect_data);
 
-	/* old-style ssl should be started immediately */
-	if (socket->ssl && (lm_ssl_get_use_starttls (socket->ssl) == FALSE)) {
-		if (!_lm_old_socket_ssl_init (socket, FALSE)) {
-			return;
-		}
-	}
+    /* old-style ssl should be started immediately */
+    if (socket->ssl && (lm_ssl_get_use_starttls (socket->ssl) == FALSE)) {
+        if (!_lm_old_socket_ssl_init (socket, FALSE)) {
+            return;
+        }
+    }
 
-	socket->watch_in = 
-		lm_misc_add_io_watch (socket->context,
-				      socket->io_channel,
-				      G_IO_IN,
-				      (GIOFunc) socket_in_event,
-				      socket);
+    socket->watch_in = 
+        lm_misc_add_io_watch (socket->context,
+                              socket->io_channel,
+                              G_IO_IN,
+                              (GIOFunc) socket_in_event,
+                              socket);
 
-	/* FIXME: if we add these, we don't get ANY
-	 * response from the server, this is to do with the way that
-	 * windows handles watches, see bug #331214.
-	 */
+    /* FIXME: if we add these, we don't get ANY
+     * response from the server, this is to do with the way that
+     * windows handles watches, see bug #331214.
+     */
 #ifndef G_OS_WIN32
-	socket->watch_err = 
-		lm_misc_add_io_watch (socket->context,
-				      socket->io_channel,
-				      G_IO_ERR,
-				      (GIOFunc) socket_error_event,
-				      socket);
-		
-	socket->watch_hup =
-		lm_misc_add_io_watch (socket->context,
-				      socket->io_channel,
-				      G_IO_HUP,
-				      (GIOFunc) socket_hup_event,
-				      socket);
+    socket->watch_err = 
+        lm_misc_add_io_watch (socket->context,
+                              socket->io_channel,
+                              G_IO_ERR,
+                              (GIOFunc) socket_error_event,
+                              socket);
+        
+    socket->watch_hup =
+        lm_misc_add_io_watch (socket->context,
+                              socket->io_channel,
+                              G_IO_HUP,
+                              (GIOFunc) socket_hup_event,
+                              socket);
 #endif
 
-	if (socket->connect_func) {
-		(socket->connect_func) (socket, TRUE, socket->user_data);
-	}
+    if (socket->connect_func) {
+        (socket->connect_func) (socket, TRUE, socket->user_data);
+    }
 }
 
 gboolean 
 _lm_old_socket_failed_with_error (LmConnectData *connect_data, int error) 
 {
-	LmOldSocket *socket;
-	
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-	       "Connection failed: %s (error %d)\n",
-	       _lm_sock_get_error_str (error), error);
-	
-	socket = lm_old_socket_ref (connect_data->socket);
+    LmOldSocket *socket;
+    
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+           "Connection failed: %s (error %d)\n",
+           _lm_sock_get_error_str (error), error);
+    
+    socket = lm_old_socket_ref (connect_data->socket);
 
-	connect_data->current_addr = lm_resolver_results_get_next (socket->resolver);
-	
-	if (socket->watch_connect) {
-		g_source_destroy (socket->watch_connect);
-		socket->watch_connect = NULL;
-	}
+    connect_data->current_addr = lm_resolver_results_get_next (socket->resolver);
+    
+    if (socket->watch_connect) {
+        g_source_destroy (socket->watch_connect);
+        socket->watch_connect = NULL;
+    }
 
-	if (connect_data->io_channel != NULL) {
-		socket_close_io_channel (connect_data->io_channel);
-	}
-	
-	if (connect_data->current_addr == NULL) {
-		if (socket->connect_func) {
-			(socket->connect_func) (socket, FALSE, socket->user_data);
-		}
-		
-		 /* if the user callback called connection_close(), this is already freed */
-		if (socket->connect_data != NULL) {
-			if (socket->resolver) {
-                                g_object_unref (socket->resolver);
-                        }
+    if (connect_data->io_channel != NULL) {
+        socket_close_io_channel (connect_data->io_channel);
+    }
+    
+    if (connect_data->current_addr == NULL) {
+        if (socket->connect_func) {
+            (socket->connect_func) (socket, FALSE, socket->user_data);
+        }
+        
+        /* if the user callback called connection_close(), this is already freed */
+        if (socket->connect_data != NULL) {
+            if (socket->resolver) {
+                g_object_unref (socket->resolver);
+            }
 
-			socket->connect_data = NULL;
-			g_free (connect_data);
-		}
-	} else {
-		/* try to connect to the next host */
-		return socket_do_connect (connect_data);
-	}
+            socket->connect_data = NULL;
+            g_free (connect_data);
+        }
+    } else {
+        /* try to connect to the next host */
+        return socket_do_connect (connect_data);
+    }
 
-	lm_old_socket_unref(socket);
+    lm_old_socket_unref(socket);
 
-	return FALSE;
+    return FALSE;
 }
 
 gboolean 
 _lm_old_socket_failed (LmConnectData *connect_data)
 {
-	return _lm_old_socket_failed_with_error (connect_data,
-                                       _lm_sock_get_last_error());
+    return _lm_old_socket_failed_with_error (connect_data,
+                                             _lm_sock_get_last_error());
 }
 
 static gboolean 
 socket_connect_cb (GIOChannel   *source, 
-		       GIOCondition  condition,
-		       LmConnectData *connect_data) 
+                   GIOCondition  condition,
+                   LmConnectData *connect_data) 
 {
-	LmOldSocket        *socket;
-	struct addrinfo *addr;
-	int              err;
-	socklen_t        len;
-	LmOldSocketT        fd;
-	gboolean         result = FALSE;
+    LmOldSocket        *socket;
+    struct addrinfo *addr;
+    int              err;
+    socklen_t        len;
+    LmOldSocketT        fd;
+    gboolean         result = FALSE;
 
-	socket = lm_old_socket_ref (connect_data->socket);
-	addr = connect_data->current_addr;
-	fd = g_io_channel_unix_get_fd (source);
+    socket = lm_old_socket_ref (connect_data->socket);
+    addr = connect_data->current_addr;
+    fd = g_io_channel_unix_get_fd (source);
 
-	if (condition == G_IO_ERR) {
-		len = sizeof (err);
-		_lm_sock_get_error (fd, &err, &len);
-		if (!_lm_sock_is_blocking_error (err)) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-			       "Connection failed.\n");
+    if (condition == G_IO_ERR) {
+        len = sizeof (err);
+        _lm_sock_get_error (fd, &err, &len);
+        if (!_lm_sock_is_blocking_error (err)) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+                   "Connection failed.\n");
 
-			/* error condition, but might be possible to recover
-			 * from it (by connecting to the next host) */
-			if (!_lm_old_socket_failed_with_error (connect_data, err)) {
-				socket->watch_connect = NULL;
-				goto out;
-			}
-		}
-	}
+            /* error condition, but might be possible to recover
+             * from it (by connecting to the next host) */
+            if (!_lm_old_socket_failed_with_error (connect_data, err)) {
+                socket->watch_connect = NULL;
+                goto out;
+            }
+        }
+    }
 
-	if (_lm_connection_async_connect_waiting (socket->connection)) {
-		gint res;
+    if (_lm_connection_async_connect_waiting (socket->connection)) {
+        gint res;
 
-		fd = g_io_channel_unix_get_fd (source);
+        fd = g_io_channel_unix_get_fd (source);
 
-		res = _lm_sock_connect (fd, addr->ai_addr, (int)addr->ai_addrlen);  
-		if (res < 0) {
-			err = _lm_sock_get_last_error ();
-			if (_lm_sock_is_blocking_success (err)) {
-				_lm_connection_set_async_connect_waiting (socket->connection, FALSE);
+        res = _lm_sock_connect (fd, addr->ai_addr, (int)addr->ai_addrlen);  
+        if (res < 0) {
+            err = _lm_sock_get_last_error ();
+            if (_lm_sock_is_blocking_success (err)) {
+                _lm_connection_set_async_connect_waiting (socket->connection, FALSE);
 
-				g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-				       "Connection success (1).\n");
-				
-				_lm_old_socket_succeeded (connect_data);
-			}
-			
-			if (_lm_connection_async_connect_waiting (socket->connection) &&
-			    !_lm_sock_is_blocking_error (err)) {
-				g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-				       "Connection failed.\n");
+                g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+                       "Connection success (1).\n");
+                
+                _lm_old_socket_succeeded (connect_data);
+            }
+            
+            if (_lm_connection_async_connect_waiting (socket->connection) &&
+                !_lm_sock_is_blocking_error (err)) {
+                g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+                       "Connection failed.\n");
 
-				_lm_sock_close (connect_data->fd);
-				_lm_old_socket_failed_with_error (connect_data, err);
+                _lm_sock_close (connect_data->fd);
+                _lm_old_socket_failed_with_error (connect_data, err);
 
-				socket->watch_connect = NULL;
-				goto out;
-			}
-		} 
-	} else {		
-		/* for blocking sockets, G_IO_OUT means we are connected */
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-		       "Connection success (2).\n");
-		
-		_lm_old_socket_succeeded (connect_data);
-	}
+                socket->watch_connect = NULL;
+                goto out;
+            }
+        } 
+    } else {        
+        /* for blocking sockets, G_IO_OUT means we are connected */
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+               "Connection success (2).\n");
+        
+        _lm_old_socket_succeeded (connect_data);
+    }
 
-	result = TRUE;
+    result = TRUE;
 
  out:
-	lm_old_socket_unref(socket);
-	
- 	return result; 
+    lm_old_socket_unref(socket);
+    
+    return result; 
 }
 
 static gboolean
 socket_do_connect (LmConnectData *connect_data) 
 {
-	LmOldSocket        *socket;
-	LmOldSocketT        fd;
-	int              res, err;
-	int              port;
-	char             name[NI_MAXHOST];
-	char             portname[NI_MAXSERV];
-	struct addrinfo *addr;
-	
-	socket = connect_data->socket;
-	addr = connect_data->current_addr;
+    LmOldSocket        *socket;
+    LmOldSocketT        fd;
+    int              res, err;
+    int              port;
+    char             name[NI_MAXHOST];
+    char             portname[NI_MAXSERV];
+    struct addrinfo *addr;
+    
+    socket = connect_data->socket;
+    addr = connect_data->current_addr;
  
-	if (socket->proxy) {
-		port = htons (lm_proxy_get_port (socket->proxy));
-	} else {
-		port = htons (socket->port);
-	}
-	
-	((struct sockaddr_in *) addr->ai_addr)->sin_port = port;
+    if (socket->proxy) {
+        port = htons (lm_proxy_get_port (socket->proxy));
+    } else {
+        port = htons (socket->port);
+    }
+    
+    ((struct sockaddr_in *) addr->ai_addr)->sin_port = port;
 
-	res = getnameinfo (addr->ai_addr,
-			   (socklen_t)addr->ai_addrlen,
-			   name,     sizeof (name),
-			   portname, sizeof (portname),
-			   NI_NUMERICHOST | NI_NUMERICSERV);
-	
-	if (res < 0) {
-		return _lm_old_socket_failed (connect_data);
-	}
+    res = getnameinfo (addr->ai_addr,
+                       (socklen_t)addr->ai_addrlen,
+                       name,     sizeof (name),
+                       portname, sizeof (portname),
+                       NI_NUMERICHOST | NI_NUMERICSERV);
+    
+    if (res < 0) {
+        return _lm_old_socket_failed (connect_data);
+    }
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-	       "Trying %s port %s...\n", name, portname);
-	
-	fd = _lm_sock_makesocket (addr->ai_family,
-				  addr->ai_socktype, 
-				  addr->ai_protocol);
-	
-	if (!_LM_SOCK_VALID (fd)) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-		       "Failed making socket, error:%d...\n",
-		       _lm_sock_get_last_error ());
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+           "Trying %s port %s...\n", name, portname);
+    
+    fd = _lm_sock_makesocket (addr->ai_family,
+                              addr->ai_socktype, 
+                              addr->ai_protocol);
+    
+    if (!_LM_SOCK_VALID (fd)) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+               "Failed making socket, error:%d...\n",
+               _lm_sock_get_last_error ());
 
-		return _lm_old_socket_failed (connect_data);
-	}
+        return _lm_old_socket_failed (connect_data);
+    }
 
-	/* Even though it says _unix_new(), it is supported by glib on
-	 * win32 because glib does some cool stuff to find out if it
-	 * can treat it as a FD or a windows SOCKET.
-	 */
-	connect_data->fd = fd;
-	connect_data->io_channel = g_io_channel_unix_new (fd);
-	
-	g_io_channel_set_encoding (connect_data->io_channel, NULL, NULL);
-	g_io_channel_set_buffered (connect_data->io_channel, FALSE);
+    /* Even though it says _unix_new(), it is supported by glib on
+     * win32 because glib does some cool stuff to find out if it
+     * can treat it as a FD or a windows SOCKET.
+     */
+    connect_data->fd = fd;
+    connect_data->io_channel = g_io_channel_unix_new (fd);
+    
+    g_io_channel_set_encoding (connect_data->io_channel, NULL, NULL);
+    g_io_channel_set_buffered (connect_data->io_channel, FALSE);
 
-	_lm_sock_set_blocking (connect_data->fd, socket->blocking);
-	
-	if (socket->proxy) {
-		socket->watch_connect =
-			lm_misc_add_io_watch (socket->context,
-					      connect_data->io_channel,
-					      G_IO_OUT|G_IO_ERR,
-					      (GIOFunc) _lm_proxy_connect_cb, 
-					      connect_data);
-	} else {
-		socket->watch_connect =
-			lm_misc_add_io_watch (socket->context,
-					      connect_data->io_channel,
-					      G_IO_OUT|G_IO_ERR,
-					      (GIOFunc) socket_connect_cb,
-					      connect_data);
-	}
+    _lm_sock_set_blocking (connect_data->fd, socket->blocking);
+    
+    if (socket->proxy) {
+        socket->watch_connect =
+            lm_misc_add_io_watch (socket->context,
+                                  connect_data->io_channel,
+                                  G_IO_OUT|G_IO_ERR,
+                                  (GIOFunc) _lm_proxy_connect_cb, 
+                                  connect_data);
+    } else {
+        socket->watch_connect =
+            lm_misc_add_io_watch (socket->context,
+                                  connect_data->io_channel,
+                                  G_IO_OUT|G_IO_ERR,
+                                  (GIOFunc) socket_connect_cb,
+                                  connect_data);
+    }
 
-	_lm_connection_set_async_connect_waiting (socket->connection, !socket->blocking);
+    _lm_connection_set_async_connect_waiting (socket->connection, !socket->blocking);
 
-  	res = _lm_sock_connect (connect_data->fd, 
-				addr->ai_addr, (int)addr->ai_addrlen);  
-	if (res < 0) {
-		err = _lm_sock_get_last_error ();
-		if (!_lm_sock_is_blocking_error (err)) {
-			_lm_sock_close (connect_data->fd);
-			return _lm_old_socket_failed_with_error (connect_data, err);
-		}
-	}
+    res = _lm_sock_connect (connect_data->fd, 
+                            addr->ai_addr, (int)addr->ai_addrlen);  
+    if (res < 0) {
+        err = _lm_sock_get_last_error ();
+        if (!_lm_sock_is_blocking_error (err)) {
+            _lm_sock_close (connect_data->fd);
+            return _lm_old_socket_failed_with_error (connect_data, err);
+        }
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 old_socket_output_is_buffered (LmOldSocket     *socket,
-			       const gchar  *buffer,
-			       gint          len)
+                               const gchar  *buffer,
+                               gint          len)
 {
-	if (socket->out_buf) {
-		lm_verbose ("Appending %d bytes to output buffer\n", len);
-		g_string_append_len (socket->out_buf, buffer, len);
-		return TRUE;
-	}
+    if (socket->out_buf) {
+        lm_verbose ("Appending %d bytes to output buffer\n", len);
+        g_string_append_len (socket->out_buf, buffer, len);
+        return TRUE;
+    }
 
-	return FALSE;
+    return FALSE;
 }
 
 static void
 old_socket_setup_output_buffer (LmOldSocket *socket, const gchar *buffer, gint len)
 {
-	lm_verbose ("OUTPUT BUFFER ENABLED\n");
+    lm_verbose ("OUTPUT BUFFER ENABLED\n");
 
-	socket->out_buf = g_string_new_len (buffer, len);
+    socket->out_buf = g_string_new_len (buffer, len);
 
-	socket->watch_out =
-		lm_misc_add_io_watch (socket->context,
-				      socket->io_channel,
-				      G_IO_OUT,
-				      (GIOFunc) socket_buffered_write_cb,
-				      socket);
+    socket->watch_out =
+        lm_misc_add_io_watch (socket->context,
+                              socket->io_channel,
+                              G_IO_OUT,
+                              (GIOFunc) socket_buffered_write_cb,
+                              socket);
 }
 
 static gboolean
 socket_buffered_write_cb (GIOChannel   *source, 
-			  GIOCondition  condition,
-			  LmOldSocket     *socket)
+                          GIOCondition  condition,
+                          LmOldSocket     *socket)
 {
-	gint     b_written;
-	GString *out_buf;
-	/* FIXME: Do the writing */
+    gint     b_written;
+    GString *out_buf;
+    /* FIXME: Do the writing */
 
-	out_buf = socket->out_buf;
-	if (!out_buf) {
-		/* Should not be possible */
-		return FALSE;
-	}
+    out_buf = socket->out_buf;
+    if (!out_buf) {
+        /* Should not be possible */
+        return FALSE;
+    }
 
-	b_written = old_socket_do_write (socket, out_buf->str, out_buf->len);
+    b_written = old_socket_do_write (socket, out_buf->str, out_buf->len);
 
-	if (b_written < 0) {
-		(socket->closed_func) (socket, LM_DISCONNECT_REASON_ERROR, 
-				       socket->user_data);
-		return FALSE;
-	}
+    if (b_written < 0) {
+        (socket->closed_func) (socket, LM_DISCONNECT_REASON_ERROR, 
+                               socket->user_data);
+        return FALSE;
+    }
 
-	g_string_erase (out_buf, 0, (gsize) b_written);
-	if (out_buf->len == 0) {
-		lm_verbose ("Output buffer is empty, going back to normal output\n");
+    g_string_erase (out_buf, 0, (gsize) b_written);
+    if (out_buf->len == 0) {
+        lm_verbose ("Output buffer is empty, going back to normal output\n");
 
-		if (socket->watch_out) {
-			g_source_destroy (socket->watch_out);
-			socket->watch_out = NULL;
-		}
+        if (socket->watch_out) {
+            g_source_destroy (socket->watch_out);
+            socket->watch_out = NULL;
+        }
 
-		g_string_free (out_buf, TRUE);
-		socket->out_buf = NULL;
-		return FALSE;
-	}
+        g_string_free (out_buf, TRUE);
+        socket->out_buf = NULL;
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static void
 socket_close_io_channel (GIOChannel *io_channel)
 {
-	gint fd;
+    gint fd;
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
-	       "Freeing up IOChannel and file descriptor\n");
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET, 
+           "Freeing up IOChannel and file descriptor\n");
 
-	fd = g_io_channel_unix_get_fd (io_channel);
+    fd = g_io_channel_unix_get_fd (io_channel);
 
-	g_io_channel_unref (io_channel);
+    g_io_channel_unref (io_channel);
 
-	_lm_sock_close (fd);
+    _lm_sock_close (fd);
 }
 
 /* FIXME: Need to have a way to only get srv reply and then decide if the 
@@ -779,29 +779,29 @@
                             LmResolverResult  result,
                             gpointer          user_data)
 {
-        LmOldSocket *socket = (LmOldSocket *) user_data;
-        const gchar *remote_addr;
+    LmOldSocket *socket = (LmOldSocket *) user_data;
+    const gchar *remote_addr;
 
-        if (result != LM_RESOLVER_RESULT_OK) {
-		lm_verbose ("SRV lookup failed, trying jid domain\n");
-                socket->server = g_strdup (socket->domain);
-        } else {
-                g_object_get (resolver, "host", &socket->server, NULL);
-                g_object_get (resolver, "port", &socket->port, NULL);
-        }
+    if (result != LM_RESOLVER_RESULT_OK) {
+        lm_verbose ("SRV lookup failed, trying jid domain\n");
+        socket->server = g_strdup (socket->domain);
+    } else {
+        g_object_get (resolver, "host", &socket->server, NULL);
+        g_object_get (resolver, "port", &socket->port, NULL);
+    }
 
-        if (socket->proxy) {
-                remote_addr = lm_proxy_get_server (socket->proxy);
-	} else {
-                remote_addr = socket->server;
-	}
+    if (socket->proxy) {
+        remote_addr = lm_proxy_get_server (socket->proxy);
+    } else {
+        remote_addr = socket->server;
+    }
        
-        g_object_set (resolver, 
-                      "host", remote_addr, 
-                      "type", LM_RESOLVER_HOST,
-                      NULL);
+    g_object_set (resolver, 
+                  "host", remote_addr, 
+                  "type", LM_RESOLVER_HOST,
+                  NULL);
        
-        lm_resolver_lookup (resolver);
+    lm_resolver_lookup (resolver);
 }
 
 static void
@@ -809,25 +809,25 @@
                              LmResolverResult  result,
                              gpointer          user_data)
 {
-        LmOldSocket *socket = (LmOldSocket *) user_data;
+    LmOldSocket *socket = (LmOldSocket *) user_data;
 
-        if (result != LM_RESOLVER_RESULT_OK) {
-           	lm_verbose ("error while resolving, bailing out\n");
-		if (socket->connect_func) {
-			(socket->connect_func) (socket, FALSE, socket->user_data);
-		}
-                g_object_unref (socket->resolver);
-                socket->resolver = NULL;
-		g_free (socket->connect_data);
-		socket->connect_data = NULL;
+    if (result != LM_RESOLVER_RESULT_OK) {
+        lm_verbose ("error while resolving, bailing out\n");
+        if (socket->connect_func) {
+            (socket->connect_func) (socket, FALSE, socket->user_data);
+        }
+        g_object_unref (socket->resolver);
+        socket->resolver = NULL;
+        g_free (socket->connect_data);
+        socket->connect_data = NULL;
 
-                return;
-        }
+        return;
+    }
 
-        socket->connect_data->current_addr = 
-                lm_resolver_results_get_next (resolver);
+    socket->connect_data->current_addr = 
+        lm_resolver_results_get_next (resolver);
 
-        socket_do_connect (socket->connect_data);
+    socket_do_connect (socket->connect_data);
 }
 
 LmOldSocket *
@@ -845,215 +845,215 @@
                       LmProxy           *proxy,
                       GError           **error)
 {
-        LmOldSocket   *socket;
-        LmConnectData *data;
+    LmOldSocket   *socket;
+    LmConnectData *data;
 
-	g_return_val_if_fail (domain != NULL, NULL);
-	g_return_val_if_fail ((port >= LM_MIN_PORT && port <= LM_MAX_PORT), NULL);
-	g_return_val_if_fail (data_func != NULL, NULL);
-	g_return_val_if_fail (closed_func != NULL, NULL);
-	g_return_val_if_fail (connect_func != NULL, NULL);
+    g_return_val_if_fail (domain != NULL, NULL);
+    g_return_val_if_fail ((port >= LM_MIN_PORT && port <= LM_MAX_PORT), NULL);
+    g_return_val_if_fail (data_func != NULL, NULL);
+    g_return_val_if_fail (closed_func != NULL, NULL);
+    g_return_val_if_fail (connect_func != NULL, NULL);
 
-	socket = g_new0 (LmOldSocket, 1);
+    socket = g_new0 (LmOldSocket, 1);
 
-	socket->ref_count = 1;
+    socket->ref_count = 1;
 
-	socket->connection = connection;
-	socket->domain = g_strdup (domain);
-	socket->server = g_strdup (server);
-	socket->port = port;
-	socket->cancel_open = FALSE;
-	socket->ssl = ssl;
-	socket->ssl_started = FALSE;
-	socket->proxy = NULL;
-	socket->blocking = blocking;
+    socket->connection = connection;
+    socket->domain = g_strdup (domain);
+    socket->server = g_strdup (server);
+    socket->port = port;
+    socket->cancel_open = FALSE;
+    socket->ssl = ssl;
+    socket->ssl_started = FALSE;
+    socket->proxy = NULL;
+    socket->blocking = blocking;
 
-	if (context) {
-		socket->context = g_main_context_ref (context);
-	}
+    if (context) {
+        socket->context = g_main_context_ref (context);
+    }
 
-	if (proxy) {
-		socket->proxy = lm_proxy_ref (proxy);
-	}
+    if (proxy) {
+        socket->proxy = lm_proxy_ref (proxy);
+    }
 
-        data = g_new0 (LmConnectData, 1);
-        data->socket = socket;
-        data->connection = socket->connection;
-        data->fd = -1;
-        socket->connect_data = data;
+    data = g_new0 (LmConnectData, 1);
+    data->socket = socket;
+    data->connection = socket->connection;
+    data->fd = -1;
+    socket->connect_data = data;
 
-	if (!server) {
-                socket->resolver = lm_resolver_new_for_service (socket->domain,
-                                                                "xmpp-client",
-                                                                "tcp",
-                                                                old_socket_resolver_srv_cb, 
-                                                                socket);
-        } else {
-                socket->resolver = 
-                        lm_resolver_new_for_host (socket->server ? socket->server : socket->domain,
-                                                  old_socket_resolver_host_cb,
-                                                  socket);
-        }
+    if (!server) {
+        socket->resolver = lm_resolver_new_for_service (socket->domain,
+                                                        "xmpp-client",
+                                                        "tcp",
+                                                        old_socket_resolver_srv_cb, 
+                                                        socket);
+    } else {
+        socket->resolver = 
+            lm_resolver_new_for_host (socket->server ? socket->server : socket->domain,
+                                      old_socket_resolver_host_cb,
+                                      socket);
+    }
 
-        if (socket->context) {
-                g_object_set (socket->resolver, "context", context, NULL);
-        }
+    if (socket->context) {
+        g_object_set (socket->resolver, "context", context, NULL);
+    }
 
-	socket->data_func = data_func;
-	socket->closed_func = closed_func;
-	socket->connect_func = connect_func;
-	socket->user_data = user_data; 
+    socket->data_func = data_func;
+    socket->closed_func = closed_func;
+    socket->connect_func = connect_func;
+    socket->user_data = user_data; 
         
-        lm_resolver_lookup (socket->resolver);
+    lm_resolver_lookup (socket->resolver);
 
 #if 0
-	if (socket->connect_data == NULL) {
-		/* Open failed synchronously, probably a DNS lookup problem */
-		lm_old_socket_unref(socket);
-		
-		g_set_error (error,
-			     LM_ERROR,                 
-			     LM_ERROR_CONNECTION_FAILED,   
-			     "Failed to resolve server");
-		
-		return NULL;
-	}
-		
+    if (socket->connect_data == NULL) {
+        /* Open failed synchronously, probably a DNS lookup problem */
+        lm_old_socket_unref(socket);
+        
+        g_set_error (error,
+                     LM_ERROR,                 
+                     LM_ERROR_CONNECTION_FAILED,   
+                     "Failed to resolve server");
+        
+        return NULL;
+    }
+        
 #endif 
-	
-	return socket;
+    
+    return socket;
 }
 
 void
 lm_old_socket_flush (LmOldSocket *socket)
 {
-	g_return_if_fail (socket != NULL);
-	g_return_if_fail (socket->io_channel != NULL);
+    g_return_if_fail (socket != NULL);
+    g_return_if_fail (socket->io_channel != NULL);
 
-	g_io_channel_flush (socket->io_channel, NULL);
+    g_io_channel_flush (socket->io_channel, NULL);
 }
 
 void
 lm_old_socket_close (LmOldSocket *socket)
 {
-	LmConnectData *data;
+    LmConnectData *data;
 
-	g_return_if_fail (socket != NULL);
+    g_return_if_fail (socket != NULL);
 
-	if (socket->watch_connect) {
-		g_source_destroy (socket->watch_connect);
-		socket->watch_connect = NULL;
-	}
-	
-	data = socket->connect_data;
-	if (data) {
-		socket->connect_data = NULL;
-		g_free (data);
-	}
+    if (socket->watch_connect) {
+        g_source_destroy (socket->watch_connect);
+        socket->watch_connect = NULL;
+    }
+    
+    data = socket->connect_data;
+    if (data) {
+        socket->connect_data = NULL;
+        g_free (data);
+    }
 
-        if (socket->resolver) {
-                g_object_unref (socket->resolver);
-                socket->resolver = NULL;
+    if (socket->resolver) {
+        g_object_unref (socket->resolver);
+        socket->resolver = NULL;
+    }
+
+    if (socket->io_channel) {
+        if (socket->watch_in) {
+            g_source_destroy (socket->watch_in);
+            socket->watch_in = NULL;
         }
 
-	if (socket->io_channel) {
-		if (socket->watch_in) {
-			g_source_destroy (socket->watch_in);
-			socket->watch_in = NULL;
-		}
+        if (socket->watch_err) {
+            g_source_destroy (socket->watch_err);
+            socket->watch_err = NULL;
+        }
 
-		if (socket->watch_err) {
-			g_source_destroy (socket->watch_err);
-			socket->watch_err = NULL;
-		}
+        if (socket->watch_hup) {
+            g_source_destroy (socket->watch_hup);
+            socket->watch_hup = NULL;
+        }
 
-		if (socket->watch_hup) {
-			g_source_destroy (socket->watch_hup);
-			socket->watch_hup = NULL;
-		}
+        if (socket->watch_out) {
+            g_source_destroy (socket->watch_out);
+            socket->watch_out = NULL;
+        }
 
-		if (socket->watch_out) {
-			g_source_destroy (socket->watch_out);
-			socket->watch_out = NULL;
-		}
+        socket_close_io_channel (socket->io_channel);
 
-		socket_close_io_channel (socket->io_channel);
+        socket->io_channel = NULL;
+        socket->fd = -1;
+    }
 
-		socket->io_channel = NULL;
-		socket->fd = -1;
-	}
-
-        if (socket->ssl) {
-                _lm_ssl_close (socket->ssl);
-        }
+    if (socket->ssl) {
+        _lm_ssl_close (socket->ssl);
+    }
 }
 
 gchar *
 lm_old_socket_get_local_host (LmOldSocket *socket)
 {
-	return _lm_sock_get_local_host (socket->fd);
+    return _lm_sock_get_local_host (socket->fd);
 }
 
 LmOldSocket *
 lm_old_socket_ref (LmOldSocket *socket)
 {
-	g_return_val_if_fail (socket != NULL, NULL);
+    g_return_val_if_fail (socket != NULL, NULL);
 
-	socket->ref_count++;
+    socket->ref_count++;
 
-	return socket;
+    return socket;
 }
 
 void
 lm_old_socket_unref (LmOldSocket *socket)
 {
-	g_return_if_fail (socket != NULL);
+    g_return_if_fail (socket != NULL);
 
-	socket->ref_count--;
+    socket->ref_count--;
 
-	if (socket->ref_count <= 0) {
-		socket_free (socket);
-	}
+    if (socket->ref_count <= 0) {
+        socket_free (socket);
+    }
 }
 
 gboolean
 lm_old_socket_set_keepalive (LmOldSocket *socket, int delay)
 {
 #ifdef USE_TCP_KEEPALIVES
-	return _lm_sock_set_keepalive (socket->fd, delay);
+    return _lm_sock_set_keepalive (socket->fd, delay);
 #else
-	return FALSE;
+    return FALSE;
 #endif /* USE_TCP_KEEPALIVES */
 }
 
 void
 lm_old_socket_asyncns_cancel (LmOldSocket *socket)
 {
-        if (!socket->resolver) {
-                return;
-        }
+    if (!socket->resolver) {
+        return;
+    }
 
-        lm_resolver_cancel (socket->resolver);
+    lm_resolver_cancel (socket->resolver);
 }
 
 gboolean
 lm_old_socket_get_use_starttls (LmOldSocket *socket)
 {
-        if (!socket->ssl) {
-                return FALSE;
-        }
+    if (!socket->ssl) {
+        return FALSE;
+    }
 
-        return lm_ssl_get_use_starttls (socket->ssl);
+    return lm_ssl_get_use_starttls (socket->ssl);
 }
 
 gboolean
 lm_old_socket_get_require_starttls (LmOldSocket *socket)
 {
-        if (!socket->ssl) {
-                return FALSE;
-        }
+    if (!socket->ssl) {
+        return FALSE;
+    }
 
-        return lm_ssl_get_require_starttls (socket->ssl);
+    return lm_ssl_get_require_starttls (socket->ssl);
 }
 
 
--- a/loudmouth/lm-old-socket.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-old-socket.h	Wed Oct 08 13:11:02 2008 +0200
@@ -28,16 +28,16 @@
 typedef struct _LmOldSocket LmOldSocket;
 
 typedef void    (* IncomingDataFunc)  (LmOldSocket         *socket,
-				       const gchar         *buf,
-				       gpointer             user_data);
+                                       const gchar         *buf,
+                                       gpointer             user_data);
 
 typedef void    (* SocketClosedFunc)  (LmOldSocket         *socket,
-				       LmDisconnectReason   reason,
-				       gpointer             user_data);
+                                       LmDisconnectReason   reason,
+                                       gpointer             user_data);
 
 typedef void    (* ConnectResultFunc) (LmOldSocket         *socket,
                                        gboolean             result,
-				       gpointer             user_data);
+                                       gpointer             user_data);
 
 LmOldSocket * lm_old_socket_create          (GMainContext       *context, 
                                              IncomingDataFunc    data_func,
@@ -63,7 +63,7 @@
 gboolean       lm_old_socket_set_keepalive  (LmOldSocket        *socket, 
                                              int                 delay);
 gchar *        lm_old_socket_get_local_host (LmOldSocket        *socket);
-void	       lm_old_socket_asyncns_cancel (LmOldSocket        *socket);
+void           lm_old_socket_asyncns_cancel (LmOldSocket        *socket);
 
 gboolean       lm_old_socket_get_use_starttls (LmOldSocket      *socket);
 gboolean       lm_old_socket_get_require_starttls (LmOldSocket  *socket);
--- a/loudmouth/lm-parser.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-parser.c	Wed Oct 08 13:11:02 2008 +0200
@@ -34,246 +34,246 @@
 #define LM_PARSER(o) ((LmParser *) o)
 
 struct LmParser {
-	LmParserMessageFunction  function;
-	gpointer                 user_data;
-	GDestroyNotify           notify;
-	
-	LmMessageNode           *cur_root;
-	LmMessageNode           *cur_node;
-		
-	GMarkupParser           *m_parser;
-	GMarkupParseContext     *context;
+    LmParserMessageFunction  function;
+    gpointer                 user_data;
+    GDestroyNotify           notify;
+    
+    LmMessageNode           *cur_root;
+    LmMessageNode           *cur_node;
+        
+    GMarkupParser           *m_parser;
+    GMarkupParseContext     *context;
 };
 
 
 /* Used while parsing */
 static void    parser_start_node_cb (GMarkupParseContext  *context,
-				     const gchar          *node_name,
-				     const gchar         **attribute_names,
-				     const gchar         **attribute_values,
-				     gpointer              user_data,
-				     GError              **error);
+                                     const gchar          *node_name,
+                                     const gchar         **attribute_names,
+                                     const gchar         **attribute_values,
+                                     gpointer              user_data,
+                                     GError              **error);
 static void    parser_end_node_cb   (GMarkupParseContext  *context,
-				     const gchar          *node_name,
-				     gpointer              user_data,
-				     GError              **error);
+                                     const gchar          *node_name,
+                                     gpointer              user_data,
+                                     GError              **error);
 static void    parser_text_cb       (GMarkupParseContext  *context,
-				     const gchar          *text,
-				     gsize                 text_len,  
-				     gpointer              user_data,
-				     GError              **error);
+                                     const gchar          *text,
+                                     gsize                 text_len,  
+                                     gpointer              user_data,
+                                     GError              **error);
 static void    parser_error_cb      (GMarkupParseContext  *context,
-				     GError               *error,
-				     gpointer              user_data);
+                                     GError               *error,
+                                     gpointer              user_data);
 
 static void
 parser_start_node_cb (GMarkupParseContext  *context,
-		      const gchar          *node_name,
-		      const gchar         **attribute_names,
-		      const gchar         **attribute_values,
-		      gpointer              user_data,
-		      GError              **error)
-{	
-	LmParser     *parser;
-	gint          i;
-	
-	parser = LM_PARSER (user_data);;
-	
+                      const gchar          *node_name,
+                      const gchar         **attribute_names,
+                      const gchar         **attribute_values,
+                      gpointer              user_data,
+                      GError              **error)
+{   
+    LmParser     *parser;
+    gint          i;
+    
+    parser = LM_PARSER (user_data);;
+    
 
-/* 	parser->cur_depth++; */
+/*  parser->cur_depth++; */
 
-	if (!parser->cur_root) {
-		/* New toplevel element */
-		parser->cur_root = _lm_message_node_new (node_name);
-		parser->cur_node = parser->cur_root;
-	} else {
-		LmMessageNode *parent_node;
-		
-		parent_node = parser->cur_node;
-		
-		parser->cur_node = _lm_message_node_new (node_name);
-		_lm_message_node_add_child_node (parent_node,
-						 parser->cur_node);
-	}
+    if (!parser->cur_root) {
+        /* New toplevel element */
+        parser->cur_root = _lm_message_node_new (node_name);
+        parser->cur_node = parser->cur_root;
+    } else {
+        LmMessageNode *parent_node;
+        
+        parent_node = parser->cur_node;
+        
+        parser->cur_node = _lm_message_node_new (node_name);
+        _lm_message_node_add_child_node (parent_node,
+                                         parser->cur_node);
+    }
 
-	for (i = 0; attribute_names[i]; ++i) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER, 
-		       "ATTRIBUTE: %s = %s\n", 
-		       attribute_names[i],
-		       attribute_values[i]);
-		
-		lm_message_node_set_attributes (parser->cur_node,
-						attribute_names[i],
-						attribute_values[i], 
-						NULL);
-	}
-	
-	if (strcmp ("stream:stream", node_name) == 0) {
-		parser_end_node_cb (context,
-				    "stream:stream",
-				    user_data, 
-				    error);
-	}
+    for (i = 0; attribute_names[i]; ++i) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER, 
+               "ATTRIBUTE: %s = %s\n", 
+               attribute_names[i],
+               attribute_values[i]);
+        
+        lm_message_node_set_attributes (parser->cur_node,
+                                        attribute_names[i],
+                                        attribute_values[i], 
+                                        NULL);
+    }
+    
+    if (strcmp ("stream:stream", node_name) == 0) {
+        parser_end_node_cb (context,
+                            "stream:stream",
+                            user_data, 
+                            error);
+    }
 }
 
 static void
 parser_end_node_cb (GMarkupParseContext  *context,
-		    const gchar          *node_name,
-		    gpointer              user_data,
-		    GError              **error)
+                    const gchar          *node_name,
+                    gpointer              user_data,
+                    GError              **error)
 {
-	LmParser     *parser;
-	
-	parser = LM_PARSER (user_data);
-	
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-	       "Trying to close node: %s\n", node_name);
+    LmParser     *parser;
+    
+    parser = LM_PARSER (user_data);
+    
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+           "Trying to close node: %s\n", node_name);
 
-        if (!parser->cur_node) {
-                /* FIXME: LM-1 should look at this */
-                return;
+    if (!parser->cur_node) {
+        /* FIXME: LM-1 should look at this */
+        return;
+    }
+        
+    if (strcmp (parser->cur_node->name, node_name) != 0) {
+        if (strcmp (node_name, "stream:stream")) {
+            g_print ("Got an stream:stream end\n");
         }
         
-	if (strcmp (parser->cur_node->name, node_name) != 0) {
-		if (strcmp (node_name, "stream:stream")) {
-			g_print ("Got an stream:stream end\n");
-		}
-		
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-		       "Trying to close node that isn't open: %s",
-		       node_name);
-		return;
-	}
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+               "Trying to close node that isn't open: %s",
+               node_name);
+        return;
+    }
 
-	if (parser->cur_node == parser->cur_root) {
-		LmMessage *m;
-		
-		m = _lm_message_new_from_node (parser->cur_root);
+    if (parser->cur_node == parser->cur_root) {
+        LmMessage *m;
+        
+        m = _lm_message_new_from_node (parser->cur_root);
+
+        if (!m) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+                   "Couldn't create message: %s\n",
+                   parser->cur_root->name);
+            return;
+        }
 
-		if (!m) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-			       "Couldn't create message: %s\n",
-			       parser->cur_root->name);
-			return;
-		}
-
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-		       "Have a new message\n");
-		if (parser->function) {
-			(* parser->function) (parser, m, parser->user_data);
-		}
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+               "Have a new message\n");
+        if (parser->function) {
+            (* parser->function) (parser, m, parser->user_data);
+        }
 
-		lm_message_unref (m);
-		lm_message_node_unref (parser->cur_root);
-		
-			
-		parser->cur_node = parser->cur_root = NULL;
-	} else {
-		LmMessageNode *tmp_node;
-		tmp_node = parser->cur_node;
-		parser->cur_node = parser->cur_node->parent;
+        lm_message_unref (m);
+        lm_message_node_unref (parser->cur_root);
+        
+            
+        parser->cur_node = parser->cur_root = NULL;
+    } else {
+        LmMessageNode *tmp_node;
+        tmp_node = parser->cur_node;
+        parser->cur_node = parser->cur_node->parent;
 
-		lm_message_node_unref (tmp_node);
-	}
+        lm_message_node_unref (tmp_node);
+    }
 }
 
 static void
 parser_text_cb (GMarkupParseContext   *context,
-		const gchar           *text,
-		gsize                  text_len,  
-		gpointer               user_data,
-		GError               **error)
+                const gchar           *text,
+                gsize                  text_len,  
+                gpointer               user_data,
+                GError               **error)
 {
-	LmParser *parser;
-	
-	g_return_if_fail (user_data != NULL);
-	
-	parser = LM_PARSER (user_data);
-	
-	if (parser->cur_node && strcmp (text, "") != 0) {
-		lm_message_node_set_value (parser->cur_node, text);
-	} 
+    LmParser *parser;
+    
+    g_return_if_fail (user_data != NULL);
+    
+    parser = LM_PARSER (user_data);
+    
+    if (parser->cur_node && strcmp (text, "") != 0) {
+        lm_message_node_set_value (parser->cur_node, text);
+    } 
 }
 
 static void
 parser_error_cb (GMarkupParseContext *context,
-		 GError              *error,
-		 gpointer             user_data)
+                 GError              *error,
+                 gpointer             user_data)
 {
-	g_return_if_fail (user_data != NULL);
-	g_return_if_fail (error != NULL);
-	
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-	       "Parsing failed: %s\n", error->message);
+    g_return_if_fail (user_data != NULL);
+    g_return_if_fail (error != NULL);
+    
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+           "Parsing failed: %s\n", error->message);
 }
 
 LmParser *
 lm_parser_new (LmParserMessageFunction function, 
-	       gpointer                user_data, 
-	       GDestroyNotify          notify)
+               gpointer                user_data, 
+               GDestroyNotify          notify)
 {
-	LmParser *parser;
-	
-	parser = g_new0 (LmParser, 1);
-	if (!parser) {
-		return NULL;
-	}
-	
-	parser->m_parser = g_new0 (GMarkupParser, 1);
-	if (!parser->m_parser) {
-		g_free (parser);
-		return NULL;
-	}
+    LmParser *parser;
+    
+    parser = g_new0 (LmParser, 1);
+    if (!parser) {
+        return NULL;
+    }
+    
+    parser->m_parser = g_new0 (GMarkupParser, 1);
+    if (!parser->m_parser) {
+        g_free (parser);
+        return NULL;
+    }
 
-	parser->function  = function;
-	parser->user_data = user_data;
-	parser->notify    = notify;
-	
-	parser->m_parser->start_element = parser_start_node_cb;
-	parser->m_parser->end_element   = parser_end_node_cb;
-	parser->m_parser->text          = parser_text_cb;
-	parser->m_parser->error         = parser_error_cb;
+    parser->function  = function;
+    parser->user_data = user_data;
+    parser->notify    = notify;
+    
+    parser->m_parser->start_element = parser_start_node_cb;
+    parser->m_parser->end_element   = parser_end_node_cb;
+    parser->m_parser->text          = parser_text_cb;
+    parser->m_parser->error         = parser_error_cb;
 
-	parser->context = g_markup_parse_context_new (parser->m_parser, 0,
-						      parser, NULL);
+    parser->context = g_markup_parse_context_new (parser->m_parser, 0,
+                                                  parser, NULL);
 
-	parser->cur_root = NULL;
-	parser->cur_node = NULL;
+    parser->cur_root = NULL;
+    parser->cur_node = NULL;
 
-	return parser;
+    return parser;
 }
 
 gboolean
 lm_parser_parse (LmParser *parser, const gchar *string)
 {
-	g_return_val_if_fail (parser != NULL, FALSE);
-	
-        if (!parser->context) {
-                parser->context = g_markup_parse_context_new (parser->m_parser, 0,
-                                                              parser, NULL);
-        }
+    g_return_val_if_fail (parser != NULL, FALSE);
+    
+    if (!parser->context) {
+        parser->context = g_markup_parse_context_new (parser->m_parser, 0,
+                                                      parser, NULL);
+    }
         
-        if (g_markup_parse_context_parse (parser->context, string, 
-					  (gssize)strlen (string), NULL)) {
-		return TRUE;
-        } else {
-		g_markup_parse_context_free (parser->context);
-		parser->context = NULL;
-		return FALSE;
-        }
+    if (g_markup_parse_context_parse (parser->context, string, 
+                                      (gssize)strlen (string), NULL)) {
+        return TRUE;
+    } else {
+        g_markup_parse_context_free (parser->context);
+        parser->context = NULL;
+        return FALSE;
+    }
 }
 
 void
 lm_parser_free (LmParser *parser)
 {
-	if (parser->notify) {
-		(* parser->notify) (parser->user_data);
-	}
+    if (parser->notify) {
+        (* parser->notify) (parser->user_data);
+    }
 
-	if (parser->context) {
-		g_markup_parse_context_free (parser->context);
-	}
-	g_free (parser->m_parser);
-	g_free (parser);
+    if (parser->context) {
+        g_markup_parse_context_free (parser->context);
+    }
+    g_free (parser->m_parser);
+    g_free (parser);
 }
 
--- a/loudmouth/lm-parser.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-parser.h	Wed Oct 08 13:11:02 2008 +0200
@@ -27,14 +27,14 @@
 typedef struct LmParser LmParser;
 
 typedef void (* LmParserMessageFunction) (LmParser     *parser,
-					  LmMessage    *message,
-					  gpointer      user_data);
+                                          LmMessage    *message,
+                                          gpointer      user_data);
 
 LmParser *   lm_parser_new       (LmParserMessageFunction  function,
-				  gpointer                 user_data,
-				  GDestroyNotify           notify);
+                                  gpointer                 user_data,
+                                  GDestroyNotify           notify);
 gboolean     lm_parser_parse     (LmParser                *parser,
-				  const gchar             *string);
+                                  const gchar             *string);
 void         lm_parser_free      (LmParser                *parser);
 
 #endif /* __LM_PARSER_H__ */
--- a/loudmouth/lm-proxy.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-proxy.c	Wed Oct 08 13:11:02 2008 +0200
@@ -31,8 +31,8 @@
  * 
  * connection = lm_connection_new ("myserver");
  * proxy = lm_proxy_new_with_server (LM_PROXY_TYPE_HTTP,
- * 				  "myproxyserver",
- * 				  8080);
+ *                "myproxyserver",
+ *                8080);
  * lm_connection_set_proxy (connection, proxy);
  * ...]]></programlisting></informalexample>
  */
@@ -58,28 +58,28 @@
 #include "lm-utils.h"
 
 struct _LmProxy {
-	LmProxyType  type;
-	gchar       *server;
-	guint        port;
-	gchar       *username;
-	gchar       *password;
-	guint        io_watch;
+    LmProxyType  type;
+    gchar       *server;
+    guint        port;
+    gchar       *username;
+    gchar       *password;
+    guint        io_watch;
 
-        gint         ref_count;
+    gint         ref_count;
 };
 
 static void          proxy_free              (LmProxy       *proxy);
 static gboolean      proxy_http_negotiate    (LmProxy       *proxy,
-					      gint           fd, 
-					      const gchar   *server,
-					      guint          port);
+                                              gint           fd, 
+                                              const gchar   *server,
+                                              guint          port);
 static gboolean      proxy_negotiate         (LmProxy       *proxy,
-					      gint           fd,
-					      const gchar   *server,
-					      guint          port);
+                                              gint           fd,
+                                              const gchar   *server,
+                                              guint          port);
 static gboolean      proxy_http_read_cb      (GIOChannel    *source,
-					      GIOCondition   condition,
-					      gpointer       data);
+                                              GIOCondition   condition,
+                                              gpointer       data);
 static gboolean      proxy_read_cb           (GIOChannel    *source,
                                               GIOCondition   condition,
                                               gpointer       data);
@@ -87,159 +87,159 @@
 static void
 proxy_free (LmProxy *proxy)
 {
-	g_free (proxy->server);
-	g_free (proxy->username);
-	g_free (proxy->password);
+    g_free (proxy->server);
+    g_free (proxy->username);
+    g_free (proxy->password);
 
-	g_free (proxy);
+    g_free (proxy);
 }
 
 static gboolean
 proxy_http_negotiate (LmProxy *proxy, gint fd, const gchar *server, guint port)
 {
-	gchar *str;
+    gchar *str;
 
-	if (proxy->username && proxy->password) {
-		gchar *tmp1;
-		gchar *tmp2;
+    if (proxy->username && proxy->password) {
+        gchar *tmp1;
+        gchar *tmp2;
 
-		tmp1 = g_strdup_printf ("%s:%s",
-					proxy->username, 
-					proxy->password);
-		tmp2 = g_base64_encode ((const guchar *) tmp1, 
-					(gsize) strlen (tmp1));
-		g_free (tmp1);
+        tmp1 = g_strdup_printf ("%s:%s",
+                                proxy->username, 
+                                proxy->password);
+        tmp2 = g_base64_encode ((const guchar *) tmp1, 
+                                (gsize) strlen (tmp1));
+        g_free (tmp1);
 
-		str = g_strdup_printf ("CONNECT %s:%u HTTP/1.1\r\nHost: %s:%u\r\nProxy-Authorization: Basic %s\r\n\r\n",
-				       server, port,
-				       server, port,
-				       tmp2);
-		g_free (tmp2);
-	} else {
-		str = g_strdup_printf ("CONNECT %s:%u HTTP/1.1\r\nHost: %s:%u\r\n\r\n",
-				       server, port, 
-				       server, port);
-	}
+        str = g_strdup_printf ("CONNECT %s:%u HTTP/1.1\r\nHost: %s:%u\r\nProxy-Authorization: Basic %s\r\n\r\n",
+                               server, port,
+                               server, port,
+                               tmp2);
+        g_free (tmp2);
+    } else {
+        str = g_strdup_printf ("CONNECT %s:%u HTTP/1.1\r\nHost: %s:%u\r\n\r\n",
+                               server, port, 
+                               server, port);
+    }
 
-	send (fd, str, strlen (str), 0);
-	g_free (str);
-	return TRUE;
+    send (fd, str, strlen (str), 0);
+    g_free (str);
+    return TRUE;
 }
 
 /* returns TRUE when connected through proxy */
 static gboolean
 proxy_http_read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
 {
-	gchar          buf[512];
-	gsize          bytes_read;
-	GError        *error = NULL;
+    gchar          buf[512];
+    gsize          bytes_read;
+    GError        *error = NULL;
 
-	g_io_channel_read_chars (source, buf, 512, &bytes_read, &error);
+    g_io_channel_read_chars (source, buf, 512, &bytes_read, &error);
 
-	if (bytes_read < 16) {
-		return FALSE;
-	}
+    if (bytes_read < 16) {
+        return FALSE;
+    }
 
-	if (strncmp (buf, "HTTP/1.1 200", 12) != 0 &&
-	    strncmp (buf, "HTTP/1.0 200", 12) != 0) {
-		return FALSE;
-	}
+    if (strncmp (buf, "HTTP/1.1 200", 12) != 0 &&
+        strncmp (buf, "HTTP/1.0 200", 12) != 0) {
+        return FALSE;
+    }
 
-	if (strncmp (buf + (bytes_read - 4), "\r\n\r\n", 4) != 0) {
-		return FALSE;
-	}
+    if (strncmp (buf + (bytes_read - 4), "\r\n\r\n", 4) != 0) {
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 proxy_read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
 {
-	LmConnectData *connect_data;
-	LmConnection  *connection;
-	LmProxy       *proxy;
-	gboolean       retval = FALSE;
+    LmConnectData *connect_data;
+    LmConnection  *connection;
+    LmProxy       *proxy;
+    gboolean       retval = FALSE;
 
-	connect_data = (LmConnectData *) data;
-	connection = connect_data->connection;
-	proxy = lm_connection_get_proxy (connection);
+    connect_data = (LmConnectData *) data;
+    connection = connect_data->connection;
+    proxy = lm_connection_get_proxy (connection);
 
-	g_return_val_if_fail (proxy != NULL, FALSE);
+    g_return_val_if_fail (proxy != NULL, FALSE);
 
-	if (lm_connection_is_open (connection)) {
-		return FALSE;
-	}
+    if (lm_connection_is_open (connection)) {
+        return FALSE;
+    }
 
-	switch (lm_proxy_get_type (proxy)) {
-	default:
-	case LM_PROXY_TYPE_NONE:
-		g_assert_not_reached ();
-		break;
-	case LM_PROXY_TYPE_HTTP:
-		retval = proxy_http_read_cb (source, condition, data);
-		break;
-	}
+    switch (lm_proxy_get_type (proxy)) {
+    default:
+    case LM_PROXY_TYPE_NONE:
+        g_assert_not_reached ();
+        break;
+    case LM_PROXY_TYPE_HTTP:
+        retval = proxy_http_read_cb (source, condition, data);
+        break;
+    }
 
-	if (retval == TRUE) {
-		g_source_remove (proxy->io_watch);
-		_lm_old_socket_succeeded ((LmConnectData *) data);
-	}
+    if (retval == TRUE) {
+        g_source_remove (proxy->io_watch);
+        _lm_old_socket_succeeded ((LmConnectData *) data);
+    }
 
-	return FALSE;
+    return FALSE;
 }
 
 gboolean
 proxy_negotiate (LmProxy *proxy, gint fd, const gchar *server, guint port)
 {
-	g_return_val_if_fail (proxy != NULL, FALSE);
+    g_return_val_if_fail (proxy != NULL, FALSE);
 
-	switch (proxy->type) {
-	case LM_PROXY_TYPE_NONE:
-		return TRUE;
-	case LM_PROXY_TYPE_HTTP:
-		return proxy_http_negotiate (proxy, fd, server, port);
-	default:
-		g_assert_not_reached ();
-	}
+    switch (proxy->type) {
+    case LM_PROXY_TYPE_NONE:
+        return TRUE;
+    case LM_PROXY_TYPE_HTTP:
+        return proxy_http_negotiate (proxy, fd, server, port);
+    default:
+        g_assert_not_reached ();
+    }
 
-	return FALSE;
+    return FALSE;
 }
 
 gboolean
 _lm_proxy_connect_cb (GIOChannel *source, GIOCondition condition, gpointer data)
 {
-	LmConnection  *connection;
-	LmConnectData *connect_data;
-	LmProxy       *proxy;
-	int            error;
-	socklen_t      len;
+    LmConnection  *connection;
+    LmConnectData *connect_data;
+    LmProxy       *proxy;
+    int            error;
+    socklen_t      len;
 
-	connect_data = (LmConnectData *) data;
-	connection = connect_data->connection;
-	proxy = lm_connection_get_proxy (connection);
+    connect_data = (LmConnectData *) data;
+    connection = connect_data->connection;
+    proxy = lm_connection_get_proxy (connection);
 
-	g_return_val_if_fail (proxy != NULL, FALSE);
+    g_return_val_if_fail (proxy != NULL, FALSE);
 
-	if (condition == G_IO_ERR) {
-		len = sizeof (error);
-		_lm_sock_get_error (connect_data->fd, &error, &len);
-		_lm_old_socket_failed_with_error (connect_data, error);
-		return FALSE;
-	} else if (condition == G_IO_OUT) {
-		if (!proxy_negotiate (lm_connection_get_proxy (connection), connect_data->fd, lm_connection_get_server (connection), lm_connection_get_port (connection))) {
-			_lm_old_socket_failed (connect_data);
-			return FALSE;
-		}
-			
-		proxy->io_watch = g_io_add_watch (connect_data->io_channel,
-						  G_IO_IN|G_IO_ERR,
-						  (GIOFunc) proxy_read_cb,
-						  connect_data);
-	} else {
-		g_assert_not_reached ();
-	}
+    if (condition == G_IO_ERR) {
+        len = sizeof (error);
+        _lm_sock_get_error (connect_data->fd, &error, &len);
+        _lm_old_socket_failed_with_error (connect_data, error);
+        return FALSE;
+    } else if (condition == G_IO_OUT) {
+        if (!proxy_negotiate (lm_connection_get_proxy (connection), connect_data->fd, lm_connection_get_server (connection), lm_connection_get_port (connection))) {
+            _lm_old_socket_failed (connect_data);
+            return FALSE;
+        }
+            
+        proxy->io_watch = g_io_add_watch (connect_data->io_channel,
+                                          G_IO_IN|G_IO_ERR,
+                                          (GIOFunc) proxy_read_cb,
+                                          connect_data);
+    } else {
+        g_assert_not_reached ();
+    }
 
-	return FALSE;
+    return FALSE;
 }
 
 /**
@@ -254,22 +254,22 @@
 LmProxy * 
 lm_proxy_new (LmProxyType type)
 {
-	LmProxy *proxy;
+    LmProxy *proxy;
 
-	proxy = g_new0 (LmProxy, 1);
-	
-	proxy->ref_count = 1;
-	proxy->type = type;
+    proxy = g_new0 (LmProxy, 1);
+    
+    proxy->ref_count = 1;
+    proxy->type = type;
 
-	switch (proxy->type) {
-	case LM_PROXY_TYPE_HTTP:
-		proxy->port = 8000;
-		break;
-	default:
-		proxy->port = 0;
-	}
+    switch (proxy->type) {
+    case LM_PROXY_TYPE_HTTP:
+        proxy->port = 8000;
+        break;
+    default:
+        proxy->port = 0;
+    }
 
-	return proxy;
+    return proxy;
 }
 
 /**
@@ -285,16 +285,16 @@
  **/
 LmProxy *
 lm_proxy_new_with_server (LmProxyType  type,
-			  const gchar *server,
-			  guint        port)
+                          const gchar *server,
+                          guint        port)
 {
-	LmProxy *proxy;
+    LmProxy *proxy;
 
-	proxy = lm_proxy_new (type);
-	lm_proxy_set_server (proxy, server);
-	lm_proxy_set_port (proxy, port);
+    proxy = lm_proxy_new (type);
+    lm_proxy_set_server (proxy, server);
+    lm_proxy_set_port (proxy, port);
 
-	return proxy;
+    return proxy;
 }
 
 /**
@@ -308,9 +308,9 @@
 LmProxyType
 lm_proxy_get_type (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, LM_PROXY_TYPE_NONE);
+    g_return_val_if_fail (proxy != NULL, LM_PROXY_TYPE_NONE);
 
-	return proxy->type;
+    return proxy->type;
 }
 
 /**
@@ -323,9 +323,9 @@
 void
 lm_proxy_set_type (LmProxy *proxy, LmProxyType type)
 {
-	g_return_if_fail (proxy != NULL);
+    g_return_if_fail (proxy != NULL);
 
-	proxy->type = type;
+    proxy->type = type;
 }
 
 /**
@@ -339,9 +339,9 @@
 const gchar *
 lm_proxy_get_server (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, NULL);
-	
-	return proxy->server;
+    g_return_val_if_fail (proxy != NULL, NULL);
+    
+    return proxy->server;
 }
 
 /**
@@ -354,11 +354,11 @@
 void
 lm_proxy_set_server (LmProxy *proxy, const gchar *server)
 {
-	g_return_if_fail (proxy != NULL);
-	g_return_if_fail (server != NULL);
-	
-	g_free (proxy->server);
-	proxy->server = _lm_utils_hostname_to_punycode (server);
+    g_return_if_fail (proxy != NULL);
+    g_return_if_fail (server != NULL);
+    
+    g_free (proxy->server);
+    proxy->server = _lm_utils_hostname_to_punycode (server);
 }
 
 /**
@@ -372,9 +372,9 @@
 guint
 lm_proxy_get_port (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, 0);
+    g_return_val_if_fail (proxy != NULL, 0);
 
-	return proxy->port;
+    return proxy->port;
 }
 
 /**
@@ -387,9 +387,9 @@
 void
 lm_proxy_set_port (LmProxy *proxy, guint port)
 {
-	g_return_if_fail (proxy != NULL);
-	
-	proxy->port = port;
+    g_return_if_fail (proxy != NULL);
+    
+    proxy->port = port;
 }
 
 /**
@@ -403,9 +403,9 @@
 const gchar *
 lm_proxy_get_username (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, NULL);
-	
-	return proxy->username;
+    g_return_val_if_fail (proxy != NULL, NULL);
+    
+    return proxy->username;
 }
 
 /**
@@ -418,15 +418,15 @@
 void
 lm_proxy_set_username (LmProxy *proxy, const gchar *username)
 {
-	g_return_if_fail (proxy != NULL);
-	
-	g_free (proxy->username);
-	
-	if (username) {
-		proxy->username = g_strdup (username);
-	} else {
-		proxy->username = NULL;
-	}
+    g_return_if_fail (proxy != NULL);
+    
+    g_free (proxy->username);
+    
+    if (username) {
+        proxy->username = g_strdup (username);
+    } else {
+        proxy->username = NULL;
+    }
 }
 /**
  * lm_proxy_get_password:
@@ -439,9 +439,9 @@
 const gchar *
 lm_proxy_get_password (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, NULL);
-	
-	return proxy->password;
+    g_return_val_if_fail (proxy != NULL, NULL);
+    
+    return proxy->password;
 }
 
 /**
@@ -454,15 +454,15 @@
 void
 lm_proxy_set_password (LmProxy *proxy, const gchar *password)
 {
-	g_return_if_fail (proxy != NULL);
-	
-	g_free (proxy->password);
+    g_return_if_fail (proxy != NULL);
+    
+    g_free (proxy->password);
 
-	if (password) {
-		proxy->password = g_strdup (password);
-	} else {
-		proxy->password = NULL;
-	}
+    if (password) {
+        proxy->password = g_strdup (password);
+    } else {
+        proxy->password = NULL;
+    }
 }
 
 /**
@@ -476,10 +476,10 @@
 LmProxy *
 lm_proxy_ref (LmProxy *proxy)
 {
-	g_return_val_if_fail (proxy != NULL, NULL);
-	
-	proxy->ref_count++;
-	return proxy;
+    g_return_val_if_fail (proxy != NULL, NULL);
+    
+    proxy->ref_count++;
+    return proxy;
 }
 
 /**
@@ -492,11 +492,11 @@
 void
 lm_proxy_unref (LmProxy *proxy)
 {
-	g_return_if_fail (proxy != NULL);
-	
-	proxy->ref_count--;
+    g_return_if_fail (proxy != NULL);
+    
+    proxy->ref_count--;
 
-	if (proxy->ref_count == 0) {
-		proxy_free (proxy);
-        }
+    if (proxy->ref_count == 0) {
+        proxy_free (proxy);
+    }
 }
--- a/loudmouth/lm-proxy.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-proxy.h	Wed Oct 08 13:11:02 2008 +0200
@@ -41,34 +41,34 @@
  * The type of the proxy.
  */
 typedef enum {
-	LM_PROXY_TYPE_NONE = 0,
-	LM_PROXY_TYPE_HTTP
+    LM_PROXY_TYPE_NONE = 0,
+    LM_PROXY_TYPE_HTTP
 } LmProxyType;
 
 LmProxy *     lm_proxy_new              (LmProxyType         type);
 LmProxy *     lm_proxy_new_with_server  (LmProxyType         type,
-					 const gchar        *server,
-					 guint               port);
+                                         const gchar        *server,
+                                         guint               port);
 
 LmProxyType   lm_proxy_get_type         (LmProxy            *proxy);
 void          lm_proxy_set_type         (LmProxy            *proxy,
-					 LmProxyType         type);
+                                         LmProxyType         type);
 
 const gchar * lm_proxy_get_server       (LmProxy            *proxy);
 void          lm_proxy_set_server       (LmProxy            *proxy,
-					 const gchar        *server);
+                                         const gchar        *server);
 
 guint         lm_proxy_get_port         (LmProxy            *proxy);
 void          lm_proxy_set_port         (LmProxy            *proxy,
-					 guint               port);
+                                         guint               port);
 
 const gchar * lm_proxy_get_username     (LmProxy            *proxy);
 void          lm_proxy_set_username     (LmProxy            *proxy,
-					 const gchar        *username);
+                                         const gchar        *username);
 
 const gchar * lm_proxy_get_password     (LmProxy            *proxy);
 void          lm_proxy_set_password     (LmProxy            *proxy,
-					 const gchar        *password);
+                                         const gchar        *password);
 
 LmProxy *     lm_proxy_ref              (LmProxy            *proxy);
 void          lm_proxy_unref            (LmProxy            *proxy);
--- a/loudmouth/lm-resolver.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-resolver.c	Wed Oct 08 13:11:02 2008 +0200
@@ -40,25 +40,25 @@
 
 typedef struct LmResolverPriv LmResolverPriv;
 struct LmResolverPriv {
-        GMainContext       *context;
+    GMainContext       *context;
 
-        LmResolverCallback  callback;
-        gpointer            user_data;
+    LmResolverCallback  callback;
+    gpointer            user_data;
 
-        /* -- Properties -- */
-        LmResolverType      type;
-        gchar              *host;
-        guint               port;
+    /* -- Properties -- */
+    LmResolverType      type;
+    gchar              *host;
+    guint               port;
 
-        /* For SRV lookups */
-        gchar              *domain;
-        gchar              *service;
-        gchar              *protocol;
+    /* For SRV lookups */
+    gchar              *domain;
+    gchar              *service;
+    gchar              *protocol;
 
-        /* The results */
-        LmResolverResult    result;
-        struct addrinfo    *results;
-        struct addrinfo    *current_result;
+    /* The results */
+    LmResolverResult    result;
+    struct addrinfo    *results;
+    struct addrinfo    *current_result;
 };
 
 static void     resolver_finalize            (GObject           *object);
@@ -74,116 +74,116 @@
 G_DEFINE_TYPE (LmResolver, lm_resolver, G_TYPE_OBJECT)
 
 enum {
-	PROP_0,
-        PROP_CONTEXT,
-        PROP_TYPE,
-        PROP_HOST,
-        PROP_PORT,
-        PROP_DOMAIN,
-        PROP_SERVICE,
-        PROP_PROTOCOL
+    PROP_0,
+    PROP_CONTEXT,
+    PROP_TYPE,
+    PROP_HOST,
+    PROP_PORT,
+    PROP_DOMAIN,
+    PROP_SERVICE,
+    PROP_PROTOCOL
 };
 
 static void
 lm_resolver_class_init (LmResolverClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = resolver_finalize;
-	object_class->get_property = resolver_get_property;
-	object_class->set_property = resolver_set_property;
+    object_class->finalize     = resolver_finalize;
+    object_class->get_property = resolver_get_property;
+    object_class->set_property = resolver_set_property;
 
-        g_object_class_install_property (object_class,
-                                         PROP_CONTEXT,
-                                         g_param_spec_pointer ("context",
-                                                               "Context",
-                                                               "Main context to use",
-                                                               G_PARAM_READWRITE));
+    g_object_class_install_property (object_class,
+                                     PROP_CONTEXT,
+                                     g_param_spec_pointer ("context",
+                                                           "Context",
+                                                           "Main context to use",
+                                                           G_PARAM_READWRITE));
 
-        g_object_class_install_property (object_class,
-                                         PROP_TYPE,
-					 g_param_spec_int ("type",
-                                                           "Type",
-                                                           "Resolver Type",
-                                                           LM_RESOLVER_HOST,
-                                                           LM_RESOLVER_SRV,
-                                                           LM_RESOLVER_HOST,
-                                                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+    g_object_class_install_property (object_class,
+                                     PROP_TYPE,
+                                     g_param_spec_int ("type",
+                                                       "Type",
+                                                       "Resolver Type",
+                                                       LM_RESOLVER_HOST,
+                                                       LM_RESOLVER_SRV,
+                                                       LM_RESOLVER_HOST,
+                                                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-        g_object_class_install_property (object_class,
-                                         PROP_HOST,
-					 g_param_spec_string ("host",
-							      "Host",
-							      "Host to lookup",
-                                                              NULL,
-                                                              G_PARAM_READWRITE));
+    g_object_class_install_property (object_class,
+                                     PROP_HOST,
+                                     g_param_spec_string ("host",
+                                                          "Host",
+                                                          "Host to lookup",
+                                                          NULL,
+                                                          G_PARAM_READWRITE));
 
-        g_object_class_install_property (object_class,
-                                         PROP_PORT,
-                                         g_param_spec_uint ("port",
-                                                            "Port",
-                                                            "Port number",
-                                                            0,
-                                                            LM_MAX_PORT, 
-                                                            0,
-                                                            G_PARAM_READWRITE));
+    g_object_class_install_property (object_class,
+                                     PROP_PORT,
+                                     g_param_spec_uint ("port",
+                                                        "Port",
+                                                        "Port number",
+                                                        0,
+                                                        LM_MAX_PORT, 
+                                                        0,
+                                                        G_PARAM_READWRITE));
 
-        g_object_class_install_property (object_class,
-                                         PROP_DOMAIN,
-					 g_param_spec_string ("domain",
-							      "Domain",
-							      "Domain to lookup",
-                                                              NULL,
-                                                              G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+    g_object_class_install_property (object_class,
+                                     PROP_DOMAIN,
+                                     g_param_spec_string ("domain",
+                                                          "Domain",
+                                                          "Domain to lookup",
+                                                          NULL,
+                                                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-        g_object_class_install_property (object_class,
-                                         PROP_SERVICE,
-					 g_param_spec_string ("service",
-							      "Service",
-							      "Service to lookup",
-                                                              NULL,
-                                                              G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+    g_object_class_install_property (object_class,
+                                     PROP_SERVICE,
+                                     g_param_spec_string ("service",
+                                                          "Service",
+                                                          "Service to lookup",
+                                                          NULL,
+                                                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-        g_object_class_install_property (object_class,
-                                         PROP_PROTOCOL,
-                                         g_param_spec_string ("protocol",
-							      "Protocol",
-							      "Protocol for SRV lookup",
-                                                              NULL,
-                                                              G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+    g_object_class_install_property (object_class,
+                                     PROP_PROTOCOL,
+                                     g_param_spec_string ("protocol",
+                                                          "Protocol",
+                                                          "Protocol for SRV lookup",
+                                                          NULL,
+                                                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-	g_type_class_add_private (object_class, sizeof (LmResolverPriv));
+    g_type_class_add_private (object_class, sizeof (LmResolverPriv));
 }
 
 static void
 lm_resolver_init (LmResolver *resolver)
 {
-	LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-	priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 }
 
 static void
 resolver_finalize (GObject *object)
 {
-	LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-        g_free (priv->host);
-        g_free (priv->domain);
-        g_free (priv->service);
-        g_free (priv->protocol);
+    g_free (priv->host);
+    g_free (priv->domain);
+    g_free (priv->service);
+    g_free (priv->protocol);
 
-        if (priv->context) {
-                g_main_context_unref (priv->context);
-        }
+    if (priv->context) {
+        g_main_context_unref (priv->context);
+    }
 
-        if (priv->results) {
-                freeaddrinfo (priv->results);
-        }
+    if (priv->results) {
+        freeaddrinfo (priv->results);
+    }
 
-	(G_OBJECT_CLASS (lm_resolver_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_resolver_parent_class)->finalize) (object);
 }
 
 static void
@@ -192,36 +192,36 @@
                        GValue     *value,
                        GParamSpec *pspec)
 {
-	LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-        case PROP_CONTEXT:
-                g_value_set_pointer (value, priv->context);
-                break;
-        case PROP_TYPE:
-                g_value_set_int (value, priv->type);
-                break;
-        case PROP_HOST:
-		g_value_set_string (value, priv->host);
-		break;
-        case PROP_PORT:
-                g_value_set_uint (value, priv->port);
-                break;
-	case PROP_DOMAIN:
-		g_value_set_string (value, priv->domain);
-		break;
-        case PROP_SERVICE:
-		g_value_set_string (value, priv->service);
-		break;
-	case PROP_PROTOCOL:
-		g_value_set_string (value, priv->protocol);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_CONTEXT:
+        g_value_set_pointer (value, priv->context);
+        break;
+    case PROP_TYPE:
+        g_value_set_int (value, priv->type);
+        break;
+    case PROP_HOST:
+        g_value_set_string (value, priv->host);
+        break;
+    case PROP_PORT:
+        g_value_set_uint (value, priv->port);
+        break;
+    case PROP_DOMAIN:
+        g_value_set_string (value, priv->domain);
+        break;
+    case PROP_SERVICE:
+        g_value_set_string (value, priv->service);
+        break;
+    case PROP_PROTOCOL:
+        g_value_set_string (value, priv->protocol);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
@@ -230,61 +230,61 @@
                        const GValue *value,
                        GParamSpec   *pspec)
 {
-	LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-        case PROP_CONTEXT:
-                if (priv->context) {
-                        g_main_context_unref (priv->context);
-                }
+    switch (param_id) {
+    case PROP_CONTEXT:
+        if (priv->context) {
+            g_main_context_unref (priv->context);
+        }
 
-                priv->context = (GMainContext *) g_value_get_pointer (value);
-                g_main_context_ref (priv->context);
-                break;
-        case PROP_TYPE:
-                priv->type = g_value_get_int (value);
-                break;
-        case PROP_HOST:
-                g_free (priv->host);
-		priv->host = g_value_dup_string (value);
-		break;
-        case PROP_PORT:
-                priv->port = g_value_get_uint (value);
-                break;
-	case PROP_DOMAIN:
-                g_free (priv->domain);
-		priv->domain = g_value_dup_string (value);
-		break;
-        case PROP_SERVICE:
-                g_free (priv->service);
-                priv->service = g_value_dup_string (value);
-		break;
-	case PROP_PROTOCOL:
-                g_free (priv->protocol);
-                priv->protocol = g_value_dup_string (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+        priv->context = (GMainContext *) g_value_get_pointer (value);
+        g_main_context_ref (priv->context);
+        break;
+    case PROP_TYPE:
+        priv->type = g_value_get_int (value);
+        break;
+    case PROP_HOST:
+        g_free (priv->host);
+        priv->host = g_value_dup_string (value);
+        break;
+    case PROP_PORT:
+        priv->port = g_value_get_uint (value);
+        break;
+    case PROP_DOMAIN:
+        g_free (priv->domain);
+        priv->domain = g_value_dup_string (value);
+        break;
+    case PROP_SERVICE:
+        g_free (priv->service);
+        priv->service = g_value_dup_string (value);
+        break;
+    case PROP_PROTOCOL:
+        g_free (priv->protocol);
+        priv->protocol = g_value_dup_string (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 LmResolver *
 lm_resolver_new (GMainContext *context)
 {
-        LmResolver *resolver;
+    LmResolver *resolver;
 
 #if HAVE_ASYNCNS
-        resolver = g_object_new (LM_TYPE_ASYNCNS_RESOLVER, NULL);
+    resolver = g_object_new (LM_TYPE_ASYNCNS_RESOLVER, NULL);
 #else
-        resolver = g_object_new (LM_TYPE_BLOCKING_RESOLVER, NULL);
+    resolver = g_object_new (LM_TYPE_BLOCKING_RESOLVER, NULL);
 #endif
 
-        g_object_set (resolver, "context", context, NULL);
+    g_object_set (resolver, "context", context, NULL);
 
-        return resolver;
+    return resolver;
 }
 
 LmResolver *
@@ -292,23 +292,23 @@
                           LmResolverCallback  callback,
                           gpointer            user_data)
 {
-        LmResolver     *resolver;
-        LmResolverPriv *priv;
+    LmResolver     *resolver;
+    LmResolverPriv *priv;
 
-        g_return_val_if_fail (host != NULL, NULL);
-        g_return_val_if_fail (callback != NULL, NULL);
+    g_return_val_if_fail (host != NULL, NULL);
+    g_return_val_if_fail (callback != NULL, NULL);
 
-        resolver =  g_object_new (LM_TYPE_ASYNCNS_RESOLVER,
-                                  "type", LM_RESOLVER_HOST,
-                                  "host", host,
-                                  NULL);
+    resolver =  g_object_new (LM_TYPE_ASYNCNS_RESOLVER,
+                              "type", LM_RESOLVER_HOST,
+                              "host", host,
+                              NULL);
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        priv->callback = callback;
-        priv->user_data = user_data;
+    priv->callback = callback;
+    priv->user_data = user_data;
 
-        return resolver;
+    return resolver;
 }
 
 LmResolver *
@@ -318,37 +318,37 @@
                              LmResolverCallback  callback,
                              gpointer            user_data)
 {
-        LmResolver     *resolver;
-        LmResolverPriv *priv;
+    LmResolver     *resolver;
+    LmResolverPriv *priv;
 
-        g_return_val_if_fail (domain != NULL, NULL);
-        g_return_val_if_fail (service != NULL, NULL);
-        g_return_val_if_fail (protocol != NULL, NULL);
-        g_return_val_if_fail (callback != NULL, NULL);
+    g_return_val_if_fail (domain != NULL, NULL);
+    g_return_val_if_fail (service != NULL, NULL);
+    g_return_val_if_fail (protocol != NULL, NULL);
+    g_return_val_if_fail (callback != NULL, NULL);
 
-        resolver = g_object_new (LM_TYPE_ASYNCNS_RESOLVER, 
-                                 "type", LM_RESOLVER_SRV,
-                                 "domain", domain,
-                                 "service", service,
-                                 "protocol", protocol,
-                                 NULL);
+    resolver = g_object_new (LM_TYPE_ASYNCNS_RESOLVER, 
+                             "type", LM_RESOLVER_SRV,
+                             "domain", domain,
+                             "service", service,
+                             "protocol", protocol,
+                             NULL);
         
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        priv->callback = callback;
-        priv->user_data = user_data;
+    priv->callback = callback;
+    priv->user_data = user_data;
 
-        return resolver;
+    return resolver;
 }
 
 void
 lm_resolver_lookup (LmResolver *resolver)
 {
-        if (!LM_RESOLVER_GET_CLASS(resolver)) {
-                g_assert_not_reached ();
-        }
+    if (!LM_RESOLVER_GET_CLASS(resolver)) {
+        g_assert_not_reached ();
+    }
 
-        LM_RESOLVER_GET_CLASS(resolver)->lookup (resolver);
+    LM_RESOLVER_GET_CLASS(resolver)->lookup (resolver);
 }
 
 void
@@ -362,44 +362,44 @@
 void
 lm_resolver_cancel (LmResolver *resolver)
 {
-        if (!LM_RESOLVER_GET_CLASS(resolver)->cancel) {
-                g_assert_not_reached ();
-        }
+    if (!LM_RESOLVER_GET_CLASS(resolver)->cancel) {
+        g_assert_not_reached ();
+    }
 
-        LM_RESOLVER_GET_CLASS(resolver)->cancel (resolver);
+    LM_RESOLVER_GET_CLASS(resolver)->cancel (resolver);
 }
 
 /* To iterate through the results */ 
 struct addrinfo *
 lm_resolver_results_get_next (LmResolver *resolver)
 {
-        LmResolverPriv  *priv;
-        struct addrinfo *ret_val;
+    LmResolverPriv  *priv;
+    struct addrinfo *ret_val;
 
-        g_return_val_if_fail (LM_IS_RESOLVER (resolver), NULL);
+    g_return_val_if_fail (LM_IS_RESOLVER (resolver), NULL);
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        if (!priv->current_result) {
-                return NULL;
-        }
+    if (!priv->current_result) {
+        return NULL;
+    }
 
-        ret_val = priv->current_result;
-        priv->current_result = priv->current_result->ai_next;
+    ret_val = priv->current_result;
+    priv->current_result = priv->current_result->ai_next;
 
-        return ret_val;
+    return ret_val;
 }
 
 void
 lm_resolver_results_reset (LmResolver *resolver)
 {
-        LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-        g_return_if_fail (LM_IS_RESOLVER (resolver));
+    g_return_if_fail (LM_IS_RESOLVER (resolver));
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        priv->current_result = priv->results;
+    priv->current_result = priv->results;
 }
 
 gchar *
@@ -407,11 +407,11 @@
                                 const gchar *service,
                                 const gchar *protocol)
 {
-        g_return_val_if_fail (domain != NULL, NULL);
-        g_return_val_if_fail (service != NULL, NULL);
-        g_return_val_if_fail (protocol != NULL, NULL);
+    g_return_val_if_fail (domain != NULL, NULL);
+    g_return_val_if_fail (service != NULL, NULL);
+    g_return_val_if_fail (protocol != NULL, NULL);
 
-        return g_strdup_printf ("_%s._%s.%s", service, protocol, domain);
+    return g_strdup_printf ("_%s._%s.%s", service, protocol, domain);
 }
 
 void 
@@ -419,18 +419,18 @@
                          LmResolverResult  result,
                          struct addrinfo  *results)
 {
-        LmResolverPriv *priv;
+    LmResolverPriv *priv;
 
-        g_return_if_fail (LM_IS_RESOLVER (resolver));
+    g_return_if_fail (LM_IS_RESOLVER (resolver));
 
-        priv = GET_PRIV (resolver);
+    priv = GET_PRIV (resolver);
 
-        priv->result = result;
-        priv->results = priv->current_result = results;
+    priv->result = result;
+    priv->results = priv->current_result = results;
 
-        g_print ("Calling resolver callback\n");
+    g_print ("Calling resolver callback\n");
 
-        priv->callback (resolver, result, priv->user_data);
+    priv->callback (resolver, result, priv->user_data);
 }
 
 gboolean
@@ -439,59 +439,59 @@
                                  gchar         **out_server, 
                                  guint          *out_port)
 {
-	int                  qdcount;
-	int                  ancount;
-	int                  len;
-	const unsigned char *pos;
-	unsigned char       *end;
-	HEADER              *head;
-	char                 name[256];
-	char                 pref_name[256];
-	guint                pref_port = 0;
-	guint                pref_prio = 9999;
+    int                  qdcount;
+    int                  ancount;
+    int                  len;
+    const unsigned char *pos;
+    unsigned char       *end;
+    HEADER              *head;
+    char                 name[256];
+    char                 pref_name[256];
+    guint                pref_port = 0;
+    guint                pref_prio = 9999;
 
-	pref_name[0] = 0;
+    pref_name[0] = 0;
 
-	pos = srv + sizeof (HEADER);
-	end = srv + srv_len;
-	head = (HEADER *) srv;
+    pos = srv + sizeof (HEADER);
+    end = srv + srv_len;
+    head = (HEADER *) srv;
 
-	qdcount = ntohs (head->qdcount);
-	ancount = ntohs (head->ancount);
+    qdcount = ntohs (head->qdcount);
+    ancount = ntohs (head->ancount);
 
-	/* Ignore the questions */
-	while (qdcount-- > 0 && (len = dn_expand (srv, end, pos, name, 255)) >= 0) {
-		g_assert (len >= 0);
-		pos += len + QFIXEDSZ;
-	}
+    /* Ignore the questions */
+    while (qdcount-- > 0 && (len = dn_expand (srv, end, pos, name, 255)) >= 0) {
+        g_assert (len >= 0);
+        pos += len + QFIXEDSZ;
+    }
 
-	/* Parse the answers */
-	while (ancount-- > 0 && (len = dn_expand (srv, end, pos, name, 255)) >= 0) {
-		/* Ignore the initial string */
-		uint16_t pref, weight, port;
+    /* Parse the answers */
+    while (ancount-- > 0 && (len = dn_expand (srv, end, pos, name, 255)) >= 0) {
+        /* Ignore the initial string */
+        uint16_t pref, weight, port;
 
-		g_assert (len >= 0);
-		pos += len;
-		/* Ignore type, ttl, class and dlen */
-		pos += 10;
-		GETSHORT (pref, pos);
-		GETSHORT (weight, pos);
-		GETSHORT (port, pos);
+        g_assert (len >= 0);
+        pos += len;
+        /* Ignore type, ttl, class and dlen */
+        pos += 10;
+        GETSHORT (pref, pos);
+        GETSHORT (weight, pos);
+        GETSHORT (port, pos);
 
-		len = dn_expand (srv, end, pos, name, 255);
-		if (pref < pref_prio) {
-			pref_prio = pref;
-			strcpy (pref_name, name);
-			pref_port = port;
-		}
-		pos += len;
-	}
+        len = dn_expand (srv, end, pos, name, 255);
+        if (pref < pref_prio) {
+            pref_prio = pref;
+            strcpy (pref_name, name);
+            pref_port = port;
+        }
+        pos += len;
+    }
 
-	if (pref_name[0]) {
-		*out_server = g_strdup (pref_name);
-		*out_port = pref_port;
-		return TRUE;
-	} 
-	return FALSE;
+    if (pref_name[0]) {
+        *out_server = g_strdup (pref_name);
+        *out_port = pref_port;
+        return TRUE;
+    } 
+    return FALSE;
 }
 
--- a/loudmouth/lm-resolver.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-resolver.h	Wed Oct 08 13:11:02 2008 +0200
@@ -36,26 +36,26 @@
 typedef struct LmResolverClass LmResolverClass;
 
 struct LmResolver {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmResolverClass {
-	GObjectClass parent_class;
-	
-	/* <vtable> */
-        void (*lookup)  (LmResolver  *resolver);
-        void (*cancel)  (LmResolver  *resolver);
+    GObjectClass parent_class;
+    
+    /* <vtable> */
+    void (*lookup)  (LmResolver  *resolver);
+    void (*cancel)  (LmResolver  *resolver);
 };
 
 typedef enum {
-        LM_RESOLVER_HOST,
-        LM_RESOLVER_SRV
+    LM_RESOLVER_HOST,
+    LM_RESOLVER_SRV
 } LmResolverType;
 
 typedef enum {
-        LM_RESOLVER_RESULT_OK,
-        LM_RESOLVER_RESULT_FAILED,
-        LM_RESOLVER_RESULT_CANCELLED
+    LM_RESOLVER_RESULT_OK,
+    LM_RESOLVER_RESULT_FAILED,
+    LM_RESOLVER_RESULT_CANCELLED
 } LmResolverResult;
 
 typedef void (*LmResolverCallback) (LmResolver       *resolver,
--- a/loudmouth/lm-sasl.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-sasl.c	Wed Oct 08 13:11:02 2008 +0200
@@ -39,58 +39,58 @@
 #include "md5.h"
 
 typedef enum {
-	AUTH_TYPE_PLAIN  = 1,
-	AUTH_TYPE_DIGEST = 2
+    AUTH_TYPE_PLAIN  = 1,
+    AUTH_TYPE_DIGEST = 2
 } AuthType;
 
 typedef enum {
-	SASL_AUTH_STATE_NO_MECH,
-	SASL_AUTH_STATE_PLAIN_STARTED,
-	SASL_AUTH_STATE_DIGEST_MD5_STARTED,
-	SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE,
-	SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE,
+    SASL_AUTH_STATE_NO_MECH,
+    SASL_AUTH_STATE_PLAIN_STARTED,
+    SASL_AUTH_STATE_DIGEST_MD5_STARTED,
+    SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE,
+    SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE,
 } SaslAuthState;
 
 struct _LmSASL {
-	LmConnection        *connection;
-	AuthType             auth_type;
-	SaslAuthState        state;
-	gchar               *username;
-	gchar               *password;
-	gchar               *server;
-	gchar               *digest_md5_rspauth;
-	LmMessageHandler    *features_cb;
-	LmMessageHandler    *challenge_cb;
-	LmMessageHandler    *success_cb;
-	LmMessageHandler    *failure_cb;
+    LmConnection        *connection;
+    AuthType             auth_type;
+    SaslAuthState        state;
+    gchar               *username;
+    gchar               *password;
+    gchar               *server;
+    gchar               *digest_md5_rspauth;
+    LmMessageHandler    *features_cb;
+    LmMessageHandler    *challenge_cb;
+    LmMessageHandler    *success_cb;
+    LmMessageHandler    *failure_cb;
 
-	gboolean             features_received;
-	gboolean             start_auth;
+    gboolean             features_received;
+    gboolean             start_auth;
 
-	LmSASLResultHandler  handler;
+    LmSASLResultHandler  handler;
 };
 
 #define XMPP_NS_SASL_AUTH "urn:ietf:params:xml:ns:xmpp-sasl"
 
 static LmHandlerResult     sasl_features_cb  (LmMessageHandler *handler,
-					      LmConnection     *connection,
-					      LmMessage        *message,
-					      gpointer          user_data);
+                                              LmConnection     *connection,
+                                              LmMessage        *message,
+                                              gpointer          user_data);
 
 static LmHandlerResult     sasl_challenge_cb (LmMessageHandler *handler,
-					      LmConnection     *connection,
-					      LmMessage        *message,
-					      gpointer          user_data);
+                                              LmConnection     *connection,
+                                              LmMessage        *message,
+                                              gpointer          user_data);
 
 static LmHandlerResult     sasl_success_cb   (LmMessageHandler *handler,
-					      LmConnection     *connection,
-					      LmMessage        *message,
-					      gpointer          user_data);
+                                              LmConnection     *connection,
+                                              LmMessage        *message,
+                                              gpointer          user_data);
 
 static LmHandlerResult     sasl_failure_cb   (LmMessageHandler *handler,
-					      LmConnection     *connection,
-					      LmMessage        *message,
-					      gpointer          user_data);
+                                              LmConnection     *connection,
+                                              LmMessage        *message,
+                                              gpointer          user_data);
 
 
 /* DIGEST-MD5 mechanism code from libgibber */
@@ -98,748 +98,748 @@
 static gchar *
 sasl_strndup_unescaped (const gchar *str, gsize len) 
 {
-	const gchar *s;
-	gchar       *d;
-	gchar       *ret;
+    const gchar *s;
+    gchar       *d;
+    gchar       *ret;
 
-	ret = g_malloc0 (len + 1);
-	for (s = str, d = ret ; s < (str + len) ; s++, d++) {
-		if (*s == '\\') s++;
-		*d = *s;
-	}
+    ret = g_malloc0 (len + 1);
+    for (s = str, d = ret ; s < (str + len) ; s++, d++) {
+        if (*s == '\\') s++;
+        *d = *s;
+    }
 
-	return ret;
+    return ret;
 }
 
 static GHashTable *
 sasl_digest_md5_challenge_to_hash (const gchar * challenge)
 {
-	const gchar *keystart, *keyend, *valstart;
-	const gchar *c = challenge;
-	gchar       *key, *val;
-	GHashTable  *result;
-	
-	result = g_hash_table_new_full (g_str_hash, g_str_equal, 
-					g_free, g_free);
+    const gchar *keystart, *keyend, *valstart;
+    const gchar *c = challenge;
+    gchar       *key, *val;
+    GHashTable  *result;
+    
+    result = g_hash_table_new_full (g_str_hash, g_str_equal, 
+                                    g_free, g_free);
 
-	do { 
-		while (g_ascii_isspace(*c)) c++;
+    do { 
+        while (g_ascii_isspace(*c)) c++;
 
-		keystart = c;
-		for (; *c != '\0' && *c != '='; c++);
+        keystart = c;
+        for (; *c != '\0' && *c != '='; c++);
 
-		if (*c == '\0' || c == keystart) goto error;
+        if (*c == '\0' || c == keystart) goto error;
 
-		keyend = c; 
-		c++;
+        keyend = c; 
+        c++;
 
-		if (*c == '"') {
-			c++;
-			valstart = c;
-			for (; *c != '\0' && *c != '"'; c++);
-			if (*c == '\0' || c == valstart) goto error;
-			val = sasl_strndup_unescaped (valstart, c - valstart);
-			c++;
-		} else {
-			valstart = c;
-			for (; *c !=  '\0' && *c != ','; c++);
-			if (c == valstart) goto error;
-			val = g_strndup (valstart, c - valstart);
-		}
+        if (*c == '"') {
+            c++;
+            valstart = c;
+            for (; *c != '\0' && *c != '"'; c++);
+            if (*c == '\0' || c == valstart) goto error;
+            val = sasl_strndup_unescaped (valstart, c - valstart);
+            c++;
+        } else {
+            valstart = c;
+            for (; *c !=  '\0' && *c != ','; c++);
+            if (c == valstart) goto error;
+            val = g_strndup (valstart, c - valstart);
+        }
 
-		key = g_strndup (keystart, keyend - keystart);
+        key = g_strndup (keystart, keyend - keystart);
 
-		g_hash_table_insert (result, key, val);
+        g_hash_table_insert (result, key, val);
 
-		if (*c == ',') c++;
-	} while (*c != '\0');
+        if (*c == ',') c++;
+    } while (*c != '\0');
 
-	return result;
-error:
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
-	       "Failed to parse challenge: %s", challenge);
+    return result;
+ error:
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, 
+           "Failed to parse challenge: %s", challenge);
 
-	g_hash_table_destroy (result);
-	return NULL;
+    g_hash_table_destroy (result);
+    return NULL;
 }
 
 static gchar *
 sasl_md5_hex_hash (gchar *value, gsize len) 
 {
-	md5_byte_t   digest_md5[16];
-	md5_state_t  md5_calc;
-	GString     *str;
-	int          i;
+    md5_byte_t   digest_md5[16];
+    md5_state_t  md5_calc;
+    GString     *str;
+    int          i;
 
-	str = g_string_sized_new (32);
+    str = g_string_sized_new (32);
 
-	md5_init (&md5_calc);
-	md5_append (&md5_calc, (const md5_byte_t *)value, len);
-	md5_finish (&md5_calc, digest_md5);
+    md5_init (&md5_calc);
+    md5_append (&md5_calc, (const md5_byte_t *)value, len);
+    md5_finish (&md5_calc, digest_md5);
 
-	for (i = 0 ; i < 16 ; i++) {
-		g_string_append_printf (str, "%02x", digest_md5[i]);
-	}
+    for (i = 0 ; i < 16 ; i++) {
+        g_string_append_printf (str, "%02x", digest_md5[i]);
+    }
 
-	return g_string_free (str, FALSE);
+    return g_string_free (str, FALSE);
 }
 
 static gchar *
 sasl_digest_md5_generate_cnonce(void)
 {
-	/* RFC 2831 recommends the the nonce to be either hexadecimal or base64 with
-	 * at least 64 bits of entropy */
+    /* RFC 2831 recommends the the nonce to be either hexadecimal or base64 with
+     * at least 64 bits of entropy */
 #define NR 8
-	guint32 n[NR]; 
-	int i;
+    guint32 n[NR]; 
+    int i;
 
-	for (i = 0; i < NR; i++) {
-		n[i] = g_random_int();
-	}
+    for (i = 0; i < NR; i++) {
+        n[i] = g_random_int();
+    }
 
-	return g_base64_encode ((const guchar *)n, (gsize)sizeof(n));
+    return g_base64_encode ((const guchar *)n, (gsize)sizeof(n));
 }
 
 static gchar *
 sasl_md5_prepare_response (LmSASL *sasl, GHashTable *challenge)
 {
-	GString     *response;
-	const gchar *realm, *nonce;
-	gchar       *a1, *a1h, *a2, *a2h, *kd, *kdh;
-	gchar       *cnonce = NULL;
-	gchar       *tmp;
-	md5_byte_t   digest_md5[16];
-	md5_state_t  md5_calc;
-	gsize        len;
+    GString     *response;
+    const gchar *realm, *nonce;
+    gchar       *a1, *a1h, *a2, *a2h, *kd, *kdh;
+    gchar       *cnonce = NULL;
+    gchar       *tmp;
+    md5_byte_t   digest_md5[16];
+    md5_state_t  md5_calc;
+    gsize        len;
 
-	response = g_string_new ("");
+    response = g_string_new ("");
 
-	if (sasl->username == NULL || sasl->password == NULL) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: no username or password provided", G_STRFUNC);
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection, 
-				       FALSE, "no username/password provided");
-		}
-		goto error;
-	}
+    if (sasl->username == NULL || sasl->password == NULL) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: no username or password provided", G_STRFUNC);
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection, 
+                           FALSE, "no username/password provided");
+        }
+        goto error;
+    }
 
-	nonce = g_hash_table_lookup (challenge, "nonce");
-	if (nonce == NULL || nonce == '\0') {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: server didn't provide a nonce in the challenge", 
-		       G_STRFUNC);
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection,
-				       FALSE, "server error");
-		}
-		goto error;
-	}
+    nonce = g_hash_table_lookup (challenge, "nonce");
+    if (nonce == NULL || nonce == '\0') {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: server didn't provide a nonce in the challenge", 
+               G_STRFUNC);
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection,
+                           FALSE, "server error");
+        }
+        goto error;
+    }
 
-	cnonce = sasl_digest_md5_generate_cnonce ();
+    cnonce = sasl_digest_md5_generate_cnonce ();
 
-	/* FIXME challenge can contain multiple realms */
-	realm = g_hash_table_lookup (challenge, "realm");
-	if (realm == NULL) {
-		realm = sasl->server;
-	}
+    /* FIXME challenge can contain multiple realms */
+    realm = g_hash_table_lookup (challenge, "realm");
+    if (realm == NULL) {
+        realm = sasl->server;
+    }
 
-	/* FIXME properly escape values */
-	g_string_append_printf (response, "username=\"%s\"", sasl->username);
-	g_string_append_printf (response, ",realm=\"%s\"", realm);
-	g_string_append_printf (response, ",digest-uri=\"xmpp/%s\"", realm);
-	g_string_append_printf (response, ",nonce=\"%s\",nc=00000001", nonce);
-	g_string_append_printf (response, ",cnonce=\"%s\"", cnonce);
-	/* FIXME should check if auth is in the cop challenge val */
-	g_string_append_printf (response, ",qop=auth,charset=utf-8");
+    /* FIXME properly escape values */
+    g_string_append_printf (response, "username=\"%s\"", sasl->username);
+    g_string_append_printf (response, ",realm=\"%s\"", realm);
+    g_string_append_printf (response, ",digest-uri=\"xmpp/%s\"", realm);
+    g_string_append_printf (response, ",nonce=\"%s\",nc=00000001", nonce);
+    g_string_append_printf (response, ",cnonce=\"%s\"", cnonce);
+    /* FIXME should check if auth is in the cop challenge val */
+    g_string_append_printf (response, ",qop=auth,charset=utf-8");
 
-	tmp = g_strdup_printf ("%s:%s:%s", 
-			       sasl->username, realm, sasl->password);
-	md5_init (&md5_calc);
-	md5_append (&md5_calc, (const md5_byte_t *)tmp, strlen(tmp));
-	md5_finish (&md5_calc, digest_md5);
-	g_free (tmp);
+    tmp = g_strdup_printf ("%s:%s:%s", 
+                           sasl->username, realm, sasl->password);
+    md5_init (&md5_calc);
+    md5_append (&md5_calc, (const md5_byte_t *)tmp, strlen(tmp));
+    md5_finish (&md5_calc, digest_md5);
+    g_free (tmp);
 
-	a1 = g_strdup_printf ("0123456789012345:%s:%s", nonce, cnonce);
-	len = strlen (a1);
-	memcpy (a1, digest_md5, 16);
-	a1h = sasl_md5_hex_hash (a1, len);
+    a1 = g_strdup_printf ("0123456789012345:%s:%s", nonce, cnonce);
+    len = strlen (a1);
+    memcpy (a1, digest_md5, 16);
+    a1h = sasl_md5_hex_hash (a1, len);
 
-	a2 = g_strdup_printf ("AUTHENTICATE:xmpp/%s", realm);
-	a2h = sasl_md5_hex_hash (a2, strlen(a2));
+    a2 = g_strdup_printf ("AUTHENTICATE:xmpp/%s", realm);
+    a2h = sasl_md5_hex_hash (a2, strlen(a2));
 
-	kd = g_strdup_printf ("%s:%s:00000001:%s:auth:%s",
-			      a1h, nonce, cnonce, a2h);
-	kdh = sasl_md5_hex_hash (kd, strlen(kd));
-	g_string_append_printf (response, ",response=%s", kdh);
+    kd = g_strdup_printf ("%s:%s:00000001:%s:auth:%s",
+                          a1h, nonce, cnonce, a2h);
+    kdh = sasl_md5_hex_hash (kd, strlen(kd));
+    g_string_append_printf (response, ",response=%s", kdh);
 
-	g_free (kd);
-	g_free (kdh);
-	g_free (a2);
-	g_free (a2h);
+    g_free (kd);
+    g_free (kdh);
+    g_free (a2);
+    g_free (a2h);
 
-	/* Calculate the response we expect from the server */
-	a2 = g_strdup_printf (":xmpp/%s", realm);
-	a2h = sasl_md5_hex_hash (a2, strlen(a2));
+    /* Calculate the response we expect from the server */
+    a2 = g_strdup_printf (":xmpp/%s", realm);
+    a2h = sasl_md5_hex_hash (a2, strlen(a2));
 
-	kd = g_strdup_printf ("%s:%s:00000001:%s:auth:%s", a1h, nonce, cnonce, a2h);
-	g_free (sasl->digest_md5_rspauth);
-	sasl->digest_md5_rspauth = sasl_md5_hex_hash (kd, strlen(kd));
+    kd = g_strdup_printf ("%s:%s:00000001:%s:auth:%s", a1h, nonce, cnonce, a2h);
+    g_free (sasl->digest_md5_rspauth);
+    sasl->digest_md5_rspauth = sasl_md5_hex_hash (kd, strlen(kd));
 
-	g_free (a1);
-	g_free (a1h);
-	g_free (a2);
-	g_free (a2h);
-	g_free (kd);
+    g_free (a1);
+    g_free (a1h);
+    g_free (a2);
+    g_free (a2h);
+    g_free (kd);
 
-out:
-	g_free (cnonce);
-	if (response) {
-		return g_string_free (response, FALSE);
-	} else {
-		return NULL;
-	}
+ out:
+    g_free (cnonce);
+    if (response) {
+        return g_string_free (response, FALSE);
+    } else {
+        return NULL;
+    }
 
-error:
-	g_string_free (response, TRUE);
-	response = NULL;
-	goto out;
+ error:
+    g_string_free (response, TRUE);
+    response = NULL;
+    goto out;
 }
 
 static gboolean
 sasl_digest_md5_send_initial_response (LmSASL *sasl, GHashTable *challenge)
 {
-	LmMessage *msg;
-	gchar     *response;
-	gchar     *response64;
-	int        result;
+    LmMessage *msg;
+    gchar     *response;
+    gchar     *response64;
+    int        result;
 
-	response = sasl_md5_prepare_response(sasl, challenge);
-	if (response == NULL) {
-		return FALSE;
-	}
+    response = sasl_md5_prepare_response(sasl, challenge);
+    if (response == NULL) {
+        return FALSE;
+    }
 
-	response64 = g_base64_encode ((const guchar *) response, 
-				      (gsize) strlen(response));
+    response64 = g_base64_encode ((const guchar *) response, 
+                                  (gsize) strlen(response));
 
-	msg = lm_message_new (NULL, LM_MESSAGE_TYPE_RESPONSE);
-	lm_message_node_set_attributes (msg->node,
-					"xmlns", XMPP_NS_SASL_AUTH,
-					NULL);
-	lm_message_node_set_value (msg->node, response64);
+    msg = lm_message_new (NULL, LM_MESSAGE_TYPE_RESPONSE);
+    lm_message_node_set_attributes (msg->node,
+                                    "xmlns", XMPP_NS_SASL_AUTH,
+                                    NULL);
+    lm_message_node_set_value (msg->node, response64);
 
-	result = lm_connection_send (sasl->connection, msg, NULL);
+    result = lm_connection_send (sasl->connection, msg, NULL);
 
-	g_free (response);
-	g_free (response64);
-	lm_message_unref (msg);
+    g_free (response);
+    g_free (response64);
+    lm_message_unref (msg);
 
-	if (!result) {
-		return FALSE;
-	}
+    if (!result) {
+        return FALSE;
+    }
 
-	sasl->state = SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE;
+    sasl->state = SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 sasl_digest_md5_check_server_response(LmSASL *sasl, GHashTable *challenge)
 {
-	LmMessage   *msg;
-	const gchar *rspauth;
-	int          result;
+    LmMessage   *msg;
+    const gchar *rspauth;
+    int          result;
 
-	rspauth = g_hash_table_lookup (challenge, "rspauth");
-	if (rspauth == NULL) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-		       "%s: server sent an invalid reply (no rspauth)\n",
-		       G_STRFUNC);
+    rspauth = g_hash_table_lookup (challenge, "rspauth");
+    if (rspauth == NULL) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+               "%s: server sent an invalid reply (no rspauth)\n",
+               G_STRFUNC);
 
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection, 
-				       TRUE, "server error");
-		}
-		return FALSE;
-	}
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection, 
+                           TRUE, "server error");
+        }
+        return FALSE;
+    }
 
-	if (strcmp (sasl->digest_md5_rspauth, rspauth) != 0) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-		       "%s: server sent an invalid reply (rspauth not matching)\n", 
-		       G_STRFUNC);
+    if (strcmp (sasl->digest_md5_rspauth, rspauth) != 0) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+               "%s: server sent an invalid reply (rspauth not matching)\n", 
+               G_STRFUNC);
 
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection,
-				       TRUE, "server error");
-		}
-		return FALSE;
-	}
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection,
+                           TRUE, "server error");
+        }
+        return FALSE;
+    }
 
-	msg = lm_message_new (NULL, LM_MESSAGE_TYPE_RESPONSE);
-	lm_message_node_set_attributes (msg->node,
-					"xmlns", XMPP_NS_SASL_AUTH,
-					NULL);
+    msg = lm_message_new (NULL, LM_MESSAGE_TYPE_RESPONSE);
+    lm_message_node_set_attributes (msg->node,
+                                    "xmlns", XMPP_NS_SASL_AUTH,
+                                    NULL);
 
-	result = lm_connection_send (sasl->connection, msg, NULL);
-	lm_message_unref (msg);
+    result = lm_connection_send (sasl->connection, msg, NULL);
+    lm_message_unref (msg);
 
-	if (!result) {
-		g_warning ("Failed to send SASL response\n");
-		return FALSE;
-	}
+    if (!result) {
+        g_warning ("Failed to send SASL response\n");
+        return FALSE;
+    }
 
-	sasl->state = SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE;
+    sasl->state = SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 sasl_digest_md5_handle_challenge (LmSASL *sasl, LmMessageNode *node)
 {
-	const gchar *encoded;
-	gchar       *challenge;
-	gsize        len;
-	GHashTable  *h;
+    const gchar *encoded;
+    gchar       *challenge;
+    gsize        len;
+    GHashTable  *h;
 
-	encoded = lm_message_node_get_value (node);
-	if (!encoded) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: got empty challenge!", G_STRFUNC);
-		return FALSE;
-	}
+    encoded = lm_message_node_get_value (node);
+    if (!encoded) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: got empty challenge!", G_STRFUNC);
+        return FALSE;
+    }
 
-	challenge = (gchar *) g_base64_decode (encoded, &len);
-	h = sasl_digest_md5_challenge_to_hash (challenge);
-	g_free(challenge);
+    challenge = (gchar *) g_base64_decode (encoded, &len);
+    h = sasl_digest_md5_challenge_to_hash (challenge);
+    g_free(challenge);
 
-	if (!h) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: server sent an invalid challenge", G_STRFUNC);
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection, 
-				       FALSE, "server error");
-		}
-		return FALSE;
-	}
+    if (!h) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: server sent an invalid challenge", G_STRFUNC);
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection, 
+                           FALSE, "server error");
+        }
+        return FALSE;
+    }
 
-	switch (sasl->state) {
-	case SASL_AUTH_STATE_DIGEST_MD5_STARTED:
-		sasl_digest_md5_send_initial_response (sasl, h); 
-		break;
-	case SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE:
-		sasl_digest_md5_check_server_response (sasl, h); 
-		break;
-	default:
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: server sent a challenge at the wrong time", 
-		       G_STRFUNC);
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection,
-				       FALSE, "server error");
-		}
+    switch (sasl->state) {
+    case SASL_AUTH_STATE_DIGEST_MD5_STARTED:
+        sasl_digest_md5_send_initial_response (sasl, h); 
+        break;
+    case SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE:
+        sasl_digest_md5_check_server_response (sasl, h); 
+        break;
+    default:
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: server sent a challenge at the wrong time", 
+               G_STRFUNC);
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection,
+                           FALSE, "server error");
+        }
 
-		return FALSE;
-	} 
+        return FALSE;
+    } 
 
-	g_hash_table_destroy(h);
+    g_hash_table_destroy(h);
 
-	return TRUE;
+    return TRUE;
 }
 
 static LmHandlerResult
 sasl_challenge_cb (LmMessageHandler *handler,
-		   LmConnection     *connection,
-		   LmMessage        *message,
-		   gpointer          user_data)
+                   LmConnection     *connection,
+                   LmMessage        *message,
+                   gpointer          user_data)
 {
-	LmSASL      *sasl;
-	const gchar *ns;
+    LmSASL      *sasl;
+    const gchar *ns;
 
-	ns = lm_message_node_get_attribute (message->node, "xmlns");
-	if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
-		return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-	}
+    ns = lm_message_node_get_attribute (message->node, "xmlns");
+    if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
 
-	sasl = (LmSASL *) user_data;
+    sasl = (LmSASL *) user_data;
 
-	switch (sasl->auth_type) {
-	case AUTH_TYPE_PLAIN:
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-		       "%s: server sent challenge for PLAIN mechanism",
-		       G_STRFUNC);
+    switch (sasl->auth_type) {
+    case AUTH_TYPE_PLAIN:
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+               "%s: server sent challenge for PLAIN mechanism",
+               G_STRFUNC);
 
-		if (sasl->handler) {
-			sasl->handler (sasl, sasl->connection, 
-				       FALSE, "server error");
-		}
-		break;
-	case AUTH_TYPE_DIGEST:
-		sasl_digest_md5_handle_challenge (sasl, message->node);
-		break;
-	default:
-		g_warning ("Wrong auth type");
-		break;
-	}
+        if (sasl->handler) {
+            sasl->handler (sasl, sasl->connection, 
+                           FALSE, "server error");
+        }
+        break;
+    case AUTH_TYPE_DIGEST:
+        sasl_digest_md5_handle_challenge (sasl, message->node);
+        break;
+    default:
+        g_warning ("Wrong auth type");
+        break;
+    }
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 static LmHandlerResult
 sasl_success_cb (LmMessageHandler *handler,
-		 LmConnection     *connection,
-		 LmMessage        *message,
-		 gpointer          user_data)
+                 LmConnection     *connection,
+                 LmMessage        *message,
+                 gpointer          user_data)
 {
-	LmSASL      *sasl;
-	const gchar *ns;
-	
-	ns = lm_message_node_get_attribute (message->node, "xmlns");
-	if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
-		return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-	}
+    LmSASL      *sasl;
+    const gchar *ns;
+    
+    ns = lm_message_node_get_attribute (message->node, "xmlns");
+    if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
 
-	sasl = (LmSASL *) user_data;
+    sasl = (LmSASL *) user_data;
 
-	switch (sasl->auth_type) {
-	case AUTH_TYPE_PLAIN:
-		if (sasl->state != SASL_AUTH_STATE_PLAIN_STARTED) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-			       "%s: server sent success before finishing auth", 
-			       G_STRFUNC);
-			if (sasl->handler) {
-				sasl->handler (sasl, sasl->connection, 
-					       FALSE, "server error");
-			}
-		}
-		break;
-	case AUTH_TYPE_DIGEST:
-		if (sasl->state != SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE &&
-		    sasl->state != SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-			       "%s: server sent success before finishing auth", 
-			       G_STRFUNC);
-			if (sasl->handler) {
-				sasl->handler (sasl, sasl->connection, 
-					       FALSE, "server error");
-			}
-		}
-		break;
-	default:
-		g_warning ("Wrong auth type");
-		break;
-	}
+    switch (sasl->auth_type) {
+    case AUTH_TYPE_PLAIN:
+        if (sasl->state != SASL_AUTH_STATE_PLAIN_STARTED) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+                   "%s: server sent success before finishing auth", 
+                   G_STRFUNC);
+            if (sasl->handler) {
+                sasl->handler (sasl, sasl->connection, 
+                               FALSE, "server error");
+            }
+        }
+        break;
+    case AUTH_TYPE_DIGEST:
+        if (sasl->state != SASL_AUTH_STATE_DIGEST_MD5_SENT_AUTH_RESPONSE &&
+            sasl->state != SASL_AUTH_STATE_DIGEST_MD5_SENT_FINAL_RESPONSE) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+                   "%s: server sent success before finishing auth", 
+                   G_STRFUNC);
+            if (sasl->handler) {
+                sasl->handler (sasl, sasl->connection, 
+                               FALSE, "server error");
+            }
+        }
+        break;
+    default:
+        g_warning ("Wrong auth type");
+        break;
+    }
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-	       "%s: SASL authentication successful", G_STRFUNC);
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+           "%s: SASL authentication successful", G_STRFUNC);
 
-	if (sasl->handler) {
-		sasl->handler (sasl, sasl->connection, TRUE, NULL);
-	}
+    if (sasl->handler) {
+        sasl->handler (sasl, sasl->connection, TRUE, NULL);
+    }
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
-	
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    
 }
 
 static LmHandlerResult
 sasl_failure_cb (LmMessageHandler *handler,
-		 LmConnection     *connection,
-		 LmMessage        *message,
-		 gpointer          user_data)
+                 LmConnection     *connection,
+                 LmMessage        *message,
+                 gpointer          user_data)
 {
-	LmSASL      *sasl;
-	const gchar *ns;
-	const gchar *reason = "unknown reason";
-	
-	ns = lm_message_node_get_attribute (message->node, "xmlns");
-	if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
-		return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-	}
+    LmSASL      *sasl;
+    const gchar *ns;
+    const gchar *reason = "unknown reason";
+    
+    ns = lm_message_node_get_attribute (message->node, "xmlns");
+    if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
 
-	sasl = (LmSASL *) user_data;
+    sasl = (LmSASL *) user_data;
 
-	if (message->node->children) {
-		const gchar *r;
-		
-		r = lm_message_node_get_value (message->node->children);
-		if (r) {
-			reason = r;
-		}
-	}
-	
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-	       "%s: SASL authentication failed: %s", G_STRFUNC, reason);
+    if (message->node->children) {
+        const gchar *r;
+        
+        r = lm_message_node_get_value (message->node->children);
+        if (r) {
+            reason = r;
+        }
+    }
+    
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+           "%s: SASL authentication failed: %s", G_STRFUNC, reason);
 
-	if (sasl->handler) {
-		sasl->handler (sasl, sasl->connection, FALSE, reason);
-	}
+    if (sasl->handler) {
+        sasl->handler (sasl, sasl->connection, FALSE, reason);
+    }
 
-	return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
 
 static gboolean
 sasl_start (LmSASL *sasl)
 {
-	LmMessage  *auth_msg;
-	gboolean    result;
-	const char *mech = NULL;
+    LmMessage  *auth_msg;
+    gboolean    result;
+    const char *mech = NULL;
 
-	auth_msg = lm_message_new (NULL, LM_MESSAGE_TYPE_AUTH);
+    auth_msg = lm_message_new (NULL, LM_MESSAGE_TYPE_AUTH);
 
-	if (sasl->auth_type == AUTH_TYPE_PLAIN) {
-      		GString *str;
-		gchar   *cstr;
+    if (sasl->auth_type == AUTH_TYPE_PLAIN) {
+        GString *str;
+        gchar   *cstr;
 
-		str = g_string_new ("");
+        str = g_string_new ("");
 
-		mech = "PLAIN";
-		sasl->state = SASL_AUTH_STATE_PLAIN_STARTED;
+        mech = "PLAIN";
+        sasl->state = SASL_AUTH_STATE_PLAIN_STARTED;
 
-		if (sasl->username == NULL || sasl->password == NULL) {
-			g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-			       "%s: no username or password provided", 
-			       G_STRFUNC);
-			if (sasl->handler) {
-				sasl->handler (sasl, sasl->connection, FALSE, "no username/password provided");
-			}
+        if (sasl->username == NULL || sasl->password == NULL) {
+            g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+                   "%s: no username or password provided", 
+                   G_STRFUNC);
+            if (sasl->handler) {
+                sasl->handler (sasl, sasl->connection, FALSE, "no username/password provided");
+            }
 
-			return FALSE;
-		}
+            return FALSE;
+        }
 
-		g_string_append_c (str, '\0');
-		g_string_append (str, sasl->username);
-		g_string_append_c (str, '\0');
-		g_string_append (str, sasl->password);
-		cstr = g_base64_encode ((const guchar *) str->str, 
-					(gsize) str->len);
+        g_string_append_c (str, '\0');
+        g_string_append (str, sasl->username);
+        g_string_append_c (str, '\0');
+        g_string_append (str, sasl->password);
+        cstr = g_base64_encode ((const guchar *) str->str, 
+                                (gsize) str->len);
 
-		lm_message_node_set_value (auth_msg->node, cstr);
+        lm_message_node_set_value (auth_msg->node, cstr);
 
-		g_string_free (str, TRUE);
-		g_free (cstr);
+        g_string_free (str, TRUE);
+        g_free (cstr);
 
-		/* Here we say the Google magic word. Bad Google. */
-		lm_message_node_set_attributes (auth_msg->node,
-						"xmlns:ga", "http://www.google.com/talk/protocol/auth",
-						"ga:client-uses-full-bind-result", "true",
-						NULL);
+        /* Here we say the Google magic word. Bad Google. */
+        lm_message_node_set_attributes (auth_msg->node,
+                                        "xmlns:ga", "http://www.google.com/talk/protocol/auth",
+                                        "ga:client-uses-full-bind-result", "true",
+                                        NULL);
 
-	} 
-	else if (sasl->auth_type == AUTH_TYPE_DIGEST) {
-		mech = "DIGEST-MD5";
-		sasl->state = SASL_AUTH_STATE_DIGEST_MD5_STARTED;
-	}
+    } 
+    else if (sasl->auth_type == AUTH_TYPE_DIGEST) {
+        mech = "DIGEST-MD5";
+        sasl->state = SASL_AUTH_STATE_DIGEST_MD5_STARTED;
+    }
 
-	lm_message_node_set_attributes (auth_msg->node,
-					"xmlns", XMPP_NS_SASL_AUTH,
-					"mechanism", mech,
-					NULL);
+    lm_message_node_set_attributes (auth_msg->node,
+                                    "xmlns", XMPP_NS_SASL_AUTH,
+                                    "mechanism", mech,
+                                    NULL);
 
-	result = lm_connection_send (sasl->connection, auth_msg, NULL);
-	lm_message_unref (auth_msg);
+    result = lm_connection_send (sasl->connection, auth_msg, NULL);
+    lm_message_unref (auth_msg);
 
-	if (!result) {
-		return FALSE;
-	}
+    if (!result) {
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 sasl_set_auth_type (LmSASL *sasl, LmMessageNode *mechanisms)
 {
-	LmMessageNode *m;
-	const gchar   *ns;
+    LmMessageNode *m;
+    const gchar   *ns;
 
-	sasl->auth_type = 0;
+    sasl->auth_type = 0;
 
-	ns = lm_message_node_get_attribute (mechanisms, "xmlns");
-	if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
-		return FALSE;
-	}
+    ns = lm_message_node_get_attribute (mechanisms, "xmlns");
+    if (!ns || strcmp (ns, XMPP_NS_SASL_AUTH) != 0) {
+        return FALSE;
+    }
 
-	for (m = mechanisms->children; m; m = m->next) {
-		const gchar *name;
-		
-		name = lm_message_node_get_value (m);
+    for (m = mechanisms->children; m; m = m->next) {
+        const gchar *name;
+        
+        name = lm_message_node_get_value (m);
 
-		if (!name) {
-			continue;
-		}
-		if (strcmp (name, "PLAIN") == 0) {
-			sasl->auth_type |= AUTH_TYPE_PLAIN;
-			continue;
-		}
-		if (strcmp (name, "DIGEST-MD5") == 0) {
-			sasl->auth_type |= AUTH_TYPE_DIGEST;
-			continue;
-		}
+        if (!name) {
+            continue;
+        }
+        if (strcmp (name, "PLAIN") == 0) {
+            sasl->auth_type |= AUTH_TYPE_PLAIN;
+            continue;
+        }
+        if (strcmp (name, "DIGEST-MD5") == 0) {
+            sasl->auth_type |= AUTH_TYPE_DIGEST;
+            continue;
+        }
 
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		       "%s: unknown SASL auth mechanism: %s", G_STRFUNC, name);
-	}
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: unknown SASL auth mechanism: %s", G_STRFUNC, name);
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 static gboolean
 sasl_authenticate (LmSASL *sasl)
 {
-	if (sasl->auth_type == 0) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
-		      "%s: no supported SASL auth mechanisms found",
-		      G_STRFUNC);
+    if (sasl->auth_type == 0) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL,
+               "%s: no supported SASL auth mechanisms found",
+               G_STRFUNC);
 
-		return FALSE;
-	}
+        return FALSE;
+    }
 
-	/* Prefer DIGEST */
-	if (sasl->auth_type & AUTH_TYPE_DIGEST) {
-		sasl->auth_type = AUTH_TYPE_DIGEST;
-		return sasl_start (sasl);
-	}
-	else if (sasl->auth_type & AUTH_TYPE_PLAIN) {
-		sasl->auth_type = AUTH_TYPE_PLAIN;
-		return sasl_start (sasl);
-	} 
+    /* Prefer DIGEST */
+    if (sasl->auth_type & AUTH_TYPE_DIGEST) {
+        sasl->auth_type = AUTH_TYPE_DIGEST;
+        return sasl_start (sasl);
+    }
+    else if (sasl->auth_type & AUTH_TYPE_PLAIN) {
+        sasl->auth_type = AUTH_TYPE_PLAIN;
+        return sasl_start (sasl);
+    } 
 
-	return FALSE;
+    return FALSE;
 }
 
 static LmHandlerResult
 sasl_features_cb (LmMessageHandler *handler,
-		  LmConnection     *connection,
-		  LmMessage        *message,
-		  gpointer          user_data)
+                  LmConnection     *connection,
+                  LmMessage        *message,
+                  gpointer          user_data)
 {
-    	LmMessageNode *mechanisms;
-	LmSASL        *sasl;
+    LmMessageNode *mechanisms;
+    LmSASL        *sasl;
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, "Stream features received\n");
-	mechanisms = lm_message_node_find_child (message->node, "mechanisms");
-	if (!mechanisms) {
-		return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
-	}
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SASL, "Stream features received\n");
+    mechanisms = lm_message_node_find_child (message->node, "mechanisms");
+    if (!mechanisms) {
+        return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    }
 
-	sasl = (LmSASL *) user_data;
-	sasl->features_received = TRUE;
+    sasl = (LmSASL *) user_data;
+    sasl->features_received = TRUE;
 
-	sasl_set_auth_type (sasl, mechanisms);
+    sasl_set_auth_type (sasl, mechanisms);
 
-	if (sasl->start_auth) {
-		sasl_authenticate (sasl);
-	}
+    if (sasl->start_auth) {
+        sasl_authenticate (sasl);
+    }
 
-	return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+    return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
 }
 
 LmSASL *
 lm_sasl_new (LmConnection *connection)
 {
-	LmSASL *sasl;
-	
-	sasl = g_new0 (LmSASL, 1);
+    LmSASL *sasl;
+    
+    sasl = g_new0 (LmSASL, 1);
 
-	sasl->connection = connection;
-	sasl->features_received = FALSE;
-	sasl->start_auth = FALSE;
+    sasl->connection = connection;
+    sasl->features_received = FALSE;
+    sasl->start_auth = FALSE;
 
-	sasl->features_cb = lm_message_handler_new (sasl_features_cb,
-						    sasl,
-						    NULL);
+    sasl->features_cb = lm_message_handler_new (sasl_features_cb,
+                                                sasl,
+                                                NULL);
 
-	lm_connection_register_message_handler (connection,
-						sasl->features_cb,
-						LM_MESSAGE_TYPE_STREAM_FEATURES,
-						LM_HANDLER_PRIORITY_LAST);
-	return sasl;
+    lm_connection_register_message_handler (connection,
+                                            sasl->features_cb,
+                                            LM_MESSAGE_TYPE_STREAM_FEATURES,
+                                            LM_HANDLER_PRIORITY_LAST);
+    return sasl;
 }
 
 void
 lm_sasl_authenticate (LmSASL              *sasl,
-		      const gchar         *username,
-		      const gchar         *password,
-		      const gchar         *server,
-		      LmSASLResultHandler  handler)
+                      const gchar         *username,
+                      const gchar         *password,
+                      const gchar         *server,
+                      LmSASLResultHandler  handler)
 {
-	sasl->username   = g_strdup (username);
-	sasl->password   = g_strdup (password);
-	sasl->server     = g_strdup (server);
-	sasl->handler    = handler;
+    sasl->username   = g_strdup (username);
+    sasl->password   = g_strdup (password);
+    sasl->server     = g_strdup (server);
+    sasl->handler    = handler;
 
-	sasl->challenge_cb = lm_message_handler_new (sasl_challenge_cb,
-						     sasl,
-						     NULL);
-	lm_connection_register_message_handler (sasl->connection,
-						sasl->challenge_cb,
-						LM_MESSAGE_TYPE_CHALLENGE,
-						LM_HANDLER_PRIORITY_FIRST);
-	
-	sasl->success_cb = lm_message_handler_new (sasl_success_cb,
-						   sasl,
-						   NULL);
-	lm_connection_register_message_handler (sasl->connection,
-						sasl->success_cb,
-						LM_MESSAGE_TYPE_SUCCESS,
-						LM_HANDLER_PRIORITY_FIRST);
+    sasl->challenge_cb = lm_message_handler_new (sasl_challenge_cb,
+                                                 sasl,
+                                                 NULL);
+    lm_connection_register_message_handler (sasl->connection,
+                                            sasl->challenge_cb,
+                                            LM_MESSAGE_TYPE_CHALLENGE,
+                                            LM_HANDLER_PRIORITY_FIRST);
+    
+    sasl->success_cb = lm_message_handler_new (sasl_success_cb,
+                                               sasl,
+                                               NULL);
+    lm_connection_register_message_handler (sasl->connection,
+                                            sasl->success_cb,
+                                            LM_MESSAGE_TYPE_SUCCESS,
+                                            LM_HANDLER_PRIORITY_FIRST);
 
-	sasl->failure_cb = lm_message_handler_new (sasl_failure_cb,
-						   sasl,
-						   NULL);
-	lm_connection_register_message_handler (sasl->connection,
-						sasl->failure_cb,
-						LM_MESSAGE_TYPE_FAILURE,
-						LM_HANDLER_PRIORITY_FIRST);
+    sasl->failure_cb = lm_message_handler_new (sasl_failure_cb,
+                                               sasl,
+                                               NULL);
+    lm_connection_register_message_handler (sasl->connection,
+                                            sasl->failure_cb,
+                                            LM_MESSAGE_TYPE_FAILURE,
+                                            LM_HANDLER_PRIORITY_FIRST);
 
-	if (sasl->features_received) {
-		sasl_authenticate (sasl);
-	} else {
-		sasl->start_auth = TRUE;
-	}
+    if (sasl->features_received) {
+        sasl_authenticate (sasl);
+    } else {
+        sasl->start_auth = TRUE;
+    }
 }
 
 void
 lm_sasl_free (LmSASL *sasl)
 {
-	g_return_if_fail (sasl != NULL);
+    g_return_if_fail (sasl != NULL);
 
-	g_free (sasl->username);
-	g_free (sasl->password);
-	g_free (sasl->server);
+    g_free (sasl->username);
+    g_free (sasl->password);
+    g_free (sasl->server);
 
-	if (sasl->features_cb) {
-		lm_connection_unregister_message_handler (sasl->connection,
-							  sasl->features_cb, 
-							  LM_MESSAGE_TYPE_STREAM_FEATURES);
-	}
+    if (sasl->features_cb) {
+        lm_connection_unregister_message_handler (sasl->connection,
+                                                  sasl->features_cb, 
+                                                  LM_MESSAGE_TYPE_STREAM_FEATURES);
+    }
 
-	if (sasl->challenge_cb) {
-		lm_connection_unregister_message_handler (sasl->connection,
-							  sasl->challenge_cb,
-							  LM_MESSAGE_TYPE_CHALLENGE);
-	}
+    if (sasl->challenge_cb) {
+        lm_connection_unregister_message_handler (sasl->connection,
+                                                  sasl->challenge_cb,
+                                                  LM_MESSAGE_TYPE_CHALLENGE);
+    }
 
-	if (sasl->success_cb) {
-		lm_connection_unregister_message_handler (sasl->connection,
-							  sasl->success_cb,
-							  LM_MESSAGE_TYPE_SUCCESS);
-	}
+    if (sasl->success_cb) {
+        lm_connection_unregister_message_handler (sasl->connection,
+                                                  sasl->success_cb,
+                                                  LM_MESSAGE_TYPE_SUCCESS);
+    }
 
-	if (sasl->failure_cb) {
-		lm_connection_unregister_message_handler (sasl->connection,
-							  sasl->failure_cb,
-							  LM_MESSAGE_TYPE_FAILURE);
-	}
+    if (sasl->failure_cb) {
+        lm_connection_unregister_message_handler (sasl->connection,
+                                                  sasl->failure_cb,
+                                                  LM_MESSAGE_TYPE_FAILURE);
+    }
 
-	g_free (sasl);
+    g_free (sasl);
 }
 
 
 void
 lm_sasl_get_auth_params (LmSASL *sasl, const gchar **username,
-	const gchar **password)
+                         const gchar **password)
 {
-	*username = sasl->username;
-	*password = sasl->password;
+    *username = sasl->username;
+    *password = sasl->password;
 }
 
--- a/loudmouth/lm-sasl.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-sasl.h	Wed Oct 08 13:11:02 2008 +0200
@@ -32,23 +32,23 @@
 typedef struct _LmSASL LmSASL;
 
 typedef void (*LmSASLResultHandler) (LmSASL *sasl,
-				     LmConnection *connection,
-				     gboolean success,
-				     const gchar *reason);
+                                     LmConnection *connection,
+                                     gboolean success,
+                                     const gchar *reason);
 
 LmSASL *lm_sasl_new (LmConnection *connection);
 
 void lm_sasl_authenticate (LmSASL *sasl, 
-			   const gchar *username,
-			   const gchar *password,
-			   const gchar *server,
-			   LmSASLResultHandler handler);
+                           const gchar *username,
+                           const gchar *password,
+                           const gchar *server,
+                           LmSASLResultHandler handler);
 
 void lm_sasl_free (LmSASL *sasl);
 
 void
 lm_sasl_get_auth_params (LmSASL *sasl, const gchar **username,
-	const gchar **password);
+                         const gchar **password);
 
 G_END_DECLS
 
--- a/loudmouth/lm-sha.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-sha.c	Wed Oct 08 13:11:02 2008 +0200
@@ -52,13 +52,13 @@
 #define SHA1_HASH_WORDS 5
 
 struct _SHA1Context {
-  guint64 totalLength;
-  guint32 hash[SHA1_HASH_WORDS];
-  guint32 bufferLength;
-  union {
-    guint32 words[16];
-    guint8 bytes[64];
-  } buffer;
+        guint64 totalLength;
+        guint32 hash[SHA1_HASH_WORDS];
+        guint32 bufferLength;
+        union {
+                guint32 words[16];
+                guint8 bytes[64];
+        } buffer;
 };
 
 typedef struct _SHA1Context SHA1Context;
@@ -67,9 +67,9 @@
 extern "C" {
 #endif
 
-static void SHA1Init (SHA1Context *sc);
-static void SHA1Update (SHA1Context *sc, const void *udata, guint32 len);
-static void SHA1Final (SHA1Context *sc, guint8 hash[SHA1_HASH_SIZE]);
+        static void SHA1Init (SHA1Context *sc);
+        static void SHA1Update (SHA1Context *sc, const void *udata, guint32 len);
+        static void SHA1Final (SHA1Context *sc, guint8 hash[SHA1_HASH_SIZE]);
 
 #ifdef __cplusplus
 }
@@ -77,7 +77,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-	"$Id$";
+"$Id$";
 #endif /* !lint */
 
 #define ROTL(x, n) (((x) << (n)) | ((x) >> (32 - (n))))
@@ -112,14 +112,14 @@
 #else /* WORDS_BIGENDIAN */
 
 #define BYTESWAP(x) ((ROTR((x), 8) & 0xff00ff00L) | \
-		     (ROTL((x), 8) & 0x00ff00ffL))
+                     (ROTL((x), 8) & 0x00ff00ffL))
 #define BYTESWAP64(x) _byteswap64(x)
 
 static inline guint64 _byteswap64(guint64 x)
 {
-  guint32 a = x >> 32;
-  guint32 b = (guint32) x;
-  return ((guint64) BYTESWAP(b) << 32) | (guint64) BYTESWAP(a);
+        guint32 a = x >> 32;
+        guint32 b = (guint32) x;
+        return ((guint64) BYTESWAP(b) << 32) | (guint64) BYTESWAP(a);
 }
 
 #endif /* WORDS_BIGENDIAN */
@@ -132,469 +132,469 @@
 #define BYTESWAP64(x) _byteswap64(x)
 
 #define _BYTESWAP(x) ((ROTR((x), 8) & 0xff00ff00L) | \
-		      (ROTL((x), 8) & 0x00ff00ffL))
+                      (ROTL((x), 8) & 0x00ff00ffL))
 #define _BYTESWAP64(x) __byteswap64(x)
 
 static inline guint64 __byteswap64(guint64 x)
 {
-  guint32 a = x >> 32;
-  guint32 b = (guint32) x;
-  return ((guint64) _BYTESWAP(b) << 32) | (guint64) _BYTESWAP(a);
+        guint32 a = x >> 32;
+        guint32 b = (guint32) x;
+        return ((guint64) _BYTESWAP(b) << 32) | (guint64) _BYTESWAP(a);
 }
 
 static inline guint32 _byteswap(guint32 x)
 {
-  if (!littleEndian)
-    return x;
-  else
-    return _BYTESWAP(x);
+        if (!littleEndian)
+                return x;
+        else
+                return _BYTESWAP(x);
 }
 
 static inline guint64 _byteswap64(guint64 x)
 {
-  if (!littleEndian)
-    return x;
-  else
-    return _BYTESWAP64(x);
+        if (!littleEndian)
+                return x;
+        else
+                return _BYTESWAP64(x);
 }
 
 static inline void setEndian(void)
 {
-  union {
-    guint32 w;
-    guint8 b[4];
-  } endian;
+        union {
+                guint32 w;
+                guint8 b[4];
+        } endian;
 
-  endian.w = 1L;
-  littleEndian = endian.b[0] != 0;
+        endian.w = 1L;
+        littleEndian = endian.b[0] != 0;
 }
 
 #endif /* !RUNTIME_ENDIAN */
 
 static const guint8 padding[64] = {
-  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+        0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 
 static void
 SHA1Init (SHA1Context *sc)
 {
 #ifdef RUNTIME_ENDIAN
-  setEndian ();
+        setEndian ();
 #endif /* RUNTIME_ENDIAN */
 
 #ifdef G_OS_WIN32
-  sc->totalLength = 0L;
+        sc->totalLength = 0L;
 #else
-  sc->totalLength = 0LL;
+        sc->totalLength = 0LL;
 #endif
-  sc->hash[0] = 0x67452301L;
-  sc->hash[1] = 0xefcdab89L;
-  sc->hash[2] = 0x98badcfeL;
-  sc->hash[3] = 0x10325476L;
-  sc->hash[4] = 0xc3d2e1f0L;
-  sc->bufferLength = 0L;
+        sc->hash[0] = 0x67452301L;
+        sc->hash[1] = 0xefcdab89L;
+        sc->hash[2] = 0x98badcfeL;
+        sc->hash[3] = 0x10325476L;
+        sc->hash[4] = 0xc3d2e1f0L;
+        sc->bufferLength = 0L;
 }
 
 static void
 burnStack (int size)
 {
-  char buf[128];
+        char buf[128];
 
-  memset (buf, 0, sizeof (buf));
-  size -= sizeof (buf);
-  if (size > 0)
-    burnStack (size);
+        memset (buf, 0, sizeof (buf));
+        size -= sizeof (buf);
+        if (size > 0)
+                burnStack (size);
 }
 
 static void
 SHA1Guts (SHA1Context *sc, const guint32 *cbuf)
 {
-  guint32 buf[80];
-  guint32 *W, *W3, *W8, *W14, *W16;
-  guint32 a, b, c, d, e, temp;
-  int i;
+        guint32 buf[80];
+        guint32 *W, *W3, *W8, *W14, *W16;
+        guint32 a, b, c, d, e, temp;
+        int i;
 
-  W = buf;
+        W = buf;
 
-  for (i = 15; i >= 0; i--) {
-    *(W++) = BYTESWAP(*cbuf);
-    cbuf++;
-  }
+        for (i = 15; i >= 0; i--) {
+                *(W++) = BYTESWAP(*cbuf);
+                cbuf++;
+        }
 
-  W16 = &buf[0];
-  W14 = &buf[2];
-  W8 = &buf[8];
-  W3 = &buf[13];
+        W16 = &buf[0];
+        W14 = &buf[2];
+        W8 = &buf[8];
+        W3 = &buf[13];
 
-  for (i = 63; i >= 0; i--) {
-    *W = *(W3++) ^ *(W8++) ^ *(W14++) ^ *(W16++);
-    *W = ROTL(*W, 1);
-    W++;
-  }
+        for (i = 63; i >= 0; i--) {
+                *W = *(W3++) ^ *(W8++) ^ *(W14++) ^ *(W16++);
+                *W = ROTL(*W, 1);
+                W++;
+        }
 
-  a = sc->hash[0];
-  b = sc->hash[1];
-  c = sc->hash[2];
-  d = sc->hash[3];
-  e = sc->hash[4];
+        a = sc->hash[0];
+        b = sc->hash[1];
+        c = sc->hash[2];
+        d = sc->hash[3];
+        e = sc->hash[4];
 
-  W = buf;
+        W = buf;
 
 #ifndef SHA1_UNROLL
 #define SHA1_UNROLL 20
 #endif /* !SHA1_UNROLL */
 
 #if SHA1_UNROLL == 1
-  for (i = 19; i >= 0; i--)
-    DO_ROUND(F_0_19, K_0_19);
+        for (i = 19; i >= 0; i--)
+                DO_ROUND(F_0_19, K_0_19);
 
-  for (i = 19; i >= 0; i--)
-    DO_ROUND(F_20_39, K_20_39);
+        for (i = 19; i >= 0; i--)
+                DO_ROUND(F_20_39, K_20_39);
 
-  for (i = 19; i >= 0; i--)
-    DO_ROUND(F_40_59, K_40_59);
+        for (i = 19; i >= 0; i--)
+                DO_ROUND(F_40_59, K_40_59);
 
-  for (i = 19; i >= 0; i--)
-    DO_ROUND(F_60_79, K_60_79);
+        for (i = 19; i >= 0; i--)
+                DO_ROUND(F_60_79, K_60_79);
 #elif SHA1_UNROLL == 2
-  for (i = 9; i >= 0; i--) {
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-  }
+        for (i = 9; i >= 0; i--) {
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+        }
 
-  for (i = 9; i >= 0; i--) {
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-  }
+        for (i = 9; i >= 0; i--) {
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+        }
 
-  for (i = 9; i >= 0; i--) {
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-  }
+        for (i = 9; i >= 0; i--) {
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+        }
 
-  for (i = 9; i >= 0; i--) {
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-  }
+        for (i = 9; i >= 0; i--) {
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+        }
 #elif SHA1_UNROLL == 4
-  for (i = 4; i >= 0; i--) {
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-  }
+        for (i = 4; i >= 0; i--) {
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+        }
 
-  for (i = 4; i >= 0; i--) {
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-  }
+        for (i = 4; i >= 0; i--) {
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+        }
 
-  for (i = 4; i >= 0; i--) {
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-  }
+        for (i = 4; i >= 0; i--) {
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+        }
 
-  for (i = 4; i >= 0; i--) {
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-  }
+        for (i = 4; i >= 0; i--) {
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+        }
 #elif SHA1_UNROLL == 5
-  for (i = 3; i >= 0; i--) {
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-  }
+        for (i = 3; i >= 0; i--) {
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+        }
 
-  for (i = 3; i >= 0; i--) {
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-  }
+        for (i = 3; i >= 0; i--) {
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+        }
 
-  for (i = 3; i >= 0; i--) {
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-  }
+        for (i = 3; i >= 0; i--) {
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+        }
 
-  for (i = 3; i >= 0; i--) {
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-  }
+        for (i = 3; i >= 0; i--) {
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+        }
 #elif SHA1_UNROLL == 10
-  for (i = 1; i >= 0; i--) {
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-    DO_ROUND(F_0_19, K_0_19);
-  }
+        for (i = 1; i >= 0; i--) {
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+                DO_ROUND(F_0_19, K_0_19);
+        }
 
-  for (i = 1; i >= 0; i--) {
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-    DO_ROUND(F_20_39, K_20_39);
-  }
+        for (i = 1; i >= 0; i--) {
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+                DO_ROUND(F_20_39, K_20_39);
+        }
 
-  for (i = 1; i >= 0; i--) {
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-    DO_ROUND(F_40_59, K_40_59);
-  }
+        for (i = 1; i >= 0; i--) {
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+                DO_ROUND(F_40_59, K_40_59);
+        }
 
-  for (i = 1; i >= 0; i--) {
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-    DO_ROUND(F_60_79, K_60_79);
-  }
+        for (i = 1; i >= 0; i--) {
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+                DO_ROUND(F_60_79, K_60_79);
+        }
 #elif SHA1_UNROLL == 20
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
-  DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
+        DO_ROUND(F_0_19, K_0_19);
 
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
-  DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
+        DO_ROUND(F_20_39, K_20_39);
 
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
-  DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
+        DO_ROUND(F_40_59, K_40_59);
 
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
-  DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
+        DO_ROUND(F_60_79, K_60_79);
 #else /* SHA1_UNROLL */
 #error SHA1_UNROLL must be 1, 2, 4, 5, 10 or 20!
 #endif
 
-  sc->hash[0] += a;
-  sc->hash[1] += b;
-  sc->hash[2] += c;
-  sc->hash[3] += d;
-  sc->hash[4] += e;
+        sc->hash[0] += a;
+        sc->hash[1] += b;
+        sc->hash[2] += c;
+        sc->hash[3] += d;
+        sc->hash[4] += e;
 }
 
 static void
 SHA1Update (SHA1Context *sc, const void *udata, guint32 len)
 {
-  guint32 bufferBytesLeft;
-  guint32 bytesToCopy;
-  int needBurn = 0;
-  guint8 *data = (guint8 *)udata;
+        guint32 bufferBytesLeft;
+        guint32 bytesToCopy;
+        int needBurn = 0;
+        guint8 *data = (guint8 *)udata;
 
 #ifdef SHA1_FAST_COPY
-  if (sc->bufferLength) {
-    bufferBytesLeft = 64L - sc->bufferLength;
+        if (sc->bufferLength) {
+                bufferBytesLeft = 64L - sc->bufferLength;
 
-    bytesToCopy = bufferBytesLeft;
-    if (bytesToCopy > len)
-      bytesToCopy = len;
+                bytesToCopy = bufferBytesLeft;
+                if (bytesToCopy > len)
+                        bytesToCopy = len;
 
-    memcpy (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy);
+                memcpy (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy);
 
-    sc->totalLength += bytesToCopy * 8L;
+                sc->totalLength += bytesToCopy * 8L;
 
-    sc->bufferLength += bytesToCopy;
-    data += bytesToCopy;
-    len -= bytesToCopy;
+                sc->bufferLength += bytesToCopy;
+                data += bytesToCopy;
+                len -= bytesToCopy;
 
-    if (sc->bufferLength == 64L) {
-      SHA1Guts (sc, sc->buffer.words);
-      needBurn = 1;
-      sc->bufferLength = 0L;
-    }
-  }
+                if (sc->bufferLength == 64L) {
+                        SHA1Guts (sc, sc->buffer.words);
+                        needBurn = 1;
+                        sc->bufferLength = 0L;
+                }
+        }
 
-  while (len > 63) {
-    sc->totalLength += 512L;
+        while (len > 63) {
+                sc->totalLength += 512L;
 
-    SHA1Guts (sc, data);
-    needBurn = 1;
+                SHA1Guts (sc, data);
+                needBurn = 1;
 
-    data += 64L;
-    len -= 64L;
-  }
+                data += 64L;
+                len -= 64L;
+        }
 
-  if (len) {
-    memcpy (&sc->buffer.bytes[sc->bufferLength], data, len);
+        if (len) {
+                memcpy (&sc->buffer.bytes[sc->bufferLength], data, len);
 
-    sc->totalLength += len * 8L;
+                sc->totalLength += len * 8L;
 
-    sc->bufferLength += len;
-  }
+                sc->bufferLength += len;
+        }
 #else /* SHA1_FAST_COPY */
-  while (len) {
-    bufferBytesLeft = 64L - sc->bufferLength;
+        while (len) {
+                bufferBytesLeft = 64L - sc->bufferLength;
 
-    bytesToCopy = bufferBytesLeft;
-    if (bytesToCopy > len)
-      bytesToCopy = len;
+                bytesToCopy = bufferBytesLeft;
+                if (bytesToCopy > len)
+                        bytesToCopy = len;
 
-    memcpy (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy);
+                memcpy (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy);
 
-    sc->totalLength += bytesToCopy * 8L;
+                sc->totalLength += bytesToCopy * 8L;
 
-    sc->bufferLength += bytesToCopy;
-    data += bytesToCopy;
-    len -= bytesToCopy;
+                sc->bufferLength += bytesToCopy;
+                data += bytesToCopy;
+                len -= bytesToCopy;
 
-    if (sc->bufferLength == 64L) {
-      SHA1Guts (sc, sc->buffer.words);
-      needBurn = 1;
-      sc->bufferLength = 0L;
-    }
-  }
+                if (sc->bufferLength == 64L) {
+                        SHA1Guts (sc, sc->buffer.words);
+                        needBurn = 1;
+                        sc->bufferLength = 0L;
+                }
+        }
 #endif /* SHA1_FAST_COPY */
 
-  if (needBurn)
-    burnStack (sizeof (guint32[86]) + sizeof (guint32 *[5]) + sizeof (int));
+        if (needBurn)
+                burnStack (sizeof (guint32[86]) + sizeof (guint32 *[5]) + sizeof (int));
 }
 
 static void
 SHA1Final (SHA1Context *sc, guint8 hash[SHA1_HASH_SIZE])
 {
-  guint32 bytesToPad;
-  guint64 lengthPad;
-  int i;
+        guint32 bytesToPad;
+        guint64 lengthPad;
+        int i;
 
-  bytesToPad = 120L - sc->bufferLength;
-  if (bytesToPad > 64L)
-    bytesToPad -= 64L;
+        bytesToPad = 120L - sc->bufferLength;
+        if (bytesToPad > 64L)
+                bytesToPad -= 64L;
 
-  lengthPad = BYTESWAP64(sc->totalLength);
+        lengthPad = BYTESWAP64(sc->totalLength);
 
-  SHA1Update (sc, padding, bytesToPad);
-  SHA1Update (sc, &lengthPad, 8L);
+        SHA1Update (sc, padding, bytesToPad);
+        SHA1Update (sc, &lengthPad, 8L);
 
-  if (hash) {
-    for (i = 0; i < SHA1_HASH_WORDS; i++) {
+        if (hash) {
+                for (i = 0; i < SHA1_HASH_WORDS; i++) {
 #ifdef SHA1_FAST_COPY
-      *((guint32 *) hash) = BYTESWAP(sc->hash[i]);
+                        *((guint32 *) hash) = BYTESWAP(sc->hash[i]);
 #else /* SHA1_FAST_COPY */
-      hash[0] = (guint8) (sc->hash[i] >> 24);
-      hash[1] = (guint8) (sc->hash[i] >> 16);
-      hash[2] = (guint8) (sc->hash[i] >> 8);
-      hash[3] = (guint8) sc->hash[i];
+                        hash[0] = (guint8) (sc->hash[i] >> 24);
+                        hash[1] = (guint8) (sc->hash[i] >> 16);
+                        hash[2] = (guint8) (sc->hash[i] >> 8);
+                        hash[3] = (guint8) sc->hash[i];
 #endif /* SHA1_FAST_COPY */
-      hash += 4;
-    }
-  }
+                        hash += 4;
+                }
+        }
 }
 
 /**
@@ -608,24 +608,24 @@
 gchar *
 lm_sha_hash (const gchar *str)
 {
-	gchar        *ret_val;
-	SHA1Context   ctx;
-	guint8        hash[SHA1_HASH_SIZE];
-	gchar        *ch;
-	guint         i;
+        gchar        *ret_val;
+        SHA1Context   ctx;
+        guint8        hash[SHA1_HASH_SIZE];
+        gchar        *ch;
+        guint         i;
 
-	ret_val = g_malloc (SHA1_HASH_SIZE*2 + 1);
+        ret_val = g_malloc (SHA1_HASH_SIZE*2 + 1);
 
-	SHA1Init (&ctx);
-	SHA1Update (&ctx, str, strlen (str));
-	SHA1Final (&ctx, hash);
+        SHA1Init (&ctx);
+        SHA1Update (&ctx, str, strlen (str));
+        SHA1Final (&ctx, hash);
 
-	ch = ret_val;
+        ch = ret_val;
 
-	for (i = 0; i < SHA1_HASH_SIZE; ++i) {
-		g_snprintf (ch, 3, "%02x", hash[i]);
-		ch += 2;
-	}
+        for (i = 0; i < SHA1_HASH_SIZE; ++i) {
+                g_snprintf (ch, 3, "%02x", hash[i]);
+                ch += 2;
+        }
 
-	return ret_val;
+        return ret_val;
 }
--- a/loudmouth/lm-simple-io.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-simple-io.c	Wed Oct 08 13:11:02 2008 +0200
@@ -28,7 +28,7 @@
 
 typedef struct LmSimpleIOPriv LmSimpleIOPriv;
 struct LmSimpleIOPriv {
-	gint my_prop;
+    gint my_prop;
 };
 
 static void     simple_io_finalize            (GObject           *object);
@@ -52,53 +52,53 @@
                                                 simple_io_writer_iface_init))
 
 enum {
-	PROP_0,
-	PROP_MY_PROP
+    PROP_0,
+    PROP_MY_PROP
 };
 
 static void
 lm_simple_io_class_init (LmSimpleIOClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = simple_io_finalize;
-	object_class->get_property = simple_io_get_property;
-	object_class->set_property = simple_io_set_property;
+    object_class->finalize     = simple_io_finalize;
+    object_class->get_property = simple_io_get_property;
+    object_class->set_property = simple_io_set_property;
 
-	g_object_class_install_property (object_class,
-					 PROP_MY_PROP,
-					 g_param_spec_string ("my-prop",
-							      "My Prop",
-							      "My Property",
-							      NULL,
-							      G_PARAM_READWRITE));
-	
-	g_type_class_add_private (object_class, sizeof (LmSimpleIOPriv));
+    g_object_class_install_property (object_class,
+                                     PROP_MY_PROP,
+                                     g_param_spec_string ("my-prop",
+                                                          "My Prop",
+                                                          "My Property",
+                                                          NULL,
+                                                          G_PARAM_READWRITE));
+    
+    g_type_class_add_private (object_class, sizeof (LmSimpleIOPriv));
 }
 
 static void
 lm_simple_io_init (LmSimpleIO *simple_io)
 {
-	LmSimpleIOPriv *priv;
+    LmSimpleIOPriv *priv;
 
-	priv = GET_PRIV (simple_io);
+    priv = GET_PRIV (simple_io);
 }
 
 static void
 simple_io_finalize (GObject *object)
 {
-	LmSimpleIOPriv *priv;
+    LmSimpleIOPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	(G_OBJECT_CLASS (lm_simple_io_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_simple_io_parent_class)->finalize) (object);
 }
 
 static void
 simple_io_writer_iface_init (LmXmppWriterIface *iface)
 {
-        iface->send_message = simple_io_send_message;
-        iface->send_text    = simple_io_send_text;
+    iface->send_message = simple_io_send_message;
+    iface->send_text    = simple_io_send_text;
 }
 
 static void
@@ -107,18 +107,18 @@
                         GValue     *value,
                         GParamSpec *pspec)
 {
-	LmSimpleIOPriv *priv;
+    LmSimpleIOPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		g_value_set_int (value, priv->my_prop);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        g_value_set_int (value, priv->my_prop);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
@@ -127,18 +127,18 @@
                         const GValue *value,
                         GParamSpec   *pspec)
 {
-	LmSimpleIOPriv *priv;
+    LmSimpleIOPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		priv->my_prop = g_value_get_int (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        priv->my_prop = g_value_get_int (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
--- a/loudmouth/lm-simple-io.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-simple-io.h	Wed Oct 08 13:11:02 2008 +0200
@@ -36,11 +36,11 @@
 typedef struct LmSimpleIOClass LmSimpleIOClass;
 
 struct LmSimpleIO {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmSimpleIOClass {
-	GObjectClass parent_class;
+    GObjectClass parent_class;
 };
 
 GType   lm_simple_io_get_type  (void);
--- a/loudmouth/lm-sock.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-sock.c	Wed Oct 08 13:11:02 2008 +0200
@@ -63,313 +63,313 @@
 _lm_sock_library_init (void)
 {
 #ifdef G_OS_WIN32
-	WORD    version;
-	WSADATA data;
-	int     error;
+    WORD    version;
+    WSADATA data;
+    int     error;
 #endif /* G_OS_WIN32 */
-	
-	if (initialised) {
-		return TRUE;
-	}
+    
+    if (initialised) {
+        return TRUE;
+    }
 
-	lm_verbose ("Socket library initialising...\n");
-	
+    lm_verbose ("Socket library initialising...\n");
+    
 #ifdef G_OS_WIN32
-	lm_verbose ("Checking for winsock 2.0 or above...\n");
-	
-	version = MAKEWORD (2, 0);
-		
-	error = WSAStartup (version, &data);
-	if (error != 0) {
-		g_printerr ("WSAStartup() failed, error:%d\n", error);
-		return FALSE;
-	}
-	
-	/* Confirm that the WinSock DLL supports 2.0.
-	 * Note that if the DLL supports versions greater  
-	 * than 2.0 in addition to 2.0, it will still return 
-	 * 2.0 in wVersion since that is the version we      
-	 * requested.                                        
-	 */
-	if (LOBYTE (data.wVersion) != 2 ||
-	    HIBYTE (data.wVersion) != 0) {
-		/* Tell the user that we could not find a usable
-		 * WinSock DLL.                                  
-		 */
-		g_printerr ("Socket library version is not sufficient!\n");
-		WSACleanup ();
-		return FALSE;
-	}
+    lm_verbose ("Checking for winsock 2.0 or above...\n");
+    
+    version = MAKEWORD (2, 0);
+        
+    error = WSAStartup (version, &data);
+    if (error != 0) {
+        g_printerr ("WSAStartup() failed, error:%d\n", error);
+        return FALSE;
+    }
+    
+    /* Confirm that the WinSock DLL supports 2.0.
+     * Note that if the DLL supports versions greater  
+     * than 2.0 in addition to 2.0, it will still return 
+     * 2.0 in wVersion since that is the version we      
+     * requested.                                        
+     */
+    if (LOBYTE (data.wVersion) != 2 ||
+        HIBYTE (data.wVersion) != 0) {
+        /* Tell the user that we could not find a usable
+         * WinSock DLL.                                  
+         */
+        g_printerr ("Socket library version is not sufficient!\n");
+        WSACleanup ();
+        return FALSE;
+    }
 #endif /* G_OS_WIN32 */
 
-	initialised = TRUE;
-	
-	return TRUE;
+    initialised = TRUE;
+    
+    return TRUE;
 }
 
 void
 _lm_sock_library_shutdown (void)
 {
-	if (!initialised) {
-		return;
-	}
+    if (!initialised) {
+        return;
+    }
 
-	lm_verbose ("Socket library shutting down...\n");
+    lm_verbose ("Socket library shutting down...\n");
 
 #ifdef G_OS_WIN32
-	WSACleanup ();
+    WSACleanup ();
 #endif /* G_OS_WIN32 */
 
-	initialised = FALSE;
+    initialised = FALSE;
 }
 
 void
 _lm_sock_set_blocking (LmOldSocketT sock, 
-		       gboolean block)
+                       gboolean block)
 {
-	int res;
+    int res;
 
 #ifndef G_OS_WIN32
-	res = fcntl (sock, F_SETFL, block ? 0 : O_NONBLOCK);
+    res = fcntl (sock, F_SETFL, block ? 0 : O_NONBLOCK);
 #else  /* G_OS_WIN32 */
-	u_long mode = (block ? 0 : 1);
-	res = ioctlsocket (sock, FIONBIO, &mode);
+    u_long mode = (block ? 0 : 1);
+    res = ioctlsocket (sock, FIONBIO, &mode);
 #endif /* G_OS_WIN32 */
 
-	if (res != 0) {
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
-		       "Could not set connection to be %s\n",
-		       block ? "blocking" : "non-blocking");
-	}
+    if (res != 0) {
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_NET,
+               "Could not set connection to be %s\n",
+               block ? "blocking" : "non-blocking");
+    }
 }
 
 void
 _lm_sock_shutdown (LmOldSocketT sock)
 {
-	shutdown (sock, LM_SHUTDOWN);
+    shutdown (sock, LM_SHUTDOWN);
 }
 
 void
 _lm_sock_close (LmOldSocketT sock)
 {
 #ifndef G_OS_WIN32
-	close (sock);
+    close (sock);
 #else  /* G_OS_WIN32 */
-	closesocket (sock);
+    closesocket (sock);
 #endif /* G_OS_WIN32 */
 }
 
 LmOldSocketT
 _lm_sock_makesocket (int af,
-		     int type, 
-		     int protocol)
+                     int type, 
+                     int protocol)
 {
-	return (LmOldSocketT)socket (af, type, protocol);
+    return (LmOldSocketT)socket (af, type, protocol);
 }
 
 int 
 _lm_sock_connect (LmOldSocketT               sock, 
-		  const struct sockaddr *name, 
-		  int                    namelen)
+                  const struct sockaddr *name, 
+                  int                    namelen)
 {
-	return connect (sock, name, namelen);
+    return connect (sock, name, namelen);
 }
 
 gboolean
 _lm_sock_is_blocking_error (int err)
 {
 #ifndef G_OS_WIN32
-	return (err == _LM_SOCK_EINPROGRESS);
+    return (err == _LM_SOCK_EINPROGRESS);
 #else  /* G_OS_WIN32 */
-	return (err == _LM_SOCK_EINPROGRESS || 
-		err == _LM_SOCK_EWOULDBLOCK || 
-		err == _LM_SOCK_EINVAL);
+    return (err == _LM_SOCK_EINPROGRESS || 
+            err == _LM_SOCK_EWOULDBLOCK || 
+            err == _LM_SOCK_EINVAL);
 #endif /* G_OS_WIN32 */
 }
 
 gboolean
 _lm_sock_is_blocking_success (int err)
 {
-	return (err == _LM_SOCK_EALREADY || err == _LM_SOCK_EISCONN);
+    return (err == _LM_SOCK_EALREADY || err == _LM_SOCK_EISCONN);
 }
 
 int 
 _lm_sock_get_last_error (void)
 {
 #ifndef G_OS_WIN32
-	return errno;
+    return errno;
 #else  /* G_OS_WIN32 */
-	return WSAGetLastError ();
+    return WSAGetLastError ();
 #endif /* G_OS_WIN32 */
 }
 
 void 
 _lm_sock_get_error (LmOldSocketT   sock, 
-		    void      *error, 
-		    socklen_t *len)
+                    void      *error, 
+                    socklen_t *len)
 {
-	getsockopt (sock, SOL_SOCKET, SO_ERROR, (void*) error, len);
+    getsockopt (sock, SOL_SOCKET, SO_ERROR, (void*) error, len);
 }
 
 const gchar *
 _lm_sock_get_error_str (int err)
 {
 #ifndef G_OS_WIN32
-	return strerror (err);
+    return strerror (err);
 #else  /* G_OS_WIN32 */
-	switch (err) {
-	case WSAEINTR:              return _("Connect interrupted and canceled");
-	case WSAEACCES:             return _("Permission denied"); 
-	case WSAEFAULT:             return _("Bad address");
-	case WSAEINVAL:             return _("Invalid argument");
-	case WSAEMFILE:             return _("Too many open sockets");
-	case WSAEWOULDBLOCK:        return _("Resource temporarily unavailable");
-	case WSAEINPROGRESS:        return _("Operation now in progress");
-	case WSAEALREADY:           return _("Operation already in progress");
-	case WSAENOTSOCK:           return _("Socket operation on nonsocket");
-	case WSAEDESTADDRREQ:       return _("Destination address required");
-	case WSAEMSGSIZE:           return _("Message too long");
-	case WSAEPROTOTYPE:         return _("Protocol wrong type for socket");
-	case WSAENOPROTOOPT:        return _("Bad protocol option");
-	case WSAEPROTONOSUPPORT:    return _("Protocol not supported");
-	case WSAESOCKTNOSUPPORT:    return _("Socket type not supported");
-	case WSAEOPNOTSUPP:         return _("Operation not supported");
-	case WSAEPFNOSUPPORT:       return _("Protocol family not supported");
-	case WSAEAFNOSUPPORT:       return _("Address family not supported by protocol family");
-	case WSAEADDRINUSE:         return _("Address already in use");
-	case WSAEADDRNOTAVAIL:      return _("Can not assign requested address");
-	case WSAENETDOWN:           return _("Network is down");
-	case WSAENETUNREACH:        return _("Network is unreachable");
-	case WSAENETRESET:          return _("Network dropped connection on reset");
-	case WSAECONNABORTED:       return _("Software caused connection abort");
-	case WSAECONNRESET:         return _("Connection reset by peer");
-	case WSAENOBUFS:            return _("No buffer space available");
-	case WSAEISCONN:            return _("Socket is already connected");
-	case WSAENOTCONN:           return _("Socket is not connected");
-	case WSAESHUTDOWN:          return _("Can not send after socket shutdown");
-	case WSAETIMEDOUT:          return _("Connection timed out");
-	case WSAECONNREFUSED:       return _("Connection refused");
-	case WSAEHOSTDOWN:          return _("Host is down");
-	case WSAEHOSTUNREACH:       return _("No route to host");
-	case WSAEPROCLIM:           return _("Too many processes");
-	case WSASYSNOTREADY:        return _("Network subsystem is unavailable");
-	case WSAVERNOTSUPPORTED:    return _("Winsock library version is out of range ");
-	case WSANOTINITIALISED:     return _("Successful WSAStartup not yet performed");
-	case WSAEDISCON:            return _("Graceful shutdown in progress");
-	case WSATYPE_NOT_FOUND:     return _("Class type not found");
-	case WSAHOST_NOT_FOUND:     return _("Host not found");
-	case WSATRY_AGAIN:          return _("Nonauthoritative host not found");
-	case WSANO_RECOVERY:        return _("This is a nonrecoverable error");
-	case WSANO_DATA:            return _("Valid name, no data record of requested type");
-	case WSA_INVALID_HANDLE:    return _("Specified event object handle is invalid");
-	case WSA_INVALID_PARAMETER: return _("One or more parameters are invalid");
-	case WSA_IO_INCOMPLETE:     return _("Overlapped I/O event object no in signaled state");
-	case WSA_IO_PENDING:        return _("Overlapped operations will complete later");
-	case WSA_NOT_ENOUGH_MEMORY: return _("Insufficient memory available");
-	case WSA_OPERATION_ABORTED: return _("Overlapped operation aborted");
-		/* os dependent */
-	case WSASYSCALLFAILURE:     return _("System call failure");
-	}
-	
-	return _("Unknown");
+    switch (err) {
+    case WSAEINTR:              return _("Connect interrupted and canceled");
+    case WSAEACCES:             return _("Permission denied"); 
+    case WSAEFAULT:             return _("Bad address");
+    case WSAEINVAL:             return _("Invalid argument");
+    case WSAEMFILE:             return _("Too many open sockets");
+    case WSAEWOULDBLOCK:        return _("Resource temporarily unavailable");
+    case WSAEINPROGRESS:        return _("Operation now in progress");
+    case WSAEALREADY:           return _("Operation already in progress");
+    case WSAENOTSOCK:           return _("Socket operation on nonsocket");
+    case WSAEDESTADDRREQ:       return _("Destination address required");
+    case WSAEMSGSIZE:           return _("Message too long");
+    case WSAEPROTOTYPE:         return _("Protocol wrong type for socket");
+    case WSAENOPROTOOPT:        return _("Bad protocol option");
+    case WSAEPROTONOSUPPORT:    return _("Protocol not supported");
+    case WSAESOCKTNOSUPPORT:    return _("Socket type not supported");
+    case WSAEOPNOTSUPP:         return _("Operation not supported");
+    case WSAEPFNOSUPPORT:       return _("Protocol family not supported");
+    case WSAEAFNOSUPPORT:       return _("Address family not supported by protocol family");
+    case WSAEADDRINUSE:         return _("Address already in use");
+    case WSAEADDRNOTAVAIL:      return _("Can not assign requested address");
+    case WSAENETDOWN:           return _("Network is down");
+    case WSAENETUNREACH:        return _("Network is unreachable");
+    case WSAENETRESET:          return _("Network dropped connection on reset");
+    case WSAECONNABORTED:       return _("Software caused connection abort");
+    case WSAECONNRESET:         return _("Connection reset by peer");
+    case WSAENOBUFS:            return _("No buffer space available");
+    case WSAEISCONN:            return _("Socket is already connected");
+    case WSAENOTCONN:           return _("Socket is not connected");
+    case WSAESHUTDOWN:          return _("Can not send after socket shutdown");
+    case WSAETIMEDOUT:          return _("Connection timed out");
+    case WSAECONNREFUSED:       return _("Connection refused");
+    case WSAEHOSTDOWN:          return _("Host is down");
+    case WSAEHOSTUNREACH:       return _("No route to host");
+    case WSAEPROCLIM:           return _("Too many processes");
+    case WSASYSNOTREADY:        return _("Network subsystem is unavailable");
+    case WSAVERNOTSUPPORTED:    return _("Winsock library version is out of range ");
+    case WSANOTINITIALISED:     return _("Successful WSAStartup not yet performed");
+    case WSAEDISCON:            return _("Graceful shutdown in progress");
+    case WSATYPE_NOT_FOUND:     return _("Class type not found");
+    case WSAHOST_NOT_FOUND:     return _("Host not found");
+    case WSATRY_AGAIN:          return _("Nonauthoritative host not found");
+    case WSANO_RECOVERY:        return _("This is a nonrecoverable error");
+    case WSANO_DATA:            return _("Valid name, no data record of requested type");
+    case WSA_INVALID_HANDLE:    return _("Specified event object handle is invalid");
+    case WSA_INVALID_PARAMETER: return _("One or more parameters are invalid");
+    case WSA_IO_INCOMPLETE:     return _("Overlapped I/O event object no in signaled state");
+    case WSA_IO_PENDING:        return _("Overlapped operations will complete later");
+    case WSA_NOT_ENOUGH_MEMORY: return _("Insufficient memory available");
+    case WSA_OPERATION_ABORTED: return _("Overlapped operation aborted");
+        /* os dependent */
+    case WSASYSCALLFAILURE:     return _("System call failure");
+    }
+    
+    return _("Unknown");
 #endif /* G_OS_WIN32 */
 }
 
 const gchar *
 _lm_sock_addrinfo_get_error_str (int err)
 {
-	switch (err) {
-	case EAI_AGAIN:    
-		return _("The nameserver failed to return an "
-			 "address, try again later");
-	case EAI_BADFLAGS: 
-		return _("Internal error trying to obtain remote address");
-	case EAI_FAIL:     
-		return _("The nameserver encountered errors "
-			 "looking up this address");
-	/* EAI_NODATA is apparently missing on FreeBSD. On recent GNU libc,
-	 * it requires _GNU_SOURCE to be defined; in the unlikely case that
-	 * that GNU libc returns this value we'll return the default message */
+    switch (err) {
+    case EAI_AGAIN:    
+        return _("The nameserver failed to return an "
+                 "address, try again later");
+    case EAI_BADFLAGS: 
+        return _("Internal error trying to obtain remote address");
+    case EAI_FAIL:     
+        return _("The nameserver encountered errors "
+                 "looking up this address");
+        /* EAI_NODATA is apparently missing on FreeBSD. On recent GNU libc,
+         * it requires _GNU_SOURCE to be defined; in the unlikely case that
+         * that GNU libc returns this value we'll return the default message */
 #ifdef EAI_NODATA
-	case EAI_NODATA:   
-		return _("The remote host exists but no address "
-			 "is available");
+    case EAI_NODATA:   
+        return _("The remote host exists but no address "
+                 "is available");
 #endif
-	case EAI_NONAME:   
-		return _("The remote address is unknown");
-	case EAI_FAMILY:
-	case EAI_SERVICE:
-	case EAI_SOCKTYPE:
-		return _("The remote address is not obtainable "
-			 "for that socket type.");
-	default:
-		break;
-	}
+    case EAI_NONAME:   
+        return _("The remote address is unknown");
+    case EAI_FAMILY:
+    case EAI_SERVICE:
+    case EAI_SOCKTYPE:
+        return _("The remote address is not obtainable "
+                 "for that socket type.");
+    default:
+        break;
+    }
 
-	return _("The remote address could not be obtained ");
+    return _("The remote address could not be obtained ");
 }
 
 #ifdef USE_TCP_KEEPALIVES
 gboolean
 _lm_sock_set_keepalive (LmOldSocketT sock, int delay)
 {
-	int opt;
+    int opt;
 
-	opt = 1;
-	if (setsockopt (sock, SOL_SOCKET, SO_KEEPALIVE, &opt, sizeof (opt)) < 0) {
-		return FALSE;
-	}
+    opt = 1;
+    if (setsockopt (sock, SOL_SOCKET, SO_KEEPALIVE, &opt, sizeof (opt)) < 0) {
+        return FALSE;
+    }
 
-	opt = 3; /* 3 keepalives before considering connection dead */
-	if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPCNT, &opt, sizeof (opt)) < 0) {
-		return FALSE;
-	}
+    opt = 3; /* 3 keepalives before considering connection dead */
+    if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPCNT, &opt, sizeof (opt)) < 0) {
+        return FALSE;
+    }
 
-	opt = delay;
-	if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPIDLE, &opt, sizeof (opt)) < 0) {
-		return FALSE;
-	}
+    opt = delay;
+    if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPIDLE, &opt, sizeof (opt)) < 0) {
+        return FALSE;
+    }
 
-	opt = delay; 
-	if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPINTVL, &opt, sizeof (opt)) < 0) {
-		return FALSE;
-	}
+    opt = delay; 
+    if (setsockopt (sock, IPPROTO_TCP, TCP_KEEPINTVL, &opt, sizeof (opt)) < 0) {
+        return FALSE;
+    }
 
-	return TRUE;
+    return TRUE;
 }
 #endif /* USE_TCP_KEEPALIVES */
 
 gchar *
 _lm_sock_get_local_host (LmOldSocketT sock)
 {
-	struct sockaddr      addr_info;
-	void                *sock_addr;
-	socklen_t            namelen;
-	char                 addrbuf[IPV6_MAX_ADDRESS_LEN];
-	const char          *host;
+    struct sockaddr      addr_info;
+    void                *sock_addr;
+    socklen_t            namelen;
+    char                 addrbuf[IPV6_MAX_ADDRESS_LEN];
+    const char          *host;
 
-	namelen = sizeof (struct sockaddr);
-	if (getsockname (sock, &addr_info, &namelen)) {
-		return NULL;
-	}
+    namelen = sizeof (struct sockaddr);
+    if (getsockname (sock, &addr_info, &namelen)) {
+        return NULL;
+    }
 
-	switch (addr_info.sa_family) {
-		case AF_INET: 
-			
-			sock_addr = & (((struct sockaddr_in *) &addr_info)->sin_addr);
-			break;
-		case AF_INET6:
-			sock_addr = & (((struct sockaddr_in6 *) &addr_info)->sin6_addr);
-			break;
-		default:
-			return NULL;
-	}
-	/* inet_ntoa has been obsoleted in favour of inet_ntop */
-	host = inet_ntop (addr_info.sa_family,
-			  sock_addr,
-			  addrbuf,
-			  IPV6_MAX_ADDRESS_LEN);
+    switch (addr_info.sa_family) {
+    case AF_INET: 
+            
+        sock_addr = & (((struct sockaddr_in *) &addr_info)->sin_addr);
+        break;
+    case AF_INET6:
+        sock_addr = & (((struct sockaddr_in6 *) &addr_info)->sin6_addr);
+        break;
+    default:
+        return NULL;
+    }
+    /* inet_ntoa has been obsoleted in favour of inet_ntop */
+    host = inet_ntop (addr_info.sa_family,
+                      sock_addr,
+                      addrbuf,
+                      IPV6_MAX_ADDRESS_LEN);
 
-	return g_strdup (host);
+    return g_strdup (host);
 }
 
--- a/loudmouth/lm-socket.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-socket.c	Wed Oct 08 13:11:02 2008 +0200
@@ -26,10 +26,10 @@
 static void    socket_base_init (LmSocketIface *iface);
 
 enum {
-        READABLE,
-        WRITABLE,
-        DISCONNECTED,
-        LAST_SIGNAL
+    READABLE,
+    WRITABLE,
+    DISCONNECTED,
+    LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
@@ -37,106 +37,106 @@
 GType
 lm_socket_get_type (void)
 {
-	static GType iface_type = 0;
+    static GType iface_type = 0;
 
-	if (!iface_type) {
-		static const GTypeInfo iface_info = {
-			sizeof (LmSocketIface),
-			(GBaseInitFunc)     socket_base_init,
-			(GBaseFinalizeFunc) NULL,
-		};
+    if (!iface_type) {
+        static const GTypeInfo iface_info = {
+            sizeof (LmSocketIface),
+            (GBaseInitFunc)     socket_base_init,
+            (GBaseFinalizeFunc) NULL,
+        };
 
-		iface_type = g_type_register_static (G_TYPE_INTERFACE,
-						     "LmSocketIface",
-						     &iface_info,
-						     0);
+        iface_type = g_type_register_static (G_TYPE_INTERFACE,
+                                             "LmSocketIface",
+                                             &iface_info,
+                                             0);
 
-		g_type_interface_add_prerequisite (iface_type, G_TYPE_OBJECT);
-	}
+        g_type_interface_add_prerequisite (iface_type, G_TYPE_OBJECT);
+    }
 
-	return iface_type;
+    return iface_type;
 }
 
 static void
 socket_base_init (LmSocketIface *iface)
 {
-	static gboolean initialized = FALSE;
+    static gboolean initialized = FALSE;
 
-	if (!initialized) {
-                signals[READABLE] =
-                        g_signal_new ("readable",
-                                      LM_TYPE_SOCKET,
-                                      G_SIGNAL_RUN_LAST,
-                                      0,
-                                      NULL, NULL,
-                                      lm_marshal_VOID__VOID,
-                                      G_TYPE_NONE,
-                                      0);
-                signals[WRITABLE] = 
-                        g_signal_new ("writable",
-                                      LM_TYPE_SOCKET,
-                                      G_SIGNAL_RUN_LAST,
-                                      0,
-                                      NULL, NULL,
-                                      lm_marshal_VOID__VOID,
-                                      G_TYPE_NONE,
-                                      0);
-                signals[DISCONNECTED] =
-                        g_signal_new ("disconnected",
-                                      LM_TYPE_SOCKET,
-                                      G_SIGNAL_RUN_LAST,
-                                      0,
-                                      NULL, NULL,
-                                      lm_marshal_VOID__VOID,
-                                      G_TYPE_NONE,
-                                      0);
-		initialized = TRUE;
-	}
+    if (!initialized) {
+        signals[READABLE] =
+            g_signal_new ("readable",
+                          LM_TYPE_SOCKET,
+                          G_SIGNAL_RUN_LAST,
+                          0,
+                          NULL, NULL,
+                          lm_marshal_VOID__VOID,
+                          G_TYPE_NONE,
+                          0);
+        signals[WRITABLE] = 
+            g_signal_new ("writable",
+                          LM_TYPE_SOCKET,
+                          G_SIGNAL_RUN_LAST,
+                          0,
+                          NULL, NULL,
+                          lm_marshal_VOID__VOID,
+                          G_TYPE_NONE,
+                          0);
+        signals[DISCONNECTED] =
+            g_signal_new ("disconnected",
+                          LM_TYPE_SOCKET,
+                          G_SIGNAL_RUN_LAST,
+                          0,
+                          NULL, NULL,
+                          lm_marshal_VOID__VOID,
+                          G_TYPE_NONE,
+                          0);
+        initialized = TRUE;
+    }
 }
 
 LmSocket *
 lm_socket_new (const gchar *host, guint port)
 {
-        g_return_val_if_fail (host != NULL, NULL);
+    g_return_val_if_fail (host != NULL, NULL);
 
-        return NULL;
+    return NULL;
 }
 
 /* Use DNS lookup to find the port and the host */
 LmSocket *
 lm_socket_new_to_service (const gchar *service)
 {
-        g_return_val_if_fail (service != NULL, NULL);
+    g_return_val_if_fail (service != NULL, NULL);
 
-        return NULL;
+    return NULL;
 }
 
 void 
 lm_socket_connect (LmSocket *socket)
 {
-        g_return_if_fail (LM_IS_SOCKET (socket));
+    g_return_if_fail (LM_IS_SOCKET (socket));
 
 
-        /* Initiate the connection process                 */
-        /* DNS lookup, connect thing, create IOchannel etc */
-        if (!LM_SOCKET_GET_IFACE(socket)->write) {
-                g_assert_not_reached ();
-        }
+    /* Initiate the connection process                 */
+    /* DNS lookup, connect thing, create IOchannel etc */
+    if (!LM_SOCKET_GET_IFACE(socket)->write) {
+        g_assert_not_reached ();
+    }
 
-        LM_SOCKET_GET_IFACE(socket)->connect (socket);
+    LM_SOCKET_GET_IFACE(socket)->connect (socket);
 }
 
 gboolean
 lm_socket_write (LmSocket *socket, gchar *buf, gsize len)
 {
-        g_return_val_if_fail (LM_IS_SOCKET (socket), FALSE);
-        g_return_val_if_fail (buf != NULL, FALSE);
+    g_return_val_if_fail (LM_IS_SOCKET (socket), FALSE);
+    g_return_val_if_fail (buf != NULL, FALSE);
 
-        if (!LM_SOCKET_GET_IFACE(socket)->write) {
-                g_assert_not_reached ();
-        }
+    if (!LM_SOCKET_GET_IFACE(socket)->write) {
+        g_assert_not_reached ();
+    }
 
-        return LM_SOCKET_GET_IFACE(socket)->write (socket, buf, len);
+    return LM_SOCKET_GET_IFACE(socket)->write (socket, buf, len);
 }
 
 gboolean
@@ -145,25 +145,25 @@
                 gsize     buf_len,
                 gsize    *read_len)
 {
-        g_return_val_if_fail (LM_IS_SOCKET (socket), FALSE);
-        g_return_val_if_fail (buf != NULL, FALSE);
+    g_return_val_if_fail (LM_IS_SOCKET (socket), FALSE);
+    g_return_val_if_fail (buf != NULL, FALSE);
 
-        if (!LM_SOCKET_GET_IFACE(socket)->read) {
-                g_assert_not_reached ();
-        }
+    if (!LM_SOCKET_GET_IFACE(socket)->read) {
+        g_assert_not_reached ();
+    }
 
-        return LM_SOCKET_GET_IFACE(socket)->read (socket, buf, buf_len, read_len);
+    return LM_SOCKET_GET_IFACE(socket)->read (socket, buf, buf_len, read_len);
 }
 
 void 
 lm_socket_disconnect (LmSocket *socket)
 {
-        g_return_if_fail (LM_IS_SOCKET (socket));
+    g_return_if_fail (LM_IS_SOCKET (socket));
 
-        if (!LM_SOCKET_GET_IFACE(socket)->disconnect) {
-                g_assert_not_reached ();
-        }
+    if (!LM_SOCKET_GET_IFACE(socket)->disconnect) {
+        g_assert_not_reached ();
+    }
 
-        LM_SOCKET_GET_IFACE(socket)->disconnect (socket);
+    LM_SOCKET_GET_IFACE(socket)->disconnect (socket);
 }
 
--- a/loudmouth/lm-socket.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-socket.h	Wed Oct 08 13:11:02 2008 +0200
@@ -37,18 +37,18 @@
 typedef struct _LmSocketIface LmSocketIface;
 
 struct _LmSocketIface {
-	GTypeInterface parent;
+    GTypeInterface parent;
 
-	/* <vtable> */
-        void     (*connect)      (LmSocket *socket);
-        gboolean (*write)        (LmSocket *socket,
-                                  gchar    *buf,
-                                  gsize     len);
-        gboolean (*read)         (LmSocket *socket,
-                                  gchar    *buf,
-                                  gsize     buf_len,
-                                  gsize    *read_len);
-        void     (*disconnect)   (LmSocket *socket);
+    /* <vtable> */
+    void     (*connect)      (LmSocket *socket);
+    gboolean (*write)        (LmSocket *socket,
+                              gchar    *buf,
+                              gsize     len);
+    gboolean (*read)         (LmSocket *socket,
+                              gchar    *buf,
+                              gsize     buf_len,
+                              gsize    *read_len);
+    void     (*disconnect)   (LmSocket *socket);
 };
 
 typedef void  (*LmSocketCallback)  (LmSocket *socket,
--- a/loudmouth/lm-soup-socket.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-soup-socket.c	Wed Oct 08 13:11:02 2008 +0200
@@ -29,9 +29,9 @@
 
 typedef struct LmSoupSocketPriv LmSoupSocketPriv;
 struct LmSoupSocketPriv {
-        gint          my_prop;
-        SoupSocket   *soup;
-        GCancellable *cancellable;
+    gint          my_prop;
+    SoupSocket   *soup;
+    GCancellable *cancellable;
 };
 
 static void     soup_socket_iface_init          (LmSocketIface     *iface);
@@ -64,13 +64,13 @@
                                                 soup_socket_iface_init))
 
 enum {
-	PROP_0,
-	PROP_MY_PROP
+    PROP_0,
+    PROP_MY_PROP
 };
 
 enum {
-	SIGNAL_NAME,
-	LAST_SIGNAL
+    SIGNAL_NAME,
+    LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
@@ -78,66 +78,66 @@
 static void
 lm_soup_socket_class_init (LmSoupSocketClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = soup_socket_finalize;
-	object_class->get_property = soup_socket_get_property;
-	object_class->set_property = soup_socket_set_property;
+    object_class->finalize     = soup_socket_finalize;
+    object_class->get_property = soup_socket_get_property;
+    object_class->set_property = soup_socket_set_property;
 
-	g_object_class_install_property (object_class,
-					 PROP_MY_PROP,
-					 g_param_spec_string ("my-prop",
-							      "My Prop",
-							      "My Property",
-							      NULL,
-							      G_PARAM_READWRITE));
-	
-	signals[SIGNAL_NAME] = 
-		g_signal_new ("signal-name",
-			      G_OBJECT_CLASS_TYPE (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      0,
-			      NULL, NULL,
-			      lm_marshal_VOID__INT,
-			      G_TYPE_NONE, 
-			      1, G_TYPE_INT);
-	
-	g_type_class_add_private (object_class, sizeof (LmSoupSocketPriv));
+    g_object_class_install_property (object_class,
+                                     PROP_MY_PROP,
+                                     g_param_spec_string ("my-prop",
+                                                          "My Prop",
+                                                          "My Property",
+                                                          NULL,
+                                                          G_PARAM_READWRITE));
+    
+    signals[SIGNAL_NAME] = 
+        g_signal_new ("signal-name",
+                      G_OBJECT_CLASS_TYPE (object_class),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL, NULL,
+                      lm_marshal_VOID__INT,
+                      G_TYPE_NONE, 
+                      1, G_TYPE_INT);
+    
+    g_type_class_add_private (object_class, sizeof (LmSoupSocketPriv));
 }
 
 static void
 lm_soup_socket_init (LmSoupSocket *soup_socket)
 {
-	LmSoupSocketPriv *priv;
+    LmSoupSocketPriv *priv;
 
-	priv = GET_PRIV (soup_socket);
+    priv = GET_PRIV (soup_socket);
 }
 
 static void
 soup_socket_iface_init (LmSocketIface *iface)
 {
-        iface->connect    = _soup_socket_connect;
-        iface->write      = _soup_socket_write;
-        iface->read       = _soup_socket_read;
-        iface->disconnect = _soup_socket_disconnect;
+    iface->connect    = _soup_socket_connect;
+    iface->write      = _soup_socket_write;
+    iface->read       = _soup_socket_read;
+    iface->disconnect = _soup_socket_disconnect;
 }
 
 static void
 soup_socket_finalize (GObject *object)
 {
-	LmSoupSocketPriv *priv;
+    LmSoupSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-        if (priv->soup) {
-                if (soup_socket_is_connected (priv->soup)) {
-                        soup_socket_disconnect (priv->soup);
-                }
-
-                g_object_unref (priv->soup);
+    if (priv->soup) {
+        if (soup_socket_is_connected (priv->soup)) {
+            soup_socket_disconnect (priv->soup);
         }
 
-	(G_OBJECT_CLASS (lm_soup_socket_parent_class)->finalize) (object);
+        g_object_unref (priv->soup);
+    }
+
+    (G_OBJECT_CLASS (lm_soup_socket_parent_class)->finalize) (object);
 }
 
 static void
@@ -146,18 +146,18 @@
                           GValue     *value,
                           GParamSpec *pspec)
 {
-	LmSoupSocketPriv *priv;
+    LmSoupSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		g_value_set_int (value, priv->my_prop);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        g_value_set_int (value, priv->my_prop);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
@@ -166,92 +166,92 @@
                           const GValue *value,
                           GParamSpec   *pspec)
 {
-	LmSoupSocketPriv *priv;
+    LmSoupSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		priv->my_prop = g_value_get_int (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        priv->my_prop = g_value_get_int (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
 _soup_socket_connect (LmSocket *socket)
 {
-        LmSoupSocketPriv *priv = GET_PRIV (socket);
+    LmSoupSocketPriv *priv = GET_PRIV (socket);
 
-        if (priv->soup) {
-                g_warning ("Already have a SoupSocket");
-                return;
-        }
+    if (priv->soup) {
+        g_warning ("Already have a SoupSocket");
+        return;
+    }
 
-        priv->soup = soup_socket_new ("remote-address", "kenny.imendio.com",
-                                      "non-blocking", TRUE,
-                                      NULL);
+    priv->soup = soup_socket_new ("remote-address", "kenny.imendio.com",
+                                  "non-blocking", TRUE,
+                                  NULL);
 
-        soup_socket_connect_async (priv->soup,
-                                   priv->cancellable,
-                                   (SoupSocketCallback)_soup_socket_callback,
-                                   socket);
+    soup_socket_connect_async (priv->soup,
+                               priv->cancellable,
+                               (SoupSocketCallback)_soup_socket_callback,
+                               socket);
 }
 
 static gboolean
 _soup_socket_write (LmSocket *socket,
-                   gchar    *data, 
-                   gsize     len)
+                    gchar    *data, 
+                    gsize     len)
 {
-        LmSoupSocketPriv   *priv = GET_PRIV (socket);
-        SoupSocketIOStatus  io_status;
+    LmSoupSocketPriv   *priv = GET_PRIV (socket);
+    SoupSocketIOStatus  io_status;
 
-        if (!priv->soup || !soup_socket_is_connected (priv->soup)) {
-                g_warning ("Trying to write to an unconnected socket");
-                return FALSE;
-        }
+    if (!priv->soup || !soup_socket_is_connected (priv->soup)) {
+        g_warning ("Trying to write to an unconnected socket");
+        return FALSE;
+    }
 
-        io_status = soup_socket_write (priv->soup,
-                                       data, len,
-                                       NULL /* FIXME: Should be how much was written */,
-                                       priv->cancellable,
-                                       NULL /* FIXME: Should be a GError */);
-        return TRUE; /* FIXME: Return properly depending on IOStatus */
+    io_status = soup_socket_write (priv->soup,
+                                   data, len,
+                                   NULL /* FIXME: Should be how much was written */,
+                                   priv->cancellable,
+                                   NULL /* FIXME: Should be a GError */);
+    return TRUE; /* FIXME: Return properly depending on IOStatus */
 }
 
 static gboolean
 _soup_socket_read (LmSocket *socket,
-                  gchar     *buf,
-                  gsize      buf_len,
-                  gsize     *read_len)
+                   gchar     *buf,
+                   gsize      buf_len,
+                   gsize     *read_len)
 {
-        LmSoupSocketPriv *priv = GET_PRIV (socket);
-        SoupSocketIOStatus  io_status;
+    LmSoupSocketPriv *priv = GET_PRIV (socket);
+    SoupSocketIOStatus  io_status;
 
-        if (!priv->soup || !soup_socket_is_connected (priv->soup)) {
-                g_warning ("Trying to read from an unconnected socket");
-                return FALSE;
-        }
+    if (!priv->soup || !soup_socket_is_connected (priv->soup)) {
+        g_warning ("Trying to read from an unconnected socket");
+        return FALSE;
+    }
 
-        io_status = soup_socket_read (priv->soup,
-                                      buf, buf_len, read_len,
-                                      priv->cancellable,
-                                      NULL /* FIXME: Look at if the match is up tonight */);
+    io_status = soup_socket_read (priv->soup,
+                                  buf, buf_len, read_len,
+                                  priv->cancellable,
+                                  NULL /* FIXME: Look at if the match is up tonight */);
 
 
-        return FALSE;
+    return FALSE;
 }
 
 static void
 _soup_socket_disconnect (LmSocket *socket)
 {
-        LmSoupSocketPriv *priv = GET_PRIV (socket);
+    LmSoupSocketPriv *priv = GET_PRIV (socket);
 
-        if (priv->soup) {
-                soup_socket_disconnect (priv->soup);
-        }
+    if (priv->soup) {
+        soup_socket_disconnect (priv->soup);
+    }
 }
 
 static void
@@ -259,6 +259,6 @@
                        guint       status,
                        LmSocket   *socket)
 {
-        /* Signal back to caller of lm_socket_connect through LmSocketCallback */
+    /* Signal back to caller of lm_socket_connect through LmSocketCallback */
 }
 
--- a/loudmouth/lm-soup-socket.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-soup-socket.h	Wed Oct 08 13:11:02 2008 +0200
@@ -38,19 +38,19 @@
 typedef struct LmSoupSocketClass LmSoupSocketClass;
 
 struct LmSoupSocket {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmSoupSocketClass {
-	GObjectClass parent_class;
-	
-	/* <vtable> */
-	void  (*initialize)    (LmSoupSocket     *soup_socket,
-				const char *username,
-				const char *server,
-				const char *password);
-	void  (*begin)         (LmSoupSocket     *soup_socket);
-	void  (*cancel)        (LmSoupSocket     *soup_socket);
+    GObjectClass parent_class;
+    
+    /* <vtable> */
+    void  (*initialize)    (LmSoupSocket     *soup_socket,
+                            const char *username,
+                            const char *server,
+                            const char *password);
+    void  (*begin)         (LmSoupSocket     *soup_socket);
+    void  (*cancel)        (LmSoupSocket     *soup_socket);
 };
 
 GType   lm_soup_socket_get_type  (void);
--- a/loudmouth/lm-ssl-base.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-base.c	Wed Oct 08 13:11:02 2008 +0200
@@ -23,34 +23,34 @@
 
 void
 _lm_ssl_base_init (LmSSLBase      *base, 
-		   const gchar    *expected_fingerprint,
-		   LmSSLFunction   ssl_function,
-		   gpointer        user_data,
-		   GDestroyNotify  notify)
+                   const gchar    *expected_fingerprint,
+                   LmSSLFunction   ssl_function,
+                   gpointer        user_data,
+                   GDestroyNotify  notify)
 {
-	base->ref_count      = 1;
-	base->func           = ssl_function;
-	base->func_data      = user_data;
-	base->data_notify    = notify;
-	base->fingerprint[0] = '\0';
-	
-	if (expected_fingerprint) {
-		base->expected_fingerprint = g_memdup (expected_fingerprint, 16);
-	} else {
-		base->expected_fingerprint = NULL;
-	}
+    base->ref_count      = 1;
+    base->func           = ssl_function;
+    base->func_data      = user_data;
+    base->data_notify    = notify;
+    base->fingerprint[0] = '\0';
+    
+    if (expected_fingerprint) {
+        base->expected_fingerprint = g_memdup (expected_fingerprint, 16);
+    } else {
+        base->expected_fingerprint = NULL;
+    }
 
-	if (!base->func) {
-		/* If user didn't provide an SSL func the default will be used
-		 * this function will always tell the connection to continue.
-		 */
-		base->func = _lm_ssl_func_always_continue;
-	}
+    if (!base->func) {
+        /* If user didn't provide an SSL func the default will be used
+         * this function will always tell the connection to continue.
+         */
+        base->func = _lm_ssl_func_always_continue;
+    }
 }
 
 void
 _lm_ssl_base_free_fields (LmSSLBase *base)
 {
-	g_free (base->expected_fingerprint);
+    g_free (base->expected_fingerprint);
 }
 
--- a/loudmouth/lm-ssl-base.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-base.h	Wed Oct 08 13:11:02 2008 +0200
@@ -27,22 +27,22 @@
 
 typedef struct _LmSSLBase LmSSLBase;
 struct _LmSSLBase {
-	LmSSLFunction   func;
-	gpointer        func_data;
-	GDestroyNotify  data_notify;
-	gchar          *expected_fingerprint;
-	char            fingerprint[20];
-	gboolean        use_starttls;
-	gboolean        require_starttls;
+    LmSSLFunction   func;
+    gpointer        func_data;
+    GDestroyNotify  data_notify;
+    gchar          *expected_fingerprint;
+    char            fingerprint[20];
+    gboolean        use_starttls;
+    gboolean        require_starttls;
 
-	gint            ref_count;
+    gint            ref_count;
 };
 
 void _lm_ssl_base_init         (LmSSLBase      *base, 
-				const gchar    *expected_fingerprint,
-				LmSSLFunction   ssl_function,
-				gpointer        user_data,
-				GDestroyNotify  notify);
+                                const gchar    *expected_fingerprint,
+                                LmSSLFunction   ssl_function,
+                                gpointer        user_data,
+                                GDestroyNotify  notify);
 
 void _lm_ssl_base_free_fields  (LmSSLBase      *base);
 
--- a/loudmouth/lm-ssl-generic.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-generic.c	Wed Oct 08 13:11:02 2008 +0200
@@ -26,10 +26,10 @@
 
 LmSSLResponse  
 _lm_ssl_func_always_continue (LmSSL       *ssl,
-			      LmSSLStatus  status,
-			      gpointer     user_data)
+                              LmSSLStatus  status,
+                              gpointer     user_data)
 {
-	return LM_SSL_RESPONSE_CONTINUE;;
+    return LM_SSL_RESPONSE_CONTINUE;;
 }
 
 /* Define the SSL functions as noops if we compile without support */
@@ -37,56 +37,56 @@
 
 LmSSL *
 _lm_ssl_new (const gchar    *expected_fingerprint,
-	     LmSSLFunction   ssl_function,
-	     gpointer        user_data,
-	     GDestroyNotify  notify)
+             LmSSLFunction   ssl_function,
+             gpointer        user_data,
+             GDestroyNotify  notify)
 {
-	return NULL;
+    return NULL;
 }
 
 void
 _lm_ssl_initialize (LmSSL *ssl)
 {
-	/* NOOP */
+    /* NOOP */
 }
 
 gboolean
 _lm_ssl_begin (LmSSL        *ssl,
-	       gint          fd,
-	       const gchar  *server,
-	       GError      **error)
+               gint          fd,
+               const gchar  *server,
+               GError      **error)
 {
-	return TRUE;
+    return TRUE;
 }
 
 GIOStatus
 _lm_ssl_read (LmSSL *ssl,
-	      gchar *buf,
-	      gint   len,
-	      gsize  *bytes_read)
+              gchar *buf,
+              gint   len,
+              gsize  *bytes_read)
 {
-	/* NOOP */
-	*bytes_read = 0;
+    /* NOOP */
+    *bytes_read = 0;
 
-	return G_IO_STATUS_EOF;
+    return G_IO_STATUS_EOF;
 }
 
 gboolean 
 _lm_ssl_send (LmSSL *ssl, const gchar *str, gint len)
 {
-	/* NOOP */
-	return TRUE;
+    /* NOOP */
+    return TRUE;
 }
 void 
 _lm_ssl_close (LmSSL *ssl)
 {
-	/* NOOP */
+    /* NOOP */
 }
 
 void
 _lm_ssl_free (LmSSL *ssl)
 {
-	/* NOOP */
+    /* NOOP */
 }
 
 #endif /* HAVE_SSL */
@@ -106,15 +106,15 @@
  **/
 LmSSL *
 lm_ssl_new (const gchar    *expected_fingerprint,
-	    LmSSLFunction   ssl_function,
-	    gpointer        user_data,
-	    GDestroyNotify  notify)
+            LmSSLFunction   ssl_function,
+            gpointer        user_data,
+            GDestroyNotify  notify)
 {
-	/* The implementation of this function will be different depending
-	 * on which implementation is used 
-	 */
-	return _lm_ssl_new (expected_fingerprint,
-			    ssl_function, user_data, notify);
+    /* The implementation of this function will be different depending
+     * on which implementation is used 
+     */
+    return _lm_ssl_new (expected_fingerprint,
+                        ssl_function, user_data, notify);
 }
 
 /**
@@ -128,9 +128,9 @@
 lm_ssl_is_supported (void)
 {
 #ifdef HAVE_SSL
-	return TRUE;
+    return TRUE;
 #else
-	return FALSE;
+    return FALSE;
 #endif
 }
 
@@ -146,9 +146,9 @@
 const gchar *
 lm_ssl_get_fingerprint (LmSSL *ssl)
 {
-	g_return_val_if_fail (ssl != NULL, NULL);
-	
-	return LM_SSL_BASE(ssl)->fingerprint;
+    g_return_val_if_fail (ssl != NULL, NULL);
+    
+    return LM_SSL_BASE(ssl)->fingerprint;
 }
 
 /**
@@ -162,11 +162,11 @@
 LmSSL *
 lm_ssl_ref (LmSSL *ssl)
 {
-	g_return_val_if_fail (ssl != NULL, NULL);
+    g_return_val_if_fail (ssl != NULL, NULL);
 
-	LM_SSL_BASE(ssl)->ref_count++;
+    LM_SSL_BASE(ssl)->ref_count++;
 
-	return ssl;
+    return ssl;
 }
 
 /**
@@ -177,14 +177,14 @@
  **/
 void
 lm_ssl_use_starttls (LmSSL *ssl,
-		     gboolean use_starttls,
-		     gboolean require_starttls)
+                     gboolean use_starttls,
+                     gboolean require_starttls)
 {
-	LmSSLBase *base;
+    LmSSLBase *base;
 
-	base = LM_SSL_BASE (ssl);
-	base->use_starttls = use_starttls;
-	base->require_starttls = require_starttls;
+    base = LM_SSL_BASE (ssl);
+    base->use_starttls = use_starttls;
+    base->require_starttls = require_starttls;
 }
 
 /**
@@ -195,10 +195,10 @@
 gboolean
 lm_ssl_get_use_starttls (LmSSL *ssl)
 {
-	LmSSLBase *base;
+    LmSSLBase *base;
 
-	base = LM_SSL_BASE (ssl);
-	return base->use_starttls;
+    base = LM_SSL_BASE (ssl);
+    return base->use_starttls;
 }
 
 /**
@@ -209,10 +209,10 @@
 gboolean
 lm_ssl_get_require_starttls (LmSSL *ssl)
 {
-	LmSSLBase *base;
+    LmSSLBase *base;
 
-	base = LM_SSL_BASE (ssl);
-	return base->require_starttls;
+    base = LM_SSL_BASE (ssl);
+    return base->require_starttls;
 }
 
 /**
@@ -225,21 +225,21 @@
 void 
 lm_ssl_unref (LmSSL *ssl)
 {
-	LmSSLBase *base;
-	
-	g_return_if_fail (ssl != NULL);
+    LmSSLBase *base;
+    
+    g_return_if_fail (ssl != NULL);
         
-	base = LM_SSL_BASE (ssl);
+    base = LM_SSL_BASE (ssl);
 
-	base->ref_count --;
+    base->ref_count --;
         
-        if (base->ref_count == 0) {
-		if (base->data_notify) {
-			(* base->data_notify) (base->func_data);
-		}
+    if (base->ref_count == 0) {
+        if (base->data_notify) {
+            (* base->data_notify) (base->func_data);
+        }
              
-		_lm_ssl_free (ssl);
-        }
+        _lm_ssl_free (ssl);
+    }
 }
 
 
--- a/loudmouth/lm-ssl-gnutls.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-gnutls.c	Wed Oct 08 13:11:02 2008 +0200
@@ -35,278 +35,278 @@
 #define CA_PEM_FILE "/etc/ssl/certs/ca-certificates.crt"
 
 struct _LmSSL {
-	LmSSLBase base;
+    LmSSLBase base;
 
-	gnutls_session                 gnutls_session;
-	gnutls_certificate_credentials gnutls_xcred;
-	gboolean                       started;
+    gnutls_session                 gnutls_session;
+    gnutls_certificate_credentials gnutls_xcred;
+    gboolean                       started;
 };
 
 static gboolean       ssl_verify_certificate    (LmSSL       *ssl,
-						 const gchar *server);
+                                                 const gchar *server);
 
 static gboolean
 ssl_verify_certificate (LmSSL *ssl, const gchar *server)
 {
-	LmSSLBase *base;
-	unsigned int        status;
-	int rc;
+    LmSSLBase *base;
+    unsigned int        status;
+    int rc;
 
-	base = LM_SSL_BASE (ssl);
+    base = LM_SSL_BASE (ssl);
 
-	/* This verification function uses the trusted CAs in the credentials
-	 * structure. So you must have installed one or more CA certificates.
-	 */
-	rc = gnutls_certificate_verify_peers2 (ssl->gnutls_session, &status);
+    /* This verification function uses the trusted CAs in the credentials
+     * structure. So you must have installed one or more CA certificates.
+     */
+    rc = gnutls_certificate_verify_peers2 (ssl->gnutls_session, &status);
 
-	if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) {
-		if (base->func (ssl,
-			       LM_SSL_STATUS_NO_CERT_FOUND,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
+    if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) {
+        if (base->func (ssl,
+                        LM_SSL_STATUS_NO_CERT_FOUND,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
 
-	if (rc != 0) {
-		if (base->func (ssl,
-			       LM_SSL_STATUS_GENERIC_ERROR,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
+    if (rc != 0) {
+        if (base->func (ssl,
+                        LM_SSL_STATUS_GENERIC_ERROR,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
 
-	if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) {
-		if (base->func (ssl,
-			       LM_SSL_STATUS_NO_CERT_FOUND,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
-	
-	if (status & GNUTLS_CERT_INVALID
-	    || status & GNUTLS_CERT_REVOKED) {
-		if (base->func (ssl, LM_SSL_STATUS_UNTRUSTED_CERT,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
-	
-	if (gnutls_certificate_expiration_time_peers (ssl->gnutls_session) < time (0)) {
-		if (base->func (ssl, LM_SSL_STATUS_CERT_EXPIRED,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
-	
-	if (gnutls_certificate_activation_time_peers (ssl->gnutls_session) > time (0)) {
-		if (base->func (ssl, LM_SSL_STATUS_CERT_NOT_ACTIVATED,
-			       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE;
-		}
-	}
-	
-	if (gnutls_certificate_type_get (ssl->gnutls_session) == GNUTLS_CRT_X509) {
-		const gnutls_datum* cert_list;
-		guint cert_list_size;
-		size_t digest_size;
-		gnutls_x509_crt cert;
-		
-		cert_list = gnutls_certificate_get_peers (ssl->gnutls_session, &cert_list_size);
-		if (cert_list == NULL) {
-			if (base->func (ssl, LM_SSL_STATUS_NO_CERT_FOUND,
-				       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				return FALSE;
-			}
-		}
+    if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) {
+        if (base->func (ssl,
+                        LM_SSL_STATUS_NO_CERT_FOUND,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
+    
+    if (status & GNUTLS_CERT_INVALID
+        || status & GNUTLS_CERT_REVOKED) {
+        if (base->func (ssl, LM_SSL_STATUS_UNTRUSTED_CERT,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
+    
+    if (gnutls_certificate_expiration_time_peers (ssl->gnutls_session) < time (0)) {
+        if (base->func (ssl, LM_SSL_STATUS_CERT_EXPIRED,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
+    
+    if (gnutls_certificate_activation_time_peers (ssl->gnutls_session) > time (0)) {
+        if (base->func (ssl, LM_SSL_STATUS_CERT_NOT_ACTIVATED,
+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE;
+        }
+    }
+    
+    if (gnutls_certificate_type_get (ssl->gnutls_session) == GNUTLS_CRT_X509) {
+        const gnutls_datum* cert_list;
+        guint cert_list_size;
+        size_t digest_size;
+        gnutls_x509_crt cert;
+        
+        cert_list = gnutls_certificate_get_peers (ssl->gnutls_session, &cert_list_size);
+        if (cert_list == NULL) {
+            if (base->func (ssl, LM_SSL_STATUS_NO_CERT_FOUND,
+                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                return FALSE;
+            }
+        }
 
-		gnutls_x509_crt_init (&cert);
+        gnutls_x509_crt_init (&cert);
 
-		if (gnutls_x509_crt_import (cert, &cert_list[0],
-					     GNUTLS_X509_FMT_DER) != 0) {
-			if (base->func (ssl, LM_SSL_STATUS_NO_CERT_FOUND, 
-					base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				return FALSE;
-			}
-		}
+        if (gnutls_x509_crt_import (cert, &cert_list[0],
+                                    GNUTLS_X509_FMT_DER) != 0) {
+            if (base->func (ssl, LM_SSL_STATUS_NO_CERT_FOUND, 
+                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                return FALSE;
+            }
+        }
 
-		if (!gnutls_x509_crt_check_hostname (cert, server)) {
-			if (base->func (ssl, LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
-				       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				return FALSE;
-			}
-		}
+        if (!gnutls_x509_crt_check_hostname (cert, server)) {
+            if (base->func (ssl, LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
+                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                return FALSE;
+            }
+        }
 
-		gnutls_x509_crt_deinit (cert);
+        gnutls_x509_crt_deinit (cert);
 
-		digest_size = sizeof (base->fingerprint);
+        digest_size = sizeof (base->fingerprint);
 
-		if (gnutls_fingerprint (GNUTLS_DIG_MD5, &cert_list[0],
-					base->fingerprint,
-					&digest_size) >= 0) {
-			if (base->expected_fingerprint &&
-			    memcmp (base->expected_fingerprint, 
-				    base->fingerprint,
-				    digest_size) &&
-			    base->func (ssl,
-				       LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,
-				       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				return FALSE;
-			}
-		} 
-		else if (base->func (ssl, LM_SSL_STATUS_GENERIC_ERROR,
-				     base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-			return FALSE; 
-		} 
-	}
+        if (gnutls_fingerprint (GNUTLS_DIG_MD5, &cert_list[0],
+                                base->fingerprint,
+                                &digest_size) >= 0) {
+            if (base->expected_fingerprint &&
+                memcmp (base->expected_fingerprint, 
+                        base->fingerprint,
+                        digest_size) &&
+                base->func (ssl,
+                            LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,
+                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                return FALSE;
+            }
+        } 
+        else if (base->func (ssl, LM_SSL_STATUS_GENERIC_ERROR,
+                             base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            return FALSE; 
+        } 
+    }
 
-	return TRUE;
+    return TRUE;
 }
 
 /* From lm-ssl-protected.h */
 
 LmSSL *
 _lm_ssl_new (const gchar    *expected_fingerprint,
-	    LmSSLFunction   ssl_function,
-	    gpointer        user_data,
-	    GDestroyNotify  notify)
+             LmSSLFunction   ssl_function,
+             gpointer        user_data,
+             GDestroyNotify  notify)
 {
-	LmSSL *ssl;
+    LmSSL *ssl;
 
-	ssl = g_new0 (LmSSL, 1);
+    ssl = g_new0 (LmSSL, 1);
 
-	_lm_ssl_base_init ((LmSSLBase *) ssl,
-			   expected_fingerprint,
-			   ssl_function, user_data, notify);
+    _lm_ssl_base_init ((LmSSLBase *) ssl,
+                       expected_fingerprint,
+                       ssl_function, user_data, notify);
 
-	return ssl;
+    return ssl;
 }
 
 void
 _lm_ssl_initialize (LmSSL *ssl) 
 {
-	gnutls_global_init ();
-	gnutls_certificate_allocate_credentials (&ssl->gnutls_xcred);
-	gnutls_certificate_set_x509_trust_file(ssl->gnutls_xcred,
-					       CA_PEM_FILE,
-					       GNUTLS_X509_FMT_PEM);
+    gnutls_global_init ();
+    gnutls_certificate_allocate_credentials (&ssl->gnutls_xcred);
+    gnutls_certificate_set_x509_trust_file(ssl->gnutls_xcred,
+                                           CA_PEM_FILE,
+                                           GNUTLS_X509_FMT_PEM);
 }
 
 gboolean
 _lm_ssl_begin (LmSSL *ssl, gint fd, const gchar *server, GError **error)
 {
-	int ret;
-	gboolean auth_ok = TRUE;
-	const int cert_type_priority[] =
-		{ GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
-	const int compression_priority[] =
-		{ GNUTLS_COMP_DEFLATE, GNUTLS_COMP_NULL, 0 };
+    int ret;
+    gboolean auth_ok = TRUE;
+    const int cert_type_priority[] =
+        { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
+    const int compression_priority[] =
+        { GNUTLS_COMP_DEFLATE, GNUTLS_COMP_NULL, 0 };
 
-	gnutls_init (&ssl->gnutls_session, GNUTLS_CLIENT);
-	gnutls_set_default_priority (ssl->gnutls_session);
-	gnutls_certificate_type_set_priority (ssl->gnutls_session,
-					      cert_type_priority);
-	gnutls_compression_set_priority (ssl->gnutls_session,
-					 compression_priority);
-	gnutls_credentials_set (ssl->gnutls_session,
-				GNUTLS_CRD_CERTIFICATE,
-				ssl->gnutls_xcred);
+    gnutls_init (&ssl->gnutls_session, GNUTLS_CLIENT);
+    gnutls_set_default_priority (ssl->gnutls_session);
+    gnutls_certificate_type_set_priority (ssl->gnutls_session,
+                                          cert_type_priority);
+    gnutls_compression_set_priority (ssl->gnutls_session,
+                                     compression_priority);
+    gnutls_credentials_set (ssl->gnutls_session,
+                            GNUTLS_CRD_CERTIFICATE,
+                            ssl->gnutls_xcred);
 
-	gnutls_transport_set_ptr (ssl->gnutls_session,
-				  (gnutls_transport_ptr_t)(glong) fd);
+    gnutls_transport_set_ptr (ssl->gnutls_session,
+                              (gnutls_transport_ptr_t)(glong) fd);
 
-	ret = gnutls_handshake (ssl->gnutls_session);
+    ret = gnutls_handshake (ssl->gnutls_session);
 
-	if (ret >= 0) {
-		auth_ok = ssl_verify_certificate (ssl, server);
-	}
+    if (ret >= 0) {
+        auth_ok = ssl_verify_certificate (ssl, server);
+    }
 
-	if (ret < 0 || !auth_ok) {
-		char *errmsg;
+    if (ret < 0 || !auth_ok) {
+        char *errmsg;
 
-		if (!auth_ok) {
-			errmsg = "authentication error";
-		} else {
-			errmsg = "handshake failed";
-		}
+        if (!auth_ok) {
+            errmsg = "authentication error";
+        } else {
+            errmsg = "handshake failed";
+        }
 
-		g_set_error (error, 
-			     LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-                             "*** GNUTLS %s: %s",
-			     errmsg, gnutls_strerror (ret));			
+        g_set_error (error, 
+                     LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+                     "*** GNUTLS %s: %s",
+                     errmsg, gnutls_strerror (ret));            
 
-		return FALSE;
-	}
+        return FALSE;
+    }
 
-	lm_verbose ("GNUTLS negotiated compression: %s",
-		    gnutls_compression_get_name (gnutls_compression_get
-			(ssl->gnutls_session)));
+    lm_verbose ("GNUTLS negotiated compression: %s",
+                gnutls_compression_get_name (gnutls_compression_get
+                                             (ssl->gnutls_session)));
 
-	ssl->started = TRUE;
+    ssl->started = TRUE;
 
-	return TRUE;
+    return TRUE;
 }
 
 GIOStatus
 _lm_ssl_read (LmSSL *ssl, gchar *buf, gint len, gsize *bytes_read)
 {
-	GIOStatus status;
-	gint      b_read;
+    GIOStatus status;
+    gint      b_read;
 
-	*bytes_read = 0;
-	b_read = gnutls_record_recv (ssl->gnutls_session, buf, len);
+    *bytes_read = 0;
+    b_read = gnutls_record_recv (ssl->gnutls_session, buf, len);
 
-	if (b_read == GNUTLS_E_AGAIN) {
-		status = G_IO_STATUS_AGAIN;
-	}
-	else if (b_read == 0) {
-		status = G_IO_STATUS_EOF;
-	}
-	else if (b_read < 0) {
-		status = G_IO_STATUS_ERROR;
-	} else {
-		*bytes_read = (guint) b_read;
-		status = G_IO_STATUS_NORMAL;
-	}
+    if (b_read == GNUTLS_E_AGAIN) {
+        status = G_IO_STATUS_AGAIN;
+    }
+    else if (b_read == 0) {
+        status = G_IO_STATUS_EOF;
+    }
+    else if (b_read < 0) {
+        status = G_IO_STATUS_ERROR;
+    } else {
+        *bytes_read = (guint) b_read;
+        status = G_IO_STATUS_NORMAL;
+    }
 
-	return status;
+    return status;
 }
 
 gint
 _lm_ssl_send (LmSSL *ssl, const gchar *str, gint len)
 {
-	gint bytes_written;
+    gint bytes_written;
 
-	bytes_written = gnutls_record_send (ssl->gnutls_session, str, len);
+    bytes_written = gnutls_record_send (ssl->gnutls_session, str, len);
 
-	while (bytes_written < 0) {
-		if (bytes_written != GNUTLS_E_INTERRUPTED &&
-		    bytes_written != GNUTLS_E_AGAIN) {
-			return -1;
-		}
-	
-		bytes_written = gnutls_record_send (ssl->gnutls_session, 
-						    str, len);
-	}
+    while (bytes_written < 0) {
+        if (bytes_written != GNUTLS_E_INTERRUPTED &&
+            bytes_written != GNUTLS_E_AGAIN) {
+            return -1;
+        }
+    
+        bytes_written = gnutls_record_send (ssl->gnutls_session, 
+                                            str, len);
+    }
 
-	return bytes_written;
+    return bytes_written;
 }
 
 void 
 _lm_ssl_close (LmSSL *ssl)
 {
-	if (!ssl->started)
-		return;
+    if (!ssl->started)
+        return;
 
-	gnutls_deinit (ssl->gnutls_session);
-	gnutls_certificate_free_credentials (ssl->gnutls_xcred);
-	gnutls_global_deinit ();
+    gnutls_deinit (ssl->gnutls_session);
+    gnutls_certificate_free_credentials (ssl->gnutls_xcred);
+    gnutls_global_deinit ();
 }
 
 void
 _lm_ssl_free (LmSSL *ssl)
 {
-	_lm_ssl_base_free_fields (LM_SSL_BASE (ssl));
-	g_free (ssl);
+    _lm_ssl_base_free_fields (LM_SSL_BASE (ssl));
+    g_free (ssl);
 }
 
 #endif /* HAVE_GNUTLS */
--- a/loudmouth/lm-ssl-internals.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-internals.h	Wed Oct 08 13:11:02 2008 +0200
@@ -24,45 +24,45 @@
 #include <glib.h>
 
 LmSSLResponse   _lm_ssl_func_always_continue (LmSSL       *ssl,
-					      LmSSLStatus  status,
-					      gpointer     user_data);
+                                              LmSSLStatus  status,
+                                              gpointer     user_data);
 LmSSL *          _lm_ssl_new              (const gchar    *expected_fingerprint,
-					   LmSSLFunction   ssl_function,
-					   gpointer        user_data,
-					   GDestroyNotify  notify);
+                                           LmSSLFunction   ssl_function,
+                                           gpointer        user_data,
+                                           GDestroyNotify  notify);
 
 void             _lm_ssl_initialize       (LmSSL            *ssl);
 gboolean         _lm_ssl_begin            (LmSSL            *ssl,
-					   gint              fd,
-					   const gchar      *server,
-					   GError          **error);
+                                           gint              fd,
+                                           const gchar      *server,
+                                           GError          **error);
 GIOStatus        _lm_ssl_read             (LmSSL            *ssl,
-					   gchar            *buf,
-					   gint              len,
-					   gsize             *bytes_read);
+                                           gchar            *buf,
+                                           gint              len,
+                                           gsize             *bytes_read);
 gint             _lm_ssl_send             (LmSSL            *ssl,
-					   const gchar      *str,
-					   gint              len);
+                                           const gchar      *str,
+                                           gint              len);
 void             _lm_ssl_close            (LmSSL            *ssl);
 void             _lm_ssl_free             (LmSSL            *ssl);
 
 LmSSL *          _lm_ssl_new              (const gchar    *expected_fingerprint,
-					   LmSSLFunction   ssl_function,
-					   gpointer        user_data,
-					   GDestroyNotify  notify);
+                                           LmSSLFunction   ssl_function,
+                                           gpointer        user_data,
+                                           GDestroyNotify  notify);
 
 void             _lm_ssl_initialize       (LmSSL            *ssl);
 gboolean         _lm_ssl_begin            (LmSSL            *ssl,
-					   gint              fd,
-					   const gchar      *server,
-					   GError          **error);
+                                           gint              fd,
+                                           const gchar      *server,
+                                           GError          **error);
 GIOStatus        _lm_ssl_read             (LmSSL            *ssl,
-					   gchar            *buf,
-					   gint              len,
-					   gsize             *bytes_read);
+                                           gchar            *buf,
+                                           gint              len,
+                                           gsize             *bytes_read);
 gint             _lm_ssl_send             (LmSSL            *ssl,
-					   const gchar      *str,
-					   gint              len);
+                                           const gchar      *str,
+                                           gint              len);
 void             _lm_ssl_close            (LmSSL            *ssl);
 void             _lm_ssl_free             (LmSSL            *ssl);
 
--- a/loudmouth/lm-ssl-openssl.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl-openssl.c	Wed Oct 08 13:11:02 2008 +0200
@@ -36,15 +36,15 @@
 #include <openssl/ssl.h>
 #include <openssl/err.h>
 
-#define LM_SSL_CN_MAX		63
+#define LM_SSL_CN_MAX       63
 
 struct _LmSSL {
-	LmSSLBase base;
+    LmSSLBase base;
 
-	SSL_METHOD *ssl_method;
-	SSL_CTX *ssl_ctx;
-	SSL *ssl;
-	/*BIO *bio;*/
+    SSL_METHOD *ssl_method;
+    SSL_CTX *ssl_ctx;
+    SSL *ssl;
+    /*BIO *bio;*/
 };
 
 int ssl_verify_cb (int preverify_ok, X509_STORE_CTX *x509_ctx);
@@ -57,377 +57,377 @@
 static void
 ssl_print_state (LmSSL *ssl, const char *func, int val)
 {
-	unsigned long errid;
-	const char *errmsg;
+    unsigned long errid;
+    const char *errmsg;
 
-	switch (SSL_get_error(ssl->ssl, val)) {
-		case SSL_ERROR_NONE:
-			g_warning ("%s(): %i / SSL_ERROR_NONE",
-				   func, val);
-			break;
-		case SSL_ERROR_ZERO_RETURN:
-			g_warning ("%s(): %i / SSL_ERROR_ZERO_RETURN",
-				   func, val);
-			break;
-		case SSL_ERROR_WANT_READ:
-			g_warning ("%s(): %i / SSL_ERROR_WANT_READ",
-				   func, val);
-			break;
-		case SSL_ERROR_WANT_WRITE:
-			g_warning ("%s(): %i / SSL_ERROR_WANT_WRITE",
-				   func, val);
-			break;
-		case SSL_ERROR_WANT_X509_LOOKUP:
-			g_warning ("%s(): %i / SSL_ERROR_WANT_X509_LOOKUP",
-				   func, val);
-			break;
-		case SSL_ERROR_SYSCALL:
-			g_warning ("%s(): %i / SSL_ERROR_SYSCALL",
-				   func, val);
-			break;
-		case SSL_ERROR_SSL:
-			g_warning ("%s(): %i / SSL_ERROR_SSL",
-				   func, val);
-			break;
-	}
-	do {
-		errid = ERR_get_error();
-		if (errid) {
-			errmsg = ERR_error_string(errid, NULL);
-			g_warning ("\t%s", errmsg);
-		}
-	} while (errid != 0);
+    switch (SSL_get_error(ssl->ssl, val)) {
+    case SSL_ERROR_NONE:
+        g_warning ("%s(): %i / SSL_ERROR_NONE",
+                   func, val);
+        break;
+    case SSL_ERROR_ZERO_RETURN:
+        g_warning ("%s(): %i / SSL_ERROR_ZERO_RETURN",
+                   func, val);
+        break;
+    case SSL_ERROR_WANT_READ:
+        g_warning ("%s(): %i / SSL_ERROR_WANT_READ",
+                   func, val);
+        break;
+    case SSL_ERROR_WANT_WRITE:
+        g_warning ("%s(): %i / SSL_ERROR_WANT_WRITE",
+                   func, val);
+        break;
+    case SSL_ERROR_WANT_X509_LOOKUP:
+        g_warning ("%s(): %i / SSL_ERROR_WANT_X509_LOOKUP",
+                   func, val);
+        break;
+    case SSL_ERROR_SYSCALL:
+        g_warning ("%s(): %i / SSL_ERROR_SYSCALL",
+                   func, val);
+        break;
+    case SSL_ERROR_SSL:
+        g_warning ("%s(): %i / SSL_ERROR_SSL",
+                   func, val);
+        break;
+    }
+    do {
+        errid = ERR_get_error();
+        if (errid) {
+            errmsg = ERR_error_string(errid, NULL);
+            g_warning ("\t%s", errmsg);
+        }
+    } while (errid != 0);
 }
 
 /*static const char *
-ssl_get_x509_err (long verify_res)
-{
-	sprintf(_ssl_error_code, "%ld", verify_res);
-	return _ssl_error_code;
-}*/
+  ssl_get_x509_err (long verify_res)
+  {
+  sprintf(_ssl_error_code, "%ld", verify_res);
+  return _ssl_error_code;
+  }*/
 
-	
+    
 int
 ssl_verify_cb (int preverify_ok, X509_STORE_CTX *x509_ctx)
 {
-	/* As this callback doesn't get auxiliary pointer parameter we
-	 * cannot really use this. However, we can retrieve results later. */
-	return 1;
+    /* As this callback doesn't get auxiliary pointer parameter we
+     * cannot really use this. However, we can retrieve results later. */
+    return 1;
 }
 
 static gboolean
 ssl_verify_certificate (LmSSL *ssl, const gchar *server)
 {
-	gboolean retval = TRUE;
-	LmSSLBase *base;
-	long verify_res;
-	unsigned int digest_len;
-	X509 *srv_crt;
-	gchar *cn;
-	X509_NAME *crt_subj;
+    gboolean retval = TRUE;
+    LmSSLBase *base;
+    long verify_res;
+    unsigned int digest_len;
+    X509 *srv_crt;
+    gchar *cn;
+    X509_NAME *crt_subj;
 
-	base = LM_SSL_BASE(ssl);
+    base = LM_SSL_BASE(ssl);
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-	       "%s: Cipher: %s/%s/%i\n",
-	       __FILE__,
-	       SSL_get_cipher_version(ssl->ssl),
-	       SSL_get_cipher_name(ssl->ssl),
-	       SSL_get_cipher_bits(ssl->ssl, NULL));
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+           "%s: Cipher: %s/%s/%i\n",
+           __FILE__,
+           SSL_get_cipher_version(ssl->ssl),
+           SSL_get_cipher_name(ssl->ssl),
+           SSL_get_cipher_bits(ssl->ssl, NULL));
 
-	verify_res = SSL_get_verify_result(ssl->ssl);
-	srv_crt = SSL_get_peer_certificate(ssl->ssl);
-	if (base->expected_fingerprint != NULL) {
-		X509_digest(srv_crt, EVP_md5(), (guchar *) base->fingerprint,
-			&digest_len);
-		if (memcmp(base->expected_fingerprint, base->fingerprint,
-			digest_len) != 0) {
-			if (base->func(ssl,
-				LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				return FALSE;
-			}
-		}
-	}
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-	       "%s: SSL_get_verify_result() = %ld\n",
-	       __FILE__,
-	       verify_res);
-	switch (verify_res) {
-		case X509_V_OK:
-			break;
-		case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
-			/* special case for self signed certificates? */
-		case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
-		case X509_V_ERR_UNABLE_TO_GET_CRL:
-		case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
-			if (base->func(ssl,
-				LM_SSL_STATUS_NO_CERT_FOUND,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
-			break;
-		case X509_V_ERR_INVALID_CA:
-		case X509_V_ERR_CERT_UNTRUSTED:
-		case X509_V_ERR_CERT_REVOKED:
-			if (base->func(ssl,
-				LM_SSL_STATUS_UNTRUSTED_CERT,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
-			break;
-		case X509_V_ERR_CERT_NOT_YET_VALID:
-		case X509_V_ERR_CRL_NOT_YET_VALID:
-			if (base->func(ssl,
-				LM_SSL_STATUS_CERT_NOT_ACTIVATED,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
-			break;
-		case X509_V_ERR_CERT_HAS_EXPIRED:
-		case X509_V_ERR_CRL_HAS_EXPIRED:
-			if (base->func(ssl,
-				LM_SSL_STATUS_CERT_EXPIRED,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
-			break;
-		default:
-			if (base->func(ssl, LM_SSL_STATUS_GENERIC_ERROR,
-				base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
-	}
-	/*if (retval == FALSE) {
-		g_set_error (error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			ssl_get_x509_err(verify_res), NULL);
-	}*/
-	crt_subj = X509_get_subject_name(srv_crt);
-	cn = (gchar *) g_malloc0(LM_SSL_CN_MAX + 1);
-	
-	if (X509_NAME_get_text_by_NID(crt_subj, NID_commonName, cn, LM_SSL_CN_MAX) > 0) {
-		gchar *domain = cn;
+    verify_res = SSL_get_verify_result(ssl->ssl);
+    srv_crt = SSL_get_peer_certificate(ssl->ssl);
+    if (base->expected_fingerprint != NULL) {
+        X509_digest(srv_crt, EVP_md5(), (guchar *) base->fingerprint,
+                    &digest_len);
+        if (memcmp(base->expected_fingerprint, base->fingerprint,
+                   digest_len) != 0) {
+            if (base->func(ssl,
+                           LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,
+                           base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                return FALSE;
+            }
+        }
+    }
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+           "%s: SSL_get_verify_result() = %ld\n",
+           __FILE__,
+           verify_res);
+    switch (verify_res) {
+    case X509_V_OK:
+        break;
+    case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+        /* special case for self signed certificates? */
+    case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
+    case X509_V_ERR_UNABLE_TO_GET_CRL:
+    case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
+        if (base->func(ssl,
+                       LM_SSL_STATUS_NO_CERT_FOUND,
+                       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            retval = FALSE;
+        }
+        break;
+    case X509_V_ERR_INVALID_CA:
+    case X509_V_ERR_CERT_UNTRUSTED:
+    case X509_V_ERR_CERT_REVOKED:
+        if (base->func(ssl,
+                       LM_SSL_STATUS_UNTRUSTED_CERT,
+                       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            retval = FALSE;
+        }
+        break;
+    case X509_V_ERR_CERT_NOT_YET_VALID:
+    case X509_V_ERR_CRL_NOT_YET_VALID:
+        if (base->func(ssl,
+                       LM_SSL_STATUS_CERT_NOT_ACTIVATED,
+                       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            retval = FALSE;
+        }
+        break;
+    case X509_V_ERR_CERT_HAS_EXPIRED:
+    case X509_V_ERR_CRL_HAS_EXPIRED:
+        if (base->func(ssl,
+                       LM_SSL_STATUS_CERT_EXPIRED,
+                       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            retval = FALSE;
+        }
+        break;
+    default:
+        if (base->func(ssl, LM_SSL_STATUS_GENERIC_ERROR,
+                       base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+            retval = FALSE;
+        }
+    }
+    /*if (retval == FALSE) {
+      g_set_error (error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+      ssl_get_x509_err(verify_res), NULL);
+      }*/
+    crt_subj = X509_get_subject_name(srv_crt);
+    cn = (gchar *) g_malloc0(LM_SSL_CN_MAX + 1);
+    
+    if (X509_NAME_get_text_by_NID(crt_subj, NID_commonName, cn, LM_SSL_CN_MAX) > 0) {
+        gchar *domain = cn;
 
-		g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-		      "%s: server = '%s', cn = '%s'\n",
-		      __FILE__, server, cn);
-		
-		if ((cn[0] == '*') && (cn[1] == '.')) {
-			domain = strstr (cn, server);
-		}
+        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
+               "%s: server = '%s', cn = '%s'\n",
+               __FILE__, server, cn);
+        
+        if ((cn[0] == '*') && (cn[1] == '.')) {
+            domain = strstr (cn, server);
+        }
 
-		if ((domain == NULL) || (strncmp (server, domain, LM_SSL_CN_MAX) != 0)) {
-			if (base->func (ssl,
-					LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
-					base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-				retval = FALSE;
-			}
+        if ((domain == NULL) || (strncmp (server, domain, LM_SSL_CN_MAX) != 0)) {
+            if (base->func (ssl,
+                            LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
+                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
+                retval = FALSE;
+            }
+        }
+    } else {
+        g_warning ("X509_NAME_get_text_by_NID() failed");
     }
-	} else {
-		g_warning ("X509_NAME_get_text_by_NID() failed");
-	}
 
-	g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, 
-	       "%s:\n\tIssuer: %s\n\tSubject: %s\n\tFor: %s\n",
-	       __FILE__,
-	       X509_NAME_oneline(X509_get_issuer_name(srv_crt), NULL, 0),
-	       X509_NAME_oneline(X509_get_subject_name(srv_crt), NULL, 0),
-	       cn);
+    g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, 
+           "%s:\n\tIssuer: %s\n\tSubject: %s\n\tFor: %s\n",
+           __FILE__,
+           X509_NAME_oneline(X509_get_issuer_name(srv_crt), NULL, 0),
+           X509_NAME_oneline(X509_get_subject_name(srv_crt), NULL, 0),
+           cn);
 
-	g_free(cn);
-	
-	return retval;
+    g_free(cn);
+    
+    return retval;
 }
 
 static GIOStatus
 ssl_io_status_from_return (LmSSL *ssl, gint ret)
 {
-	gint      error;
-	GIOStatus status;
+    gint      error;
+    GIOStatus status;
 
-	if (ret > 0) return G_IO_STATUS_NORMAL;
+    if (ret > 0) return G_IO_STATUS_NORMAL;
 
-	error = SSL_get_error(ssl->ssl, ret);
-	switch (error) {
-		case SSL_ERROR_WANT_READ:
-		case SSL_ERROR_WANT_WRITE:
-			status = G_IO_STATUS_AGAIN;
-			break;
-		case SSL_ERROR_ZERO_RETURN:
-			status = G_IO_STATUS_EOF;
-			break;
-		default:
-			status = G_IO_STATUS_ERROR;
-	}
+    error = SSL_get_error(ssl->ssl, ret);
+    switch (error) {
+    case SSL_ERROR_WANT_READ:
+    case SSL_ERROR_WANT_WRITE:
+        status = G_IO_STATUS_AGAIN;
+        break;
+    case SSL_ERROR_ZERO_RETURN:
+        status = G_IO_STATUS_EOF;
+        break;
+    default:
+        status = G_IO_STATUS_ERROR;
+    }
 
-	return status;
+    return status;
 }
 
 /* From lm-ssl-protected.h */
 
 LmSSL *
 _lm_ssl_new (const gchar    *expected_fingerprint,
-	    LmSSLFunction   ssl_function,
-	    gpointer        user_data,
-	    GDestroyNotify  notify)
+             LmSSLFunction   ssl_function,
+             gpointer        user_data,
+             GDestroyNotify  notify)
 {
-	LmSSL *ssl;
+    LmSSL *ssl;
 
-	ssl = g_new0 (LmSSL, 1);
+    ssl = g_new0 (LmSSL, 1);
 
-	_lm_ssl_base_init ((LmSSLBase *) ssl,
-			   expected_fingerprint,
-			   ssl_function, user_data, notify);
+    _lm_ssl_base_init ((LmSSLBase *) ssl,
+                       expected_fingerprint,
+                       ssl_function, user_data, notify);
 
-	return ssl;
+    return ssl;
 }
 
 void
 _lm_ssl_initialize (LmSSL *ssl) 
 {
-	static gboolean initialized = FALSE;
-	/*const char *cert_file = NULL;*/
+    static gboolean initialized = FALSE;
+    /*const char *cert_file = NULL;*/
 
-	if (!initialized) {
-		SSL_library_init();
-		/* FIXME: Is this needed when we are not in debug? */
-		SSL_load_error_strings();
-		initialized = TRUE;
-	}
+    if (!initialized) {
+        SSL_library_init();
+        /* FIXME: Is this needed when we are not in debug? */
+        SSL_load_error_strings();
+        initialized = TRUE;
+    }
 
-	ssl->ssl_method = TLSv1_client_method();
-	if (ssl->ssl_method == NULL) {
-		g_warning ("TLSv1_client_method() == NULL");
-		abort();
-	}
-	ssl->ssl_ctx = SSL_CTX_new(ssl->ssl_method);
-	if (ssl->ssl_ctx == NULL) {
-		g_warning ("SSL_CTX_new() == NULL");
-		abort();
-	}
-	/*if (access("/etc/ssl/cert.pem", R_OK) == 0)
-		cert_file = "/etc/ssl/cert.pem";
-	if (!SSL_CTX_load_verify_locations(ssl->ssl_ctx,
-		cert_file, "/etc/ssl/certs")) {
-		g_warning("SSL_CTX_load_verify_locations() failed");
-	}*/
-	SSL_CTX_set_default_verify_paths (ssl->ssl_ctx);
-	SSL_CTX_set_verify (ssl->ssl_ctx, SSL_VERIFY_PEER, ssl_verify_cb);
+    ssl->ssl_method = TLSv1_client_method();
+    if (ssl->ssl_method == NULL) {
+        g_warning ("TLSv1_client_method() == NULL");
+        abort();
+    }
+    ssl->ssl_ctx = SSL_CTX_new(ssl->ssl_method);
+    if (ssl->ssl_ctx == NULL) {
+        g_warning ("SSL_CTX_new() == NULL");
+        abort();
+    }
+    /*if (access("/etc/ssl/cert.pem", R_OK) == 0)
+      cert_file = "/etc/ssl/cert.pem";
+      if (!SSL_CTX_load_verify_locations(ssl->ssl_ctx,
+      cert_file, "/etc/ssl/certs")) {
+      g_warning("SSL_CTX_load_verify_locations() failed");
+      }*/
+    SSL_CTX_set_default_verify_paths (ssl->ssl_ctx);
+    SSL_CTX_set_verify (ssl->ssl_ctx, SSL_VERIFY_PEER, ssl_verify_cb);
 }
 
 gboolean
 _lm_ssl_begin (LmSSL *ssl, gint fd, const gchar *server, GError **error)
 {
-	gint ssl_ret;
-	GIOStatus status;
+    gint ssl_ret;
+    GIOStatus status;
 
-	if (!ssl->ssl_ctx) {
-		g_set_error (error,
-			     LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			     "No SSL Context for OpenSSL");
-		return FALSE;
-	}
+    if (!ssl->ssl_ctx) {
+        g_set_error (error,
+                     LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+                     "No SSL Context for OpenSSL");
+        return FALSE;
+    }
 
-	ssl->ssl = SSL_new(ssl->ssl_ctx);
-	if (ssl->ssl == NULL) {
-		g_warning ("SSL_new() == NULL");
-		g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			    "SSL_new()");
-		return FALSE;
-	}
+    ssl->ssl = SSL_new(ssl->ssl_ctx);
+    if (ssl->ssl == NULL) {
+        g_warning ("SSL_new() == NULL");
+        g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+                    "SSL_new()");
+        return FALSE;
+    }
 
-	if (!SSL_set_fd (ssl->ssl, fd)) {
-		g_warning ("SSL_set_fd() failed");
-		g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			"SSL_set_fd()");
-		return FALSE;
-	}
-	/*ssl->bio = BIO_new_socket (fd, BIO_NOCLOSE);
-	if (ssl->bio == NULL) {
-		g_warning("BIO_new_socket() failed");
-		g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			"BIO_new_socket()");
-		return FALSE;
-	}
-	SSL_set_bio(ssl->ssl, ssl->bio, ssl->bio);*/
+    if (!SSL_set_fd (ssl->ssl, fd)) {
+        g_warning ("SSL_set_fd() failed");
+        g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+                    "SSL_set_fd()");
+        return FALSE;
+    }
+    /*ssl->bio = BIO_new_socket (fd, BIO_NOCLOSE);
+      if (ssl->bio == NULL) {
+      g_warning("BIO_new_socket() failed");
+      g_set_error(error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+      "BIO_new_socket()");
+      return FALSE;
+      }
+      SSL_set_bio(ssl->ssl, ssl->bio, ssl->bio);*/
 
-	do {
-		ssl_ret = SSL_connect(ssl->ssl);
-		if (ssl_ret <= 0) {
-			status = ssl_io_status_from_return(ssl, ssl_ret);
-			if (status != G_IO_STATUS_AGAIN) {
-				ssl_print_state(ssl, "SSL_connect",
-					ssl_ret);
-				g_set_error(error, LM_ERROR,
-					LM_ERROR_CONNECTION_OPEN,
-					"SSL_connect()");
-				return FALSE;
-			}
+    do {
+        ssl_ret = SSL_connect(ssl->ssl);
+        if (ssl_ret <= 0) {
+            status = ssl_io_status_from_return(ssl, ssl_ret);
+            if (status != G_IO_STATUS_AGAIN) {
+                ssl_print_state(ssl, "SSL_connect",
+                                ssl_ret);
+                g_set_error(error, LM_ERROR,
+                            LM_ERROR_CONNECTION_OPEN,
+                            "SSL_connect()");
+                return FALSE;
+            }
 
-		}
-	} while (ssl_ret <= 0);
+        }
+    } while (ssl_ret <= 0);
 
-	if (!ssl_verify_certificate (ssl, server)) {
-		g_set_error (error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
-			"*** SSL certificate verification failed");
-		return FALSE;
-	}
-	
-	return TRUE; 
+    if (!ssl_verify_certificate (ssl, server)) {
+        g_set_error (error, LM_ERROR, LM_ERROR_CONNECTION_OPEN,
+                     "*** SSL certificate verification failed");
+        return FALSE;
+    }
+    
+    return TRUE; 
 }
 
 GIOStatus
 _lm_ssl_read (LmSSL *ssl, gchar *buf, gint len, gsize *bytes_read)
 {
-	GIOStatus status;
-	gint ssl_ret;
+    GIOStatus status;
+    gint ssl_ret;
 
-	*bytes_read = 0;
-	ssl_ret = SSL_read(ssl->ssl, buf, len);
-	status = ssl_io_status_from_return(ssl, ssl_ret);
-	if (status == G_IO_STATUS_NORMAL) {
-		*bytes_read = ssl_ret;
-	}
-	
-	return status;
+    *bytes_read = 0;
+    ssl_ret = SSL_read(ssl->ssl, buf, len);
+    status = ssl_io_status_from_return(ssl, ssl_ret);
+    if (status == G_IO_STATUS_NORMAL) {
+        *bytes_read = ssl_ret;
+    }
+    
+    return status;
 }
 
 gint
 _lm_ssl_send (LmSSL *ssl, const gchar *str, gint len)
 {
-	GIOStatus status;
-	gint ssl_ret;
+    GIOStatus status;
+    gint ssl_ret;
 
-	do {
-		ssl_ret = SSL_write(ssl->ssl, str, len);
-		if (ssl_ret <= 0) {
-			status = ssl_io_status_from_return(ssl, ssl_ret);
-			if (status != G_IO_STATUS_AGAIN)
-				return -1;
-		}
-	} while (ssl_ret <= 0);
+    do {
+        ssl_ret = SSL_write(ssl->ssl, str, len);
+        if (ssl_ret <= 0) {
+            status = ssl_io_status_from_return(ssl, ssl_ret);
+            if (status != G_IO_STATUS_AGAIN)
+                return -1;
+        }
+    } while (ssl_ret <= 0);
 
-	return ssl_ret;
+    return ssl_ret;
 }
 
 void 
 _lm_ssl_close (LmSSL *ssl)
 {
-	if (ssl->ssl != NULL) {
-		SSL_shutdown(ssl->ssl);
-		SSL_free(ssl->ssl);
-		ssl->ssl = NULL;
-	}
+    if (ssl->ssl != NULL) {
+        SSL_shutdown(ssl->ssl);
+        SSL_free(ssl->ssl);
+        ssl->ssl = NULL;
+    }
 }
 
 void
 _lm_ssl_free (LmSSL *ssl)
 {
-	SSL_CTX_free(ssl->ssl_ctx);
-	ssl->ssl_ctx = NULL;
+    SSL_CTX_free(ssl->ssl_ctx);
+    ssl->ssl_ctx = NULL;
 
-	_lm_ssl_base_free_fields (LM_SSL_BASE(ssl));
-	g_free (ssl);
+    _lm_ssl_base_free_fields (LM_SSL_BASE(ssl));
+    g_free (ssl);
 }
 
 #endif /* HAVE_GNUTLS */
--- a/loudmouth/lm-ssl.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-ssl.h	Wed Oct 08 13:11:02 2008 +0200
@@ -63,9 +63,9 @@
  * Provides information of the status of a certain certificate.
  */
 typedef enum {
-	LM_CERT_INVALID,
-	LM_CERT_ISSUER_NOT_FOUND,
-	LM_CERT_REVOKED
+    LM_CERT_INVALID,
+    LM_CERT_ISSUER_NOT_FOUND,
+    LM_CERT_REVOKED
 } LmCertificateStatus;
 
 /**
@@ -81,13 +81,13 @@
  * Provides information about something gone wrong when trying to setup the SSL connection.
  */
 typedef enum {
-	LM_SSL_STATUS_NO_CERT_FOUND,	
-	LM_SSL_STATUS_UNTRUSTED_CERT,
-	LM_SSL_STATUS_CERT_EXPIRED,
-	LM_SSL_STATUS_CERT_NOT_ACTIVATED,
-	LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,			
-	LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,			
-	LM_SSL_STATUS_GENERIC_ERROR
+    LM_SSL_STATUS_NO_CERT_FOUND,    
+    LM_SSL_STATUS_UNTRUSTED_CERT,
+    LM_SSL_STATUS_CERT_EXPIRED,
+    LM_SSL_STATUS_CERT_NOT_ACTIVATED,
+    LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,           
+    LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH,            
+    LM_SSL_STATUS_GENERIC_ERROR
 } LmSSLStatus;
 
 /**
@@ -98,8 +98,8 @@
  * Used to inform #LmConnection if you want to stop due to an error reported or if you want to continue to connect.
  */
 typedef enum {
-	LM_SSL_RESPONSE_CONTINUE,
-	LM_SSL_RESPONSE_STOP
+    LM_SSL_RESPONSE_CONTINUE,
+    LM_SSL_RESPONSE_STOP
 } LmSSLResponse;
 
 /**
@@ -113,21 +113,21 @@
  * Returns: User should return #LM_SSL_RESPONSE_CONTINUE if connection should proceed and otherwise #LM_SSL_RESPONSE_STOP.
  */
 typedef LmSSLResponse (* LmSSLFunction)      (LmSSL        *ssl,
-					      LmSSLStatus   status,
-					      gpointer      user_data);
+                                              LmSSLStatus   status,
+                                              gpointer      user_data);
 
 LmSSL *               lm_ssl_new             (const gchar *expected_fingerprint,
-					      LmSSLFunction   ssl_function,
-					      gpointer        user_data,
-					      GDestroyNotify  notify);
+                                              LmSSLFunction   ssl_function,
+                                              gpointer        user_data,
+                                              GDestroyNotify  notify);
 
 gboolean              lm_ssl_is_supported    (void);
 
 const gchar *         lm_ssl_get_fingerprint (LmSSL          *ssl);
 
 void                  lm_ssl_use_starttls    (LmSSL *ssl,
-					      gboolean use_starttls,
-					      gboolean require);
+                                              gboolean use_starttls,
+                                              gboolean require);
 
 gboolean              lm_ssl_get_use_starttls (LmSSL *ssl);
 
--- a/loudmouth/lm-tcp-socket.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-tcp-socket.c	Wed Oct 08 13:11:02 2008 +0200
@@ -28,7 +28,7 @@
 
 typedef struct LmTcpSocketPriv LmTcpSocketPriv;
 struct LmTcpSocketPriv {
-	gint my_prop;
+    gint my_prop;
 };
 
 static void     tcp_socket_iface_init          (LmSocketIface     *iface);
@@ -56,13 +56,13 @@
                                                 tcp_socket_iface_init))
 
 enum {
-	PROP_0,
-	PROP_MY_PROP
+    PROP_0,
+    PROP_MY_PROP
 };
 
 enum {
-	SIGNAL_NAME,
-	LAST_SIGNAL
+    SIGNAL_NAME,
+    LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
@@ -70,59 +70,59 @@
 static void
 lm_tcp_socket_class_init (LmTcpSocketClass *class)
 {
-	GObjectClass *object_class = G_OBJECT_CLASS (class);
+    GObjectClass *object_class = G_OBJECT_CLASS (class);
 
-	object_class->finalize     = tcp_socket_finalize;
-	object_class->get_property = tcp_socket_get_property;
-	object_class->set_property = tcp_socket_set_property;
+    object_class->finalize     = tcp_socket_finalize;
+    object_class->get_property = tcp_socket_get_property;
+    object_class->set_property = tcp_socket_set_property;
 
-	g_object_class_install_property (object_class,
-					 PROP_MY_PROP,
-					 g_param_spec_string ("my-prop",
-							      "My Prop",
-							      "My Property",
-							      NULL,
-							      G_PARAM_READWRITE));
-	
-	signals[SIGNAL_NAME] = 
-		g_signal_new ("signal-name",
-			      G_OBJECT_CLASS_TYPE (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      0,
-			      NULL, NULL,
-			      lm_marshal_VOID__INT,
-			      G_TYPE_NONE, 
-			      1, G_TYPE_INT);
-	
-	g_type_class_add_private (object_class, sizeof (LmTcpSocketPriv));
+    g_object_class_install_property (object_class,
+                                     PROP_MY_PROP,
+                                     g_param_spec_string ("my-prop",
+                                                          "My Prop",
+                                                          "My Property",
+                                                          NULL,
+                                                          G_PARAM_READWRITE));
+    
+    signals[SIGNAL_NAME] = 
+        g_signal_new ("signal-name",
+                      G_OBJECT_CLASS_TYPE (object_class),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL, NULL,
+                      lm_marshal_VOID__INT,
+                      G_TYPE_NONE, 
+                      1, G_TYPE_INT);
+    
+    g_type_class_add_private (object_class, sizeof (LmTcpSocketPriv));
 }
 
 static void
 tcp_socket_iface_init (LmSocketIface *iface)
 {
-        iface->connect    = tcp_socket_connect;
-        iface->write      = tcp_socket_write;
-        iface->read       = tcp_socket_read;
-        iface->disconnect = tcp_socket_disconnect;
+    iface->connect    = tcp_socket_connect;
+    iface->write      = tcp_socket_write;
+    iface->read       = tcp_socket_read;
+    iface->disconnect = tcp_socket_disconnect;
 }
 
 static void
 lm_tcp_socket_init (LmTcpSocket *dummy)
 {
-	LmTcpSocketPriv *priv;
+    LmTcpSocketPriv *priv;
 
-	priv = GET_PRIV (dummy);
+    priv = GET_PRIV (dummy);
 
 }
 
 static void
 tcp_socket_finalize (GObject *object)
 {
-	LmTcpSocketPriv *priv;
+    LmTcpSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	(G_OBJECT_CLASS (lm_tcp_socket_parent_class)->finalize) (object);
+    (G_OBJECT_CLASS (lm_tcp_socket_parent_class)->finalize) (object);
 }
 
 static void
@@ -131,18 +131,18 @@
                          GValue     *value,
                          GParamSpec *pspec)
 {
-	LmTcpSocketPriv *priv;
+    LmTcpSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		g_value_set_int (value, priv->my_prop);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        g_value_set_int (value, priv->my_prop);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void
@@ -151,40 +151,40 @@
                          const GValue *value,
                          GParamSpec   *pspec)
 {
-	LmTcpSocketPriv *priv;
+    LmTcpSocketPriv *priv;
 
-	priv = GET_PRIV (object);
+    priv = GET_PRIV (object);
 
-	switch (param_id) {
-	case PROP_MY_PROP:
-		priv->my_prop = g_value_get_int (value);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
-		break;
-	};
+    switch (param_id) {
+    case PROP_MY_PROP:
+        priv->my_prop = g_value_get_int (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
+        break;
+    };
 }
 
 static void 
 tcp_socket_connect (LmSocket *socket)
 {
-        /* Initiate the connection process                 */
-        /* DNS lookup, connect thing, create IOchannel etc */
+    /* Initiate the connection process                 */
+    /* DNS lookup, connect thing, create IOchannel etc */
 }
 
 static gboolean
 tcp_socket_write (LmSocket *socket, gchar *data, gsize len)
 {
-        return FALSE;
+    return FALSE;
 }
 
 static gboolean
 tcp_socket_read (LmSocket *socket,
-                gchar     *buf,
-                gsize      buf_len,
-                gsize     *read_len)
+                 gchar     *buf,
+                 gsize      buf_len,
+                 gsize     *read_len)
 {
-        return FALSE;
+    return FALSE;
 }
 
 static void 
--- a/loudmouth/lm-tcp-socket.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-tcp-socket.h	Wed Oct 08 13:11:02 2008 +0200
@@ -38,11 +38,11 @@
 typedef struct LmTcpSocketClass LmTcpSocketClass;
 
 struct LmTcpSocket {
-	GObject parent;
+    GObject parent;
 };
 
 struct LmTcpSocketClass {
-	GObjectClass parent_class;
+    GObjectClass parent_class;
 };
 
 GType       lm_tcp_socket_get_type      (void);
--- a/loudmouth/lm-utils.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-utils.c	Wed Oct 08 13:11:02 2008 +0200
@@ -49,72 +49,72 @@
 
 LmCallback *
 _lm_utils_new_callback (gpointer func, 
-			gpointer user_data,
-			GDestroyNotify notify)
+                        gpointer user_data,
+                        GDestroyNotify notify)
 {
-	LmCallback *cb;
-	
-	cb = g_new0 (LmCallback, 1);
-	cb->func = func;
-	cb->user_data = user_data;
-	cb->notify = notify;
+    LmCallback *cb;
+    
+    cb = g_new0 (LmCallback, 1);
+    cb->func = func;
+    cb->user_data = user_data;
+    cb->notify = notify;
 
-	return cb;
+    return cb;
 }
 
 void
 _lm_utils_free_callback (LmCallback *cb)
 {
-	if (!cb) {
-		return;
-	}
+    if (!cb) {
+        return;
+    }
 
-	if (cb->notify) {
-		(* cb->notify) (cb->user_data);
-	}
-	g_free (cb);
+    if (cb->notify) {
+        (* cb->notify) (cb->user_data);
+    }
+    g_free (cb);
 }
 
 gchar *
 _lm_utils_generate_id (void)
 {
-	static guint  last_id = 0;
-	GTimeVal      tv;
-	glong         val;
+    static guint  last_id = 0;
+    GTimeVal      tv;
+    glong         val;
 
-	g_get_current_time (&tv);
-	val = (tv.tv_sec & tv.tv_usec) + last_id++;
-		
-	return g_strdup_printf ("%ld%ld", val, tv.tv_usec);
+    g_get_current_time (&tv);
+    val = (tv.tv_sec & tv.tv_usec) + last_id++;
+        
+    return g_strdup_printf ("%ld%ld", val, tv.tv_usec);
 }
 
 gchar*
 _lm_utils_hostname_to_punycode (const gchar *hostname)
 {
 #ifdef HAVE_IDN
-	char *s;
-	uint32_t *q;
-	int rc;
-	gchar *result;
+    char *s;
+    uint32_t *q;
+    int rc;
+    gchar *result;
 
-	q = stringprep_utf8_to_ucs4 (hostname, -1, NULL);
-	if (q == NULL) {
-		return g_strdup (hostname);
-	}
+    q = stringprep_utf8_to_ucs4 (hostname, -1, NULL);
+    if (q == NULL) {
+        return g_strdup (hostname);
+    }
 
-	rc = idna_to_ascii_4z (q, &s, IDNA_ALLOW_UNASSIGNED);
-	free(q);
-	if (rc != IDNA_SUCCESS) {
-		return g_strdup (hostname);
-	}
+    rc = idna_to_ascii_4z (q, &s, IDNA_ALLOW_UNASSIGNED);
+    free(q);
+    if (rc != IDNA_SUCCESS) {
+        return g_strdup (hostname);
+    }
 
-	/* insures result is allocated through glib */
-	result = g_strdup(s);
-	free(s);
+    /* insures result is allocated through glib */
+    result = g_strdup(s);
+    free(s);
 
-	return result;
+    return result;
 #else
-	return g_strdup(hostname);
+    return g_strdup(hostname);
 #endif
 }
 
@@ -129,34 +129,34 @@
 struct tm *
 lm_utils_get_localtime (const gchar *stamp)
 {
-	struct tm tm;
-	time_t    t;
-	gint      year, month;
-	
-	g_return_val_if_fail (stamp != NULL, NULL);
+    struct tm tm;
+    time_t    t;
+    gint      year, month;
+    
+    g_return_val_if_fail (stamp != NULL, NULL);
 
-	/* 20021209T23:51:30 */
+    /* 20021209T23:51:30 */
 
-	sscanf (stamp, "%4d%2d%2dT%2d:%2d:%2d", 
-		&year, &month, &tm.tm_mday, &tm.tm_hour,
-		&tm.tm_min, &tm.tm_sec);
+    sscanf (stamp, "%4d%2d%2dT%2d:%2d:%2d", 
+            &year, &month, &tm.tm_mday, &tm.tm_hour,
+            &tm.tm_min, &tm.tm_sec);
 
-	tm.tm_year = year - 1900;
-	tm.tm_mon = month - 1;
-	tm.tm_isdst = -1;
+    tm.tm_year = year - 1900;
+    tm.tm_mon = month - 1;
+    tm.tm_isdst = -1;
 
- 	t = mktime (&tm);
+    t = mktime (&tm);
 
 #if defined(HAVE_TM_GMTOFF)
-	t += tm.tm_gmtoff;
+    t += tm.tm_gmtoff;
 #elif defined(HAVE_TIMEZONE)
-	t -= timezone;
-	if (tm.tm_isdst > 0) {
-		t += 3600;
-	}
-#endif	
+    t -= timezone;
+    if (tm.tm_isdst > 0) {
+        t += 3600;
+    }
+#endif  
 
-	return localtime (&t);
+    return localtime (&t);
 }
 
 
--- a/loudmouth/lm-xmpp-writer.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-xmpp-writer.c	Wed Oct 08 13:11:02 2008 +0200
@@ -27,45 +27,45 @@
 GType
 lm_xmpp_writer_get_type (void)
 {
-	static GType iface_type = 0;
+    static GType iface_type = 0;
 
-	if (!iface_type) {
-		static const GTypeInfo iface_info = {
-			sizeof (LmXmppWriterIface),
-			(GBaseInitFunc)     xmpp_writer_base_init,
-			(GBaseFinalizeFunc) NULL,
-		};
+    if (!iface_type) {
+        static const GTypeInfo iface_info = {
+            sizeof (LmXmppWriterIface),
+            (GBaseInitFunc)     xmpp_writer_base_init,
+            (GBaseFinalizeFunc) NULL,
+        };
 
-		iface_type = g_type_register_static (G_TYPE_INTERFACE,
-						     "LmXmppWriterIface",
-						     &iface_info,
-						     0);
+        iface_type = g_type_register_static (G_TYPE_INTERFACE,
+                                             "LmXmppWriterIface",
+                                             &iface_info,
+                                             0);
 
-		g_type_interface_add_prerequisite (iface_type, G_TYPE_OBJECT);
-	}
+        g_type_interface_add_prerequisite (iface_type, G_TYPE_OBJECT);
+    }
 
-	return iface_type;
+    return iface_type;
 }
 
 static void
 xmpp_writer_base_init (LmXmppWriterIface *iface)
 {
-	static gboolean initialized = FALSE;
+    static gboolean initialized = FALSE;
 
-	if (!initialized) {
-		/* create interface signals here. */
-		initialized = TRUE;
-	}
+    if (!initialized) {
+        /* create interface signals here. */
+        initialized = TRUE;
+    }
 }
 
 void
 lm_xmpp_writer_send_message (LmXmppWriter *writer, LmMessage *message)
 {
-        if (!LM_XMPP_WRITER_GET_IFACE(writer)->send_message) {
-                g_assert_not_reached ();
-	}
+    if (!LM_XMPP_WRITER_GET_IFACE(writer)->send_message) {
+        g_assert_not_reached ();
+    }
 
-        LM_XMPP_WRITER_GET_IFACE(writer)->send_message (writer, message);
+    LM_XMPP_WRITER_GET_IFACE(writer)->send_message (writer, message);
 }
 
 void
@@ -73,20 +73,20 @@
                           const gchar  *buf,
                           gsize         len)
 {
-        if (!LM_XMPP_WRITER_GET_IFACE(writer)->send_text) {
-                g_assert_not_reached ();
-	}
+    if (!LM_XMPP_WRITER_GET_IFACE(writer)->send_text) {
+        g_assert_not_reached ();
+    }
 
-        LM_XMPP_WRITER_GET_IFACE(writer)->send_text (writer, buf, len);
+    LM_XMPP_WRITER_GET_IFACE(writer)->send_text (writer, buf, len);
 }
 
 void
 lm_xmpp_writer_flush (LmXmppWriter *writer)
 {
-	if (!LM_XMPP_WRITER_GET_IFACE(writer)->flush) {
-		g_assert_not_reached ();
-	}
+    if (!LM_XMPP_WRITER_GET_IFACE(writer)->flush) {
+        g_assert_not_reached ();
+    }
 
-	LM_XMPP_WRITER_GET_IFACE(writer)->flush (writer);
+    LM_XMPP_WRITER_GET_IFACE(writer)->flush (writer);
 }
 
--- a/loudmouth/lm-xmpp-writer.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/lm-xmpp-writer.h	Wed Oct 08 13:11:02 2008 +0200
@@ -37,17 +37,17 @@
 typedef struct _LmXmppWriterIface LmXmppWriterIface;
 
 struct _LmXmppWriterIface {
-	GTypeInterface parent;
+    GTypeInterface parent;
 
-	/* <vtable> */
-        void (*send_message) (LmXmppWriter *writer,
-                              LmMessage    *message);
-        void (*send_text)    (LmXmppWriter *writer,
-                              const gchar  *buf,
-                              gsize         len);
+    /* <vtable> */
+    void (*send_message) (LmXmppWriter *writer,
+                          LmMessage    *message);
+    void (*send_text)    (LmXmppWriter *writer,
+                          const gchar  *buf,
+                          gsize         len);
 
-        /* Needed? */
-        void (*flush)        (LmXmppWriter   *writer);
+    /* Needed? */
+    void (*flush)        (LmXmppWriter   *writer);
 };
 
 GType          lm_xmpp_writer_get_type      (void);
--- a/loudmouth/md5.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/md5.c	Wed Oct 08 13:11:02 2008 +0200
@@ -1,3 +1,4 @@
+/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
   Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.
 
@@ -10,24 +11,24 @@
   freely, subject to the following restrictions:
 
   1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
+  claim that you wrote the original software. If you use this software
+  in a product, an acknowledgment in the product documentation would be
+  appreciated but is not required.
   2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
+  misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 
   L. Peter Deutsch
   ghost@aladdin.com
 
- */
+*/
 /* $Id: md5.c,v 1.6 2002/04/13 19:20:28 lpd Exp $ */
 /*
   Independent implementation of MD5 (RFC 1321).
 
   This code implements the MD5 Algorithm defined in RFC 1321, whose
   text is available at
-	http://www.ietf.org/rfc/rfc1321.txt
+  http://www.ietf.org/rfc/rfc1321.txt
   The code is derived from the text of the RFC, including the test suite
   (section A.5) but excluding the rest of Appendix A.  It does not include
   any code or documentation that is identified in the RFC as being
@@ -38,23 +39,23 @@
   that follows (in reverse chronological order):
 
   2002-04-13 lpd Clarified derivation from RFC 1321; now handles byte order
-	either statically or dynamically; added missing #include <string.h>
-	in library.
+  either statically or dynamically; added missing #include <string.h>
+  in library.
   2002-03-11 lpd Corrected argument list for main(), and added int return
-	type, in test program and T value program.
+  type, in test program and T value program.
   2002-02-21 lpd Added missing #include <stdio.h> in test program.
   2000-07-03 lpd Patched to eliminate warnings about "constant is
-	unsigned in ANSI C, signed in traditional"; made test program
-	self-checking.
+  unsigned in ANSI C, signed in traditional"; made test program
+  self-checking.
   1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
   1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5).
   1999-05-03 lpd Original version.
- */
+*/
 
 #include "md5.h"
 #include <string.h>
 
-#undef BYTE_ORDER	/* 1 = big-endian, -1 = little-endian, 0 = unknown */
+#undef BYTE_ORDER   /* 1 = big-endian, -1 = little-endian, 0 = unknown */
 #ifdef ARCH_IS_BIG_ENDIAN
 #  define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1)
 #else
@@ -132,8 +133,8 @@
 md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/)
 {
     md5_word_t
-	a = pms->abcd[0], b = pms->abcd[1],
-	c = pms->abcd[2], d = pms->abcd[3];
+        a = pms->abcd[0], b = pms->abcd[1],
+        c = pms->abcd[2], d = pms->abcd[3];
     md5_word_t t;
 #if BYTE_ORDER > 0
     /* Define storage only for big-endian CPUs. */
@@ -146,51 +147,51 @@
 
     {
 #if BYTE_ORDER == 0
-	/*
-	 * Determine dynamically whether this is a big-endian or
-	 * little-endian machine, since we can use a more efficient
-	 * algorithm on the latter.
-	 */
-	static const int w = 1;
+        /*
+         * Determine dynamically whether this is a big-endian or
+         * little-endian machine, since we can use a more efficient
+         * algorithm on the latter.
+         */
+        static const int w = 1;
 
-	if (*((const md5_byte_t *)&w)) /* dynamic little-endian */
+        if (*((const md5_byte_t *)&w)) /* dynamic little-endian */
 #endif
-#if BYTE_ORDER <= 0		/* little-endian */
-	{
-	    /*
-	     * On little-endian machines, we can process properly aligned
-	     * data without copying it.
-	     */
-	    if (!((data - (const md5_byte_t *)0) & 3)) {
-		/* data are properly aligned */
-		X = (const md5_word_t *)data;
-	    } else {
-		/* not aligned */
-		memcpy(xbuf, data, 64);
-		X = xbuf;
-	    }
-	}
+#if BYTE_ORDER <= 0     /* little-endian */
+        {
+            /*
+             * On little-endian machines, we can process properly aligned
+             * data without copying it.
+             */
+            if (!((data - (const md5_byte_t *)0) & 3)) {
+                /* data are properly aligned */
+                X = (const md5_word_t *)data;
+            } else {
+                /* not aligned */
+                memcpy(xbuf, data, 64);
+                X = xbuf;
+            }
+        }
 #endif
 #if BYTE_ORDER == 0
-	else			/* dynamic big-endian */
+        else            /* dynamic big-endian */
 #endif
-#if BYTE_ORDER >= 0		/* big-endian */
-	{
-	    /*
-	     * On big-endian machines, we must arrange the bytes in the
-	     * right order.
-	     */
-	    const md5_byte_t *xp = data;
-	    int i;
+#if BYTE_ORDER >= 0     /* big-endian */
+        {
+            /*
+             * On big-endian machines, we must arrange the bytes in the
+             * right order.
+             */
+            const md5_byte_t *xp = data;
+            int i;
 
 #  if BYTE_ORDER == 0
-	    X = xbuf;		/* (dynamic only) */
+            X = xbuf;       /* (dynamic only) */
 #  else
-#    define xbuf X		/* (static only) */
+#    define xbuf X      /* (static only) */
 #  endif
-	    for (i = 0; i < 16; ++i, xp += 4)
-		xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24);
-	}
+            for (i = 0; i < 16; ++i, xp += 4)
+                xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24);
+        }
 #endif
     }
 
@@ -222,14 +223,14 @@
     SET(b, c, d, a, 15, 22, T16);
 #undef SET
 
-     /* Round 2. */
-     /* Let [abcd k s i] denote the operation
-          a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
+    /* Round 2. */
+    /* Let [abcd k s i] denote the operation
+       a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
 #define G(x, y, z) (((x) & (z)) | ((y) & ~(z)))
 #define SET(a, b, c, d, k, s, Ti)\
   t = a + G(b,c,d) + X[k] + Ti;\
   a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
+    /* Do the following 16 operations. */
     SET(a, b, c, d,  1,  5, T17);
     SET(d, a, b, c,  6,  9, T18);
     SET(c, d, a, b, 11, 14, T19);
@@ -248,14 +249,14 @@
     SET(b, c, d, a, 12, 20, T32);
 #undef SET
 
-     /* Round 3. */
-     /* Let [abcd k s t] denote the operation
-          a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
+    /* Round 3. */
+    /* Let [abcd k s t] denote the operation
+       a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
 #define H(x, y, z) ((x) ^ (y) ^ (z))
 #define SET(a, b, c, d, k, s, Ti)\
   t = a + H(b,c,d) + X[k] + Ti;\
   a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
+    /* Do the following 16 operations. */
     SET(a, b, c, d,  5,  4, T33);
     SET(d, a, b, c,  8, 11, T34);
     SET(c, d, a, b, 11, 16, T35);
@@ -274,14 +275,14 @@
     SET(b, c, d, a,  2, 23, T48);
 #undef SET
 
-     /* Round 4. */
-     /* Let [abcd k s t] denote the operation
-          a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
+    /* Round 4. */
+    /* Let [abcd k s t] denote the operation
+       a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
 #define I(x, y, z) ((y) ^ ((x) | ~(z)))
 #define SET(a, b, c, d, k, s, Ti)\
   t = a + I(b,c,d) + X[k] + Ti;\
   a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
+    /* Do the following 16 operations. */
     SET(a, b, c, d,  0,  6, T49);
     SET(d, a, b, c,  7, 10, T50);
     SET(c, d, a, b, 14, 15, T51);
@@ -300,9 +301,9 @@
     SET(b, c, d, a,  9, 21, T64);
 #undef SET
 
-     /* Then perform the following additions. (That is increment each
-        of the four registers by the value it had before this block
-        was started.) */
+    /* Then perform the following additions. (That is increment each
+       of the four registers by the value it had before this block
+       was started.) */
     pms->abcd[0] += a;
     pms->abcd[1] += b;
     pms->abcd[2] += c;
@@ -328,54 +329,54 @@
     md5_word_t nbits = (md5_word_t)(nbytes << 3);
 
     if (nbytes <= 0)
-	return;
+        return;
 
     /* Update the message length. */
     pms->count[1] += nbytes >> 29;
     pms->count[0] += nbits;
     if (pms->count[0] < nbits)
-	pms->count[1]++;
+        pms->count[1]++;
 
     /* Process an initial partial block. */
     if (offset) {
-	int copy = (offset + nbytes > 64 ? 64 - offset : nbytes);
+        int copy = (offset + nbytes > 64 ? 64 - offset : nbytes);
 
-	memcpy(pms->buf + offset, p, copy);
-	if (offset + copy < 64)
-	    return;
-	p += copy;
-	left -= copy;
-	md5_process(pms, pms->buf);
+        memcpy(pms->buf + offset, p, copy);
+        if (offset + copy < 64)
+            return;
+        p += copy;
+        left -= copy;
+        md5_process(pms, pms->buf);
     }
 
     /* Process full blocks. */
     for (; left >= 64; p += 64, left -= 64)
-	md5_process(pms, p);
+        md5_process(pms, p);
 
     /* Process a final partial block. */
     if (left)
-	memcpy(pms->buf, p, left);
+        memcpy(pms->buf, p, left);
 }
 
 void
 md5_finish(md5_state_t *pms, md5_byte_t digest[16])
 {
     static const md5_byte_t pad[64] = {
-	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+        0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
     };
     md5_byte_t data[8];
     int i;
 
     /* Save the length before padding. */
     for (i = 0; i < 8; ++i)
-	data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3));
+        data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3));
     /* Pad to 56 bytes mod 64. */
     md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
     /* Append the length. */
     md5_append(pms, data, 8);
     for (i = 0; i < 16; ++i)
-	digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
+        digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
 }
--- a/loudmouth/md5.h	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/md5.h	Wed Oct 08 13:11:02 2008 +0200
@@ -1,3 +1,4 @@
+/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /*
   Copyright (C) 1999, 2002 Aladdin Enterprises.  All rights reserved.
 
@@ -10,24 +11,24 @@
   freely, subject to the following restrictions:
 
   1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
+  claim that you wrote the original software. If you use this software
+  in a product, an acknowledgment in the product documentation would be
+  appreciated but is not required.
   2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
+  misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 
   L. Peter Deutsch
   ghost@aladdin.com
 
- */
+*/
 /* $Id: md5.h,v 1.4 2002/04/13 19:20:28 lpd Exp $ */
 /*
   Independent implementation of MD5 (RFC 1321).
 
   This code implements the MD5 Algorithm defined in RFC 1321, whose
   text is available at
-	http://www.ietf.org/rfc/rfc1321.txt
+  http://www.ietf.org/rfc/rfc1321.txt
   The code is derived from the text of the RFC, including the test suite
   (section A.5) but excluding the rest of Appendix A.  It does not include
   any code or documentation that is identified in the RFC as being
@@ -38,14 +39,14 @@
   that follows (in reverse chronological order):
 
   2002-04-13 lpd Removed support for non-ANSI compilers; removed
-	references to Ghostscript; clarified derivation from RFC 1321;
-	now handles byte order either statically or dynamically.
+  references to Ghostscript; clarified derivation from RFC 1321;
+  now handles byte order either statically or dynamically.
   1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
   1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5);
-	added conditionalization for C++ compilation from Martin
-	Purschke <purschke@bnl.gov>.
+  added conditionalization for C++ compilation from Martin
+  Purschke <purschke@bnl.gov>.
   1999-05-03 lpd Original version.
- */
+*/
 
 #ifndef md5_INCLUDED
 #  define md5_INCLUDED
@@ -65,9 +66,9 @@
 
 /* Define the state of the MD5 Algorithm. */
 typedef struct md5_state_s {
-    md5_word_t count[2];	/* message length in bits, lsw first */
-    md5_word_t abcd[4];		/* digest buffer */
-    md5_byte_t buf[64];		/* accumulate block */
+    md5_word_t count[2];    /* message length in bits, lsw first */
+    md5_word_t abcd[4];     /* digest buffer */
+    md5_byte_t buf[64];     /* accumulate block */
 } md5_state_t;
 
 #ifdef __cplusplus
@@ -76,13 +77,13 @@
 #endif
 
 /* Initialize the algorithm. */
-void md5_init(md5_state_t *pms);
+    void md5_init(md5_state_t *pms);
 
 /* Append a string to the message. */
-void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
+    void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
 
 /* Finish the message and return the digest. */
-void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
+    void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
 
 #ifdef __cplusplus
 }  /* end extern "C" */
--- a/loudmouth/test-dns.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/loudmouth/test-dns.c	Wed Oct 08 13:11:02 2008 +0200
@@ -1,3 +1,5 @@
+/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
 #include <loudmouth.h>
 #include "lm-blocking-resolver.h"
         
@@ -8,56 +10,56 @@
                     LmResolverResult  result,
                     gpointer          user_data)
 {
-        gchar           *host;
-        struct addrinfo *addr;
+    gchar           *host;
+    struct addrinfo *addr;
 
-        g_object_get (resolver, "host", &host, NULL);
+    g_object_get (resolver, "host", &host, NULL);
 
-        if (result != LM_RESOLVER_RESULT_OK) {
-                g_print ("Failed to lookup %s\n", host);
-                g_free (host);
-                return;
-        }
+    if (result != LM_RESOLVER_RESULT_OK) {
+        g_print ("Failed to lookup %s\n", host);
+        g_free (host);
+        return;
+    }
 
-        g_print ("In %s\n", G_STRFUNC);
+    g_print ("In %s\n", G_STRFUNC);
 
-        while ((addr = lm_resolver_results_get_next (resolver))) {
-                g_print ("Result!\n");
-        }
+    while ((addr = lm_resolver_results_get_next (resolver))) {
+        g_print ("Result!\n");
+    }
 
-        g_free (host);
+    g_free (host);
 
-        g_main_loop_quit (main_loop);
+    g_main_loop_quit (main_loop);
 }
 
 int
 main (int argc, char **argv)
 {
 #if 0
-        LmResolver *resolver;
+    LmResolver *resolver;
 #endif
-        LmResolver *srv_resolver;
+    LmResolver *srv_resolver;
 
-        g_type_init ();
+    g_type_init ();
 #if 0
-        resolver = lm_resolver_new_for_host ("kenny.imendio.com",
-                                             resolver_result_cb,
-                                             NULL);
-        lm_resolver_lookup (resolver);
+    resolver = lm_resolver_new_for_host ("kenny.imendio.com",
+                                         resolver_result_cb,
+                                         NULL);
+    lm_resolver_lookup (resolver);
 #endif
 
-        srv_resolver = lm_resolver_new_for_service ("jabber.org",
-                                                    "xmpp-client", "tcp",
-                                                    resolver_result_cb,
-                                                    NULL);
-        lm_resolver_lookup (srv_resolver);
+    srv_resolver = lm_resolver_new_for_service ("jabber.org",
+                                                "xmpp-client", "tcp",
+                                                resolver_result_cb,
+                                                NULL);
+    lm_resolver_lookup (srv_resolver);
 
-        g_print ("Running main loop\n");
+    g_print ("Running main loop\n");
 
-        main_loop = g_main_loop_new (NULL, FALSE);
-        g_main_loop_run (main_loop);
+    main_loop = g_main_loop_new (NULL, FALSE);
+    g_main_loop_run (main_loop);
 
-        g_print ("Finished\n");
+    g_print ("Finished\n");
 
-        return 0;
+    return 0;
 }
--- a/tests/test-parser.c	Wed Oct 08 12:44:10 2008 +0200
+++ b/tests/test-parser.c	Wed Oct 08 13:11:02 2008 +0200
@@ -26,99 +26,99 @@
 static GSList *
 get_files (const gchar *prefix) 
 {
-	GSList      *list = NULL;
-	GError      *error = NULL;
-	GDir        *dir;
-	const gchar *name;
-	
-	dir = g_dir_open (PARSER_TEST_DIR, 0, &error);
+    GSList      *list = NULL;
+    GError      *error = NULL;
+    GDir        *dir;
+    const gchar *name;
+    
+    dir = g_dir_open (PARSER_TEST_DIR, 0, &error);
 
-	if (!dir) {
-		g_error ("Failed to open test file directory '%s' due to: %s",
-			 PARSER_TEST_DIR, error->message);
-		g_clear_error (&error);
+    if (!dir) {
+        g_error ("Failed to open test file directory '%s' due to: %s",
+                 PARSER_TEST_DIR, error->message);
+        g_clear_error (&error);
 
-		return NULL;
-	}
-	
+        return NULL;
+    }
+    
 
-	while ((name = g_dir_read_name (dir))) {
-		/* Find *.xml */
+    while ((name = g_dir_read_name (dir))) {
+        /* Find *.xml */
 
-		if (g_str_has_prefix (name, prefix) &&
-		    g_str_has_suffix (name, ".xml")) {
-			gchar *file_path;
+        if (g_str_has_prefix (name, prefix) &&
+            g_str_has_suffix (name, ".xml")) {
+            gchar *file_path;
 
-			file_path = g_strconcat (PARSER_TEST_DIR, "/", name, 
-						 NULL);
+            file_path = g_strconcat (PARSER_TEST_DIR, "/", name, 
+                                     NULL);
 
-			list = g_slist_prepend (list, file_path);
-		}
-	}
+            list = g_slist_prepend (list, file_path);
+        }
+    }
 
-	g_dir_close (dir);
-	g_clear_error (&error);
+    g_dir_close (dir);
+    g_clear_error (&error);
 
-	return list;
+    return list;
 }
 
 static void
 test_parser_with_file (const gchar *file_path, gboolean is_valid)
 {
-	LmParser *parser;
-	gchar    *file_contents;
-	GError   *error = NULL;
-	gsize     length;
+    LmParser *parser;
+    gchar    *file_contents;
+    GError   *error = NULL;
+    gsize     length;
 
-	parser = lm_parser_new (NULL, NULL, NULL);
-	if (!g_file_get_contents (file_path,
-				  &file_contents, &length, 
-				  &error)) {
-		g_error ("Couldn't read file '%s': %s",
-			 file_path, error->message);
-		g_clear_error (&error);
-		return;
-	}
-	    
-	g_assert (lm_parser_parse (parser, file_contents) == is_valid);
-	lm_parser_free (parser);
-	g_free (file_contents);
+    parser = lm_parser_new (NULL, NULL, NULL);
+    if (!g_file_get_contents (file_path,
+                              &file_contents, &length, 
+                              &error)) {
+        g_error ("Couldn't read file '%s': %s",
+                 file_path, error->message);
+        g_clear_error (&error);
+        return;
+    }
+        
+    g_assert (lm_parser_parse (parser, file_contents) == is_valid);
+    lm_parser_free (parser);
+    g_free (file_contents);
 }
 
 static void
 test_valid_suite ()
 {
-	GSList *list, *l;
+    GSList *list, *l;
 
-	list = get_files ("valid");
-	for (l = list; l; l = l->next) {
-		test_parser_with_file ((const gchar *) l->data, TRUE);
-		g_free (l->data);
-	}
-	g_slist_free (list);
+    list = get_files ("valid");
+    for (l = list; l; l = l->next) {
+        test_parser_with_file ((const gchar *) l->data, TRUE);
+        g_free (l->data);
+    }
+    g_slist_free (list);
 }
 
 static void
 test_invalid_suite ()
 {
-	GSList *list, *l;
+    GSList *list, *l;
 
-	list = get_files ("invalid");
-	for (l = list; l; l = l->next) {
-		test_parser_with_file ((const gchar *) l->data, FALSE);
-		g_free (l->data);
-	}
-	g_slist_free (list);
+    list = get_files ("invalid");
+    for (l = list; l; l = l->next) {
+        test_parser_with_file ((const gchar *) l->data, FALSE);
+        g_free (l->data);
+    }
+    g_slist_free (list);
 }
 
 int 
 main (int argc, char **argv)
 {
-	g_test_init (&argc, &argv, NULL);
-	
-	g_test_add_func ("/parser/valid_suite", test_valid_suite);
-	g_test_add_func ("/parser/invalid/suite", test_invalid_suite);
+    g_test_init (&argc, &argv, NULL);
+    
+    g_test_add_func ("/parser/valid_suite", test_valid_suite);
+    g_test_add_func ("/parser/invalid/suite", test_invalid_suite);
 
-	return g_test_run ();
+    return g_test_run ();
 }