From ea97b00d2f44c23c9ef10348fe8d18e18ebc8fe2 Mon Sep 17 00:00:00 2001 From: Xin Long Date: Wed, 12 Mar 2025 15:20:26 -0400 Subject: [PATCH] tlshd: replace IPPROTO_QUIC with SOL_QUIC for cmsg_level in quic SOL_QUIC should be used for the cmsg_level in send/recvmsg(). Although in many transport protocols IPPROTO_XXX == SOL_XXX, IPPROTO_QUIC != SOL_QUIC in linux quic. Fixes: 43a15fed2f33 ("tlshd: add support for quic handshake") Signed-off-by: Xin Long --- src/tlshd/quic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tlshd/quic.c b/src/tlshd/quic.c index 054f105..36b8cee 100644 --- a/src/tlshd/quic.c +++ b/src/tlshd/quic.c @@ -335,7 +335,7 @@ static int quic_handshake_sendmsg(int sockfd, struct tlshd_quic_msg *msg) flags = MSG_MORE; cmsg = CMSG_FIRSTHDR(&outmsg); - cmsg->cmsg_level = IPPROTO_QUIC; + cmsg->cmsg_level = SOL_QUIC; cmsg->cmsg_type = QUIC_HANDSHAKE_INFO; cmsg->cmsg_len = CMSG_LEN(sizeof(*info)); @@ -373,7 +373,7 @@ static int quic_handshake_recvmsg(int sockfd, struct tlshd_quic_msg *msg) msg->len = ret; for (cmsg = CMSG_FIRSTHDR(&inmsg); cmsg != NULL; cmsg = CMSG_NXTHDR(&inmsg, cmsg)) - if (IPPROTO_QUIC == cmsg->cmsg_level && QUIC_HANDSHAKE_INFO == cmsg->cmsg_type) + if (SOL_QUIC == cmsg->cmsg_level && QUIC_HANDSHAKE_INFO == cmsg->cmsg_type) break; if (cmsg) { memcpy(&info, CMSG_DATA(cmsg), sizeof(info));