238 lines
5.4 KiB
Plaintext
238 lines
5.4 KiB
Plaintext
# Copyright 2019 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//build_overrides/build.gni")
|
|
import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni")
|
|
import("//third_party/protobuf/proto_library.gni")
|
|
import("../../testing/libfuzzer/fuzzer_test.gni")
|
|
|
|
fuzzable_proto_library("remoting_proto") {
|
|
sources = [ "remoting.proto" ]
|
|
}
|
|
|
|
source_set("common") {
|
|
sources = [
|
|
"answer_messages.cc",
|
|
"answer_messages.h",
|
|
"capture_configs.h",
|
|
"capture_recommendations.cc",
|
|
"capture_recommendations.h",
|
|
"clock_drift_smoother.cc",
|
|
"clock_drift_smoother.h",
|
|
"constants.h",
|
|
"encoded_frame.cc",
|
|
"encoded_frame.h",
|
|
"environment.cc",
|
|
"environment.h",
|
|
"expanded_value_base.h",
|
|
"frame_crypto.cc",
|
|
"frame_crypto.h",
|
|
"frame_id.cc",
|
|
"frame_id.h",
|
|
"message_fields.cc",
|
|
"message_fields.h",
|
|
"ntp_time.cc",
|
|
"ntp_time.h",
|
|
"offer_messages.cc",
|
|
"offer_messages.h",
|
|
"packet_util.cc",
|
|
"packet_util.h",
|
|
"receiver_message.cc",
|
|
"receiver_message.h",
|
|
"rpc_broker.cc",
|
|
"rpc_broker.h",
|
|
"rtcp_common.cc",
|
|
"rtcp_common.h",
|
|
"rtcp_session.cc",
|
|
"rtcp_session.h",
|
|
"rtp_defines.cc",
|
|
"rtp_defines.h",
|
|
"rtp_time.cc",
|
|
"rtp_time.h",
|
|
"sender_message.cc",
|
|
"sender_message.h",
|
|
"session_config.cc",
|
|
"session_config.h",
|
|
"session_messager.cc",
|
|
"session_messager.h",
|
|
"ssrc.cc",
|
|
"ssrc.h",
|
|
]
|
|
|
|
public_configs = [ "../../build:openscreen_include_dirs" ]
|
|
|
|
public_deps = [
|
|
":remoting_proto",
|
|
"../../third_party/abseil",
|
|
"../../third_party/boringssl",
|
|
"../common:channel",
|
|
"../common:public",
|
|
"../common/certificate/proto:certificate_proto",
|
|
]
|
|
|
|
deps = [
|
|
"../../platform",
|
|
"../../util",
|
|
]
|
|
|
|
if (!build_with_chromium) {
|
|
deps += [ "../protocol:castv2" ]
|
|
}
|
|
}
|
|
|
|
source_set("receiver") {
|
|
sources = [
|
|
"compound_rtcp_builder.cc",
|
|
"compound_rtcp_builder.h",
|
|
"frame_collector.cc",
|
|
"frame_collector.h",
|
|
"packet_receive_stats_tracker.cc",
|
|
"packet_receive_stats_tracker.h",
|
|
"receiver.cc",
|
|
"receiver.h",
|
|
"receiver_packet_router.cc",
|
|
"receiver_packet_router.h",
|
|
"receiver_session.cc",
|
|
"receiver_session.h",
|
|
"rtp_packet_parser.cc",
|
|
"rtp_packet_parser.h",
|
|
"sender_report_parser.cc",
|
|
"sender_report_parser.h",
|
|
]
|
|
|
|
public_deps = [ ":common" ]
|
|
|
|
deps = [ "../../util" ]
|
|
}
|
|
|
|
source_set("sender") {
|
|
sources = [
|
|
"bandwidth_estimator.cc",
|
|
"bandwidth_estimator.h",
|
|
"compound_rtcp_parser.cc",
|
|
"compound_rtcp_parser.h",
|
|
"rtp_packetizer.cc",
|
|
"rtp_packetizer.h",
|
|
"sender.cc",
|
|
"sender.h",
|
|
"sender_packet_router.cc",
|
|
"sender_packet_router.h",
|
|
"sender_report_builder.cc",
|
|
"sender_report_builder.h",
|
|
"sender_session.cc",
|
|
"sender_session.h",
|
|
]
|
|
|
|
public_deps = [ ":common" ]
|
|
|
|
deps = [ "../../util" ]
|
|
}
|
|
|
|
source_set("test_helpers") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"testing/message_pipe.h",
|
|
"testing/simple_message_port.h",
|
|
"testing/simple_socket_subscriber.h",
|
|
]
|
|
|
|
public_deps = [ ":common" ]
|
|
|
|
deps = [
|
|
"../../third_party/googletest:gmock",
|
|
"../../third_party/googletest:gtest",
|
|
"../../util",
|
|
"../common:public",
|
|
]
|
|
}
|
|
|
|
source_set("unittests") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"answer_messages_unittest.cc",
|
|
"bandwidth_estimator_unittest.cc",
|
|
"capture_recommendations_unittest.cc",
|
|
"compound_rtcp_builder_unittest.cc",
|
|
"compound_rtcp_parser_unittest.cc",
|
|
"expanded_value_base_unittest.cc",
|
|
"frame_collector_unittest.cc",
|
|
"frame_crypto_unittest.cc",
|
|
"message_fields_unittest.cc",
|
|
"mock_compound_rtcp_parser_client.h",
|
|
"mock_environment.cc",
|
|
"mock_environment.h",
|
|
"ntp_time_unittest.cc",
|
|
"offer_messages_unittest.cc",
|
|
"packet_receive_stats_tracker_unittest.cc",
|
|
"packet_util_unittest.cc",
|
|
"receiver_session_unittest.cc",
|
|
"receiver_unittest.cc",
|
|
"rpc_broker_unittest.cc",
|
|
"rtcp_common_unittest.cc",
|
|
"rtp_packet_parser_unittest.cc",
|
|
"rtp_packetizer_unittest.cc",
|
|
"rtp_time_unittest.cc",
|
|
"sender_packet_router_unittest.cc",
|
|
"sender_report_unittest.cc",
|
|
"sender_session_unittest.cc",
|
|
"sender_unittest.cc",
|
|
"session_messager_unittest.cc",
|
|
"ssrc_unittest.cc",
|
|
]
|
|
|
|
deps = [
|
|
":receiver",
|
|
":sender",
|
|
":test_helpers",
|
|
"../../platform:test",
|
|
"../../third_party/googletest:gmock",
|
|
"../../third_party/googletest:gtest",
|
|
"../../util",
|
|
]
|
|
}
|
|
|
|
openscreen_fuzzer_test("compound_rtcp_parser_fuzzer") {
|
|
sources = [ "compound_rtcp_parser_fuzzer.cc" ]
|
|
|
|
deps = [
|
|
":sender",
|
|
"../../third_party/abseil",
|
|
]
|
|
|
|
seed_corpus = "compound_rtcp_parser_fuzzer_seeds"
|
|
|
|
# Note: 1500 is approx. kMaxRtpPacketSize in rtp_defines.h.
|
|
libfuzzer_options = [ "max_len=1500" ]
|
|
}
|
|
|
|
openscreen_fuzzer_test("rtp_packet_parser_fuzzer") {
|
|
sources = [ "rtp_packet_parser_fuzzer.cc" ]
|
|
|
|
deps = [
|
|
":receiver",
|
|
"../../third_party/abseil",
|
|
]
|
|
|
|
seed_corpus = "rtp_packet_parser_fuzzer_seeds"
|
|
|
|
# Note: 1500 is approx. kMaxRtpPacketSize in rtp_defines.h.
|
|
libfuzzer_options = [ "max_len=1500" ]
|
|
}
|
|
|
|
openscreen_fuzzer_test("sender_report_parser_fuzzer") {
|
|
sources = [ "sender_report_parser_fuzzer.cc" ]
|
|
|
|
deps = [
|
|
":receiver",
|
|
"../../third_party/abseil",
|
|
]
|
|
|
|
seed_corpus = "sender_report_parser_fuzzer_seeds"
|
|
|
|
# Note: 1500 is approx. kMaxRtpPacketSize in rtp_defines.h.
|
|
libfuzzer_options = [ "max_len=1500" ]
|
|
}
|