mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 3.0.5
This commit is contained in:
parent
dbc62fc9fa
commit
e237d77919
6 changed files with 28 additions and 35 deletions
|
@ -1654,9 +1654,9 @@ check_server_tps_for_violations (const struct enc_sess_iquic *enc_sess,
|
|||
|
||||
for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi)
|
||||
if ((1 << tpi) & REDUCTION_PROHIBITED_TPS)
|
||||
if (new_params->tp_numerics[tpi] > params_0rtt->tp_numerics[tpi])
|
||||
if (new_params->tp_numerics[tpi] < params_0rtt->tp_numerics[tpi])
|
||||
{
|
||||
LSQ_INFO("server's new TP %s increased in value from %"PRIu64
|
||||
LSQ_INFO("server's new TP %s decreased in value from %"PRIu64
|
||||
" to %"PRIu64, lsquic_tpi2str[tpi],
|
||||
params_0rtt->tp_numerics[tpi],
|
||||
new_params->tp_numerics[tpi]);
|
||||
|
|
|
@ -2900,11 +2900,12 @@ ietf_full_conn_ci_want_datagram_write (struct lsquic_conn *lconn, int is_want)
|
|||
if (conn->ifc_flags & IFC_DATAGRAMS)
|
||||
{
|
||||
old = !!(conn->ifc_mflags & MF_WANT_DATAGRAM_WRITE);
|
||||
if (is_want) {
|
||||
if (is_want)
|
||||
{
|
||||
conn->ifc_mflags |= MF_WANT_DATAGRAM_WRITE;
|
||||
if (lsquic_send_ctl_can_send (&conn->ifc_send_ctl))
|
||||
lsquic_engine_add_conn_to_tickable(conn->ifc_enpub,
|
||||
&conn->ifc_conn);
|
||||
&conn->ifc_conn);
|
||||
}
|
||||
else
|
||||
conn->ifc_mflags &= ~MF_WANT_DATAGRAM_WRITE;
|
||||
|
|
|
@ -1816,23 +1816,23 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
unsigned msg_len, server_config_sz;
|
||||
struct message_writer mw;
|
||||
|
||||
if (enc_session->enpub->enp_server_config->lsc_scfg && (enc_session->enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t))
|
||||
return enc_session->enpub->enp_server_config;
|
||||
if (enpub->enp_server_config->lsc_scfg && (enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t))
|
||||
return enpub->enp_server_config;
|
||||
|
||||
ret = shi->shi_lookup(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE,
|
||||
&scfg_ptr, &real_len);
|
||||
if (ret == 1)
|
||||
{
|
||||
if (config_has_correct_size(enc_session, scfg_ptr, real_len) &&
|
||||
(enc_session->enpub->enp_server_config->lsc_scfg = scfg_ptr,
|
||||
enc_session->enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t))
|
||||
(enpub->enp_server_config->lsc_scfg = scfg_ptr,
|
||||
enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t))
|
||||
{
|
||||
/* Why need to init here, because this memory may be read from SHM,
|
||||
* the struct is ready but AEAD_CTX is not ready.
|
||||
**/
|
||||
EVP_AEAD_CTX_init(&enc_session->enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(),
|
||||
enc_session->enpub->enp_server_config->lsc_scfg->info.skt_key, 16, 12, NULL);
|
||||
return enc_session->enpub->enp_server_config;
|
||||
EVP_AEAD_CTX_init(&enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(),
|
||||
enpub->enp_server_config->lsc_scfg->info.skt_key, 16, 12, NULL);
|
||||
return enpub->enp_server_config;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1850,12 +1850,12 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
MSG_LEN_ADD(msg_len, sizeof(temp_scfg->orbt));
|
||||
MSG_LEN_ADD(msg_len, sizeof(temp_scfg->expy));
|
||||
|
||||
server_config_sz = sizeof(*enc_session->enpub->enp_server_config->lsc_scfg) + MSG_LEN_VAL(msg_len);
|
||||
enc_session->enpub->enp_server_config->lsc_scfg = malloc(server_config_sz);
|
||||
if (!enc_session->enpub->enp_server_config->lsc_scfg)
|
||||
server_config_sz = sizeof(*enpub->enp_server_config->lsc_scfg) + MSG_LEN_VAL(msg_len);
|
||||
enpub->enp_server_config->lsc_scfg = malloc(server_config_sz);
|
||||
if (!enpub->enp_server_config->lsc_scfg)
|
||||
return NULL;
|
||||
|
||||
temp_scfg = &enc_session->enpub->enp_server_config->lsc_scfg->info;
|
||||
temp_scfg = &enpub->enp_server_config->lsc_scfg->info;
|
||||
RAND_bytes(temp_scfg->skt_key, sizeof(temp_scfg->skt_key));
|
||||
RAND_bytes(temp_scfg->sscid, sizeof(temp_scfg->sscid));
|
||||
RAND_bytes(temp_scfg->priv_key, sizeof(temp_scfg->priv_key));
|
||||
|
@ -1866,7 +1866,7 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
temp_scfg->orbt = 0;
|
||||
temp_scfg->expy = t + settings->es_sttl;
|
||||
|
||||
MW_BEGIN(&mw, QTAG_SCFG, 8, enc_session->enpub->enp_server_config->lsc_scfg->scfg);
|
||||
MW_BEGIN(&mw, QTAG_SCFG, 8, enpub->enp_server_config->lsc_scfg->scfg);
|
||||
MW_WRITE_BUFFER(&mw, QTAG_VER, enpub->enp_ver_tags_buf,
|
||||
enpub->enp_ver_tags_len);
|
||||
MW_WRITE_UINT32(&mw, QTAG_AEAD, temp_scfg->aead);
|
||||
|
@ -1877,7 +1877,7 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
MW_WRITE_UINT64(&mw, QTAG_ORBT, temp_scfg->orbt);
|
||||
MW_WRITE_UINT64(&mw, QTAG_EXPY, temp_scfg->expy);
|
||||
MW_END(&mw);
|
||||
assert(MW_P(&mw) == enc_session->enpub->enp_server_config->lsc_scfg->scfg + MSG_LEN_VAL(msg_len));
|
||||
assert(MW_P(&mw) == enpub->enp_server_config->lsc_scfg->scfg + MSG_LEN_VAL(msg_len));
|
||||
|
||||
temp_scfg->scfg_len = MSG_LEN_VAL(msg_len);
|
||||
|
||||
|
@ -1887,17 +1887,17 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
// shi->shi_delete(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE);
|
||||
void *scfg_key = strdup(SERVER_SCFG_KEY);
|
||||
shi->shi_insert(shi_ctx, scfg_key, SERVER_SCFG_KEY_SIZE,
|
||||
enc_session->enpub->enp_server_config->lsc_scfg, server_config_sz, t + settings->es_sttl);
|
||||
enpub->enp_server_config->lsc_scfg, server_config_sz, t + settings->es_sttl);
|
||||
|
||||
ret = shi->shi_lookup(shi_ctx, scfg_key, SERVER_SCFG_KEY_SIZE,
|
||||
&scfg_ptr, &real_len);
|
||||
if (ret == 1)
|
||||
{
|
||||
tmp_scfg_copy = scfg_ptr;
|
||||
if (tmp_scfg_copy != enc_session->enpub->enp_server_config->lsc_scfg)
|
||||
if (tmp_scfg_copy != enpub->enp_server_config->lsc_scfg)
|
||||
{
|
||||
free(enc_session->enpub->enp_server_config->lsc_scfg);
|
||||
enc_session->enpub->enp_server_config->lsc_scfg = tmp_scfg_copy;
|
||||
free(enpub->enp_server_config->lsc_scfg);
|
||||
enpub->enp_server_config->lsc_scfg = tmp_scfg_copy;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1906,12 +1906,12 @@ get_valid_scfg (const struct lsquic_enc_session *enc_session,
|
|||
LSQ_DEBUG("get_valid_scfg got an shi internal error.\n");
|
||||
}
|
||||
|
||||
ret = EVP_AEAD_CTX_init(&enc_session->enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(),
|
||||
enc_session->enpub->enp_server_config->lsc_scfg->info.skt_key,
|
||||
sizeof(enc_session->enpub->enp_server_config->lsc_scfg->info.skt_key), 12, NULL);
|
||||
ret = EVP_AEAD_CTX_init(&enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(),
|
||||
enpub->enp_server_config->lsc_scfg->info.skt_key,
|
||||
sizeof(enpub->enp_server_config->lsc_scfg->info.skt_key), 12, NULL);
|
||||
|
||||
LSQ_DEBUG("get_valid_scfg::EVP_AEAD_CTX_init return %d.", ret);
|
||||
return enc_session->enpub->enp_server_config;
|
||||
return enpub->enp_server_config;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -68,11 +68,6 @@ int
|
|||
lsquic_ietf_v1_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz,
|
||||
const lsquic_cid_t *scid, const lsquic_cid_t *dcid, unsigned versions,
|
||||
uint8_t);
|
||||
int
|
||||
lsquic_iquic_gen_retry_pkt (unsigned char *buf, size_t bufsz,
|
||||
const struct lsquic_engine_public *, const lsquic_cid_t *scid,
|
||||
const lsquic_cid_t *dcid, enum lsquic_version, const struct sockaddr *,
|
||||
uint8_t random_nybble);
|
||||
|
||||
#define GQUIC_RESET_SZ 33
|
||||
ssize_t
|
||||
|
|
|
@ -452,10 +452,6 @@ static void
|
|||
qdh_hblock_unblocked (void *stream_p)
|
||||
{
|
||||
struct lsquic_stream *const stream = stream_p;
|
||||
union hblock_ctx *const u = stream->sm_hblock_ctx;
|
||||
struct qpack_dec_hdl *qdh = u->ctx.qdh;
|
||||
|
||||
LSQ_DEBUG("header block for stream %"PRIu64" unblocked", stream->id);
|
||||
lsquic_stream_qdec_unblocked(stream);
|
||||
}
|
||||
|
||||
|
|
|
@ -2392,7 +2392,8 @@ lsquic_stream_dispatch_write_events (lsquic_stream_t *stream)
|
|||
unsigned short n_buffered;
|
||||
enum stream_q_flags q_flags;
|
||||
|
||||
if (!(stream->sm_qflags & SMQF_WRITE_Q_FLAGS))
|
||||
if (!(stream->sm_qflags & SMQF_WRITE_Q_FLAGS)
|
||||
|| (stream->stream_flags & STREAM_FINISHED))
|
||||
return;
|
||||
|
||||
q_flags = stream->sm_qflags & SMQF_WRITE_Q_FLAGS;
|
||||
|
|
Loading…
Reference in a new issue