From c95974e91b6770d2ea0af6f560fa3283925f47e3 Mon Sep 17 00:00:00 2001 From: Dmitri Tikhonov Date: Wed, 9 May 2018 08:57:43 -0400 Subject: [PATCH] [FEATURE] Add support for Q043 --- CHANGELOG | 10 ++++++++++ include/lsquic.h | 13 +++++++++---- src/liblsquic/lsquic_full_conn.c | 2 +- src/liblsquic/lsquic_parse.h | 6 +++--- src/liblsquic/lsquic_version.c | 2 ++ 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 44b185d..2088911 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,13 @@ +2018-05-09 + + - [FEATURE] Add support for Q043. + - Q041 and Q042 are marked deprecated. They are still fully usable, + but not enabled by default. + - Fix typo in debug message. + - Fix code indentation. + - Add /* fallthru */ comment to stop newer gcc from complaining. + - Logger: fix compilation of optimized Windows build. + 2018-05-04 - [FEATURE] Add support for Q042. diff --git a/include/lsquic.h b/include/lsquic.h index ca3fb79..1aff4ca 100644 --- a/include/lsquic.h +++ b/include/lsquic.h @@ -81,16 +81,21 @@ enum lsquic_version */ LSQVER_042, + /** + * Q043. Support for processing PRIORITY frames. Since this library + * has supported PRIORITY frames from the beginning, this version is + * exactly the same as LSQVER_042. + */ + LSQVER_043, + N_LSQVER }; /** - * We currently support versions 35, 37, 38, 39, 41, and 42. + * We currently support versions 35, 37, 38, 39, 41, 42, and 43. * @see lsquic_version */ -#define LSQUIC_SUPPORTED_VERSIONS ((1 << LSQVER_035) | (1 << LSQVER_037) | \ - (1 << LSQVER_038) | (1 << LSQVER_039) | (1 << LSQVER_041) | \ - (1 << LSQVER_042)) +#define LSQUIC_SUPPORTED_VERSIONS ((1 << N_LSQVER) - 1) #define LSQUIC_EXPERIMENTAL_VERSIONS 0 diff --git a/src/liblsquic/lsquic_full_conn.c b/src/liblsquic/lsquic_full_conn.c index ac4e05b..dbcf9a0 100644 --- a/src/liblsquic/lsquic_full_conn.c +++ b/src/liblsquic/lsquic_full_conn.c @@ -2275,7 +2275,7 @@ packetize_standalone_stream_reset (struct full_conn *conn, uint32_t stream_id) } lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); packet_out->po_frame_types |= 1 << QUIC_FRAME_RST_STREAM; - LSQ_DEBUG("generated standaloen RST_STREAM frame for stream %"PRIu32, + LSQ_DEBUG("generated standalone RST_STREAM frame for stream %"PRIu32, stream_id); return 1; } diff --git a/src/liblsquic/lsquic_parse.h b/src/liblsquic/lsquic_parse.h index 6ded9c3..e7fa52e 100644 --- a/src/liblsquic/lsquic_parse.h +++ b/src/liblsquic/lsquic_parse.h @@ -167,9 +167,9 @@ extern const struct parse_funcs lsquic_parse_funcs_gquic_Q041; ((1 << (ver)) & ((1 << LSQVER_035) | \ (1 << LSQVER_037) | (1 << LSQVER_038))) \ ? &lsquic_parse_funcs_gquic_le : \ - ((1 << (ver)) & ((1 << LSQVER_039) | (1 << LSQVER_042))) \ - ? &lsquic_parse_funcs_gquic_Q039 \ - : &lsquic_parse_funcs_gquic_Q041) + ((1 << (ver)) & (1 << LSQVER_041)) \ + ? &lsquic_parse_funcs_gquic_Q041 \ + : &lsquic_parse_funcs_gquic_Q039) /* This function is QUIC-version independent */ int diff --git a/src/liblsquic/lsquic_version.c b/src/liblsquic/lsquic_version.c index 7a4b230..4320b85 100644 --- a/src/liblsquic/lsquic_version.c +++ b/src/liblsquic/lsquic_version.c @@ -14,6 +14,7 @@ static const unsigned char version_tags[N_LSQVER][4] = [LSQVER_039] = { 'Q', '0', '3', '9', }, [LSQVER_041] = { 'Q', '0', '4', '1', }, [LSQVER_042] = { 'Q', '0', '4', '2', }, + [LSQVER_043] = { 'Q', '0', '4', '3', }, }; @@ -64,6 +65,7 @@ const char *const lsquic_ver2str[N_LSQVER] = { [LSQVER_039] = "Q039", [LSQVER_041] = "Q041", [LSQVER_042] = "Q042", + [LSQVER_043] = "Q043", };