From 6fcacfc1f30d4a4941d348eef01fec33841525f1 Mon Sep 17 00:00:00 2001 From: Thomas A Date: Sun, 29 Mar 2020 08:56:34 -0700 Subject: [PATCH] Add stubs for networkextension --- cmake/use_ld64.cmake | 1 + src/CMakeLists.txt | 1 + src/libsystem/CMakeLists.txt | 2 ++ src/networkextension/CMakeLists.txt | 21 +++++++++++++++++++ src/networkextension/NEHelperClient.c | 6 ++++++ src/networkextension/include/NEHelperClient.h | 3 +++ src/networkextension/include/ne_session.h | 3 +++ src/networkextension/ne_session.c | 6 ++++++ 8 files changed, 43 insertions(+) create mode 100644 src/networkextension/CMakeLists.txt create mode 100644 src/networkextension/NEHelperClient.c create mode 100644 src/networkextension/include/NEHelperClient.h create mode 100644 src/networkextension/include/ne_session.h create mode 100644 src/networkextension/ne_session.c diff --git a/cmake/use_ld64.cmake b/cmake/use_ld64.cmake index 49aa6f66c..19c1cd851 100644 --- a/cmake/use_ld64.cmake +++ b/cmake/use_ld64.cmake @@ -31,6 +31,7 @@ FUNCTION(use_ld64 target) -Wl,-dylib_file,/usr/lib/system/libsystem_trace.dylib:${CMAKE_BINARY_DIR}/src/external/libtrace/libsystem_trace_firstpass.dylib \ -Wl,-dylib_file,/usr/lib/system/libcorecrypto.dylib:${CMAKE_BINARY_DIR}/src/external/corecrypto/libcorecrypto_firstpass.dylib \ -Wl,-dylib_file,/usr/lib/system/libsystem_dnssd.dylib:${CMAKE_BINARY_DIR}/src/lib/system/dnssd/libsystem_dnssd.dylib \ +-Wl,-dylib_file,/usr/lib/system/libsystem_networkextension.dylib:${CMAKE_BINARY_DIR}/src/networkextension/libsystem_networkextension.dylib \ -Wl,-dylib_file,/usr/lib/system/libsystem_coretls.dylib:${CMAKE_BINARY_DIR}/src/external/coretls/libsystem_coretls.dylib \ -Wl,-dylib_file,/usr/lib/system/libcommonCrypto.dylib:${CMAKE_BINARY_DIR}/src/external/commoncrypto/libcommonCrypto.dylib \ -Wl,-dylib_file,/usr/lib/system/libsystem_asl.dylib:${CMAKE_BINARY_DIR}/src/external/syslog/libsystem_asl.tproj/libsystem_asl_firstpass.dylib \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c66ece1e3..4e04a8d6c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -216,6 +216,7 @@ add_subdirectory(libinfo) add_subdirectory(quarantine) add_subdirectory(libmalloc) add_subdirectory(libunwind) +add_subdirectory(networkextension) add_subdirectory(libsystem) add_subdirectory(libsystem_coreservices) add_subdirectory(libutil) diff --git a/src/libsystem/CMakeLists.txt b/src/libsystem/CMakeLists.txt index 422a2e43e..5ba5cd1a4 100644 --- a/src/libsystem/CMakeLists.txt +++ b/src/libsystem/CMakeLists.txt @@ -73,6 +73,7 @@ target_link_libraries(system PRIVATE corecrypto commonCrypto system_dnssd + system_networkextension ) set_target_properties(system PROPERTIES OUTPUT_NAME "System.B") @@ -106,6 +107,7 @@ set_property(TARGET system APPEND_STRING PROPERTY LINK_FLAGS -sub_library libxpc \ -sub_library libcorecrypto \ -sub_library libsystem_dnssd \ + -sub_library libsystem_networkextension \ -Wl,-compatibility_version,1.0.0 \ -Wl,-current_version,1238.0.0") diff --git a/src/networkextension/CMakeLists.txt b/src/networkextension/CMakeLists.txt new file mode 100644 index 000000000..bf9a5df1d --- /dev/null +++ b/src/networkextension/CMakeLists.txt @@ -0,0 +1,21 @@ +project(system_networkextension) + +cmake_minimum_required(VERSION 2.4.0) + +include_directories(${CMAKE_SOURCE_DIR}/src/libc/darwin) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) + +set(DYLIB_INSTALL_NAME "/usr/lib/system/libsystem_networkextension.dylib") +add_darling_library(system_networkextension + SHARED + ne_session.c + NEHelperClient.c +) +target_link_libraries(system_networkextension + PRIVATE + system_c + system_dyld +) +make_fat(system_networkextension) + +install(TARGETS system_networkextension DESTINATION libexec/darling/usr/lib/system) diff --git a/src/networkextension/NEHelperClient.c b/src/networkextension/NEHelperClient.c new file mode 100644 index 000000000..01eb3e1e8 --- /dev/null +++ b/src/networkextension/NEHelperClient.c @@ -0,0 +1,6 @@ +#include + +xpc_object_t NEHelperCacheCopyAppUUIDMapping(char *signingIdentity, void *unknown) { + printf("DARLING SYSTEM_NETWORKEXTENSION STUB: %s\n", __PRETTY_FUNCTION__); + return NULL; +} diff --git a/src/networkextension/include/NEHelperClient.h b/src/networkextension/include/NEHelperClient.h new file mode 100644 index 000000000..44a2d5aef --- /dev/null +++ b/src/networkextension/include/NEHelperClient.h @@ -0,0 +1,3 @@ +#include + +xpc_object_t NEHelperCacheCopyAppUUIDMapping(char *, void *unknown); diff --git a/src/networkextension/include/ne_session.h b/src/networkextension/include/ne_session.h new file mode 100644 index 000000000..33b3fddba --- /dev/null +++ b/src/networkextension/include/ne_session.h @@ -0,0 +1,3 @@ +#include + +bool ne_session_set_socket_attributes(int socket, char *hostname, void *unknown); diff --git a/src/networkextension/ne_session.c b/src/networkextension/ne_session.c new file mode 100644 index 000000000..337a21e21 --- /dev/null +++ b/src/networkextension/ne_session.c @@ -0,0 +1,6 @@ +#include + +bool ne_session_set_socket_attributes(int socket, char *hostname, void *unknown) { + printf("DARLING SYSTEM_NETWORKEXTENSION STUB: %s\n", __PRETTY_FUNCTION__); + return false; +} -- 2.51.2