gfe-relnote: Emit H3_SETTINGS_ERROR and H3_MISSING_SETTINGS when appropriate.  Protected by gfe2_reloadable_flag_quic_enable_version_draft_25_v3 and gfe2_reloadable_flag_quic_enable_version_draft_27.

Emit H3_SETTINGS_ERROR when receiving a SETTINGS frame with duplicate setting
identifier.  Emit H3_MISSING_SETTINGS when receiving a CANCEL_PUSH, GOAWAY,
MAX_PUSH_ID, PRIORITY_UPDATE, or unknown frame before a SETTINGS frame on the
control stream.  Before this CL, H3_FRAME_UNEXPECTED was emitted for duplicate
SETTINGS or a PRIORITY_UPDATE or unknow frame before a SETTINGS, and no error
was signalled for a CANCEL_PUSH, GOAWAY, or MAX_PUSH_ID being the first frame on
the control stream.

If a DATA, HEADERS, or PUSH_PROMISE frame arrives on the control stream, keep
the error code H3_FRAME_UNEXPECTED, even if no SETTINGS frame has been received
yet.  The specification has conflicting MUSTs, so either error code is
acceptable.

PiperOrigin-RevId: 304391962
Change-Id: If47b3940761e7955ee645bd59e4969302164a051
diff --git a/quic/core/quic_error_codes.cc b/quic/core/quic_error_codes.cc
index d897aac..db97d32 100644
--- a/quic/core/quic_error_codes.cc
+++ b/quic/core/quic_error_codes.cc
@@ -175,6 +175,8 @@
     RETURN_STRING_LITERAL(QUIC_HTTP_SERVER_INITIATED_BIDIRECTIONAL_STREAM);
     RETURN_STRING_LITERAL(QUIC_HTTP_STREAM_WRONG_DIRECTION);
     RETURN_STRING_LITERAL(QUIC_HTTP_CLOSED_CRITICAL_STREAM);
+    RETURN_STRING_LITERAL(QUIC_HTTP_MISSING_SETTINGS_FRAME);
+    RETURN_STRING_LITERAL(QUIC_HTTP_DUPLICATE_SETTING_IDENTIFIER);
     RETURN_STRING_LITERAL(QUIC_HPACK_INDEX_VARINT_ERROR);
     RETURN_STRING_LITERAL(QUIC_HPACK_NAME_LENGTH_VARINT_ERROR);
     RETURN_STRING_LITERAL(QUIC_HPACK_VALUE_LENGTH_VARINT_ERROR);