summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/mDNSMacOSX/daemon.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-19 08:55:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-20 11:23:33 +0200
commita81495004c196cdbf5d1f918eb1510dd325c8283 (patch)
tree6cad42220e07f43e777e42e2e0abbaf75bcc0527 /mDNSResponder/mDNSMacOSX/daemon.c
parentmDNSResponder: Update to v765.30.11 (diff)
downloadrtems-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.c19
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