--------------------- PatchSet 4731 Date: 2007/06/13 10:06:11 Author: amosjeffries Branch: squid3-ipv6 Tag: (none) Log: IPv6 enable test-suite pconn-banger Members: test-suite/pconn-banger.c:1.1.30.1->1.1.30.2 Index: squid3/test-suite/pconn-banger.c =================================================================== RCS file: /cvsroot/squid-sf//squid3/test-suite/pconn-banger.c,v retrieving revision 1.1.30.1 retrieving revision 1.1.30.2 diff -u -r1.1.30.1 -r1.1.30.2 --- squid3/test-suite/pconn-banger.c 6 Apr 2007 22:58:51 -0000 1.1.30.1 +++ squid3/test-suite/pconn-banger.c 13 Jun 2007 10:06:11 -0000 1.1.30.2 @@ -90,7 +90,7 @@ #include #endif -#define PROXY_PORT 3128 +#define PROXY_PORT "3128" #define PROXY_ADDR "127.0.0.1" #define MAX_FDS 1024 #define READ_BUF_SZ 4096 @@ -170,20 +170,30 @@ open_http_socket(void) { int s; - struct sockaddr_in S; - if ((s = socket(PF_INET, SOCK_STREAM, 0)) < 0) { + struct addrinfo *AI = NULL; + struct addrinfo hints; + + memset(&hints, '\0', sizeof(struct addrinfo)); + hints.ai_flags = AI_NUMERICHOST|AI_NUMERICSERV; + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + getaddrinfo(proxy_addr, proxy_port, &hints, AI); + + if ((s = socket(AI->ai_family, AI->ai_socktype, AI->ai_protocol)) < 0) { perror("socket"); + freeaddrinfo(AI); return -1; } - memset(&S, '\0', sizeof(struct sockaddr_in)); - S.sin_family = AF_INET; - S.sin_port = htons(proxy_port); - S.sin_addr.s_addr = inet_addr(proxy_addr); - if (connect(s, (struct sockaddr *) &S, sizeof(S)) < 0) { + + if (connect(s, AI->ai_addr, AI->ai_addrlen) < 0) { close(s); perror("connect"); + freeaddrinfo(AI); return -1; } + + freeaddrinfo(AI); return s; }