mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 2.15.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 28 support. - [BUGFIX] Ignore Retry packets after other packets are decrypted successfully. - [BUGFIX] Transport parameter decoding: CID no longer has 4-byte length minimum. - http_client: fix and optimize lsxpack_header allocator. - Drop support for Internet Draft 25.
This commit is contained in:
parent
4d221313f7
commit
fb73393fef
33 changed files with 1124 additions and 631 deletions
|
@ -220,6 +220,7 @@ struct lsquic_conn_ctx {
|
|||
struct hset_elem
|
||||
{
|
||||
STAILQ_ENTRY(hset_elem) next;
|
||||
size_t nalloc;
|
||||
struct lsxpack_header xhdr;
|
||||
};
|
||||
|
||||
|
@ -999,16 +1000,19 @@ hset_prepare_decode (void *hset_p, struct lsxpack_header *xhdr,
|
|||
}
|
||||
STAILQ_INSERT_TAIL(hset, el, next);
|
||||
lsxpack_header_prepare_decode(&el->xhdr, buf, 0, req_space);
|
||||
el->nalloc = req_space;
|
||||
}
|
||||
else
|
||||
{
|
||||
el = (struct hset_elem *) ((char *) xhdr
|
||||
- offsetof(struct hset_elem, xhdr));
|
||||
if (req_space <= xhdr->val_len)
|
||||
if (req_space <= el->nalloc)
|
||||
{
|
||||
LSQ_ERROR("requested space is smaller than already allocated");
|
||||
return NULL;
|
||||
}
|
||||
if (req_space < el->nalloc * 2)
|
||||
req_space = el->nalloc * 2;
|
||||
buf = realloc(el->xhdr.buf, req_space);
|
||||
if (!buf)
|
||||
{
|
||||
|
@ -1017,6 +1021,7 @@ hset_prepare_decode (void *hset_p, struct lsxpack_header *xhdr,
|
|||
}
|
||||
el->xhdr.buf = buf;
|
||||
el->xhdr.val_len = req_space;
|
||||
el->nalloc = req_space;
|
||||
}
|
||||
|
||||
return &el->xhdr;
|
||||
|
|
|
@ -21,7 +21,7 @@ static int
|
|||
select_alpn (SSL *ssl, const unsigned char **out, unsigned char *outlen,
|
||||
const unsigned char *in, unsigned int inlen, void *arg)
|
||||
{
|
||||
const unsigned char alpn[] = "\x5h3-25\x5h3-27";
|
||||
const unsigned char alpn[] = "\x5h3-27\x5h3-28";
|
||||
int r;
|
||||
|
||||
r = SSL_select_next_proto((unsigned char **) out, outlen, in, inlen,
|
||||
|
|
|
@ -1915,11 +1915,6 @@ set_engine_option (struct lsquic_engine_settings *settings,
|
|||
settings->es_qpack_dec_max_size = atoi(val);
|
||||
return 0;
|
||||
}
|
||||
if (0 == strncmp(name, "max_packet_size_rx", 18))
|
||||
{
|
||||
settings->es_max_packet_size_rx = atoi(val);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
if (0 == strncmp(name, "max_header_list_size", 20))
|
||||
|
@ -1945,6 +1940,13 @@ set_engine_option (struct lsquic_engine_settings *settings,
|
|||
return 0;
|
||||
}
|
||||
break;
|
||||
case 23:
|
||||
if (0 == strncmp(name, "max_udp_payload_size_rx", 18))
|
||||
{
|
||||
settings->es_max_udp_payload_size_rx = atoi(val);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case 24:
|
||||
if (0 == strncmp(name, "init_max_stream_data_uni", 24))
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue