summaryrefslogtreecommitdiff
path: root/libsoup/soup-session-sync.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2009-06-06 18:52:30 -0400
committerDan Winship <danw@gnome.org>2009-06-06 22:58:49 -0400
commitdee7dc77b3ec662f60044f25abe6b5193b87f086 (patch)
tree016678b3dbdac9d23f5fffceb9804f2a0340e176 /libsoup/soup-session-sync.c
parent777af4c8ec7b73d3c2376091401c00cb945cd6fc (diff)
downloadlibsoup-dee7dc77b3ec662f60044f25abe6b5193b87f086.tar.gz
Fix hostname resolution behavior
Previously we went to some effort to resolve the message URI hostname to an IP address before figuring out proxies/connections, but this turns out to be wrong for multiple reasons: 1. Some hosts that send all requests via proxy don't even have a working DNS config. (http://bugzilla.gnome.org/show_bug.cgi?id=577532) 2. Apparently no one expects hostnames in requests to be matched against IP addresses in proxy ignore lists anyway. 3. The big web browsers all implement connection limits on a per-hostname basis, not a per-IP basis, and some web pages take advantage of this by using multiple aliases for the same host to get around the connection limit. Also update tests/proxy-test to verify that the hostname is not resolved when passing a request to a proxy.
Diffstat (limited to 'libsoup/soup-session-sync.c')
-rw-r--r--libsoup/soup-session-sync.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/libsoup/soup-session-sync.c b/libsoup/soup-session-sync.c
index bb8e336b..624bfefd 100644
--- a/libsoup/soup-session-sync.c
+++ b/libsoup/soup-session-sync.c
@@ -202,20 +202,8 @@ process_queue_item (SoupMessageQueueItem *item)
SoupSessionSyncPrivate *priv = SOUP_SESSION_SYNC_GET_PRIVATE (item->session);
SoupMessage *msg = item->msg;
SoupConnection *conn;
- SoupAddress *addr;
- guint status;
do {
- /* Resolve address */
- addr = soup_message_get_address (msg);
- status = soup_address_resolve_sync (addr, item->cancellable);
- if (!SOUP_STATUS_IS_SUCCESSFUL (status)) {
- if (status != SOUP_STATUS_CANCELLED)
- soup_session_cancel_message (item->session, msg, status);
- break;
- }
-
- /* Get a connection */
conn = wait_for_connection (item->session, msg);
if (!conn)
break;