The more detailed status code reporting introduced with
bc967758a2 is
checking against the error state to determine whether it is a too long
URL or too large headers. The check used always returns true which
results in a 414 as the error state is only set at a later point.
This commit adjusts the check to use the current state instead to return
the intended status code.
This patch must be backported as far as 3.1.
goto error;
if (!ret && !ofs && !buf_room_for_htx_data(srcbuf)) {
if (!(h1m->flags & H1_MF_RESP))
- h1m->err_code = (h1m->err_state < H1_MSG_HDR_FIRST) ? 414: 431;
+ h1m->err_code = (h1m->state < H1_MSG_HDR_FIRST) ? 414: 431;
goto error;
}
goto end;