tree a2453d7c79ba50a30268c948e51f24a0bfec7d49
parent 55e4ecd9283ad7444b1bff83cec655ba91b43a4c
author Willy Tarreau <w@1wt.eu> 1354989224 +0100
committer Willy Tarreau <w@1wt.eu> 1354989224 +0100
encoding latin1

BUG/MINOR: tcp: set the ADDR_TO_SET flag on outgoing connections

tcp_connect_server() resets all of the connection's flags. This means
that an outgoing connection does not have the ADDR_TO_SET flag
eventhough the address is set.

The first impact is that logging the outgoing address or displaying
it on the CLI while dumping sessions will result in an extra call to
getpeername().

But there is a nastier impact. If such a lookup happens *after* the
first connect() attempt and this one fails, the destination address
is corrupted by the call to getsockname(), and subsequent connection
retries will fail with socket errors.

For now we fix this by making tcp_connect_server() set the flag. But
we'll soon need a function to initialize an outgoing connection with
appropriate address and flags before calling the connect() function.
