mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 2.29.5
- Fix a few issues detected by h3spec for better compliance with HTTP/3 standard.
This commit is contained in:
parent
e1b8f1a8c3
commit
10e0dad8a4
7 changed files with 35 additions and 14 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2021-03-17
|
||||||
|
- 2.29.5
|
||||||
|
- Fix a few issues detected by h3spec for better compliance with HTTP/3
|
||||||
|
standard.
|
||||||
|
|
||||||
2021-03-08
|
2021-03-08
|
||||||
- 2.29.4
|
- 2.29.4
|
||||||
- [BUGFIX] Infinite loop in stream: returned HQ frame can be at any
|
- [BUGFIX] Infinite loop in stream: returned HQ frame can be at any
|
||||||
|
|
|
@ -26,7 +26,7 @@ author = u'LiteSpeed Technologies'
|
||||||
# The short X.Y version
|
# The short X.Y version
|
||||||
version = u'2.29'
|
version = u'2.29'
|
||||||
# The full version, including alpha/beta/rc tags
|
# The full version, including alpha/beta/rc tags
|
||||||
release = u'2.29.4'
|
release = u'2.29.5'
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
|
@ -25,7 +25,7 @@ extern "C" {
|
||||||
|
|
||||||
#define LSQUIC_MAJOR_VERSION 2
|
#define LSQUIC_MAJOR_VERSION 2
|
||||||
#define LSQUIC_MINOR_VERSION 29
|
#define LSQUIC_MINOR_VERSION 29
|
||||||
#define LSQUIC_PATCH_VERSION 4
|
#define LSQUIC_PATCH_VERSION 5
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Engine flags:
|
* Engine flags:
|
||||||
|
|
|
@ -6393,6 +6393,13 @@ process_new_token_frame (struct ietf_full_conn *conn,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (conn->ifc_flags & IFC_SERVER)
|
||||||
|
{ /* [draft-ietf-quic-transport-34] Section 19.7 */
|
||||||
|
ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION,
|
||||||
|
"received unexpected NEW_TOKEN frame");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)
|
if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)
|
||||||
|| LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT))
|
|| LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT))
|
||||||
{
|
{
|
||||||
|
@ -6858,7 +6865,8 @@ parse_regular_packet (struct ietf_full_conn *conn,
|
||||||
p = packet_in->pi_data + packet_in->pi_header_sz;
|
p = packet_in->pi_data + packet_in->pi_header_sz;
|
||||||
pend = packet_in->pi_data + packet_in->pi_data_sz;
|
pend = packet_in->pi_data + packet_in->pi_data_sz;
|
||||||
|
|
||||||
while (p < pend)
|
if (p < pend)
|
||||||
|
do
|
||||||
{
|
{
|
||||||
len = process_packet_frame(conn, packet_in, p, pend - p);
|
len = process_packet_frame(conn, packet_in, p, pend - p);
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
|
@ -6869,6 +6877,10 @@ parse_regular_packet (struct ietf_full_conn *conn,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
while (p < pend);
|
||||||
|
else
|
||||||
|
ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION,
|
||||||
|
"packet %"PRIu64" has no frames", packet_in->pi_packno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8959,7 +8971,8 @@ on_settings_frame (void *ctx)
|
||||||
LSQ_DEBUG("SETTINGS frame");
|
LSQ_DEBUG("SETTINGS frame");
|
||||||
if (conn->ifc_flags & IFC_HAVE_PEER_SET)
|
if (conn->ifc_flags & IFC_HAVE_PEER_SET)
|
||||||
{
|
{
|
||||||
ABORT_WARN("second incoming SETTING frame on HTTP control stream");
|
ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED,
|
||||||
|
"second incoming SETTING frame on HTTP control stream");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -380,7 +380,7 @@ qdh_read_encoder_stream (void *ctx, const unsigned char *buf, size_t sz,
|
||||||
LSQ_INFO("error reading encoder stream");
|
LSQ_INFO("error reading encoder stream");
|
||||||
qerr = lsqpack_dec_get_err_info(&qdh->qdh_decoder);
|
qerr = lsqpack_dec_get_err_info(&qdh->qdh_decoder);
|
||||||
qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1,
|
qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1,
|
||||||
HEC_QPACK_DECODER_STREAM_ERROR, "Error interpreting QPACK encoder "
|
HEC_QPACK_ENCODER_STREAM_ERROR, "Error interpreting QPACK encoder "
|
||||||
"stream; offset %"PRIu64", line %d", qerr->off, qerr->line);
|
"stream; offset %"PRIu64", line %d", qerr->off, qerr->line);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,7 @@ static const uint64_t max_vals[MAX_NUMERIC_TPI + 1] =
|
||||||
* it is not required by the spec and is not necessary.
|
* it is not required by the spec and is not necessary.
|
||||||
*/
|
*/
|
||||||
[TPI_MAX_UDP_PAYLOAD_SIZE] = VINT_MAX_VALUE,
|
[TPI_MAX_UDP_PAYLOAD_SIZE] = VINT_MAX_VALUE,
|
||||||
[TPI_ACK_DELAY_EXPONENT] = VINT_MAX_VALUE,
|
[TPI_ACK_DELAY_EXPONENT] = TP_MAX_ACK_DELAY_EXP,
|
||||||
[TPI_INIT_MAX_STREAMS_UNI] = 1ull << 60,
|
[TPI_INIT_MAX_STREAMS_UNI] = 1ull << 60,
|
||||||
[TPI_INIT_MAX_STREAMS_BIDI] = 1ull << 60,
|
[TPI_INIT_MAX_STREAMS_BIDI] = 1ull << 60,
|
||||||
[TPI_INIT_MAX_DATA] = VINT_MAX_VALUE,
|
[TPI_INIT_MAX_DATA] = VINT_MAX_VALUE,
|
||||||
|
|
|
@ -128,6 +128,9 @@ struct transport_params
|
||||||
#define TP_DEF_MAX_ACK_DELAY 25u
|
#define TP_DEF_MAX_ACK_DELAY 25u
|
||||||
#define TP_DEF_ACTIVE_CONNECTION_ID_LIMIT 2
|
#define TP_DEF_ACTIVE_CONNECTION_ID_LIMIT 2
|
||||||
|
|
||||||
|
/* [draft-ietf-quic-transport-34], Section 18.2 */
|
||||||
|
#define TP_MAX_ACK_DELAY_EXP 20
|
||||||
|
|
||||||
/* [draft-ietf-quic-transport-18], Section 18.1 */
|
/* [draft-ietf-quic-transport-18], Section 18.1 */
|
||||||
#define TP_MAX_MAX_ACK_DELAY ((1u << 14) - 1)
|
#define TP_MAX_MAX_ACK_DELAY ((1u << 14) - 1)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue