mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-25 07:41:36 +02:00
MINOR: qpack: add ABORT_NOW on unimplemented decoding
Post-base indices is not supported at the moment for decoding. This should never be encountered as it is only used with a dynamic table. However, haproxy deactivates support for the dynamic table via its SETTINGS. Use ABORT_NOW() if this situation happens anyway. This should help debugging instead of silently failed without error reporting.
This commit is contained in:
parent
4bcaf69dca
commit
28d3c2489f
@ -212,7 +212,15 @@ int qpack_decode_fs(const unsigned char *raw, size_t len, struct buffer *tmp,
|
|||||||
qpack_debug_printf(stderr, "efl_type=0x%02x\n", efl_type);
|
qpack_debug_printf(stderr, "efl_type=0x%02x\n", efl_type);
|
||||||
|
|
||||||
if (efl_type == QPACK_LFL_WPBNM) {
|
if (efl_type == QPACK_LFL_WPBNM) {
|
||||||
/* Literal field line with post-base name reference */
|
/* Literal field line with post-base name reference
|
||||||
|
*
|
||||||
|
* TODO not implemented
|
||||||
|
*
|
||||||
|
* For the moment, this should never happen as
|
||||||
|
* currently we do not support dynamic table insertion
|
||||||
|
* and specify an empty table size.
|
||||||
|
*/
|
||||||
|
#if 0
|
||||||
uint64_t index __maybe_unused, length;
|
uint64_t index __maybe_unused, length;
|
||||||
unsigned int n __maybe_unused, h __maybe_unused;
|
unsigned int n __maybe_unused, h __maybe_unused;
|
||||||
|
|
||||||
@ -242,12 +250,21 @@ int qpack_decode_fs(const unsigned char *raw, size_t len, struct buffer *tmp,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXX Value string XXX */
|
|
||||||
raw += length;
|
raw += length;
|
||||||
len -= length;
|
len -= length;
|
||||||
|
#endif
|
||||||
|
ABORT_NOW(); /* dynamic table not supported */
|
||||||
}
|
}
|
||||||
else if (efl_type == QPACK_IFL_WPBI) {
|
else if (efl_type == QPACK_IFL_WPBI) {
|
||||||
/* Indexed field line with post-base index */
|
/* Indexed field line with post-base index
|
||||||
|
*
|
||||||
|
* TODO not implemented
|
||||||
|
*
|
||||||
|
* For the moment, this should never happen as
|
||||||
|
* currently we do not support dynamic table insertion
|
||||||
|
* and specify an empty table size.
|
||||||
|
*/
|
||||||
|
#if 0
|
||||||
uint64_t index __maybe_unused;
|
uint64_t index __maybe_unused;
|
||||||
|
|
||||||
qpack_debug_printf(stderr, "indexed field line with post-base index:");
|
qpack_debug_printf(stderr, "indexed field line with post-base index:");
|
||||||
@ -259,6 +276,8 @@ int qpack_decode_fs(const unsigned char *raw, size_t len, struct buffer *tmp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
qpack_debug_printf(stderr, " index=%llu", (unsigned long long)index);
|
qpack_debug_printf(stderr, " index=%llu", (unsigned long long)index);
|
||||||
|
#endif
|
||||||
|
ABORT_NOW(); /* dynamic table not supported */
|
||||||
}
|
}
|
||||||
else if (efl_type & QPACK_IFL_BIT) {
|
else if (efl_type & QPACK_IFL_BIT) {
|
||||||
/* Indexed field line */
|
/* Indexed field line */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user