Add back libsystem_dnssd stub

This commit is contained in:
Ariel Abreu 2020-11-02 10:38:29 -05:00
parent d076f2bb46
commit fe89847f8d
No known key found for this signature in database
GPG Key ID: ECF8C2B9E8AD3E6B
8 changed files with 381 additions and 2 deletions

View File

@ -31,7 +31,7 @@ FUNCTION(use_ld64 target)
-Wl,-dylib_file,/usr/lib/system/libsystem_platform.dylib:${CMAKE_BINARY_DIR}/src/external/libplatform/libplatform_firstpass.dylib \
-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/external/mDNSResponder/libsystem_dnssd.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 \

View File

@ -169,7 +169,7 @@ add_subdirectory(external/libressl-2.6.5)
add_subdirectory(external/libressl-2.8.3)
add_subdirectory(external/passwordserver_sasl)
add_subdirectory(external/OpenLDAP)
add_subdirectory(external/mDNSResponder)
#add_subdirectory(external/mDNSResponder)
add_subdirectory(external/MITKerberosShim)
add_subdirectory(external/curl)
add_subdirectory(external/liblzma)

View File

@ -1 +1,3 @@
add_subdirectory(system)
add_subdirectory(form)

View File

@ -0,0 +1 @@
add_subdirectory(dnssd)

View File

@ -0,0 +1,13 @@
project(system_dnssd)
set(DYLIB_INSTALL_NAME "/usr/lib/system/libsystem_dnssd.dylib")
set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "1096.60.2")
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
add_darling_library(system_dnssd src/system_dnssd.c)
make_fat(system_dnssd)
target_link_libraries(system_dnssd PRIVATE system_c system_dyld)
install(TARGETS system_dnssd DESTINATION libexec/darling/usr/lib/system)

View File

@ -0,0 +1,40 @@
00000000000053f4 T _DNSServiceAddRecord
0000000000003753 T _DNSServiceBrowse
000000000000444c T _DNSServiceBrowserCreate
0000000000003a8c T _DNSServiceConstructFullName
000000000000174c T _DNSServiceCreateConnection
0000000000003261 T _DNSServiceCreateDelegateConnection
00000000000044a3 T _DNSServiceDiscoveryDeallocate
0000000000004485 T _DNSServiceDiscoveryMachPort
0000000000004474 T _DNSServiceDiscovery_handleReply
000000000000521f T _DNSServiceEnumerateDomains
0000000000002586 T _DNSServiceGetAddrInfo
000000000000487b T _DNSServiceGetPID
0000000000004704 T _DNSServiceGetProperty
0000000000005c06 T _DNSServiceNATPortMappingCreate
000000000000289d T _DNSServiceProcessResult
0000000000003d07 T _DNSServiceQueryRecord
00000000000058c7 T _DNSServiceReconfirmRecord
000000000000300c T _DNSServiceRefDeallocate
000000000000281c T _DNSServiceRefSockFD
0000000000004db2 T _DNSServiceRegister
000000000000343b T _DNSServiceRegisterRecord
000000000000577a T _DNSServiceRemoveRecord
0000000000004963 T _DNSServiceResolve
0000000000004460 T _DNSServiceResolverResolve
0000000000004cb9 T _DNSServiceSetDefaultDomainForUser
00000000000026ee T _DNSServiceSetDispatchQueue
0000000000005e3d T _DNSServiceSleepKeepalive
0000000000005618 T _DNSServiceUpdateRecord
0000000000005a9a T _PeerConnectionRelease
00000000000042c0 T _TXTRecordContainsKey
0000000000004024 T _TXTRecordCreate
000000000000403c T _TXTRecordDeallocate
00000000000042b7 T _TXTRecordGetBytesPtr
0000000000004324 T _TXTRecordGetCount
0000000000004350 T _TXTRecordGetItemAtIndex
00000000000042ad T _TXTRecordGetLength
00000000000042e1 T _TXTRecordGetValuePtr
00000000000041cd T _TXTRecordRemoveValue
0000000000004052 T _TXTRecordSetValue

View File

@ -0,0 +1,64 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _system_dnssd_H_
#define _system_dnssd_H_
void* DNSServiceAddRecord(void);
void* DNSServiceBrowse(void);
void* DNSServiceBrowserCreate(void);
void* DNSServiceConstructFullName(void);
void* DNSServiceCreateConnection(void);
void* DNSServiceCreateDelegateConnection(void);
void* DNSServiceDiscoveryDeallocate(void);
void* DNSServiceDiscoveryMachPort(void);
void* DNSServiceDiscovery_handleReply(void);
void* DNSServiceEnumerateDomains(void);
void* DNSServiceGetAddrInfo(void);
void* DNSServiceGetPID(void);
void* DNSServiceGetProperty(void);
void* DNSServiceNATPortMappingCreate(void);
void* DNSServiceProcessResult(void);
void* DNSServiceQueryRecord(void);
void* DNSServiceReconfirmRecord(void);
void* DNSServiceRefDeallocate(void);
void* DNSServiceRefSockFD(void);
void* DNSServiceRegister(void);
void* DNSServiceRegisterRecord(void);
void* DNSServiceRemoveRecord(void);
void* DNSServiceResolve(void);
void* DNSServiceResolverResolve(void);
void* DNSServiceSetDefaultDomainForUser(void);
void* DNSServiceSetDispatchQueue(void);
void* DNSServiceSleepKeepalive(void);
void* DNSServiceUpdateRecord(void);
void* PeerConnectionRelease(void);
void* TXTRecordContainsKey(void);
void* TXTRecordCreate(void);
void* TXTRecordDeallocate(void);
void* TXTRecordGetBytesPtr(void);
void* TXTRecordGetCount(void);
void* TXTRecordGetItemAtIndex(void);
void* TXTRecordGetLength(void);
void* TXTRecordGetValuePtr(void);
void* TXTRecordRemoveValue(void);
void* TXTRecordSetValue(void);
#endif

View File

@ -0,0 +1,259 @@
/*
This file is part of Darling.
Copyright (C) 2019 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/
#include <system_dnssd/system_dnssd.h>
#include <stdlib.h>
#include <stdio.h>
static int verbose = 1;
void* DNSServiceAddRecord(void)
{
if (verbose) puts("STUB: DNSServiceAddRecord called");
return NULL;
}
void* DNSServiceBrowse(void)
{
if (verbose) puts("STUB: DNSServiceBrowse called");
return NULL;
}
void* DNSServiceBrowserCreate(void)
{
if (verbose) puts("STUB: DNSServiceBrowserCreate called");
return NULL;
}
void* DNSServiceConstructFullName(void)
{
if (verbose) puts("STUB: DNSServiceConstructFullName called");
return NULL;
}
void* DNSServiceCreateConnection(void)
{
if (verbose) puts("STUB: DNSServiceCreateConnection called");
return NULL;
}
void* DNSServiceCreateDelegateConnection(void)
{
if (verbose) puts("STUB: DNSServiceCreateDelegateConnection called");
return NULL;
}
void* DNSServiceDiscoveryDeallocate(void)
{
if (verbose) puts("STUB: DNSServiceDiscoveryDeallocate called");
return NULL;
}
void* DNSServiceDiscoveryMachPort(void)
{
if (verbose) puts("STUB: DNSServiceDiscoveryMachPort called");
return NULL;
}
void* DNSServiceDiscovery_handleReply(void)
{
if (verbose) puts("STUB: DNSServiceDiscovery_handleReply called");
return NULL;
}
void* DNSServiceEnumerateDomains(void)
{
if (verbose) puts("STUB: DNSServiceEnumerateDomains called");
return NULL;
}
void* DNSServiceGetAddrInfo(void)
{
if (verbose) puts("STUB: DNSServiceGetAddrInfo called");
return NULL;
}
void* DNSServiceGetPID(void)
{
if (verbose) puts("STUB: DNSServiceGetPID called");
return NULL;
}
void* DNSServiceGetProperty(void)
{
if (verbose) puts("STUB: DNSServiceGetProperty called");
return NULL;
}
void* DNSServiceNATPortMappingCreate(void)
{
if (verbose) puts("STUB: DNSServiceNATPortMappingCreate called");
return NULL;
}
void* DNSServiceProcessResult(void)
{
if (verbose) puts("STUB: DNSServiceProcessResult called");
return NULL;
}
void* DNSServiceQueryRecord(void)
{
if (verbose) puts("STUB: DNSServiceQueryRecord called");
return NULL;
}
void* DNSServiceReconfirmRecord(void)
{
if (verbose) puts("STUB: DNSServiceReconfirmRecord called");
return NULL;
}
void* DNSServiceRefDeallocate(void)
{
if (verbose) puts("STUB: DNSServiceRefDeallocate called");
return NULL;
}
void* DNSServiceRefSockFD(void)
{
if (verbose) puts("STUB: DNSServiceRefSockFD called");
return NULL;
}
void* DNSServiceRegister(void)
{
if (verbose) puts("STUB: DNSServiceRegister called");
return NULL;
}
void* DNSServiceRegisterRecord(void)
{
if (verbose) puts("STUB: DNSServiceRegisterRecord called");
return NULL;
}
void* DNSServiceRemoveRecord(void)
{
if (verbose) puts("STUB: DNSServiceRemoveRecord called");
return NULL;
}
void* DNSServiceResolve(void)
{
if (verbose) puts("STUB: DNSServiceResolve called");
return NULL;
}
void* DNSServiceResolverResolve(void)
{
if (verbose) puts("STUB: DNSServiceResolverResolve called");
return NULL;
}
void* DNSServiceSetDefaultDomainForUser(void)
{
if (verbose) puts("STUB: DNSServiceSetDefaultDomainForUser called");
return NULL;
}
void* DNSServiceSetDispatchQueue(void)
{
if (verbose) puts("STUB: DNSServiceSetDispatchQueue called");
return NULL;
}
void* DNSServiceSleepKeepalive(void)
{
if (verbose) puts("STUB: DNSServiceSleepKeepalive called");
return NULL;
}
void* DNSServiceUpdateRecord(void)
{
if (verbose) puts("STUB: DNSServiceUpdateRecord called");
return NULL;
}
void* PeerConnectionRelease(void)
{
if (verbose) puts("STUB: PeerConnectionRelease called");
return NULL;
}
void* TXTRecordContainsKey(void)
{
if (verbose) puts("STUB: TXTRecordContainsKey called");
return NULL;
}
void* TXTRecordCreate(void)
{
if (verbose) puts("STUB: TXTRecordCreate called");
return NULL;
}
void* TXTRecordDeallocate(void)
{
if (verbose) puts("STUB: TXTRecordDeallocate called");
return NULL;
}
void* TXTRecordGetBytesPtr(void)
{
if (verbose) puts("STUB: TXTRecordGetBytesPtr called");
return NULL;
}
void* TXTRecordGetCount(void)
{
if (verbose) puts("STUB: TXTRecordGetCount called");
return NULL;
}
void* TXTRecordGetItemAtIndex(void)
{
if (verbose) puts("STUB: TXTRecordGetItemAtIndex called");
return NULL;
}
void* TXTRecordGetLength(void)
{
if (verbose) puts("STUB: TXTRecordGetLength called");
return NULL;
}
void* TXTRecordGetValuePtr(void)
{
if (verbose) puts("STUB: TXTRecordGetValuePtr called");
return NULL;
}
void* TXTRecordRemoveValue(void)
{
if (verbose) puts("STUB: TXTRecordRemoveValue called");
return NULL;
}
void* TXTRecordSetValue(void)
{
if (verbose) puts("STUB: TXTRecordSetValue called");
return NULL;
}