libsoup r1127 - in trunk: . libsoup



Author: danw
Date: Sat Apr  5 21:27:28 2008
New Revision: 1127
URL: http://svn.gnome.org/viewvc/libsoup?rev=1127&view=rev

Log:
	* libsoup/soup-dns.c (resolve_address, resolve_name): Don't
	cache negative results, even if the DNS server explicitly states
	that the host does not exist; some servers give different answers
	to clients inside and outside their firewall. #523269,  JÃrgen
	Scheibengruber.


Modified:
   trunk/ChangeLog
   trunk/libsoup/soup-dns.c

Modified: trunk/libsoup/soup-dns.c
==============================================================================
--- trunk/libsoup/soup-dns.c	(original)
+++ trunk/libsoup/soup-dns.c	Sat Apr  5 21:27:28 2008
@@ -326,8 +326,7 @@
 		entry->sockaddr = g_memdup (res->ai_addr, res->ai_addrlen);
 		entry->resolved = TRUE;
 		freeaddrinfo (res);
-	} else
-		entry->resolved = (retval != EAI_AGAIN);
+	}
 
 #else /* !HAVE_GETADDRINFO */
 
@@ -343,9 +342,7 @@
 		memcpy (&sin.sin_addr, h->h_addr_list[0], sizeof (struct in_addr));
 		entry->sockaddr = g_memdup (&sin, sizeof (struct sockaddr_in));
 		entry->resolved = TRUE;
-	} else
-		entry->resolved = (h || h_errno != TRY_AGAIN);
-
+	}
 
 	g_mutex_unlock (soup_gethost_lock);
 
@@ -375,10 +372,8 @@
 	if (retval == 0) {
 		entry->hostname = name;
 		entry->resolved = TRUE;
-	} else {
+	} else
 		g_free (name);
-		entry->resolved = (retval != EAI_AGAIN);
-	}
 
 #else /* !HAVE_GETNAMEINFO */
 
@@ -392,8 +387,7 @@
 		if (h) {
 			entry->hostname = g_strdup (h->h_name);
 			entry->resolved = TRUE;
-		} else
-			entry->resolved = (h_errno != TRY_AGAIN);
+		}
 	}
 
 	g_mutex_unlock (soup_gethost_lock);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]