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("../testing/libfuzzer/fuzzer_test.gni") 7*3f982cf4SFabien Sanglard 8*3f982cf4SFabien Sanglardsource_set("public") { 9*3f982cf4SFabien Sanglard sources = [ 10*3f982cf4SFabien Sanglard "common/config.h", 11*3f982cf4SFabien Sanglard "common/reporting_client.h", 12*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance.cc", 13*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance.h", 14*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance_endpoint.cc", 15*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance_endpoint.h", 16*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_publisher.h", 17*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_querier.h", 18*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_service.h", 19*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_txt_record.cc", 20*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_txt_record.h", 21*3f982cf4SFabien Sanglard "mdns/public/mdns_constants.h", 22*3f982cf4SFabien Sanglard "mdns/public/mdns_service.cc", 23*3f982cf4SFabien Sanglard "mdns/public/mdns_service.h", 24*3f982cf4SFabien Sanglard "public/dns_sd_service_factory.h", 25*3f982cf4SFabien Sanglard "public/dns_sd_service_publisher.h", 26*3f982cf4SFabien Sanglard "public/dns_sd_service_watcher.h", 27*3f982cf4SFabien Sanglard ] 28*3f982cf4SFabien Sanglard public_deps = [ "../platform" ] 29*3f982cf4SFabien Sanglard deps = [ "../util" ] 30*3f982cf4SFabien Sanglard} 31*3f982cf4SFabien Sanglard 32*3f982cf4SFabien Sanglard# TODO(https://issuetracker.google.com/issues/194234872): 33*3f982cf4SFabien Sanglard# Move implementation files to impl/ 34*3f982cf4SFabien Sanglardsource_set("mdns") { 35*3f982cf4SFabien Sanglard sources = [ 36*3f982cf4SFabien Sanglard "mdns/mdns_domain_confirmed_provider.h", 37*3f982cf4SFabien Sanglard "mdns/mdns_probe.cc", 38*3f982cf4SFabien Sanglard "mdns/mdns_probe.h", 39*3f982cf4SFabien Sanglard "mdns/mdns_probe_manager.cc", 40*3f982cf4SFabien Sanglard "mdns/mdns_probe_manager.h", 41*3f982cf4SFabien Sanglard "mdns/mdns_publisher.cc", 42*3f982cf4SFabien Sanglard "mdns/mdns_publisher.h", 43*3f982cf4SFabien Sanglard "mdns/mdns_querier.cc", 44*3f982cf4SFabien Sanglard "mdns/mdns_querier.h", 45*3f982cf4SFabien Sanglard "mdns/mdns_reader.cc", 46*3f982cf4SFabien Sanglard "mdns/mdns_reader.h", 47*3f982cf4SFabien Sanglard "mdns/mdns_receiver.cc", 48*3f982cf4SFabien Sanglard "mdns/mdns_receiver.h", 49*3f982cf4SFabien Sanglard "mdns/mdns_record_changed_callback.h", 50*3f982cf4SFabien Sanglard "mdns/mdns_records.cc", 51*3f982cf4SFabien Sanglard "mdns/mdns_records.h", 52*3f982cf4SFabien Sanglard "mdns/mdns_responder.cc", 53*3f982cf4SFabien Sanglard "mdns/mdns_responder.h", 54*3f982cf4SFabien Sanglard "mdns/mdns_sender.cc", 55*3f982cf4SFabien Sanglard "mdns/mdns_sender.h", 56*3f982cf4SFabien Sanglard "mdns/mdns_service_impl.cc", 57*3f982cf4SFabien Sanglard "mdns/mdns_service_impl.h", 58*3f982cf4SFabien Sanglard "mdns/mdns_trackers.cc", 59*3f982cf4SFabien Sanglard "mdns/mdns_trackers.h", 60*3f982cf4SFabien Sanglard "mdns/mdns_writer.cc", 61*3f982cf4SFabien Sanglard "mdns/mdns_writer.h", 62*3f982cf4SFabien Sanglard ] 63*3f982cf4SFabien Sanglard 64*3f982cf4SFabien Sanglard public_deps = [ "../third_party/abseil" ] 65*3f982cf4SFabien Sanglard deps = [ 66*3f982cf4SFabien Sanglard ":public", 67*3f982cf4SFabien Sanglard "../platform", 68*3f982cf4SFabien Sanglard "../util", 69*3f982cf4SFabien Sanglard ] 70*3f982cf4SFabien Sanglard} 71*3f982cf4SFabien Sanglard 72*3f982cf4SFabien Sanglardsource_set("dnssd") { 73*3f982cf4SFabien Sanglard sources = [ 74*3f982cf4SFabien Sanglard "dnssd/impl/conversion_layer.cc", 75*3f982cf4SFabien Sanglard "dnssd/impl/conversion_layer.h", 76*3f982cf4SFabien Sanglard "dnssd/impl/dns_data_graph.cc", 77*3f982cf4SFabien Sanglard "dnssd/impl/dns_data_graph.h", 78*3f982cf4SFabien Sanglard "dnssd/impl/instance_key.cc", 79*3f982cf4SFabien Sanglard "dnssd/impl/instance_key.h", 80*3f982cf4SFabien Sanglard "dnssd/impl/network_interface_config.cc", 81*3f982cf4SFabien Sanglard "dnssd/impl/network_interface_config.h", 82*3f982cf4SFabien Sanglard "dnssd/impl/publisher_impl.cc", 83*3f982cf4SFabien Sanglard "dnssd/impl/publisher_impl.h", 84*3f982cf4SFabien Sanglard "dnssd/impl/querier_impl.cc", 85*3f982cf4SFabien Sanglard "dnssd/impl/querier_impl.h", 86*3f982cf4SFabien Sanglard "dnssd/impl/service_dispatcher.cc", 87*3f982cf4SFabien Sanglard "dnssd/impl/service_dispatcher.h", 88*3f982cf4SFabien Sanglard "dnssd/impl/service_instance.cc", 89*3f982cf4SFabien Sanglard "dnssd/impl/service_instance.h", 90*3f982cf4SFabien Sanglard "dnssd/impl/service_key.cc", 91*3f982cf4SFabien Sanglard "dnssd/impl/service_key.h", 92*3f982cf4SFabien Sanglard ] 93*3f982cf4SFabien Sanglard 94*3f982cf4SFabien Sanglard deps = [ 95*3f982cf4SFabien Sanglard ":mdns", 96*3f982cf4SFabien Sanglard ":public", 97*3f982cf4SFabien Sanglard "../third_party/abseil", 98*3f982cf4SFabien Sanglard "../util", 99*3f982cf4SFabien Sanglard ] 100*3f982cf4SFabien Sanglard} 101*3f982cf4SFabien Sanglard 102*3f982cf4SFabien Sanglardsource_set("testing") { 103*3f982cf4SFabien Sanglard testonly = true 104*3f982cf4SFabien Sanglard 105*3f982cf4SFabien Sanglard sources = [ 106*3f982cf4SFabien Sanglard "common/testing/mock_reporting_client.h", 107*3f982cf4SFabien Sanglard "dnssd/testing/fake_dns_record_factory.cc", 108*3f982cf4SFabien Sanglard "mdns/testing/hash_test_util.h", 109*3f982cf4SFabien Sanglard "mdns/testing/mdns_test_util.cc", 110*3f982cf4SFabien Sanglard "mdns/testing/mdns_test_util.h", 111*3f982cf4SFabien Sanglard ] 112*3f982cf4SFabien Sanglard 113*3f982cf4SFabien Sanglard defines = [] 114*3f982cf4SFabien Sanglard if (build_with_chromium) { 115*3f982cf4SFabien Sanglard sources += [ "mdns/testing/hash_test_util_nop.h" ] 116*3f982cf4SFabien Sanglard } else { 117*3f982cf4SFabien Sanglard defines += [ "HASH_TEST_UTIL_USE_ABSL" ] 118*3f982cf4SFabien Sanglard sources += [ "mdns/testing/hash_test_util_abseil.h" ] 119*3f982cf4SFabien Sanglard } 120*3f982cf4SFabien Sanglard 121*3f982cf4SFabien Sanglard deps = [ 122*3f982cf4SFabien Sanglard ":mdns", 123*3f982cf4SFabien Sanglard ":public", 124*3f982cf4SFabien Sanglard "../third_party/abseil", 125*3f982cf4SFabien Sanglard "../third_party/googletest:gmock", 126*3f982cf4SFabien Sanglard "../third_party/googletest:gtest", 127*3f982cf4SFabien Sanglard ] 128*3f982cf4SFabien Sanglard} 129*3f982cf4SFabien Sanglard 130*3f982cf4SFabien Sanglardsource_set("unittests") { 131*3f982cf4SFabien Sanglard testonly = true 132*3f982cf4SFabien Sanglard 133*3f982cf4SFabien Sanglard sources = [ 134*3f982cf4SFabien Sanglard "dnssd/impl/conversion_layer_unittest.cc", 135*3f982cf4SFabien Sanglard "dnssd/impl/dns_data_graph_unittest.cc", 136*3f982cf4SFabien Sanglard "dnssd/impl/instance_key_unittest.cc", 137*3f982cf4SFabien Sanglard "dnssd/impl/publisher_impl_unittest.cc", 138*3f982cf4SFabien Sanglard "dnssd/impl/querier_impl_unittest.cc", 139*3f982cf4SFabien Sanglard "dnssd/impl/service_key_unittest.cc", 140*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance_endpoint_unittest.cc", 141*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_instance_unittest.cc", 142*3f982cf4SFabien Sanglard "dnssd/public/dns_sd_txt_record_unittest.cc", 143*3f982cf4SFabien Sanglard "mdns/mdns_probe_manager_unittest.cc", 144*3f982cf4SFabien Sanglard "mdns/mdns_probe_unittest.cc", 145*3f982cf4SFabien Sanglard "mdns/mdns_publisher_unittest.cc", 146*3f982cf4SFabien Sanglard "mdns/mdns_querier_unittest.cc", 147*3f982cf4SFabien Sanglard "mdns/mdns_random_unittest.cc", 148*3f982cf4SFabien Sanglard "mdns/mdns_reader_unittest.cc", 149*3f982cf4SFabien Sanglard "mdns/mdns_receiver_unittest.cc", 150*3f982cf4SFabien Sanglard "mdns/mdns_records_unittest.cc", 151*3f982cf4SFabien Sanglard "mdns/mdns_responder_unittest.cc", 152*3f982cf4SFabien Sanglard "mdns/mdns_sender_unittest.cc", 153*3f982cf4SFabien Sanglard "mdns/mdns_trackers_unittest.cc", 154*3f982cf4SFabien Sanglard "mdns/mdns_writer_unittest.cc", 155*3f982cf4SFabien Sanglard "public/dns_sd_service_watcher_unittest.cc", 156*3f982cf4SFabien Sanglard ] 157*3f982cf4SFabien Sanglard 158*3f982cf4SFabien Sanglard deps = [ 159*3f982cf4SFabien Sanglard ":dnssd", 160*3f982cf4SFabien Sanglard ":mdns", 161*3f982cf4SFabien Sanglard ":public", 162*3f982cf4SFabien Sanglard ":testing", 163*3f982cf4SFabien Sanglard "../platform:test", 164*3f982cf4SFabien Sanglard "../third_party/abseil", 165*3f982cf4SFabien Sanglard "../third_party/googletest:gmock", 166*3f982cf4SFabien Sanglard "../third_party/googletest:gtest", 167*3f982cf4SFabien Sanglard "../util", 168*3f982cf4SFabien Sanglard ] 169*3f982cf4SFabien Sanglard} 170*3f982cf4SFabien Sanglard 171*3f982cf4SFabien Sanglardopenscreen_fuzzer_test("mdns_fuzzer") { 172*3f982cf4SFabien Sanglard sources = [ "mdns/mdns_reader_fuzztest.cc" ] 173*3f982cf4SFabien Sanglard 174*3f982cf4SFabien Sanglard deps = [ 175*3f982cf4SFabien Sanglard ":mdns", 176*3f982cf4SFabien Sanglard ":public", 177*3f982cf4SFabien Sanglard ] 178*3f982cf4SFabien Sanglard 179*3f982cf4SFabien Sanglard seed_corpus = "mdns/fuzzer_seeds" 180*3f982cf4SFabien Sanglard 181*3f982cf4SFabien Sanglard # Note: 512 is the maximum size for a serialized mDNS packet. 182*3f982cf4SFabien Sanglard libfuzzer_options = [ "max_len=512" ] 183*3f982cf4SFabien Sanglard} 184