blob: 615e740f13063d8a1f3634201bd5081ab8f041b3 [file] [log] [blame]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "system_netd_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["system_netd_license"],
}
aidl_interface {
// This interface is for OEM calls to netd and vice versa that do not exist in AOSP.
// Those calls cannot be part of INetd.aidl and INetdUnsolicitedEventListener.aidl
// because those interfaces are versioned.
// These interfaces must never be versioned or OEMs will not be able to change them.
name: "oemnetd_aidl_interface",
unstable: true,
local_include_dir: "binder",
srcs: [
"binder/com/android/internal/net/IOemNetd.aidl",
"binder/com/android/internal/net/IOemNetdUnsolicitedEventListener.aidl",
],
}
// These are used in netd_integration_test
// TODO: fold these into a cc_library_static after converting netd/server to Android.bp
filegroup {
name: "netd_integration_test_shared",
srcs: [
"NetdConstants.cpp",
"InterfaceController.cpp",
"NetlinkCommands.cpp",
"SockDiag.cpp",
"XfrmController.cpp",
],
}
// Modules common to both netd and netd_unit_test
cc_library_static {
name: "libnetd_server",
defaults: [
"netd_aidl_interface_lateststable_cpp_shared",
"netd_defaults",
],
include_dirs: [
"system/netd/include",
"system/netd/server/binder",
],
header_libs: ["bpf_headers"],
srcs: [
"BandwidthController.cpp",
"Controllers.cpp",
"NetdConstants.cpp",
"FirewallController.cpp",
"IdletimerController.cpp",
"InterfaceController.cpp",
"IptablesRestoreController.cpp",
"NFLogListener.cpp",
"NetlinkCommands.cpp",
"NetlinkManager.cpp",
"RouteController.cpp",
"SockDiag.cpp",
"StrictController.cpp",
"TcpSocketMonitor.cpp",
"TetherController.cpp",
"UidRanges.cpp",
"WakeupController.cpp",
"XfrmController.cpp",
],
shared_libs: [
"libbase",
"libbinder",
"libnetutils",
"libnetdutils",
"libpcap",
"libssl",
"libsysutils",
"netd_event_listener_interface-V1-cpp",
],
static_libs: [
"libip_checksum",
"libtcutils",
],
aidl: {
export_aidl_headers: true,
local_include_dirs: ["binder"],
},
}
cc_binary {
name: "netd",
defaults: [
"netd_aidl_interface_lateststable_cpp_shared",
"netd_defaults",
],
include_dirs: [
"external/mdnsresponder/mDNSShared",
"system/netd/include",
],
init_rc: ["netd.rc"],
vintf_fragments: ["android.system.net.netd-service.xml"],
required: [
"bpfloader",
],
header_libs: ["bpf_headers"],
shared_libs: [
"android.system.net.netd@1.0",
"android.system.net.netd@1.1",
"android.system.net.netd-V1-ndk",
"libbase",
"libbinder",
"libbinder_ndk",
"libcutils",
"libdl",
"libhidlbase",
"liblog",
"libmdnssd",
"libnetd_updatable",
"libnetd_resolv",
"libnetdutils",
"libnetutils",
"libpcap",
"libprocessgroup",
"libselinux",
"libsysutils",
"libutils",
"mdns_aidl_interface-V1-cpp",
"netd_event_listener_interface-V1-cpp",
"oemnetd_aidl_interface-cpp",
],
static_libs: [
"libip_checksum",
"libnetd_server",
"libtcutils",
],
srcs: [
"DummyNetwork.cpp",
"EventReporter.cpp",
"FwmarkServer.cpp",
"LocalNetwork.cpp",
"MDnsEventReporter.cpp",
"MDnsSdListener.cpp",
"MDnsService.cpp",
"NetdCommand.cpp",
"NetdHwAidlService.cpp",
"NetdHwService.cpp",
"NetdNativeService.cpp",
"NetlinkHandler.cpp",
"Network.cpp",
"NetworkController.cpp",
"OemNetdListener.cpp",
"PhysicalNetwork.cpp",
"PppController.cpp",
"Process.cpp",
"UnreachableNetwork.cpp",
"VirtualNetwork.cpp",
"main.cpp",
"oem_iptables_hook.cpp",
],
sanitize: {
cfi: true,
memtag_heap: true,
},
}
cc_binary {
name: "ndc",
defaults: [
"netd_aidl_interface_lateststable_cpp_shared",
"netd_defaults",
],
include_dirs: [
"system/netd/include",
],
header_libs: [
"libnetd_client_headers",
],
shared_libs: [
"libbase",
"libnetdutils",
"libnetutils",
"libcutils",
"liblog",
"libutils",
"libbinder",
"dnsresolver_aidl_interface-V7-cpp",
],
srcs: [
"ndc.cpp",
"UidRanges.cpp",
"NdcDispatcher.cpp",
],
sanitize: {
cfi: true,
memtag_heap: true,
},
}
cc_test {
name: "netd_unit_test",
defaults: [
"netd_aidl_interface_lateststable_cpp_static",
"netd_defaults",
],
test_suites: ["device-tests"],
require_root: true,
include_dirs: [
"system/netd/include",
"system/netd/server/binder",
"system/netd/tests",
],
header_libs: ["bpf_headers"],
tidy_timeout_srcs: [
"BandwidthControllerTest.cpp",
"InterfaceControllerTest.cpp",
"XfrmControllerTest.cpp",
],
srcs: [
"BandwidthControllerTest.cpp",
"ControllersTest.cpp",
"FirewallControllerTest.cpp",
"IdletimerControllerTest.cpp",
"InterfaceControllerTest.cpp",
"IptablesBaseTest.cpp",
"IptablesRestoreControllerTest.cpp",
"NFLogListenerTest.cpp",
"RouteControllerTest.cpp",
"SockDiagTest.cpp",
"StrictControllerTest.cpp",
"TetherControllerTest.cpp",
"XfrmControllerTest.cpp",
"WakeupControllerTest.cpp",
],
static_libs: [
"libgmock",
"libip_checksum",
"libnetd_server",
"libnetd_test_tun_interface",
"libtcutils",
"netd_event_listener_interface-V1-cpp",
],
shared_libs: [
"libbase",
"libbinder",
"libcrypto",
"libcutils",
"liblog",
"libnetdutils",
"libnetutils",
"libsysutils",
"libutils",
],
// tidy: false, // cuts test build time by almost 1 minute
}