Mercurial > pidgin
diff libpurple/proxy.c @ 20347:04fe5601fedb
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
through 8548e491a5b470d5665cb1cf87a7b0caaa3c87a5
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 21 Oct 2007 04:46:33 +0000 |
parents | 6b8bc3309ab7 |
children | 36da9249f3a9 |
line wrap: on
line diff
--- a/libpurple/proxy.c Sun Oct 21 04:44:56 2007 +0000 +++ b/libpurple/proxy.c Sun Oct 21 04:46:33 2007 +0000 @@ -449,6 +449,8 @@ static void proxy_connect_none(PurpleProxyConnectData *connect_data, struct sockaddr *addr, socklen_t addrlen) { + int flags; + purple_debug_info("proxy", "Connecting to %s:%d with no proxy\n", connect_data->host, connect_data->port); @@ -460,7 +462,8 @@ return; } - fcntl(connect_data->fd, F_SETFL, O_NONBLOCK); + flags = fcntl(connect_data->fd, F_GETFL); + fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); #ifndef _WIN32 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); #endif @@ -881,6 +884,8 @@ static void proxy_connect_http(PurpleProxyConnectData *connect_data, struct sockaddr *addr, socklen_t addrlen) { + int flags; + purple_debug_info("proxy", "Connecting to %s:%d via %s:%d using HTTP\n", connect_data->host, connect_data->port, @@ -895,14 +900,16 @@ return; } - fcntl(connect_data->fd, F_SETFL, O_NONBLOCK); + flags = fcntl(connect_data->fd, F_GETFL); + fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); #ifndef _WIN32 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); #endif if (connect(connect_data->fd, addr, addrlen) != 0) { - if ((errno == EINPROGRESS) || (errno == EINTR)) { + if ((errno == EINPROGRESS) || (errno == EINTR)) + { purple_debug_info("proxy", "Connection in progress\n"); if (connect_data->port != 80) @@ -1036,6 +1043,8 @@ static void proxy_connect_socks4(PurpleProxyConnectData *connect_data, struct sockaddr *addr, socklen_t addrlen) { + int flags; + purple_debug_info("proxy", "Connecting to %s:%d via %s:%d using SOCKS4\n", connect_data->host, connect_data->port, @@ -1050,7 +1059,8 @@ return; } - fcntl(connect_data->fd, F_SETFL, O_NONBLOCK); + flags = fcntl(connect_data->fd, F_GETFL); + fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); #ifndef _WIN32 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); #endif @@ -1604,6 +1614,8 @@ static void proxy_connect_socks5(PurpleProxyConnectData *connect_data, struct sockaddr *addr, socklen_t addrlen) { + int flags; + purple_debug_info("proxy", "Connecting to %s:%d via %s:%d using SOCKS5\n", connect_data->host, connect_data->port, @@ -1618,7 +1630,8 @@ return; } - fcntl(connect_data->fd, F_SETFL, O_NONBLOCK); + flags = fcntl(connect_data->fd, F_GETFL); + fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); #ifndef _WIN32 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); #endif