From 7c7b876bdb85b4646447de5201d22ebc44bf4a4b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 14 Dec 2007 19:54:43 +0100 Subject: [PATCH] [BUG] transparent proxy address was ignored in backend 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend.c b/src/backend.c index 6cecb1770..49f294421 100644 --- a/src/backend.c +++ b/src/backend.c @@ -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;