diff --git a/CHANGELOG b/CHANGELOG index cc98236..3e79b16 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,6 @@ -2020-10-08 - - 2.12.11 - - [BUGFIX] Function that checks validity of handshake packets +2020-10-26 + - 2.12.12 + - Undo changes in 2.12.11 2020-10-06 - 2.12.10 diff --git a/include/lsquic.h b/include/lsquic.h index 05adede..6020d7b 100644 --- a/include/lsquic.h +++ b/include/lsquic.h @@ -1675,8 +1675,7 @@ lsquic_get_h3_alpns (unsigned versions); * been established: it will return incorrect result. */ int -lsquic_is_valid_hs_packet (lsquic_engine_t *, const unsigned char *, - size_t bufsz, size_t packet_in_sz); +lsquic_is_valid_hs_packet (lsquic_engine_t *, const unsigned char *, size_t); /** * Parse cid from packet stored in `buf' and store it to `cid'. Returns 0 diff --git a/src/liblsquic/lsquic_hspack_valid.c b/src/liblsquic/lsquic_hspack_valid.c index 7398d2a..a59bfb7 100644 --- a/src/liblsquic/lsquic_hspack_valid.c +++ b/src/liblsquic/lsquic_hspack_valid.c @@ -88,7 +88,7 @@ is_valid_gquic_hs_packet (const unsigned char *buf, size_t bufsz, int lsquic_is_valid_hs_packet (struct lsquic_engine *engine, - const unsigned char *buf, size_t bufsz, size_t packet_in_sz) + const unsigned char *buf, size_t bufsz) { lsquic_ver_tag_t tag; int is_valid; @@ -104,7 +104,7 @@ lsquic_is_valid_hs_packet (struct lsquic_engine *engine, case 0x80|0x00|0x20|0x10|0x08: case 0x80|0x40|0x20|0x10|0x00: case 0x80|0x00|0x20|0x10|0x00: - is_valid = packet_in_sz >= IQUIC_MIN_INIT_PACKET_SZ + is_valid = bufsz >= IQUIC_MIN_INIT_PACKET_SZ && lsquic_is_valid_iquic_hs_packet(buf, bufsz, &tag); break; /* 1X00 XGGG: ID-22 long header */ @@ -122,7 +122,7 @@ lsquic_is_valid_hs_packet (struct lsquic_engine *engine, case 0x80|0x00|0x20|0x00|0x08: case 0x80|0x40|0x20|0x00|0x00: case 0x80|0x00|0x20|0x00|0x00: - is_valid = packet_in_sz >= IQUIC_MIN_INIT_PACKET_SZ + is_valid = bufsz >= IQUIC_MIN_INIT_PACKET_SZ && lsquic_is_valid_ietf_v1_or_Q046plus_hs_packet(buf, bufsz, &tag); break; /* 01XX XGGG: ID-22 short header */