Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22037)
/* Whether to use QLOG. */
int use_qlog;
+
+ /* Title to use for the QLOG session, or NULL. */
+ const char *qlog_title;
} QUIC_CHANNEL_ARGS;
/* Represents the cause for a connection's termination. */
return NULL;
qti.odcid = ch->init_dcid;
- qti.title = NULL;
+ qti.title = ch->qlog_title;
qti.description = NULL;
qti.group_id = NULL;
qti.is_server = ch->is_server;
if (ch->qlog != NULL)
ossl_qlog_flush(ch->qlog); /* best effort */
+ OPENSSL_free(ch->qlog_title);
ossl_qlog_free(ch->qlog);
#endif
}
ch->srtm = args->srtm;
#ifndef OPENSSL_NO_QLOG
ch->use_qlog = args->use_qlog;
+
+ if (ch->use_qlog && args->qlog_title != NULL) {
+ if ((ch->qlog_title = OPENSSL_strdup(args->qlog_title)) == NULL) {
+ OPENSSL_free(ch);
+ return NULL;
+ }
+ }
#endif
if (!ch_init(ch)) {
/* Scratch area for use by RXDP to store decoded ACK ranges. */
OSSL_QUIC_ACK_RANGE *ack_range_scratch;
size_t num_ack_range_scratch;
+
+ /* Title for QLOG purposes. We own this copy. */
+ char *quic_channel_local;
};
# endif