diff --git a/src/quic_cid.c b/src/quic_cid.c index 403b3ffe2..44698e1db 100644 --- a/src/quic_cid.c +++ b/src/quic_cid.c @@ -159,13 +159,17 @@ int quic_cid_generate(struct quic_connection_id *conn_id) conn_id->cid.len = QUIC_HAP_CID_LEN; if (quic_newcid_from_hash64) { + TRACE_DEVEL("calculate CID value from conn hash", QUIC_EV_CONN_TXPKT, qc); quic_newcid_from_hash64(conn_id->cid.data, conn_id->cid.len, qc->hash64, global.cluster_secret, sizeof(global.cluster_secret)); } - else if (RAND_bytes(conn_id->cid.data, conn_id->cid.len) != 1) { - /* TODO: RAND_bytes() should be replaced */ - TRACE_ERROR("RAND_bytes() failed", QUIC_EV_CONN_TXPKT, qc); - goto err; + else { + TRACE_DEVEL("generate CID value from random generator", QUIC_EV_CONN_TXPKT, qc); + if (RAND_bytes(conn_id->cid.data, conn_id->cid.len) != 1) { + /* TODO: RAND_bytes() should be replaced */ + TRACE_ERROR("RAND_bytes() failed", QUIC_EV_CONN_TXPKT, qc); + goto err; + } } if (quic_stateless_reset_token_init(conn_id) != 1) { @@ -202,6 +206,7 @@ int quic_cid_derive_from_odcid(struct quic_connection_id *conn_id, conn_id->cid.len = QUIC_HAP_CID_LEN; + TRACE_DEVEL("derive CID value from a client ODCID", QUIC_EV_CONN_TXPKT); /* Derive the new CID value from original CID. */ conn_id->cid = quic_derive_cid(orig, addr); diff --git a/src/quic_rx.c b/src/quic_rx.c index c9ae4a5d4..62d0c9680 100644 --- a/src/quic_rx.c +++ b/src/quic_rx.c @@ -1798,6 +1798,7 @@ static struct quic_conn *quic_rx_pkt_retrieve_conn(struct quic_rx_packet *pkt, * will be set to redispatch the * current packet. */ + TRACE_STATE("duplicate CID on Initial", QUIC_EV_CONN_LPKT); pool_free(pool_head_quic_connection_id, conn_id); quic_conn_release(qc); qc = NULL; @@ -2346,6 +2347,7 @@ int quic_dgram_parse(struct quic_dgram *dgram, struct quic_conn *from_qc, */ if (!qc) { if (new_tid >= 0) { + TRACE_STATE("re-enqueue packet to conn thread", QUIC_EV_CONN_LPKT); MT_LIST_APPEND(&quic_dghdlrs[new_tid].dgrams, &dgram->handler_list); tasklet_wakeup(quic_dghdlrs[new_tid].task);