1*3f982cf4SFabien Sanglard# Copyright 2019 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard# found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni") 6*3f982cf4SFabien Sanglardimport("//third_party/protobuf/proto_library.gni") 7*3f982cf4SFabien Sanglardimport("../../testing/libfuzzer/fuzzer_test.gni") 8*3f982cf4SFabien Sanglard 9*3f982cf4SFabien Sanglardif (!build_with_chromium) { 10*3f982cf4SFabien Sanglard declare_args() { 11*3f982cf4SFabien Sanglard # Whether or not self-signed certificates are enabled for the receiver 12*3f982cf4SFabien Sanglard # and sender implementations. 13*3f982cf4SFabien Sanglard cast_allow_developer_certificate = false 14*3f982cf4SFabien Sanglard } 15*3f982cf4SFabien Sanglard} 16*3f982cf4SFabien Sanglard 17*3f982cf4SFabien Sanglardconfig("certificate_config") { 18*3f982cf4SFabien Sanglard defines = [] 19*3f982cf4SFabien Sanglard 20*3f982cf4SFabien Sanglard # TODO(jophba): remove once arg is in Chrome. 21*3f982cf4SFabien Sanglard if (!build_with_chromium) { 22*3f982cf4SFabien Sanglard if (cast_allow_developer_certificate) { 23*3f982cf4SFabien Sanglard defines += [ "CAST_ALLOW_DEVELOPER_CERTIFICATE" ] 24*3f982cf4SFabien Sanglard } 25*3f982cf4SFabien Sanglard } 26*3f982cf4SFabien Sanglard} 27*3f982cf4SFabien Sanglard 28*3f982cf4SFabien Sanglardsource_set("certificate") { 29*3f982cf4SFabien Sanglard sources = [ 30*3f982cf4SFabien Sanglard "certificate/cast_cert_validator.cc", 31*3f982cf4SFabien Sanglard "certificate/cast_cert_validator.h", 32*3f982cf4SFabien Sanglard "certificate/cast_cert_validator_internal.cc", 33*3f982cf4SFabien Sanglard "certificate/cast_cert_validator_internal.h", 34*3f982cf4SFabien Sanglard "certificate/cast_crl.cc", 35*3f982cf4SFabien Sanglard "certificate/cast_crl.h", 36*3f982cf4SFabien Sanglard "certificate/cast_trust_store.cc", 37*3f982cf4SFabien Sanglard "certificate/cast_trust_store.h", 38*3f982cf4SFabien Sanglard "certificate/types.cc", 39*3f982cf4SFabien Sanglard "certificate/types.h", 40*3f982cf4SFabien Sanglard ] 41*3f982cf4SFabien Sanglard public_deps = [ "../../third_party/boringssl" ] 42*3f982cf4SFabien Sanglard 43*3f982cf4SFabien Sanglard configs += [ ":certificate_config" ] 44*3f982cf4SFabien Sanglard 45*3f982cf4SFabien Sanglard deps = [ 46*3f982cf4SFabien Sanglard "../../platform", 47*3f982cf4SFabien Sanglard "../../third_party/abseil", 48*3f982cf4SFabien Sanglard "../../util", 49*3f982cf4SFabien Sanglard "certificate/proto:certificate_proto", 50*3f982cf4SFabien Sanglard ] 51*3f982cf4SFabien Sanglard} 52*3f982cf4SFabien Sanglard 53*3f982cf4SFabien Sanglardsource_set("channel") { 54*3f982cf4SFabien Sanglard sources = [ 55*3f982cf4SFabien Sanglard "channel/cast_socket.cc", 56*3f982cf4SFabien Sanglard "channel/cast_socket_message_port.cc", 57*3f982cf4SFabien Sanglard "channel/cast_socket_message_port.h", 58*3f982cf4SFabien Sanglard "channel/connection_namespace_handler.cc", 59*3f982cf4SFabien Sanglard "channel/connection_namespace_handler.h", 60*3f982cf4SFabien Sanglard "channel/message_framer.cc", 61*3f982cf4SFabien Sanglard "channel/message_framer.h", 62*3f982cf4SFabien Sanglard "channel/message_util.cc", 63*3f982cf4SFabien Sanglard "channel/message_util.h", 64*3f982cf4SFabien Sanglard "channel/namespace_router.cc", 65*3f982cf4SFabien Sanglard "channel/namespace_router.h", 66*3f982cf4SFabien Sanglard "channel/virtual_connection.h", 67*3f982cf4SFabien Sanglard "channel/virtual_connection_router.cc", 68*3f982cf4SFabien Sanglard "channel/virtual_connection_router.h", 69*3f982cf4SFabien Sanglard ] 70*3f982cf4SFabien Sanglard 71*3f982cf4SFabien Sanglard deps = [ "certificate/proto:certificate_proto" ] 72*3f982cf4SFabien Sanglard 73*3f982cf4SFabien Sanglard public_deps = [ 74*3f982cf4SFabien Sanglard ":public", 75*3f982cf4SFabien Sanglard "../../platform", 76*3f982cf4SFabien Sanglard "../../third_party/abseil", 77*3f982cf4SFabien Sanglard "../../util", 78*3f982cf4SFabien Sanglard "channel/proto:channel_proto", 79*3f982cf4SFabien Sanglard ] 80*3f982cf4SFabien Sanglard} 81*3f982cf4SFabien Sanglard 82*3f982cf4SFabien Sanglardsource_set("public") { 83*3f982cf4SFabien Sanglard sources = [ 84*3f982cf4SFabien Sanglard "public/cast_socket.h", 85*3f982cf4SFabien Sanglard "public/message_port.h", 86*3f982cf4SFabien Sanglard "public/receiver_info.cc", 87*3f982cf4SFabien Sanglard "public/receiver_info.h", 88*3f982cf4SFabien Sanglard ] 89*3f982cf4SFabien Sanglard 90*3f982cf4SFabien Sanglard deps = [ 91*3f982cf4SFabien Sanglard "../../discovery:public", 92*3f982cf4SFabien Sanglard "../../platform", 93*3f982cf4SFabien Sanglard "../../third_party/abseil", 94*3f982cf4SFabien Sanglard "../../util", 95*3f982cf4SFabien Sanglard ] 96*3f982cf4SFabien Sanglard} 97*3f982cf4SFabien Sanglard 98*3f982cf4SFabien Sanglardif (!build_with_chromium) { 99*3f982cf4SFabien Sanglard source_set("discovery_e2e_test") { 100*3f982cf4SFabien Sanglard testonly = true 101*3f982cf4SFabien Sanglard 102*3f982cf4SFabien Sanglard if (!is_mac) { 103*3f982cf4SFabien Sanglard sources = [ "discovery/e2e_test/tests.cc" ] 104*3f982cf4SFabien Sanglard } 105*3f982cf4SFabien Sanglard 106*3f982cf4SFabien Sanglard deps = [ 107*3f982cf4SFabien Sanglard ":public", 108*3f982cf4SFabien Sanglard "../../discovery:dnssd", 109*3f982cf4SFabien Sanglard "../../discovery:public", 110*3f982cf4SFabien Sanglard "../../platform:standalone_impl", 111*3f982cf4SFabien Sanglard "../../testing/util", 112*3f982cf4SFabien Sanglard "../../third_party/googletest:gtest", 113*3f982cf4SFabien Sanglard ] 114*3f982cf4SFabien Sanglard } 115*3f982cf4SFabien Sanglard} 116*3f982cf4SFabien Sanglard 117*3f982cf4SFabien Sanglardsource_set("test_helpers") { 118*3f982cf4SFabien Sanglard testonly = true 119*3f982cf4SFabien Sanglard 120*3f982cf4SFabien Sanglard sources = [ 121*3f982cf4SFabien Sanglard "certificate/testing/test_helpers.cc", 122*3f982cf4SFabien Sanglard "certificate/testing/test_helpers.h", 123*3f982cf4SFabien Sanglard "channel/testing/fake_cast_socket.h", 124*3f982cf4SFabien Sanglard "channel/testing/mock_cast_message_handler.h", 125*3f982cf4SFabien Sanglard "channel/testing/mock_socket_error_handler.h", 126*3f982cf4SFabien Sanglard "public/testing/discovery_utils.cc", 127*3f982cf4SFabien Sanglard "public/testing/discovery_utils.h", 128*3f982cf4SFabien Sanglard ] 129*3f982cf4SFabien Sanglard public_deps = [ 130*3f982cf4SFabien Sanglard ":certificate", 131*3f982cf4SFabien Sanglard ":channel", 132*3f982cf4SFabien Sanglard ":public", 133*3f982cf4SFabien Sanglard "../../discovery:public", 134*3f982cf4SFabien Sanglard "../../platform:test", 135*3f982cf4SFabien Sanglard "../../testing/util", 136*3f982cf4SFabien Sanglard "../../third_party/abseil", 137*3f982cf4SFabien Sanglard "../../third_party/boringssl", 138*3f982cf4SFabien Sanglard "../../third_party/googletest:gmock", 139*3f982cf4SFabien Sanglard "../../third_party/googletest:gtest", 140*3f982cf4SFabien Sanglard ] 141*3f982cf4SFabien Sanglard deps = [ 142*3f982cf4SFabien Sanglard "../../platform", 143*3f982cf4SFabien Sanglard "../../platform:test", 144*3f982cf4SFabien Sanglard ] 145*3f982cf4SFabien Sanglard} 146*3f982cf4SFabien Sanglard 147*3f982cf4SFabien Sanglardsource_set("unittests") { 148*3f982cf4SFabien Sanglard testonly = true 149*3f982cf4SFabien Sanglard sources = [ 150*3f982cf4SFabien Sanglard "certificate/cast_cert_validator_unittest.cc", 151*3f982cf4SFabien Sanglard "certificate/cast_crl_unittest.cc", 152*3f982cf4SFabien Sanglard "channel/cast_socket_unittest.cc", 153*3f982cf4SFabien Sanglard "channel/connection_namespace_handler_unittest.cc", 154*3f982cf4SFabien Sanglard "channel/message_framer_unittest.cc", 155*3f982cf4SFabien Sanglard "channel/namespace_router_unittest.cc", 156*3f982cf4SFabien Sanglard "channel/virtual_connection_router_unittest.cc", 157*3f982cf4SFabien Sanglard "public/receiver_info_unittest.cc", 158*3f982cf4SFabien Sanglard ] 159*3f982cf4SFabien Sanglard 160*3f982cf4SFabien Sanglard deps = [ 161*3f982cf4SFabien Sanglard ":certificate", 162*3f982cf4SFabien Sanglard ":channel", 163*3f982cf4SFabien Sanglard ":public", 164*3f982cf4SFabien Sanglard ":test_helpers", 165*3f982cf4SFabien Sanglard "../../platform", 166*3f982cf4SFabien Sanglard "../../platform:test", 167*3f982cf4SFabien Sanglard "../../testing/util", 168*3f982cf4SFabien Sanglard "../../third_party/boringssl", 169*3f982cf4SFabien Sanglard "../../third_party/googletest:gmock", 170*3f982cf4SFabien Sanglard "../../third_party/googletest:gtest", 171*3f982cf4SFabien Sanglard "../../util", 172*3f982cf4SFabien Sanglard "certificate/proto:certificate_unittest_proto", 173*3f982cf4SFabien Sanglard "channel/proto:channel_proto", 174*3f982cf4SFabien Sanglard ] 175*3f982cf4SFabien Sanglard 176*3f982cf4SFabien Sanglard data = [ "../../test/data/cast/common/certificate/" ] 177*3f982cf4SFabien Sanglard} 178*3f982cf4SFabien Sanglard 179*3f982cf4SFabien Sanglardopenscreen_fuzzer_test("message_framer_fuzzer") { 180*3f982cf4SFabien Sanglard sources = [ "channel/message_framer_fuzzer.cc" ] 181*3f982cf4SFabien Sanglard deps = [ ":channel" ] 182*3f982cf4SFabien Sanglard 183*3f982cf4SFabien Sanglard seed_corpus = "channel/message_framer_fuzzer_seeds" 184*3f982cf4SFabien Sanglard 185*3f982cf4SFabien Sanglard # NOTE: 65536 is max _body_ size. 186*3f982cf4SFabien Sanglard libfuzzer_options = [ "max_len=65600" ] 187*3f982cf4SFabien Sanglard} 188