Remove #ifdef MOQT_AUTH_INFO. Also eliminate an old reference to subscribe_request Interop is done, and the num_parameters field is restored. Not in production PiperOrigin-RevId: 607031454
diff --git a/quiche/quic/moqt/moqt_messages.h b/quiche/quic/moqt/moqt_messages.h index a7c9e5d..9922c04 100644 --- a/quiche/quic/moqt/moqt_messages.h +++ b/quiche/quic/moqt/moqt_messages.h
@@ -20,12 +20,6 @@ #include "quiche/quic/core/quic_versions.h" #include "quiche/common/platform/api/quiche_export.h" -// the draft-02 spec makes AUTH_INFO unparseable in SUBSCRIBE messages. This -// flag assumes that the num_parameters field exists so that it is parseable. -// If false, there is no num_parameters field and there must not be an -// AUTH_INFO field. -#define MOQT_AUTH_INFO - namespace moqt { inline constexpr quic::ParsedQuicVersionVector GetMoqtSupportedQuicVersions() { @@ -218,9 +212,7 @@ std::optional<MoqtSubscribeLocation> start_object; std::optional<MoqtSubscribeLocation> end_group; std::optional<MoqtSubscribeLocation> end_object; -#ifdef MOQT_AUTH_INFO std::optional<absl::string_view> authorization_info; -#endif }; struct QUICHE_EXPORT MoqtSubscribeOk {
diff --git a/quiche/quic/moqt/moqt_parser.cc b/quiche/quic/moqt/moqt_parser.cc index ac72183..96c8a92 100644 --- a/quiche/quic/moqt/moqt_parser.cc +++ b/quiche/quic/moqt/moqt_parser.cc
@@ -382,7 +382,6 @@ "or both non_None"); return 0; } -#ifdef MOQT_AUTH_INFO uint64_t num_params; if (!reader.ReadVarInt62(&num_params)) { return 0; @@ -409,7 +408,6 @@ break; } } -#endif visitor_.OnSubscribeMessage(subscribe_request); return reader.PreviouslyReadPayload().length(); }
diff --git a/quiche/quic/moqt/moqt_parser_test.cc b/quiche/quic/moqt/moqt_parser_test.cc index 278c39f..8116455 100644 --- a/quiche/quic/moqt/moqt_parser_test.cc +++ b/quiche/quic/moqt/moqt_parser_test.cc
@@ -128,12 +128,10 @@ subscribe_request.track_namespace = absl::string_view(string0_); string1_ = std::string(subscribe_request.track_name); subscribe_request.track_name = absl::string_view(string1_); -#ifdef MOQT_AUTH_INFO if (subscribe_request.authorization_info.has_value()) { string2_ = std::string(*subscribe_request.authorization_info); subscribe_request.authorization_info = absl::string_view(string2_); } -#endif last_message_ = TestMessageBase::MessageStructuredData(subscribe_request); } void OnSubscribeOkMessage(const MoqtSubscribeOk& message) override { @@ -654,7 +652,6 @@ EXPECT_EQ(visitor_.parsing_error_code_, MoqtError::kProtocolViolation); } -#ifdef MOQT_AUTH_INFO TEST_F(MoqtMessageSpecificTest, SubscribeAuthorizationInfoTwice) { MoqtParser parser(kWebTrans, visitor_); char subscribe[] = { @@ -675,7 +672,6 @@ "AUTHORIZATION_INFO parameter appears twice in SUBSCRIBE_REQUEST"); EXPECT_EQ(visitor_.parsing_error_code_, MoqtError::kProtocolViolation); } -#endif TEST_F(MoqtMessageSpecificTest, AnnounceAuthorizationInfoTwice) { MoqtParser parser(kWebTrans, visitor_); @@ -768,10 +764,8 @@ 0x01, 0x01, // start_object = 1 (absolute) 0x00, // end_group = none 0x00, // end_object = none -#ifdef MOQT_AUTH_INFO 0x01, // 1 parameter 0x02, 0x03, 0x62, 0x61, 0x72, // authorization_info = "bar" -#endif }; parser.ProcessData(absl::string_view(subscribe, sizeof(subscribe)), false); EXPECT_EQ(visitor_.messages_received_, 0); @@ -790,10 +784,8 @@ 0x00, // start_object = none 0x00, // end_group = none 0x00, // end_object = none -#ifdef MOQT_AUTH_INFO 0x01, // 1 parameter 0x02, 0x03, 0x62, 0x61, 0x72, // authorization_info = "bar" -#endif }; parser.ProcessData(absl::string_view(subscribe, sizeof(subscribe)), false); EXPECT_EQ(visitor_.messages_received_, 0); @@ -812,10 +804,8 @@ 0x01, 0x01, // start_object = 1 (absolute) 0x00, // end_group = none 0x01, 0x01, // end_object = 1 (absolute) -#ifdef MOQT_AUTH_INFO 0x01, // 1 parameter 0x02, 0x03, 0x62, 0x61, 0x72, // authorization_info = "bar" -#endif }; parser.ProcessData(absl::string_view(subscribe, sizeof(subscribe)), false); EXPECT_EQ(visitor_.messages_received_, 0); @@ -871,10 +861,8 @@ 0x03, 0x00, // start_object = 1 (relative next) 0x00, // end_group = none 0x00, // end_object = none -#ifdef MOQT_AUTH_INFO 0x01, // 1 parameter 0x02, 0x03, 0x62, 0x61, 0x72, // authorization_info = "bar" -#endif }; parser.ProcessData(absl::string_view(subscribe, sizeof(subscribe)), false); EXPECT_EQ(visitor_.messages_received_, 1);
diff --git a/quiche/quic/moqt/moqt_session_test.cc b/quiche/quic/moqt/moqt_session_test.cc index a865118..158c7a5 100644 --- a/quiche/quic/moqt/moqt_session_test.cc +++ b/quiche/quic/moqt/moqt_session_test.cc
@@ -273,9 +273,7 @@ /*start_object=*/MoqtSubscribeLocation(true, static_cast<uint64_t>(0)), /*end_group=*/std::nullopt, /*end_object=*/std::nullopt, -#ifdef MOQT_AUTH_INFO /*authorization_info=*/std::nullopt, -#endif }; StrictMock<webtransport::test::MockStream> mock_stream; std::unique_ptr<MoqtParserVisitor> stream_input = @@ -393,9 +391,7 @@ /*start_object=*/MoqtSubscribeLocation(true, static_cast<uint64_t>(0)), /*end_group=*/std::nullopt, /*end_object=*/std::nullopt, -#ifdef MOQT_AUTH_INFO /*authorization_info=*/std::nullopt, -#endif }; StrictMock<webtransport::test::MockStream> mock_stream; std::unique_ptr<MoqtParserVisitor> stream_input = @@ -431,9 +427,7 @@ /*start_object=*/MoqtSubscribeLocation(true, static_cast<uint64_t>(0)), /*end_group=*/std::nullopt, /*end_object=*/std::nullopt, -#ifdef MOQT_AUTH_INFO /*authorization_info=*/std::nullopt, -#endif }; StrictMock<webtransport::test::MockStream> mock_stream; std::unique_ptr<MoqtParserVisitor> stream_input = @@ -767,9 +761,7 @@ /*start_object=*/MoqtSubscribeLocation(true, static_cast<uint64_t>(0)), /*end_group=*/std::nullopt, /*end_object=*/std::nullopt, -#ifdef MOQT_AUTH_INFO /*authorization_info=*/std::nullopt, -#endif }; StrictMock<webtransport::test::MockStream> mock_stream; std::unique_ptr<MoqtParserVisitor> stream_input =
diff --git a/quiche/quic/moqt/test_tools/moqt_test_message.h b/quiche/quic/moqt/test_tools/moqt_test_message.h index dae15e0..cd3d094 100644 --- a/quiche/quic/moqt/test_tools/moqt_test_message.h +++ b/quiche/quic/moqt/test_tools/moqt_test_message.h
@@ -407,65 +407,55 @@ bool EqualFieldValues(MessageStructuredData& values) const override { auto cast = std::get<MoqtSubscribe>(values); - if (cast.subscribe_id != subscribe_request_.subscribe_id) { + if (cast.subscribe_id != subscribe_.subscribe_id) { QUIC_LOG(INFO) << "SUBSCRIBE subscribe ID mismatch"; return false; } - if (cast.track_alias != subscribe_request_.track_alias) { + if (cast.track_alias != subscribe_.track_alias) { QUIC_LOG(INFO) << "SUBSCRIBE track alias mismatch"; return false; } - if (cast.track_namespace != subscribe_request_.track_namespace) { + if (cast.track_namespace != subscribe_.track_namespace) { QUIC_LOG(INFO) << "SUBSCRIBE track namespace mismatch"; return false; } - if (cast.track_name != subscribe_request_.track_name) { + if (cast.track_name != subscribe_.track_name) { QUIC_LOG(INFO) << "SUBSCRIBE track name mismatch"; return false; } - if (cast.start_group != subscribe_request_.start_group) { + if (cast.start_group != subscribe_.start_group) { QUIC_LOG(INFO) << "SUBSCRIBE start group mismatch"; return false; } - if (cast.start_object != subscribe_request_.start_object) { + if (cast.start_object != subscribe_.start_object) { QUIC_LOG(INFO) << "SUBSCRIBE start object mismatch"; return false; } - if (cast.end_group != subscribe_request_.end_group) { + if (cast.end_group != subscribe_.end_group) { QUIC_LOG(INFO) << "SUBSCRIBE end group mismatch"; return false; } - if (cast.end_object != subscribe_request_.end_object) { + if (cast.end_object != subscribe_.end_object) { QUIC_LOG(INFO) << "SUBSCRIBE end object mismatch"; return false; } -#ifdef MOQT_AUTH_INFO - if (cast.authorization_info != subscribe_request_.authorization_info) { + if (cast.authorization_info != subscribe_.authorization_info) { QUIC_LOG(INFO) << "SUBSCRIBE authorization info mismatch"; return false; } -#endif return true; } void ExpandVarints() override { -#ifdef MOQT_AUTH_INFO ExpandVarintsImpl("vvvv---v----vvvvvvvvv"); -#else - ExpandVarintsImpl("vvvv---v----vvvvvv"); -#endif } MessageStructuredData structured_data() const override { - return TestMessageBase::MessageStructuredData(subscribe_request_); + return TestMessageBase::MessageStructuredData(subscribe_); } private: -#ifdef MOQT_AUTH_INFO uint8_t raw_packet_[24] = { -#else - uint8_t raw_packet_[18] = { -#endif 0x03, 0x01, 0x02, // id and alias @@ -486,17 +476,15 @@ 0x00, // end_object = none // TODO(martinduke): figure out what to do about the missing num // parameters field. -#ifdef MOQT_AUTH_INFO 0x01, // 1 parameter 0x02, 0x03, 0x62, 0x61, 0x72, // authorization_info = "bar" -#endif }; - MoqtSubscribe subscribe_request_ = { + MoqtSubscribe subscribe_ = { /*subscribe_id=*/1, /*track_alias=*/2, /*track_namespace=*/"foo", @@ -505,9 +493,7 @@ /*start_object=*/MoqtSubscribeLocation(true, (uint64_t)1), /*end_group=*/std::nullopt, /*end_object=*/std::nullopt, -#ifdef MOQT_AUTH_INFO /*authorization_info=*/"bar", -#endif }; };