]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] transparent proxy address was ignored in backend
authorWilly Tarreau <w@1wt.eu>
Fri, 14 Dec 2007 18:54:43 +0000 (19:54 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 14 Dec 2007 18:54:43 +0000 (19:54 +0100)
When the "source x.x.x.x usesrc y.y.y.y" statement was present in a
backend, the y.y.y.y address was fetched from the server instead of
the backend.

src/backend.c

index d456afd1635cfb6c7a377b16e00f74f50dfe7a2b..6ba39373e6402a054827a99993020de5876552bf 100644 (file)
@@ -1254,8 +1254,8 @@ int connect_server(struct session *s)
                        itp1.op = TPROXY_ASSIGN;
                        switch (s->be->options & PR_O_TPXY_MASK) {
                        case PR_O_TPXY_ADDR:
-                               itp1.v.addr.faddr = s->srv->tproxy_addr.sin_addr;
-                               itp1.v.addr.fport = s->srv->tproxy_addr.sin_port;
+                               itp1.v.addr.faddr = s->be->tproxy_addr.sin_addr;
+                               itp1.v.addr.fport = s->be->tproxy_addr.sin_port;
                                break;
                        case PR_O_TPXY_CLI:
                                itp1.v.addr.fport = ((struct sockaddr_in *)&s->cli_addr)->sin_port;