]> git.kaiwu.me - 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>
Sun, 20 Jan 2008 23:26:40 +0000 (00:26 +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 6cecb1770911e90d55bb89dc345da3b1819ea126..49f294421f7c070479fbfa38005f48d0fa93d452 100644 (file)
@@ -481,8 +481,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;