From 4009f016c2bbbae10af6c8011d6890aaebe2fb90 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 d456afd16..6ba39373e 100644 --- a/src/backend.c +++ b/src/backend.c @@ -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;