mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-10 05:22:46 +02:00
PiBa-NL reported an issue affecting logs when stdout is enabled at the same time as an IP address. It does not affect FD and UNIX, but does still affect multiple FDs. What happens is that the condition to detect that the initialization was not made relies on the FD being -1, and in this case the FD points to the *unique* FD used for AF_INET sockets, so the configured socket used for outgoing logs over UDP gets overwritten by the last configured FD. This is not appropriate, so instead we rely on the sin_port part of the IPv4-mapped address to store the initialization state for each FD. This part deserves being significantly revamped, as IPv6 is still not possible due to the way the FDs are managed, and inherited FDs are a bit hackish. Note that this patch relies on "MINOR: tools: preset the port of fd-based "sockets" to zero" in order to operate properly. No backport is needed.