]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] proto_tcp: fix address binding on remote source
authorWilly Tarreau <w@1wt.eu>
Tue, 19 Apr 2011 05:20:57 +0000 (07:20 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 19 Apr 2011 05:20:57 +0000 (07:20 +0200)
Mark Brooks reported that commit 1b4b7c broke tproxy in 1.5-dev6. Nick
Chalk tracked the issue down to a missing address family setting in
tcp_bind_socket() which resulted in a failure to use get_addr_len().
This issue is 1.5-specific.

src/proto_tcp.c

index 13ea2103cb6e0e968a5c2e2cffaa4a7358d7b466..e6d6c58a0a699004151518753437d0e9aa1d4662 100644 (file)
@@ -132,6 +132,7 @@ int tcp_bind_socket(int fd, int flags, struct sockaddr_storage *local, struct so
 #endif
        if (flags) {
                memset(&bind_addr, 0, sizeof(bind_addr));
+               bind_addr.ss_family = remote->ss_family;
                switch (remote->ss_family) {
                case AF_INET:
                        if (flags & 1)