diff --git a/CHANGELOG b/CHANGELOG index d5b7762..14dbe7c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +2020-07-22 + - 2.18.2 + - [BUGFIX] Send prediction: lone path challenges do not get squeezed out + - Fix crash in http_client: now -K and -B can be used simultaneously + 2020-07-14 - 2.18.1 - [FEATURE] Implement the "QUIC bit grease" extension. diff --git a/bin/http_client.c b/bin/http_client.c index 8aa7bc8..433f03d 100644 --- a/bin/http_client.c +++ b/bin/http_client.c @@ -957,9 +957,7 @@ hset_create (void *hsi_ctx, lsquic_stream_t *stream, int is_push_promise) { struct hset *hset; - if (s_discard_response) - return (void *) 1; - else if ((hset = malloc(sizeof(*hset)))) + if ((hset = malloc(sizeof(*hset)))) { STAILQ_INIT(hset); return hset; @@ -1057,16 +1055,13 @@ hset_destroy (void *hset_p) struct hset *hset = hset_p; struct hset_elem *el, *next; - if (!s_discard_response) + for (el = STAILQ_FIRST(hset); el; el = next) { - for (el = STAILQ_FIRST(hset); el; el = next) - { - next = STAILQ_NEXT(el, next); - free(el->xhdr.buf); - free(el); - } - free(hset); + next = STAILQ_NEXT(el, next); + free(el->xhdr.buf); + free(el); } + free(hset); } diff --git a/docs/conf.py b/docs/conf.py index 37114af..d01fd6f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -26,7 +26,7 @@ author = u'LiteSpeed Technologies' # The short X.Y version version = u'2.18' # The full version, including alpha/beta/rc tags -release = u'2.18.1' +release = u'2.18.2' # -- General configuration --------------------------------------------------- diff --git a/include/lsquic.h b/include/lsquic.h index 80cc755..854fa8b 100644 --- a/include/lsquic.h +++ b/include/lsquic.h @@ -25,7 +25,7 @@ extern "C" { #define LSQUIC_MAJOR_VERSION 2 #define LSQUIC_MINOR_VERSION 18 -#define LSQUIC_PATCH_VERSION 1 +#define LSQUIC_PATCH_VERSION 2 /** * Engine flags: diff --git a/src/liblsquic/lsquic_send_ctl.c b/src/liblsquic/lsquic_send_ctl.c index faa282d..635e3cb 100644 --- a/src/liblsquic/lsquic_send_ctl.c +++ b/src/liblsquic/lsquic_send_ctl.c @@ -1696,7 +1696,8 @@ lsquic_send_ctl_next_packet_to_send_predict (struct lsquic_send_ctl *ctl) return 0; } if ((packet_out->po_flags & PO_REPACKNO) - && packet_out->po_regen_sz == packet_out->po_data_sz) + && packet_out->po_regen_sz == packet_out->po_data_sz + && packet_out->po_frame_types != QUIC_FTBIT_PATH_CHALLENGE) { LSQ_DEBUG("send prediction: packet %"PRIu64" would be dropped, " "continue", packet_out->po_packno);