MINOR: mux-h1: Use HTX extra field only for responses with known length

For now, it is not an issue, but it is safer to explicitly ignore HTX extra
field for responses with unknown length. This will be mandatory to future
fixes, to be able to re-chunk responses with an unknown length..
This commit is contained in:
Christopher Faulet 2023-09-25 15:59:07 +02:00
parent 799518e63f
commit 117f9cc017

View File

@ -2589,7 +2589,7 @@ static size_t h1_make_data(struct h1s *h1s, struct h1m *h1m, struct buffer *buf,
/* If is a new chunk, prepend the chunk size */
if (!h1m->curr_len) {
h1m->curr_len = count + htx->extra;
h1m->curr_len = count + (htx->extra != HTX_UNKOWN_PAYLOAD_LENGTH ? htx->extra : 0);
h1_prepend_chunk_size(&h1c->obuf, h1m->curr_len);
}
h1m->curr_len -= count;
@ -2662,7 +2662,7 @@ static size_t h1_make_data(struct h1s *h1s, struct h1m *h1m, struct buffer *buf,
if (h1m->flags & H1_MF_CHNK) {
/* If is a new chunk, prepend the chunk size */
if (!h1m->curr_len) {
h1m->curr_len = (htx->extra ? htx->data + htx->extra : vlen);
h1m->curr_len = (htx->extra && htx->extra != HTX_UNKOWN_PAYLOAD_LENGTH ? htx->data + htx->extra : vlen);
if (!h1_append_chunk_size(&outbuf, h1m->curr_len)) {
h1m->curr_len = 0;
goto full;