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