If a connection is closed during the preface while no data are received, if
the dontlognull option is set, no log message must be emitted. However, this
will still be handled as a protocol error. Only the log is omitted.
This patch should fix the issue #1336 for H2 sessions. It must be backported
to 2.4 and 2.3 at least, and probably as far as 2.0.
(cherry picked from commit
3f35da296ee30bba3783f343a586091c66f21c65)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit
79b347d50f13d3a918871f82035ed7de8f08dd50)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
TRACE_PROTO("failed to receive preface", H2_EV_RX_PREFACE|H2_EV_PROTO_ERR, h2c->conn);
h2c->st0 = H2_CS_ERROR2;
if (b_data(&h2c->dbuf) ||
- !(((const struct session *)h2c->conn->owner)->fe->options & PR_O_IGNORE_PRB))
+ !(((const struct session *)h2c->conn->owner)->fe->options & (PR_O_NULLNOLOG|PR_O_IGNORE_PRB)))
sess_log(h2c->conn->owner);
}
goto fail;