0853cfeae41e4586b7bc1b791a0b61de2b829c4a
[openwrt/svn-archive/archive.git] / net / tinyproxy / patches / 120-fix_INET6.patch
1 --- a/src/sock.c
2 +++ b/src/sock.c
3 @@ -39,8 +39,7 @@
4 * returned if the bind succeeded. Otherwise, -1 is returned
5 * to indicate an error.
6 */
7 -static int
8 -bind_socket (int sockfd, const char *addr, int family)
9 +static int bind_socket (int sockfd, const char *addr)
10 {
11 struct addrinfo hints, *res, *ressave;
12
13 @@ -48,7 +47,7 @@ bind_socket (int sockfd, const char *addr, int family)
14 assert (addr != NULL && strlen (addr) != 0);
15
16 memset (&hints, 0, sizeof (struct addrinfo));
17 - hints.ai_family = family;
18 + hints.ai_family = AF_UNSPEC;
19 hints.ai_socktype = SOCK_STREAM;
20
21 /* The local port it not important */
22 @@ -106,14 +105,12 @@ int opensock (const char *host, int port, const char *bind_to)
23
24 /* Bind to the specified address */
25 if (bind_to) {
26 - if (bind_socket (sockfd, bind_to,
27 - res->ai_family) < 0) {
28 + if (bind_socket (sockfd, bind_to) < 0) {
29 close (sockfd);
30 continue; /* can't bind, so try again */
31 }
32 } else if (config.bind_address) {
33 - if (bind_socket (sockfd, config.bind_address,
34 - res->ai_family) < 0) {
35 + if (bind_socket (sockfd, config.bind_address) < 0) {
36 close (sockfd);
37 continue; /* can't bind, so try again */
38 }