Migration from GFE_BUG_V2 (and friends) to GFE_BUG Per go/gfe-bug-improvements GFE_BUGs are getting stable IDs to allow for monitoring and alerting. To achieve that, a temporary set of V2 macros was added and the codebase was migrated to using the V2 macros. Now that migration is complete, the old-style (sans _V2) macros were changed to also take bug_id parameter, which makes the V2 set obsolete. To complete the transition, the codebase is being migrated back to GFE_BUG macros. Once done, V2 macros will be removed. PiperOrigin-RevId: 363268989 Change-Id: Ib271e19ab2c85b6676920c551555688d99ec8526
diff --git a/quic/quic_transport/quic_transport_client_session.cc b/quic/quic_transport/quic_transport_client_session.cc index 1d2ff4f..17f9194 100644 --- a/quic/quic_transport/quic_transport_client_session.cc +++ b/quic/quic_transport/quic_transport_client_session.cc
@@ -46,8 +46,7 @@ origin_(origin), visitor_(visitor) { for (const ParsedQuicVersion& version : supported_versions) { - QUIC_BUG_IF_V2(quic_bug_12035_1, - version.handshake_protocol != PROTOCOL_TLS1_3) + QUIC_BUG_IF(quic_bug_12035_1, version.handshake_protocol != PROTOCOL_TLS1_3) << "QuicTransport requires TLS 1.3 handshake"; } crypto_stream_ = std::make_unique<QuicCryptoClientStream>( @@ -59,7 +58,7 @@ void QuicTransportClientSession::OnAlpnSelected(absl::string_view alpn) { // Defense in-depth: ensure the ALPN selected is the desired one. if (alpn != QuicTransportAlpn()) { - QUIC_BUG_V2(quic_bug_10881_1) + QUIC_BUG(quic_bug_10881_1) << "QuicTransport negotiated non-QuicTransport ALPN: " << alpn; connection()->CloseConnection( QUIC_INTERNAL_ERROR, "QuicTransport negotiated non-QuicTransport ALPN", @@ -119,7 +118,7 @@ QuicTransportStream* QuicTransportClientSession::OpenOutgoingBidirectionalStream() { if (!CanOpenNextOutgoingBidirectionalStream()) { - QUIC_BUG_V2(quic_bug_10881_2) + QUIC_BUG(quic_bug_10881_2) << "Attempted to open a stream in violation of flow control"; return nullptr; } @@ -129,7 +128,7 @@ QuicTransportStream* QuicTransportClientSession::OpenOutgoingUnidirectionalStream() { if (!CanOpenNextOutgoingUnidirectionalStream()) { - QUIC_BUG_V2(quic_bug_10881_3) + QUIC_BUG(quic_bug_10881_3) << "Attempted to open a stream in violation of flow control"; return nullptr; } @@ -146,7 +145,7 @@ std::string QuicTransportClientSession::SerializeClientIndication() { std::string serialized_origin = origin_.Serialize(); if (serialized_origin.size() > std::numeric_limits<uint16_t>::max()) { - QUIC_BUG_V2(quic_bug_10881_4) << "Client origin too long"; + QUIC_BUG(quic_bug_10881_4) << "Client origin too long"; connection()->CloseConnection( QUIC_INTERNAL_ERROR, "Client origin too long", ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); @@ -186,16 +185,16 @@ writer.WriteUInt16( static_cast<uint16_t>(QuicTransportClientIndicationKeys::kPath)) && writer.WriteUInt16(path.size()) && writer.WriteStringPiece(path); - QUIC_BUG_IF_V2(quic_bug_10881_5, !success) + QUIC_BUG_IF(quic_bug_10881_5, !success) << "Failed to serialize client indication"; - QUIC_BUG_IF_V2(quic_bug_12035_2, writer.length() != buffer.length()) + QUIC_BUG_IF(quic_bug_12035_2, writer.length() != buffer.length()) << "Serialized client indication has length different from expected"; return buffer; } void QuicTransportClientSession::SendClientIndication() { if (!crypto_stream_->encryption_established()) { - QUIC_BUG_V2(quic_bug_10881_6) + QUIC_BUG(quic_bug_10881_6) << "Client indication may only be sent once the encryption is " "established."; connection()->CloseConnection( @@ -204,7 +203,7 @@ return; } if (ready_) { - QUIC_BUG_V2(quic_bug_10881_7) << "Client indication may only be sent once."; + QUIC_BUG(quic_bug_10881_7) << "Client indication may only be sent once."; connection()->CloseConnection( QUIC_INTERNAL_ERROR, "Attempted to send client indication twice", ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); @@ -214,8 +213,8 @@ auto client_indication_owned = std::make_unique<ClientIndication>( /*stream_id=*/GetNextOutgoingUnidirectionalStreamId(), this, /*is_static=*/false, WRITE_UNIDIRECTIONAL); - QUIC_BUG_IF_V2(quic_bug_12035_3, - client_indication_owned->id() != ClientIndicationStream()) + QUIC_BUG_IF(quic_bug_12035_3, + client_indication_owned->id() != ClientIndicationStream()) << "Client indication stream is " << client_indication_owned->id() << " instead of expected " << ClientIndicationStream(); ClientIndication* client_indication = client_indication_owned.get(); @@ -227,7 +226,7 @@ // Defense in depth: never set the ready bit unless ALPN has been confirmed. if (!alpn_received_) { - QUIC_BUG_V2(quic_bug_10881_8) + QUIC_BUG(quic_bug_10881_8) << "ALPN confirmation missing after handshake complete"; connection()->CloseConnection( QUIC_INTERNAL_ERROR,
diff --git a/quic/quic_transport/quic_transport_client_session.h b/quic/quic_transport/quic_transport_client_session.h index 6406bd5..6f6d091 100644 --- a/quic/quic_transport/quic_transport_client_session.h +++ b/quic/quic_transport/quic_transport_client_session.h
@@ -73,7 +73,7 @@ QuicStream* CreateIncomingStream(QuicStreamId id) override; QuicStream* CreateIncomingStream(PendingStream* /*pending*/) override { - QUIC_BUG_V2(quic_bug_10890_1) + QUIC_BUG(quic_bug_10890_1) << "QuicTransportClientSession::CreateIncomingStream(" "PendingStream) not implemented"; return nullptr; @@ -121,7 +121,7 @@ // This method should never be called, since the stream is client-initiated // unidirectional. void OnDataAvailable() override { - QUIC_BUG_V2(quic_bug_10890_2) << "Received data on a write-only stream"; + QUIC_BUG(quic_bug_10890_2) << "Received data on a write-only stream"; } };
diff --git a/quic/quic_transport/quic_transport_server_session.cc b/quic/quic_transport/quic_transport_server_session.cc index c945e12..f7c8c0f 100644 --- a/quic/quic_transport/quic_transport_server_session.cc +++ b/quic/quic_transport/quic_transport_server_session.cc
@@ -50,8 +50,7 @@ /*num_expected_unidirectional_static_streams*/ 0), visitor_(visitor) { for (const ParsedQuicVersion& version : supported_versions) { - QUIC_BUG_IF_V2(quic_bug_12025_1, - version.handshake_protocol != PROTOCOL_TLS1_3) + QUIC_BUG_IF(quic_bug_12025_1, version.handshake_protocol != PROTOCOL_TLS1_3) << "QuicTransport requires TLS 1.3 handshake"; }
diff --git a/quic/quic_transport/quic_transport_server_session.h b/quic/quic_transport/quic_transport_server_session.h index f7c725e..070cfdd 100644 --- a/quic/quic_transport/quic_transport_server_session.h +++ b/quic/quic_transport/quic_transport_server_session.h
@@ -66,7 +66,7 @@ QuicStream* CreateIncomingStream(QuicStreamId id) override; QuicStream* CreateIncomingStream(PendingStream* /*pending*/) override { - QUIC_BUG_V2(quic_bug_10884_1) + QUIC_BUG(quic_bug_10884_1) << "QuicTransportServerSession::CreateIncomingStream(" "PendingStream) not implemented"; return nullptr;
diff --git a/quic/quic_transport/quic_transport_stream.cc b/quic/quic_transport/quic_transport_stream.cc index 9865555..5e66616 100644 --- a/quic/quic_transport/quic_transport_stream.cc +++ b/quic/quic_transport/quic_transport_stream.cc
@@ -76,7 +76,7 @@ // If WriteMemSlices() fails to provide that guarantee, we have no way to // communicate a partial write to the caller, and thus it's safer to just // close the connection. - QUIC_BUG_V2(quic_bug_10893_1) + QUIC_BUG(quic_bug_10893_1) << "WriteMemSlices() unexpectedly partially consumed the input " "data, provided: " << data.size() << ", written: " << consumed.bytes_consumed;
diff --git a/quic/quic_transport/web_transport_fingerprint_proof_verifier.cc b/quic/quic_transport/web_transport_fingerprint_proof_verifier.cc index 42b6c19..cbe5545 100644 --- a/quic/quic_transport/web_transport_fingerprint_proof_verifier.cc +++ b/quic/quic_transport/web_transport_fingerprint_proof_verifier.cc
@@ -125,7 +125,7 @@ *error_details = "QUIC crypto certificate verification is not supported in " "WebTransportFingerprintProofVerifier"; - QUIC_BUG_V2(quic_bug_10879_1) << *error_details; + QUIC_BUG(quic_bug_10879_1) << *error_details; *details = std::make_unique<Details>(Status::kInternalError); return QUIC_FAILURE; } @@ -191,7 +191,7 @@ const std::string fingerprint = ComputeSha256Fingerprint(der_certificate); for (const CertificateFingerprint& reference : fingerprints_) { if (reference.algorithm != CertificateFingerprint::kSha256) { - QUIC_BUG_V2(quic_bug_10879_2) << "Unexpected non-SHA-256 hash"; + QUIC_BUG(quic_bug_10879_2) << "Unexpected non-SHA-256 hash"; continue; } if (fingerprint == reference.fingerprint) {