From 1b2b7b7318e911b35630102d2951bff170a6e0a2 Mon Sep 17 00:00:00 2001 From: "Alan M. Carroll" Date: Mon, 12 Jul 2021 18:23:35 -0500 Subject: [PATCH] Tweak QUIC protocol stack support to include TLS. (#7967) --- iocore/net/QUICNetVConnection.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/iocore/net/QUICNetVConnection.cc b/iocore/net/QUICNetVConnection.cc index 34b90f7ce6c..8ca26ab5d4a 100644 --- a/iocore/net/QUICNetVConnection.cc +++ b/iocore/net/QUICNetVConnection.cc @@ -1043,7 +1043,10 @@ QUICNetVConnection::populate_protocol(std::string_view *results, int n) const if (n > retval) { results[retval++] = IP_PROTO_TAG_QUIC; if (n > retval) { - retval += super::populate_protocol(results + retval, n - retval); + results[retval++] = IP_PROTO_TAG_TLS_1_3; + if (n > retval) { + retval += super::populate_protocol(results + retval, n - retval); + } } } return retval; @@ -1052,10 +1055,12 @@ QUICNetVConnection::populate_protocol(std::string_view *results, int n) const const char * QUICNetVConnection::protocol_contains(std::string_view prefix) const { - const char *retval = nullptr; - std::string_view tag = IP_PROTO_TAG_QUIC; - if (prefix.size() <= tag.size() && strncmp(tag.data(), prefix.data(), prefix.size()) == 0) { - retval = tag.data(); + const char *retval = nullptr; + if (prefix.size() <= IP_PROTO_TAG_QUIC.size() && strncmp(IP_PROTO_TAG_QUIC.data(), prefix.data(), prefix.size()) == 0) { + retval = IP_PROTO_TAG_QUIC.data(); + } else if (prefix.size() <= IP_PROTO_TAG_TLS_1_3.size() && + strncmp(IP_PROTO_TAG_TLS_1_3.data(), prefix.data(), prefix.size()) == 0) { + retval = IP_PROTO_TAG_TLS_1_3.data(); } else { retval = super::protocol_contains(prefix); }