You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
4.6 KiB
187 lines
4.6 KiB
# 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/protobuf/proto_library.gni")
|
|
import("../../testing/libfuzzer/fuzzer_test.gni")
|
|
|
|
if (!build_with_chromium) {
|
|
declare_args() {
|
|
# Whether or not self-signed certificates are enabled for the receiver
|
|
# and sender implementations.
|
|
cast_allow_developer_certificate = false
|
|
}
|
|
}
|
|
|
|
config("certificate_config") {
|
|
defines = []
|
|
|
|
# TODO(jophba): remove once arg is in Chrome.
|
|
if (!build_with_chromium) {
|
|
if (cast_allow_developer_certificate) {
|
|
defines += [ "CAST_ALLOW_DEVELOPER_CERTIFICATE" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
source_set("certificate") {
|
|
sources = [
|
|
"certificate/cast_cert_validator.cc",
|
|
"certificate/cast_cert_validator.h",
|
|
"certificate/cast_cert_validator_internal.cc",
|
|
"certificate/cast_cert_validator_internal.h",
|
|
"certificate/cast_crl.cc",
|
|
"certificate/cast_crl.h",
|
|
"certificate/cast_trust_store.cc",
|
|
"certificate/cast_trust_store.h",
|
|
"certificate/types.cc",
|
|
"certificate/types.h",
|
|
]
|
|
public_deps = [ "../../third_party/boringssl" ]
|
|
|
|
configs += [ ":certificate_config" ]
|
|
|
|
deps = [
|
|
"../../platform",
|
|
"../../third_party/abseil",
|
|
"../../util",
|
|
"certificate/proto:certificate_proto",
|
|
]
|
|
}
|
|
|
|
source_set("channel") {
|
|
sources = [
|
|
"channel/cast_socket.cc",
|
|
"channel/cast_socket_message_port.cc",
|
|
"channel/cast_socket_message_port.h",
|
|
"channel/connection_namespace_handler.cc",
|
|
"channel/connection_namespace_handler.h",
|
|
"channel/message_framer.cc",
|
|
"channel/message_framer.h",
|
|
"channel/message_util.cc",
|
|
"channel/message_util.h",
|
|
"channel/namespace_router.cc",
|
|
"channel/namespace_router.h",
|
|
"channel/virtual_connection.h",
|
|
"channel/virtual_connection_router.cc",
|
|
"channel/virtual_connection_router.h",
|
|
]
|
|
|
|
deps = [ "certificate/proto:certificate_proto" ]
|
|
|
|
public_deps = [
|
|
":public",
|
|
"../../platform",
|
|
"../../third_party/abseil",
|
|
"../../util",
|
|
"channel/proto:channel_proto",
|
|
]
|
|
}
|
|
|
|
source_set("public") {
|
|
sources = [
|
|
"public/cast_socket.h",
|
|
"public/message_port.h",
|
|
"public/service_info.cc",
|
|
"public/service_info.h",
|
|
]
|
|
|
|
deps = [
|
|
"../../discovery:dnssd",
|
|
"../../discovery:public",
|
|
"../../platform",
|
|
"../../third_party/abseil",
|
|
]
|
|
}
|
|
|
|
if (!build_with_chromium) {
|
|
source_set("discovery_e2e_test") {
|
|
testonly = true
|
|
|
|
if (!is_mac) {
|
|
sources = [ "discovery/e2e_test/tests.cc" ]
|
|
}
|
|
|
|
deps = [
|
|
":public",
|
|
"../../discovery:dnssd",
|
|
"../../discovery:public",
|
|
"../../testing/util",
|
|
"../../third_party/googletest:gtest",
|
|
]
|
|
}
|
|
}
|
|
|
|
source_set("test_helpers") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"certificate/testing/test_helpers.cc",
|
|
"certificate/testing/test_helpers.h",
|
|
"channel/testing/fake_cast_socket.h",
|
|
"channel/testing/mock_cast_message_handler.h",
|
|
"channel/testing/mock_socket_error_handler.h",
|
|
"public/testing/discovery_utils.cc",
|
|
"public/testing/discovery_utils.h",
|
|
]
|
|
public_deps = [
|
|
":certificate",
|
|
":channel",
|
|
":public",
|
|
"../../discovery:dnssd",
|
|
"../../platform:test",
|
|
"../../testing/util",
|
|
"../../third_party/abseil",
|
|
"../../third_party/boringssl",
|
|
"../../third_party/googletest:gmock",
|
|
"../../third_party/googletest:gtest",
|
|
]
|
|
deps = [
|
|
"../../platform",
|
|
"../../platform:test",
|
|
]
|
|
}
|
|
|
|
source_set("unittests") {
|
|
testonly = true
|
|
sources = [
|
|
"certificate/cast_cert_validator_unittest.cc",
|
|
"certificate/cast_crl_unittest.cc",
|
|
"channel/cast_socket_unittest.cc",
|
|
"channel/connection_namespace_handler_unittest.cc",
|
|
"channel/message_framer_unittest.cc",
|
|
"channel/namespace_router_unittest.cc",
|
|
"channel/virtual_connection_router_unittest.cc",
|
|
"public/service_info_unittest.cc",
|
|
]
|
|
|
|
deps = [
|
|
":certificate",
|
|
":channel",
|
|
":public",
|
|
":test_helpers",
|
|
"../../platform",
|
|
"../../platform:test",
|
|
"../../testing/util",
|
|
"../../third_party/boringssl",
|
|
"../../third_party/googletest:gmock",
|
|
"../../third_party/googletest:gtest",
|
|
"../../util",
|
|
"certificate/proto:certificate_unittest_proto",
|
|
"channel/proto:channel_proto",
|
|
]
|
|
|
|
data = [ "../../test/data/cast/common/certificate/" ]
|
|
}
|
|
|
|
openscreen_fuzzer_test("message_framer_fuzzer") {
|
|
sources = [ "channel/message_framer_fuzzer.cc" ]
|
|
deps = [ ":channel" ]
|
|
|
|
seed_corpus = "channel/message_framer_fuzzer_seeds"
|
|
|
|
# NOTE: 65536 is max _body_ size.
|
|
libfuzzer_options = [ "max_len=65600" ]
|
|
}
|