From: Christopher Faulet Date: Wed, 27 Jul 2022 08:49:31 +0000 (+0200) Subject: BUG/MINOR: peers: Use right channel flag to consider the peer as connected X-Git-Tag: v2.7-dev3~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=642170a653d1587572fbce010156b49923f06947;p=thirdparty%2Fhaproxy.git BUG/MINOR: peers: Use right channel flag to consider the peer as connected When a peer open a new connection to another peer, it is considered as connected when the hello message is sent. To do so, the peer applet was relying on CF_WRITE_PARTIAL channel flag. However it is not the right flag to use. This one is a transient flag. Depending on the scheduling, this flag may be removed by the stream before the peer has a chance to see it. Instead, CF_WROTE_DATA flag must be checked. This patch is related to the issue #1799. It must be backported as far as 2.0. --- diff --git a/src/peers.c b/src/peers.c index ba2e0d65ce..3df4999f67 100644 --- a/src/peers.c +++ b/src/peers.c @@ -2998,7 +2998,7 @@ switchstate: } } - if (sc_ic(sc)->flags & CF_WRITE_PARTIAL) + if (sc_ic(sc)->flags & CF_WROTE_DATA) curpeer->statuscode = PEER_SESS_SC_CONNECTEDCODE; reql = peer_getline(appctx);