diff options
author | Pawan Wagh <waghpawan@google.com> | 2023-03-08 08:05:41 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-03-08 08:05:41 +0000 |
commit | 20a425a89d95d5a124bcb8cc31511e35d52d566a (patch) | |
tree | 02b7a5cf3f5cbd60f5e99bd323b3ea7ebe2d6c5f | |
parent | 0a143327caf578d1b443e090185fe6e577ddd733 (diff) | |
parent | c5623894c3429a0dbc9e6fd0b4538b0eee3954c9 (diff) | |
download | netd-20a425a89d95d5a124bcb8cc31511e35d52d566a.tar.gz |
Merge changes I90884c71,I866b6078,I6d638a1d am: c8d9925a5e am: 0f8a84f304 am: c5623894c3
Original change: https://android-review.googlesource.com/c/platform/system/netd/+/2458868
Change-Id: Ie2702221bcbf82e7032459df1469ee71e8ece700
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | server/Android.bp | 108 | ||||
-rw-r--r-- | server/aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp | 32 | ||||
-rw-r--r-- | server/aidl-fuzzers/NetdNativeServiceFuzzer.cpp | 35 |
3 files changed, 113 insertions, 62 deletions
diff --git a/server/Android.bp b/server/Android.bp index a0df195b..7773cb02 100644 --- a/server/Android.bp +++ b/server/Android.bp @@ -85,8 +85,8 @@ cc_library_static { }, } -cc_binary { - name: "netd", +cc_defaults { + name: "netd_default_sources", defaults: [ "netd_aidl_interface_lateststable_cpp_shared", "netd_defaults", @@ -95,11 +95,6 @@ cc_binary { "external/mdnsresponder/mDNSShared", "system/netd/include", ], - init_rc: ["netd.rc"], - vintf_fragments: ["android.system.net.netd-service.xml"], - required: [ - "bpfloader", - ], shared_libs: [ "android.system.net.netd@1.0", "android.system.net.netd@1.1", @@ -151,9 +146,23 @@ cc_binary { "Process.cpp", "UnreachableNetwork.cpp", "VirtualNetwork.cpp", - "main.cpp", "oem_iptables_hook.cpp", ], +} + +cc_binary { + name: "netd", + defaults: [ + "netd_default_sources", + ], + init_rc: ["netd.rc"], + vintf_fragments: ["android.system.net.netd-service.xml"], + required: [ + "bpfloader", + ], + srcs: [ + "main.cpp", + ], sanitize: { cfi: true, memtag_heap: true, @@ -252,67 +261,14 @@ cc_test { cc_defaults { name: "netd_aidl_fuzzer_defaults", defaults: [ - "netd_aidl_interface_lateststable_cpp_static", - "netd_defaults", - ], - include_dirs: [ - "external/mdnsresponder/mDNSShared", - "system/netd/include", - ], - shared_libs: [ - "android.system.net.netd@1.0", - "android.system.net.netd@1.1", - "android.system.net.netd-V1-ndk", - "libdl", - "libhidlbase", - "libmdnssd", - "libnetd_updatable", - "libnetd_resolv", - "libnetdutils", - "libnetutils", - "liblog", - "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", + "netd_default_sources", ], 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", - "oem_iptables_hook.cpp", "Controllers.cpp", ], fuzz_config: { cc: [ "cken@google.com", - "maze@google.com", ], } } @@ -326,4 +282,32 @@ cc_fuzz { srcs: [ "aidl-fuzzers/MDnsServiceFuzzer.cpp", ], + fuzz_config: { + cc: [ + "paulhu@google.com", + ], + } +} + +cc_fuzz { + name: "netd_hw_service_fuzzer", + defaults: [ + "service_fuzzer_defaults", + "netd_aidl_fuzzer_defaults", + ], + srcs: [ + "aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp", + ], +} + +cc_fuzz { + name: "netd_native_service_fuzzer", + defaults: [ + "service_fuzzer_defaults", + "netd_aidl_fuzzer_defaults", + ], + srcs: [ + "aidl-fuzzers/NetdNativeServiceFuzzer.cpp", + ], } + diff --git a/server/aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp b/server/aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp new file mode 100644 index 00000000..7556740b --- /dev/null +++ b/server/aidl-fuzzers/NetdHwAidlServiceFuzzer.cpp @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <fuzzbinder/libbinder_ndk_driver.h> +#include <fuzzer/FuzzedDataProvider.h> + +#include <android/binder_interface_utils.h> + +#include "NetdHwAidlService.h" + +using android::fuzzService; +using android::net::aidl::NetdHwAidlService; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + auto service = ::ndk::SharedRefBase::make<NetdHwAidlService>(); + fuzzService(service->asBinder().get(), FuzzedDataProvider(data, size)); + + return 0; +} diff --git a/server/aidl-fuzzers/NetdNativeServiceFuzzer.cpp b/server/aidl-fuzzers/NetdNativeServiceFuzzer.cpp new file mode 100644 index 00000000..2d041842 --- /dev/null +++ b/server/aidl-fuzzers/NetdNativeServiceFuzzer.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <fuzzbinder/libbinder_driver.h> +#include <fuzzer/FuzzedDataProvider.h> + +#include "Permission.h" +#include "NetdConstants.h" +#include "NetdNativeService.h" + + +using android::fuzzService; +using android::net::NetdNativeService; + +std::mutex android::net::gBigNetdLock; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + auto service = new NetdNativeService(); + fuzzService(service, FuzzedDataProvider(data, size)); + + return 0; +} |