]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MAJOR: spoe: verify that backends used by SPOE cover all their callers' processes
authorWilly Tarreau <w@1wt.eu>
Tue, 5 Feb 2019 12:37:19 +0000 (13:37 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 5 Feb 2019 12:37:19 +0000 (13:37 +0100)
commit2bdcfde4260ac9115b8a0b7aa916975799273ea9
tree67aed27db2c56facf1e6b8d5d569842c3bc7e38d
parent151e1ca989968f5092baa593efd9f485e4947d17
BUG/MAJOR: spoe: verify that backends used by SPOE cover all their callers' processes

When a filter is installed on a proxy and references spoe, we must be
absolutely certain that the whole chain is valid on a given process
when running in multi-process mode. The problem here is that if a proxy
1 runs on process 1, referencing an SPOE agent itself based on a backend
running on process 2, this last one will be completely deinited on
process 1, and will thus cause random crashes when it gets messages
from this proess.

This patch makes sure that the whole chain is valid on all of the caller's
processes.

This fix must be backported to all spoe-enabled maintained versions. It
may potentially disrupt configurations which already randomly crash.
There hardly is any intermediary solution though, such configurations
need to be fixed.
src/flt_spoe.c