Include prefix in SSL_early_data_reason_string.
cl/340322863 added BoringSSL version-guarded code to call
SSL_early_data_reason_string, but QUIC expects the strings to include the
"ssl_early_data_" prefix. Since prefixing would be different from all the other
enum-to-string functions in BoringSSL, this change does that prefixing in the
QUIC code instead.
PiperOrigin-RevId: 341669885
Change-Id: Iefc1364b4846e769d7b281e1b4aa96d9666f7a55
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc
index 904a3c4..efb7b66 100644
--- a/quic/core/crypto/crypto_utils.cc
+++ b/quic/core/crypto/crypto_utils.cc
@@ -735,12 +735,12 @@
}
// static
-const char* CryptoUtils::EarlyDataReasonToString(
+std::string CryptoUtils::EarlyDataReasonToString(
ssl_early_data_reason_t reason) {
#if BORINGSSL_API_VERSION >= 12
const char* reason_string = SSL_early_data_reason_string(reason);
if (reason_string != nullptr) {
- return reason_string;
+ return std::string("ssl_early_data_") + reason_string;
}
#else
// TODO(davidben): Remove this logic once
diff --git a/quic/core/crypto/crypto_utils.h b/quic/core/crypto/crypto_utils.h
index 2191ae1..9195e3a 100644
--- a/quic/core/crypto/crypto_utils.h
+++ b/quic/core/crypto/crypto_utils.h
@@ -232,7 +232,7 @@
HandshakeFailureReason reason);
// Returns the name of an ssl_early_data_reason_t as a char*
- static const char* EarlyDataReasonToString(ssl_early_data_reason_t reason);
+ static std::string EarlyDataReasonToString(ssl_early_data_reason_t reason);
// Returns a hash of the serialized |message|.
static std::string HashHandshakeMessage(const CryptoHandshakeMessage& message,