tree add27e0f78593f2e67856375ea7a572f97810732
parent 07a5490881a39c0bbd8c0877e5bfbfede04ddcdc
author Willy Tarreau <w@1wt.eu> 1269884219 +0200
committer Willy Tarreau <w@1wt.eu> 1269935983 +0200

[MEDIUM] backend: move the transparent proxy address selection to backend

The transparent proxy address selection was set in the TCP connect function
which is not the most appropriate place since this function has limited
access to the amount of parameters which could produce a source address.

Instead, now we determine the source address in backend.c:connect_server(),
right after calling assign_server_address() and we assign this address in
the session and pass it to the TCP connect function. This cannot be performed
in assign_server_address() itself because in some cases (transparent mode,
dispatch mode or http_proxy mode), we assign the address somewhere else.

This change will open the ability to bind to addresses extracted from many
other criteria (eg: from a header).
