diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-19 08:55:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-20 11:23:33 +0200 |
commit | a81495004c196cdbf5d1f918eb1510dd325c8283 (patch) | |
tree | 6cad42220e07f43e777e42e2e0abbaf75bcc0527 /mDNSResponder/mDNSMacOSX/daemon.c | |
parent | mDNSResponder: Update to v765.30.11 (diff) | |
download | rtems-libbsd-a81495004c196cdbf5d1f918eb1510dd325c8283.tar.bz2 |
mDNSResponder: Update to v765.50.9
The sources can be obtained via:
https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.50.9.tar.gz
Update #3522.
Diffstat (limited to 'mDNSResponder/mDNSMacOSX/daemon.c')
-rw-r--r-- | mDNSResponder/mDNSMacOSX/daemon.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSMacOSX/daemon.c b/mDNSResponder/mDNSMacOSX/daemon.c index f5478b57..f3f00ca7 100644 --- a/mDNSResponder/mDNSMacOSX/daemon.c +++ b/mDNSResponder/mDNSMacOSX/daemon.c @@ -32,6 +32,7 @@ #include <SystemConfiguration/SCDynamicStoreCopyDHCPInfo.h> #include <err.h> #include <sysexits.h> +#include <dlfcn.h> #include "uDNS.h" #include "DNSCommon.h" @@ -1440,6 +1441,18 @@ mDNSlocal void init_logging(void) } #endif +#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR +mDNSlocal mDNSBool initialize_networkserviceproxy(void) +{ + void *NSPImage = dlopen("/System/Library/PrivateFrameworks/NetworkServiceProxy.framework/NetworkServiceProxy", RTLD_LAZY | RTLD_LOCAL); + if (NSPImage == NULL) { + os_log_error(OS_LOG_DEFAULT, "dlopen NetworkServiceProxy.framework failed"); + return mDNSfalse; + } + return mDNStrue; +} +#endif + mDNSexport int main(int argc, char **argv) { int i; @@ -1611,6 +1624,12 @@ mDNSexport int main(int argc, char **argv) mDNSMacOSXNetworkChanged(&mDNSStorage); UpdateDebugState(); +#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR + if (initialize_networkserviceproxy() == mDNSfalse) { + LogMsg("Failed to initialize NetworkServiceProxy"); + } +#endif + #ifdef MDNSRESPONDER_USES_LIB_DISPATCH_AS_PRIMARY_EVENT_LOOP_MECHANISM LogInfo("Daemon Start: Using LibDispatch"); // CFRunLoopRun runs both CFRunLoop sources and dispatch sources |