Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > 385becf60e9f908e63061d8f016ac900 > files > 2

loudmouth-1.4.3-8.mga2.src.rpm

commit fc21de5fd06bee1714d38f92c60a2af75a7b5c29
Author: Senko Rasic <senko.rasic@collabora.co.uk>
Date:   Sun Nov 30 10:20:08 2008 +0100

    Don't check for sync dns problems when using asyncns [#33]
    
    lm_socket_create() checks for sync DNS failure, but the check is
    executed even if Loudmouth is using asyncns, in which case Loudmouth
    crashes.

diff --git a/loudmouth/lm-socket.c b/loudmouth/lm-socket.c
index 63ef84f..8add572 100644
--- a/loudmouth/lm-socket.c
+++ b/loudmouth/lm-socket.c
@@ -1022,7 +1022,7 @@ _lm_socket_create_phase2 (LmSocket *socket, struct addrinfo *ans)
 		if (socket->connect_func) {
 			(socket->connect_func) (socket, FALSE, socket->user_data);
 		}
-		g_free (socket->connect_data);
+                g_free (socket->connect_data);
 		socket->connect_data = NULL;
 		return;
 	}
@@ -1107,6 +1107,10 @@ lm_socket_create (GMainContext      *context,
 		_lm_socket_create_phase1 (socket, NULL, 0);
 	}
 
+#ifndef HAVE_ASYNCNS
+        /* Only do this check if we are not using asyncns or it will crash.
+         * Report and patch by Senko.
+         */
 	if (socket->connect_data == NULL) {
 		/* Open failed synchronously, probably a DNS lookup problem */
 		lm_socket_unref(socket);
@@ -1118,6 +1122,7 @@ lm_socket_create (GMainContext      *context,
 		
 		return NULL;
 	}
+#endif /* HAVE_ASYNCNS */
 		
 
 	/* If the connection fails synchronously, we don't want to call the