2008-04-05 Dan Winship <danw@gnome.org>
+ * 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.
+
+2008-04-05 Dan Winship <danw@gnome.org>
+
* libsoup/soup-message-body.c (soup_message_body_set_accumulate)
(soup_message_body_get_accumulate): New, replaces
SOUP_MESSAGE_OVERWRITE_CHUNKS, but can be set on either the
entry->sockaddr = g_memdup (res->ai_addr, res->ai_addrlen);
entry->resolved = TRUE;
freeaddrinfo (res);
- } else
- entry->resolved = (retval != EAI_AGAIN);
+ }
#else /* !HAVE_GETADDRINFO */
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);
if (retval == 0) {
entry->hostname = name;
entry->resolved = TRUE;
- } else {
+ } else
g_free (name);
- entry->resolved = (retval != EAI_AGAIN);
- }
#else /* !HAVE_GETNAMEINFO */
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);