From: Willy Tarreau Date: Fri, 14 Dec 2007 18:54:43 +0000 (+0100) Subject: [BUG] transparent proxy address was ignored in backend X-Git-Tag: v1.3.14.1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4009f016c2bbbae10af6c8011d6890aaebe2fb90;p=thirdparty%2Fhaproxy.git [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. --- diff --git a/src/backend.c b/src/backend.c index d456afd163..6ba39373e6 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;