From bf2c703721d82fcc2c4d1ed2f9de6854ff41a357 Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Fri, 16 Nov 2018 11:32:34 -0500 Subject: [PATCH] Release 1.17.3 [BUGFIX] Do not send STOP_WAITING frames when using Q044 --- CHANGELOG | 4 ++++ include/lsquic.h | 2 +- src/liblsquic/lsquic_engine.c | 2 ++ src/liblsquic/lsquic_full_conn.c | 3 ++- src/liblsquic/lsquic_handshake.c | 3 +++ 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 8bbb1540c..0a41a039d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +2018-11-16 + - 1.17.3 + - [BUGFIX] Do not send STOP_WAITING frames when using Q044 + 2018-10-19 - 1.17.2 - [BUGFIX] Memory leak in test_frame_rw unit test. diff --git a/include/lsquic.h b/include/lsquic.h index 301b181a6..152b1e131 100644 --- a/include/lsquic.h +++ b/include/lsquic.h @@ -25,7 +25,7 @@ extern "C" { #define LSQUIC_MAJOR_VERSION 1 #define LSQUIC_MINOR_VERSION 17 -#define LSQUIC_PATCH_VERSION 2 +#define LSQUIC_PATCH_VERSION 3 /** * Engine flags: diff --git a/src/liblsquic/lsquic_engine.c b/src/liblsquic/lsquic_engine.c index ca72a9d2a..5b8919c79 100644 --- a/src/liblsquic/lsquic_engine.c +++ b/src/liblsquic/lsquic_engine.c @@ -1444,3 +1444,5 @@ lsquic_engine_count_attq (lsquic_engine_t *engine, int from_now) now += from_now; return attq_count_before(engine->attq, now); } + + diff --git a/src/liblsquic/lsquic_full_conn.c b/src/liblsquic/lsquic_full_conn.c index 16d37ba35..50b779f26 100644 --- a/src/liblsquic/lsquic_full_conn.c +++ b/src/liblsquic/lsquic_full_conn.c @@ -2001,7 +2001,8 @@ process_incoming_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) if (conn->fc_conn.cn_version >= LSQVER_039) { assert(!(conn->fc_flags & FC_NSTP)); /* This bit off at start */ - if (conn->fc_settings->es_support_nstp) + if (conn->fc_conn.cn_version >= LSQVER_044 + || conn->fc_settings->es_support_nstp) { conn->fc_flags |= FC_NSTP; lsquic_send_ctl_turn_nstp_on(&conn->fc_send_ctl); diff --git a/src/liblsquic/lsquic_handshake.c b/src/liblsquic/lsquic_handshake.c index 31788ba2b..832988ba3 100644 --- a/src/liblsquic/lsquic_handshake.c +++ b/src/liblsquic/lsquic_handshake.c @@ -965,6 +965,9 @@ lsquic_enc_session_gen_chlo (lsquic_enc_session_t *enc_session, return -1; n_opts = 0; + /* CHLO is not regenerated during version negotiation. Hence we always + * include this option to cover the case when Q044 gets negotiated down. + */ if (settings->es_support_nstp) opts[ n_opts++ ] = QTAG_NSTP;