]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUILD] proto_tcp: fix build issue with CTTPROXY
authorWilly Tarreau <w@1wt.eu>
Sun, 20 Mar 2011 13:03:54 +0000 (14:03 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 20 Mar 2011 13:03:54 +0000 (14:03 +0100)
Recent sockaddr_storage changes broke the almost unused cttproxy code.
Fix is obvious.

src/proto_tcp.c

index d40f85c4198fbc54929daa352ce1597b66f29540..3c8a04f71776ab35da62d16e7a2772a6ae6618c2 100644 (file)
@@ -164,13 +164,13 @@ int tcp_bind_socket(int fd, int flags, struct sockaddr_storage *local, struct so
                return 0;
 
 #ifdef CONFIG_HAP_CTTPROXY
-       if (!foreign_ok) {
+       if (!foreign_ok && remote->ss_family == AF_INET) {
                struct in_tproxy itp1, itp2;
                memset(&itp1, 0, sizeof(itp1));
 
                itp1.op = TPROXY_ASSIGN;
-               itp1.v.addr.faddr = bind_addr.sin_addr;
-               itp1.v.addr.fport = bind_addr.sin_port;
+               itp1.v.addr.faddr = ((struct sockaddr_in *)&bind_addr)->sin_addr;
+               itp1.v.addr.fport = ((struct sockaddr_in *)&bind_addr)->sin_port;
 
                /* set connect flag on socket */
                itp2.op = TPROXY_FLAGS;