aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2015-01-20 09:03:55 +0100
committerDaniel Stenberg <daniel@haxx.se>2015-01-20 09:03:55 +0100
commit960b04e137446943a258e910c48f183a1a1a273b (patch)
tree130196a14d1d6ff54dbe781c1e23d54cc595710d
parent089783c8383f401afef981500183a42eb9e10507 (diff)
ipv6: enclose AF_INET6 uses with proper #ifdefs for ipv6
Reported-by: Chris Young
-rw-r--r--lib/connect.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/connect.c b/lib/connect.c
index 5a60d14ab..32888e653 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -1016,8 +1016,12 @@ static CURLcode singleipconnect(struct connectdata *conn,
}
infof(data, " Trying %s...\n", ipaddress);
+#ifdef ENABLE_IPV6
is_tcp = (addr.family == AF_INET || addr.family == AF_INET6) &&
- addr.socktype == SOCK_STREAM;
+ addr.socktype == SOCK_STREAM;
+#else
+ is_tcp = (addr.family == AF_INET) && addr.socktype == SOCK_STREAM;
+#endif
if(is_tcp && data->set.tcp_nodelay)
tcpnodelay(conn, sockfd);
@@ -1043,7 +1047,11 @@ static CURLcode singleipconnect(struct connectdata *conn,
}
/* possibly bind the local end to an IP, interface or port */
- if(addr.family == AF_INET || addr.family == AF_INET6) {
+ if(addr.family == AF_INET
+#ifdef ENABLE_IPV6
+ || addr.family == AF_INET6
+#endif
+ ) {
result = bindlocal(conn, sockfd, addr.family,
Curl_ipv6_scope((struct sockaddr*)&addr.sa_addr));
if(result) {