1package { 2 default_team: "trendy_team_fwk_core_networking", 3 // See: http://go/android-license-faq 4 // A large-scale-change added 'default_applicable_licenses' to import 5 // all of the 'license_kinds' from "system_netd_license" 6 // to get the below license kinds: 7 // SPDX-license-identifier-Apache-2.0 8 default_applicable_licenses: ["system_netd_license"], 9} 10 11aidl_interface { 12 // This interface is for OEM calls to netd and vice versa that do not exist in AOSP. 13 // Those calls cannot be part of INetd.aidl and INetdUnsolicitedEventListener.aidl 14 // because those interfaces are versioned. 15 // These interfaces must never be versioned or OEMs will not be able to change them. 16 name: "oemnetd_aidl_interface", 17 unstable: true, 18 local_include_dir: "binder", 19 srcs: [ 20 "binder/com/android/internal/net/IOemNetd.aidl", 21 "binder/com/android/internal/net/IOemNetdUnsolicitedEventListener.aidl", 22 ], 23} 24 25// These are used in netd_integration_test 26// TODO: fold these into a cc_library_static after converting netd/server to Android.bp 27filegroup { 28 name: "netd_integration_test_shared", 29 srcs: [ 30 "NetdConstants.cpp", 31 "InterfaceController.cpp", 32 "NetlinkCommands.cpp", 33 "SockDiag.cpp", 34 "XfrmController.cpp", 35 ], 36} 37 38// Modules common to both netd and netd_unit_test 39cc_library_static { 40 name: "libnetd_server", 41 defaults: [ 42 "netd_aidl_interface_lateststable_cpp_shared", 43 "netd_defaults", 44 ], 45 include_dirs: [ 46 "system/netd/include", 47 "system/netd/server/binder", 48 ], 49 srcs: [ 50 "BandwidthController.cpp", 51 "Controllers.cpp", 52 "NetdConstants.cpp", 53 "FirewallController.cpp", 54 "IdletimerController.cpp", 55 "InterfaceController.cpp", 56 "IptablesRestoreController.cpp", 57 "NFLogListener.cpp", 58 "NetlinkCommands.cpp", 59 "NetlinkManager.cpp", 60 "RouteController.cpp", 61 "SockDiag.cpp", 62 "StrictController.cpp", 63 "TcpSocketMonitor.cpp", 64 "TetherController.cpp", 65 "UidRanges.cpp", 66 "WakeupController.cpp", 67 "XfrmController.cpp", 68 ], 69 shared_libs: [ 70 "libbase", 71 "libbinder", 72 "libnetutils", 73 "libnetdutils", 74 "libpcap", 75 "libssl", 76 "libsysutils", 77 "netd_event_listener_interface-V1-cpp", 78 ], 79 static_libs: [ 80 "libip_checksum", 81 "libtcutils", 82 ], 83 aidl: { 84 export_aidl_headers: true, 85 local_include_dirs: ["binder"], 86 }, 87} 88 89cc_defaults { 90 name: "netd_default_sources", 91 defaults: [ 92 "netd_aidl_interface_lateststable_cpp_shared", 93 "netd_defaults", 94 ], 95 include_dirs: [ 96 "system/netd/include", 97 ], 98 shared_libs: [ 99 "[email protected]", 100 "[email protected]", 101 "android.system.net.netd-V1-ndk", 102 "libbase", 103 "libbinder", 104 "libbinder_ndk", 105 "libcutils", 106 "libdl", 107 "libhidlbase", 108 "liblog", 109 "libnetd_updatable", 110 "libnetd_resolv", 111 "libnetdutils", 112 "libnetutils", 113 "libpcap", 114 "libprocessgroup", 115 "libselinux", 116 "libsysutils", 117 "libutils", 118 "mdns_aidl_interface-V1-cpp", 119 "netd_event_listener_interface-V1-cpp", 120 "oemnetd_aidl_interface-cpp", 121 ], 122 static_libs: [ 123 "libip_checksum", 124 "libnetd_server", 125 "libtcutils", 126 ], 127 srcs: [ 128 "DummyNetwork.cpp", 129 "EventReporter.cpp", 130 "FwmarkServer.cpp", 131 "LocalNetwork.cpp", 132 "MDnsService.cpp", 133 "NetdCommand.cpp", 134 "NetdHwAidlService.cpp", 135 "NetdHwService.cpp", 136 "NetdNativeService.cpp", 137 "NetlinkHandler.cpp", 138 "Network.cpp", 139 "NetworkController.cpp", 140 "OemNetdListener.cpp", 141 "PhysicalNetwork.cpp", 142 "Process.cpp", 143 "UnreachableNetwork.cpp", 144 "VirtualNetwork.cpp", 145 "oem_iptables_hook.cpp", 146 ], 147} 148 149vintf_fragment { 150 name: "android.system.net.netd-service.xml", 151 src: "android.system.net.netd-service.xml", 152} 153 154cc_binary { 155 name: "netd", 156 defaults: [ 157 "netd_default_sources", 158 ], 159 init_rc: ["netd.rc"], 160 vintf_fragment_modules: ["android.system.net.netd-service.xml"], 161 required: [ 162 "mainline_tethering_platform_components", 163 ], 164 srcs: [ 165 "main.cpp", 166 ], 167 sanitize: { 168 cfi: true, 169 }, 170} 171 172cc_binary { 173 name: "ndc", 174 defaults: [ 175 "netd_aidl_interface_lateststable_cpp_shared", 176 "netd_defaults", 177 ], 178 include_dirs: [ 179 "system/netd/include", 180 ], 181 header_libs: [ 182 "libnetd_client_headers", 183 ], 184 shared_libs: [ 185 "libbase", 186 "libnetdutils", 187 "libnetutils", 188 "libcutils", 189 "liblog", 190 "libutils", 191 "libbinder", 192 "dnsresolver_aidl_interface-V7-cpp", 193 ], 194 srcs: [ 195 "ndc.cpp", 196 "UidRanges.cpp", 197 "NdcDispatcher.cpp", 198 ], 199 sanitize: { 200 cfi: true, 201 }, 202} 203 204cc_test { 205 name: "netd_unit_test", 206 defaults: [ 207 "netd_aidl_interface_lateststable_cpp_static", 208 "netd_defaults", 209 ], 210 test_suites: ["device-tests"], 211 require_root: true, 212 include_dirs: [ 213 "system/netd/include", 214 "system/netd/server/binder", 215 "system/netd/tests", 216 ], 217 tidy_timeout_srcs: [ 218 "BandwidthControllerTest.cpp", 219 "InterfaceControllerTest.cpp", 220 "XfrmControllerTest.cpp", 221 ], 222 srcs: [ 223 "BandwidthControllerTest.cpp", 224 "ControllersTest.cpp", 225 "FirewallControllerTest.cpp", 226 "IdletimerControllerTest.cpp", 227 "InterfaceControllerTest.cpp", 228 "IptablesBaseTest.cpp", 229 "IptablesRestoreControllerTest.cpp", 230 "NFLogListenerTest.cpp", 231 "RouteControllerTest.cpp", 232 "SockDiagTest.cpp", 233 "StrictControllerTest.cpp", 234 "TetherControllerTest.cpp", 235 "XfrmControllerTest.cpp", 236 "WakeupControllerTest.cpp", 237 ], 238 static_libs: [ 239 "libgmock", 240 "libip_checksum", 241 "libnetd_server", 242 "libnetd_test_tun_interface", 243 "libtcutils", 244 "netd_event_listener_interface-V1-cpp", 245 ], 246 shared_libs: [ 247 "libbase", 248 "libbinder", 249 "libcrypto", 250 "libcutils", 251 "liblog", 252 "libnetdutils", 253 "libnetutils", 254 "libsysutils", 255 "libutils", 256 ], 257 // tidy: false, // cuts test build time by almost 1 minute 258} 259 260cc_defaults { 261 name: "netd_aidl_fuzzer_defaults", 262 defaults: [ 263 "netd_default_sources", 264 "fuzzer_disable_leaks", 265 ], 266 srcs: [ 267 "Controllers.cpp", 268 ], 269 fuzz_config: { 270 cc: [ 271 "[email protected]", 272 ], 273 triage_assignee: "[email protected]", 274 }, 275} 276 277cc_fuzz { 278 name: "netd_hw_service_fuzzer", 279 defaults: [ 280 "service_fuzzer_defaults", 281 "netd_aidl_fuzzer_defaults", 282 ], 283 srcs: [ 284 "aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp", 285 ], 286} 287 288cc_fuzz { 289 name: "netd_native_service_fuzzer", 290 defaults: [ 291 "service_fuzzer_defaults", 292 "netd_aidl_fuzzer_defaults", 293 ], 294 srcs: [ 295 "aidl-fuzzers/NetdNativeServiceFuzzer.cpp", 296 ], 297} 298