MINOR: http: add one control per existing HTTP violation
Following the previous patch, this one extends every place where a
check for relaxing protocol violations was permitted with a specific
tunable that can individually be enabled or disabled, so that it is
now possible to selectively enable a single (or a few) exceptions
without granting other ones.
The following ones are covered here, per direction:
Most of the time the check consisted in appending this after err_pos < -1:
|| !(global.acc_hreq_vio & (1U << HTTP_VIO_...))
For the long status code, the code was slightly reordered because the
check for the lenient case was performed first and now we must do the
strict check first (but the logic is unchanged, both were exclusive
already). The logic remains: if strict mode (default) or relaxed without
acceptance for long headers, we reject beyond 3 digits. And in any case
we continue to reject values that don't fit in 16 bits.
The doc was updated with descriptions of what each keyword corresponds
to, associated risks, and examples.
This is not much intrusive and might possibly be backported to latest
LTS if users want it.