react-native-zeroconf 0.13.8 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +49 -0
- package/README.md +489 -65
- package/android/build.gradle +23 -24
- package/android/src/main/AndroidManifest.xml +5 -2
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroConfImplFactory.java +10 -3
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfModule.java +3 -2
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/NsdServiceImpl.java +83 -22
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/rx2dnssd/DnssdImpl.java +61 -16
- package/android/src/main/java/com/github/druk/dnssd/BaseListener.java +33 -0
- package/android/src/main/java/com/github/druk/dnssd/BrowseListener.java +67 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSRecord.java +47 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSD.java +650 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDBindable.java +67 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDEmbedded.java +135 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDException.java +66 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDRecordRegistrar.java +55 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDRegistration.java +54 -0
- package/android/src/main/java/com/github/druk/dnssd/DNSSDService.java +35 -0
- package/android/src/main/java/com/github/druk/dnssd/DomainListener.java +57 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalBrowseListener.java +76 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSD.java +870 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRecordRegistrar.java +30 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRegistration.java +34 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDService.java +29 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalDomainListener.java +62 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalQueryListener.java +61 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalRegisterListener.java +51 -0
- package/android/src/main/java/com/github/druk/dnssd/InternalResolveListener.java +58 -0
- package/android/src/main/java/com/github/druk/dnssd/NSClass.java +16 -0
- package/android/src/main/java/com/github/druk/dnssd/NSType.java +58 -0
- package/android/src/main/java/com/github/druk/dnssd/QueryListener.java +54 -0
- package/android/src/main/java/com/github/druk/dnssd/RegisterListener.java +46 -0
- package/android/src/main/java/com/github/druk/dnssd/RegisterRecordListener.java +35 -0
- package/android/src/main/java/com/github/druk/dnssd/ResolveListener.java +55 -0
- package/android/src/main/java/com/github/druk/dnssd/TXTRecord.java +293 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/BonjourService.java +400 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2BrowseListener.java +55 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2Dnssd.java +127 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdBindable.java +35 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdCommon.java +280 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdEmbedded.java +31 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2QueryListener.java +70 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2RegisterListener.java +47 -0
- package/android/src/main/java/com/github/druk/rx2dnssd/Rx2ResolveListener.java +51 -0
- package/android/src/main/jni/Android.mk +95 -0
- package/android/src/main/jni/Application.mk +3 -0
- package/android/src/main/jni/DNSSD.java.h +290 -0
- package/android/src/main/jni/JNISupport.c +1140 -0
- package/android/src/main/jni/mdnsresponder/Android.bp +215 -0
- package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.c +75 -0
- package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.h +41 -0
- package/android/src/main/jni/mdnsresponder/Clients/Makefile +54 -0
- package/android/src/main/jni/mdnsresponder/Clients/ReadMe.txt +25 -0
- package/android/src/main/jni/mdnsresponder/Clients/dns-sd.c +1351 -0
- package/android/src/main/jni/mdnsresponder/LICENSE +13 -0
- package/android/src/main/jni/mdnsresponder/MODULE_LICENSE_APACHE2 +0 -0
- package/android/src/main/jni/mdnsresponder/Makefile +41 -0
- package/android/src/main/jni/mdnsresponder/NOTICE +13 -0
- package/android/src/main/jni/mdnsresponder/PrivateDNS.txt +275 -0
- package/android/src/main/jni/mdnsresponder/README.txt +166 -0
- package/android/src/main/jni/mdnsresponder/README.version +3 -0
- package/android/src/main/jni/mdnsresponder/android/caseMapping/Iphlpapi.h +1 -0
- package/android/src/main/jni/mdnsresponder/android/caseMapping/README +3 -0
- package/android/src/main/jni/mdnsresponder/android/caseMapping/Resource.h +1 -0
- package/android/src/main/jni/mdnsresponder/android/caseMapping/Ws2tcpip.h +1 -0
- package/android/src/main/jni/mdnsresponder/android/caseMapping/ipExport.h +1 -0
- package/android/src/main/jni/mdnsresponder/android/windows_firewall_dummy.c +10 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/DNSCommon.c +3157 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/DNSCommon.h +292 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/DNSDigest.c +1579 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/Implementer Notes.txt +66 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/mDNS.c +11469 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/mDNSDebug.h +164 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/mDNSEmbeddedAPI.h +2974 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/uDNS.c +4969 -0
- package/android/src/main/jni/mdnsresponder/mDNSCore/uDNS.h +132 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/Client.c +223 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.c +91 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.h +18 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/Identify.c +378 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/Makefile +520 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/NetMonitor.c +1010 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/PosixDaemon.c +329 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/ProxyResponder.c +300 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/ReadMe.txt +314 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/Responder.c +792 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/Services.txt +36 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/libnss_mdns.8 +148 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.c +1685 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.h +88 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSUNP.c +726 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSUNP.h +130 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mdnsd.sh +73 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_ReadMe.txt +125 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.c +2723 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf +13 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf.5 +135 -0
- package/android/src/main/jni/mdnsresponder/mDNSPosix/parselog.py +247 -0
- package/android/src/main/jni/mdnsresponder/mDNSResponder.sln +400 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/CommonServices.h +1537 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.c +3075 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.h +1607 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/GenLinkedList.c +319 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/GenLinkedList.h +90 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/PlatformCommon.c +220 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/PlatformCommon.h +18 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dns-sd.1 +194 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dns_sd.h +2452 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.8 +69 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.c +3146 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.conf +60 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.h +163 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_lexer.l +84 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_parser.y +585 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientlib.c +368 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientshim.c +802 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientstub.c +1988 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_ipc.c +161 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_ipc.h +219 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/mDNS.1 +198 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/mDNSDebug.c +93 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/mDNSResponder.8 +116 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/uds_daemon.c +4758 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/uds_daemon.h +80 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.cpp +441 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.h +156 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.cpp +59 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.h +48 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp +301 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.h +105 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.cpp +380 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.def +20 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.h +84 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.rc +141 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.vcproj +727 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelDll.rc +123 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp +373 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.h +48 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.rc +123 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.vcproj +764 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.rc +270 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.vcproj +487 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.rc +134 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.vcproj +518 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.cpp +197 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.h +87 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.cpp +387 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.h +75 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.cpp +544 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.h +107 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.cpp +273 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.h +123 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.cpp +115 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.h +54 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.dll.manifest +10 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.exe.manifest +17 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.manifest +17 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.rc2 +13 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel64.manifest +17 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/EnergySaver.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/controlpanel.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/failure.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/success.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/resource.h +56 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.cpp +20 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.h +64 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.aps +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.rc +102 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dllmain.c +112 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.def +48 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.vcproj +472 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/resource.h +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/AssemblyInfo.cpp +84 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/PString.h +70 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.cpp +22 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.h +33 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.cpp +1234 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.h +1392 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.rc +113 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.vcproj +446 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/resource.h +3 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.cpp +693 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.h +52 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.vcproj +324 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.cpp +208 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.def +35 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.idl +491 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rc +126 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rgs +11 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.vcproj +625 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSD.cpp +892 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.cpp +31 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.h +133 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.rgs +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.cpp +101 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.h +185 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.rgs +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.cpp +2095 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.h +429 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.rgs +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.cpp +344 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.h +102 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.cpp +381 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.h +203 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.rgs +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/_IDNSSDEvents_CP.h +358 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.c +51 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.h +49 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/resource.h +30 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/stdafx.h +88 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.sln +21 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.vcproj +253 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.sln +21 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.vcproj +267 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc +323 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc2 +20 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Resource.h +53 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.cpp +71 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.h +62 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.cpp +111 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.h +68 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp +1426 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h +131 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.cpp +109 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.h +53 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.cpp +18 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.h +48 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc +37 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp +868 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw +29 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc +194 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2 +13 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h +28 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h +22 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp +92 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h +57 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp +394 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h +84 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp +18 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h +46 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/Java.vcproj +111 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/jdns_sd.rc +62 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile +143 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile64 +143 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.aps +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.c +581 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.rc +103 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.vcproj +409 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/Prefix.h +28 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/resource.h +27 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.c +128 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.h +70 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/README.txt +85 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/RegNames.h +57 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.c +338 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.h +42 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLog.mc +11 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLogMessages.bin +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.cpp +484 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.h +79 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Prefix.h +30 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.aps +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.c +2669 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.h +30 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.mcp +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.rc +114 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.vcproj +562 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/main.c +32 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder.manifest +12 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder64.manifest +12 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resource.h +17 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resrc1.h +15 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.cpp +165 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.h +36 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.cpp +93 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.h +34 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/WinVersRes.h +35 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/isocode.h +135 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.c +268 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.h +54 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.c +5200 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.h +208 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/ReadMe.txt +15 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.aps +0 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.c +2430 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.def +24 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.rc +104 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.vcproj +457 -0
- package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/resource.h +27 -0
- package/android/src/main/jni/mdnsresponder/mdnsd.rc +7 -0
- package/android/src/main/jni/nameser.h +588 -0
- package/dist/index.js +160 -1
- package/index.d.ts +91 -0
- package/ios/RNZeroconf/RNNetServiceSerializer.m +7 -3
- package/ios/RNZeroconf/RNZeroconf.m +8 -0
- package/package.json +25 -17
- package/src/index.js +183 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
|
|
17
|
+
File: GenLinkedList.c
|
|
18
|
+
|
|
19
|
+
Contains: implementation of generic linked lists.
|
|
20
|
+
|
|
21
|
+
Version: 1.0
|
|
22
|
+
Tabs: 4 spaces
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
#include "GenLinkedList.h"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
// Return the link pointer contained within element e at offset o.
|
|
29
|
+
#define GETLINK( e, o) ( *(void**)((char*) (e) + (o)) )
|
|
30
|
+
|
|
31
|
+
// Assign the link pointer l to element e at offset o.
|
|
32
|
+
#define ASSIGNLINK( e, l, o) ( *((void**)((char*) (e) + (o))) = (l))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// GenLinkedList /////////////////////////////////////////////////////////////
|
|
36
|
+
|
|
37
|
+
void InitLinkedList( GenLinkedList *pList, size_t linkOffset)
|
|
38
|
+
/* Initialize the block of memory pointed to by pList as a linked list. */
|
|
39
|
+
{
|
|
40
|
+
pList->Head = NULL;
|
|
41
|
+
pList->Tail = NULL;
|
|
42
|
+
pList->LinkOffset = linkOffset;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
void AddToTail( GenLinkedList *pList, void *elem)
|
|
47
|
+
/* Add a linked list element to the tail of the list. */
|
|
48
|
+
{
|
|
49
|
+
if ( pList->Tail) {
|
|
50
|
+
ASSIGNLINK( pList->Tail, elem, pList->LinkOffset);
|
|
51
|
+
} else
|
|
52
|
+
pList->Head = elem;
|
|
53
|
+
ASSIGNLINK( elem, NULL, pList->LinkOffset);
|
|
54
|
+
|
|
55
|
+
pList->Tail = elem;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
void AddToHead( GenLinkedList *pList, void *elem)
|
|
60
|
+
/* Add a linked list element to the head of the list. */
|
|
61
|
+
{
|
|
62
|
+
ASSIGNLINK( elem, pList->Head, pList->LinkOffset);
|
|
63
|
+
if ( pList->Tail == NULL)
|
|
64
|
+
pList->Tail = elem;
|
|
65
|
+
|
|
66
|
+
pList->Head = elem;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
int RemoveFromList( GenLinkedList *pList, void *elem)
|
|
71
|
+
/* Remove a linked list element from the list. Return 0 if it was not found. */
|
|
72
|
+
/* If the element is removed, its link will be set to NULL. */
|
|
73
|
+
{
|
|
74
|
+
void *iElem, *lastElem;
|
|
75
|
+
|
|
76
|
+
for ( iElem = pList->Head, lastElem = NULL; iElem; iElem = GETLINK( iElem, pList->LinkOffset)) {
|
|
77
|
+
if ( iElem == elem) {
|
|
78
|
+
if ( lastElem) { // somewhere past the head
|
|
79
|
+
ASSIGNLINK( lastElem, GETLINK( elem, pList->LinkOffset), pList->LinkOffset);
|
|
80
|
+
} else { // at the head
|
|
81
|
+
pList->Head = GETLINK( elem, pList->LinkOffset);
|
|
82
|
+
}
|
|
83
|
+
if ( pList->Tail == elem)
|
|
84
|
+
pList->Tail = lastElem ? lastElem : NULL;
|
|
85
|
+
ASSIGNLINK( elem, NULL, pList->LinkOffset); // maybe catch a stale reference bug.
|
|
86
|
+
return 1;
|
|
87
|
+
}
|
|
88
|
+
lastElem = iElem;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
int ReplaceElem( GenLinkedList *pList, void *elemInList, void *newElem)
|
|
96
|
+
/* Replace an element in the list with a new element, in the same position. */
|
|
97
|
+
{
|
|
98
|
+
void *iElem, *lastElem;
|
|
99
|
+
|
|
100
|
+
if ( elemInList == NULL || newElem == NULL)
|
|
101
|
+
return 0;
|
|
102
|
+
|
|
103
|
+
for ( iElem = pList->Head, lastElem = NULL; iElem; iElem = GETLINK( iElem, pList->LinkOffset))
|
|
104
|
+
{
|
|
105
|
+
if ( iElem == elemInList)
|
|
106
|
+
{
|
|
107
|
+
ASSIGNLINK( newElem, GETLINK( elemInList, pList->LinkOffset), pList->LinkOffset);
|
|
108
|
+
if ( lastElem) // somewhere past the head
|
|
109
|
+
{
|
|
110
|
+
ASSIGNLINK( lastElem, newElem, pList->LinkOffset);
|
|
111
|
+
}
|
|
112
|
+
else // at the head
|
|
113
|
+
{
|
|
114
|
+
pList->Head = newElem;
|
|
115
|
+
}
|
|
116
|
+
if ( pList->Tail == elemInList)
|
|
117
|
+
pList->Tail = newElem;
|
|
118
|
+
return 1;
|
|
119
|
+
}
|
|
120
|
+
lastElem = iElem;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
// GenDoubleLinkedList /////////////////////////////////////////////////////////
|
|
128
|
+
|
|
129
|
+
void InitDoubleLinkedList( GenDoubleLinkedList *pList, size_t fwdLinkOffset,
|
|
130
|
+
size_t backLinkOffset)
|
|
131
|
+
/* Initialize the block of memory pointed to by pList as a double linked list. */
|
|
132
|
+
{
|
|
133
|
+
pList->Head = NULL;
|
|
134
|
+
pList->Tail = NULL;
|
|
135
|
+
pList->FwdLinkOffset = fwdLinkOffset;
|
|
136
|
+
pList->BackLinkOffset = backLinkOffset;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
void DLLAddToHead( GenDoubleLinkedList *pList, void *elem)
|
|
141
|
+
/* Add a linked list element to the head of the list. */
|
|
142
|
+
{
|
|
143
|
+
void *pNext;
|
|
144
|
+
|
|
145
|
+
pNext = pList->Head;
|
|
146
|
+
|
|
147
|
+
// fix up the forward links
|
|
148
|
+
ASSIGNLINK( elem, pList->Head, pList->FwdLinkOffset);
|
|
149
|
+
pList->Head = elem;
|
|
150
|
+
|
|
151
|
+
// fix up the backward links
|
|
152
|
+
if ( pNext) {
|
|
153
|
+
ASSIGNLINK( pNext, elem, pList->BackLinkOffset);
|
|
154
|
+
} else
|
|
155
|
+
pList->Tail = elem;
|
|
156
|
+
ASSIGNLINK( elem, NULL, pList->BackLinkOffset);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
void DLLRemoveFromList( GenDoubleLinkedList *pList, void *elem)
|
|
161
|
+
/* Remove a linked list element from the list. */
|
|
162
|
+
/* When the element is removed, its link will be set to NULL. */
|
|
163
|
+
{
|
|
164
|
+
void *pNext, *pPrev;
|
|
165
|
+
|
|
166
|
+
pNext = GETLINK( elem, pList->FwdLinkOffset);
|
|
167
|
+
pPrev = GETLINK( elem, pList->BackLinkOffset);
|
|
168
|
+
|
|
169
|
+
// fix up the forward links
|
|
170
|
+
if ( pPrev)
|
|
171
|
+
ASSIGNLINK( pPrev, pNext, pList->FwdLinkOffset);
|
|
172
|
+
else
|
|
173
|
+
pList->Head = pNext;
|
|
174
|
+
|
|
175
|
+
// fix up the backward links
|
|
176
|
+
if ( pNext)
|
|
177
|
+
ASSIGNLINK( pNext, pPrev, pList->BackLinkOffset);
|
|
178
|
+
else
|
|
179
|
+
pList->Tail = pPrev;
|
|
180
|
+
|
|
181
|
+
ASSIGNLINK( elem, NULL, pList->FwdLinkOffset);
|
|
182
|
+
ASSIGNLINK( elem, NULL, pList->BackLinkOffset);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
// GenLinkedOffsetList /////////////////////////////////////////////////////
|
|
187
|
+
|
|
188
|
+
// Extract the Next offset from element
|
|
189
|
+
#define GETOFFSET( e, o) ( *(size_t*)((char*) (e) + (o)) )
|
|
190
|
+
|
|
191
|
+
static void AssignOffsetLink( void *elem, void *link, size_t linkOffset);
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
static void AssignOffsetLink( void *elem, void *link, size_t linkOffset)
|
|
195
|
+
// Assign link to elem as an offset from elem. Assign 0 to elem if link is NULL.
|
|
196
|
+
{
|
|
197
|
+
GETOFFSET( elem, linkOffset) = link ? (size_t) link - (size_t) elem : 0;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
void *GetHeadPtr( GenLinkedOffsetList *pList)
|
|
202
|
+
/* Return a pointer to the head element of a list, or NULL if none. */
|
|
203
|
+
{
|
|
204
|
+
return pList->Head ? ( (char*) (pList) + pList->Head) : NULL;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
void *GetTailPtr( GenLinkedOffsetList *pList)
|
|
209
|
+
/* Return a pointer to the tail element of a list, or NULL if none. */
|
|
210
|
+
{
|
|
211
|
+
return pList->Tail ? ( (char*) (pList) + pList->Tail) : NULL;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
void *GetOffsetLink( GenLinkedOffsetList *pList, void *elem)
|
|
216
|
+
/* Return the link pointer contained within element e for pList, or NULL if it is 0. */
|
|
217
|
+
{
|
|
218
|
+
size_t nextOffset;
|
|
219
|
+
|
|
220
|
+
nextOffset = GETOFFSET( elem, pList->LinkOffset);
|
|
221
|
+
|
|
222
|
+
return nextOffset ? (char*) elem + nextOffset : NULL;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
void InitLinkedOffsetList( GenLinkedOffsetList *pList, size_t linkOffset)
|
|
227
|
+
/* Initialize the block of memory pointed to by pList as a linked list. */
|
|
228
|
+
{
|
|
229
|
+
pList->Head = 0;
|
|
230
|
+
pList->Tail = 0;
|
|
231
|
+
pList->LinkOffset = linkOffset;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
void OffsetAddToTail( GenLinkedOffsetList *pList, void *elem)
|
|
236
|
+
/* Add a linked list element to the tail of the list. */
|
|
237
|
+
{
|
|
238
|
+
if ( pList->Tail) {
|
|
239
|
+
AssignOffsetLink( GetTailPtr( pList), elem, pList->LinkOffset);
|
|
240
|
+
} else
|
|
241
|
+
pList->Head = (size_t) elem - (size_t) pList;
|
|
242
|
+
AssignOffsetLink( elem, NULL, pList->LinkOffset);
|
|
243
|
+
|
|
244
|
+
pList->Tail = (size_t) elem - (size_t) pList;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
void OffsetAddToHead( GenLinkedOffsetList *pList, void *elem)
|
|
249
|
+
/* Add a linked list element to the head of the list. */
|
|
250
|
+
{
|
|
251
|
+
AssignOffsetLink( elem, GetHeadPtr( pList), pList->LinkOffset);
|
|
252
|
+
if ( pList->Tail == 0)
|
|
253
|
+
pList->Tail = (size_t) elem - (size_t) pList;
|
|
254
|
+
|
|
255
|
+
pList->Head = (size_t) elem - (size_t) pList;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
int OffsetRemoveFromList( GenLinkedOffsetList *pList, void *elem)
|
|
260
|
+
/* Remove a linked list element from the list. Return 0 if it was not found. */
|
|
261
|
+
/* If the element is removed, its link will be set to NULL. */
|
|
262
|
+
{
|
|
263
|
+
void *iElem, *lastElem;
|
|
264
|
+
|
|
265
|
+
for ( iElem = GetHeadPtr( pList), lastElem = NULL; iElem;
|
|
266
|
+
iElem = GetOffsetLink( pList, iElem))
|
|
267
|
+
{
|
|
268
|
+
if ( iElem == elem) {
|
|
269
|
+
if ( lastElem) { // somewhere past the head
|
|
270
|
+
AssignOffsetLink( lastElem, GetOffsetLink( pList, elem), pList->LinkOffset);
|
|
271
|
+
} else { // at the head
|
|
272
|
+
iElem = GetOffsetLink( pList, elem);
|
|
273
|
+
pList->Head = iElem ? (size_t) iElem - (size_t) pList : 0;
|
|
274
|
+
}
|
|
275
|
+
if ( GetTailPtr( pList) == elem)
|
|
276
|
+
pList->Tail = lastElem ? (size_t) lastElem - (size_t) pList : 0;
|
|
277
|
+
AssignOffsetLink( elem, NULL, pList->LinkOffset); // maybe catch a stale reference bug.
|
|
278
|
+
return 1;
|
|
279
|
+
}
|
|
280
|
+
lastElem = iElem;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return 0;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
int OffsetReplaceElem( GenLinkedOffsetList *pList, void *elemInList, void *newElem)
|
|
288
|
+
/* Replace an element in the list with a new element, in the same position. */
|
|
289
|
+
{
|
|
290
|
+
void *iElem, *lastElem;
|
|
291
|
+
|
|
292
|
+
if ( elemInList == NULL || newElem == NULL)
|
|
293
|
+
return 0;
|
|
294
|
+
|
|
295
|
+
for ( iElem = GetHeadPtr( pList), lastElem = NULL; iElem;
|
|
296
|
+
iElem = GetOffsetLink( pList, iElem))
|
|
297
|
+
{
|
|
298
|
+
if ( iElem == elemInList)
|
|
299
|
+
{
|
|
300
|
+
AssignOffsetLink( newElem, GetOffsetLink( pList, elemInList), pList->LinkOffset);
|
|
301
|
+
if ( lastElem) // somewhere past the head
|
|
302
|
+
{
|
|
303
|
+
AssignOffsetLink( lastElem, newElem, pList->LinkOffset);
|
|
304
|
+
}
|
|
305
|
+
else // at the head
|
|
306
|
+
{
|
|
307
|
+
pList->Head = (size_t) newElem - (size_t) pList;
|
|
308
|
+
}
|
|
309
|
+
if ( GetTailPtr( pList) == elemInList)
|
|
310
|
+
pList->Tail = (size_t) newElem - (size_t) pList;
|
|
311
|
+
return 1;
|
|
312
|
+
}
|
|
313
|
+
lastElem = iElem;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
return 0;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#ifndef __GenLinkedList__
|
|
19
|
+
#define __GenLinkedList__
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
#include <stddef.h>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
struct GenLinkedList
|
|
26
|
+
{
|
|
27
|
+
void *Head,
|
|
28
|
+
*Tail;
|
|
29
|
+
size_t LinkOffset;
|
|
30
|
+
};
|
|
31
|
+
typedef struct GenLinkedList GenLinkedList;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
void InitLinkedList( GenLinkedList *pList, size_t linkOffset);
|
|
35
|
+
|
|
36
|
+
void AddToHead( GenLinkedList *pList, void *elem);
|
|
37
|
+
void AddToTail( GenLinkedList *pList, void *elem);
|
|
38
|
+
|
|
39
|
+
int RemoveFromList( GenLinkedList *pList, void *elem);
|
|
40
|
+
|
|
41
|
+
int ReplaceElem( GenLinkedList *pList, void *elemInList, void *newElem);
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
struct GenDoubleLinkedList
|
|
46
|
+
{
|
|
47
|
+
void *Head,
|
|
48
|
+
*Tail;
|
|
49
|
+
size_t FwdLinkOffset,
|
|
50
|
+
BackLinkOffset;
|
|
51
|
+
};
|
|
52
|
+
typedef struct GenDoubleLinkedList GenDoubleLinkedList;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
void InitDoubleLinkedList( GenDoubleLinkedList *pList, size_t fwdLinkOffset,
|
|
56
|
+
size_t backLinkOffset);
|
|
57
|
+
|
|
58
|
+
void DLLAddToHead( GenDoubleLinkedList *pList, void *elem);
|
|
59
|
+
|
|
60
|
+
void DLLRemoveFromList( GenDoubleLinkedList *pList, void *elem);
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/* A GenLinkedOffsetList is like a GenLinkedList that stores the *Next field as a signed */
|
|
65
|
+
/* offset from the address of the beginning of the element, rather than as a pointer. */
|
|
66
|
+
|
|
67
|
+
struct GenLinkedOffsetList
|
|
68
|
+
{
|
|
69
|
+
size_t Head,
|
|
70
|
+
Tail;
|
|
71
|
+
size_t LinkOffset;
|
|
72
|
+
};
|
|
73
|
+
typedef struct GenLinkedOffsetList GenLinkedOffsetList;
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
void InitLinkedOffsetList( GenLinkedOffsetList *pList, size_t linkOffset);
|
|
77
|
+
|
|
78
|
+
void *GetHeadPtr( GenLinkedOffsetList *pList);
|
|
79
|
+
void *GetTailPtr( GenLinkedOffsetList *pList);
|
|
80
|
+
void *GetOffsetLink( GenLinkedOffsetList *pList, void *elem);
|
|
81
|
+
|
|
82
|
+
void OffsetAddToHead( GenLinkedOffsetList *pList, void *elem);
|
|
83
|
+
void OffsetAddToTail( GenLinkedOffsetList *pList, void *elem);
|
|
84
|
+
|
|
85
|
+
int OffsetRemoveFromList( GenLinkedOffsetList *pList, void *elem);
|
|
86
|
+
|
|
87
|
+
int OffsetReplaceElem( GenLinkedOffsetList *pList, void *elemInList, void *newElem);
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
#endif // __GenLinkedList__
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#include <stdio.h> // Needed for fopen() etc.
|
|
19
|
+
#include <unistd.h> // Needed for close()
|
|
20
|
+
#include <string.h> // Needed for strlen() etc.
|
|
21
|
+
#include <errno.h> // Needed for errno etc.
|
|
22
|
+
#include <sys/socket.h> // Needed for socket() etc.
|
|
23
|
+
#include <netinet/in.h> // Needed for sockaddr_in
|
|
24
|
+
#include <syslog.h>
|
|
25
|
+
|
|
26
|
+
#include "mDNSEmbeddedAPI.h" // Defines the interface provided to the client layer above
|
|
27
|
+
#include "DNSCommon.h"
|
|
28
|
+
#include "PlatformCommon.h"
|
|
29
|
+
|
|
30
|
+
#ifdef __ANDROID__
|
|
31
|
+
#include <android/log.h>
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#ifdef NOT_HAVE_SOCKLEN_T
|
|
35
|
+
typedef unsigned int socklen_t;
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
// Bind a UDP socket to find the source address to a destination
|
|
39
|
+
mDNSexport void mDNSPlatformSourceAddrForDest(mDNSAddr *const src, const mDNSAddr *const dst)
|
|
40
|
+
{
|
|
41
|
+
union { struct sockaddr s; struct sockaddr_in a4; struct sockaddr_in6 a6; } addr;
|
|
42
|
+
socklen_t len = sizeof(addr);
|
|
43
|
+
socklen_t inner_len = 0;
|
|
44
|
+
int sock = socket(AF_INET, SOCK_DGRAM, 0);
|
|
45
|
+
src->type = mDNSAddrType_None;
|
|
46
|
+
if (sock == -1) return;
|
|
47
|
+
if (dst->type == mDNSAddrType_IPv4)
|
|
48
|
+
{
|
|
49
|
+
inner_len = sizeof(addr.a4);
|
|
50
|
+
#ifndef NOT_HAVE_SA_LEN
|
|
51
|
+
addr.a4.sin_len = inner_len;
|
|
52
|
+
#endif
|
|
53
|
+
addr.a4.sin_family = AF_INET;
|
|
54
|
+
addr.a4.sin_port = 1; // Not important, any port will do
|
|
55
|
+
addr.a4.sin_addr.s_addr = dst->ip.v4.NotAnInteger;
|
|
56
|
+
}
|
|
57
|
+
else if (dst->type == mDNSAddrType_IPv6)
|
|
58
|
+
{
|
|
59
|
+
inner_len = sizeof(addr.a6);
|
|
60
|
+
#ifndef NOT_HAVE_SA_LEN
|
|
61
|
+
addr.a6.sin6_len = inner_len;
|
|
62
|
+
#endif
|
|
63
|
+
addr.a6.sin6_family = AF_INET6;
|
|
64
|
+
addr.a6.sin6_flowinfo = 0;
|
|
65
|
+
addr.a6.sin6_port = 1; // Not important, any port will do
|
|
66
|
+
addr.a6.sin6_addr = *(struct in6_addr*)&dst->ip.v6;
|
|
67
|
+
addr.a6.sin6_scope_id = 0;
|
|
68
|
+
}
|
|
69
|
+
else return;
|
|
70
|
+
|
|
71
|
+
if ((connect(sock, &addr.s, inner_len)) < 0)
|
|
72
|
+
{ LogMsg("mDNSPlatformSourceAddrForDest: connect %#a failed errno %d (%s)", dst, errno, strerror(errno)); goto exit; }
|
|
73
|
+
|
|
74
|
+
if ((getsockname(sock, &addr.s, &len)) < 0)
|
|
75
|
+
{ LogMsg("mDNSPlatformSourceAddrForDest: getsockname failed errno %d (%s)", errno, strerror(errno)); goto exit; }
|
|
76
|
+
|
|
77
|
+
src->type = dst->type;
|
|
78
|
+
if (dst->type == mDNSAddrType_IPv4) src->ip.v4.NotAnInteger = addr.a4.sin_addr.s_addr;
|
|
79
|
+
else src->ip.v6 = *(mDNSv6Addr*)&addr.a6.sin6_addr;
|
|
80
|
+
exit:
|
|
81
|
+
close(sock);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// dst must be at least MAX_ESCAPED_DOMAIN_NAME bytes, and option must be less than 32 bytes in length
|
|
85
|
+
mDNSlocal mDNSBool GetConfigOption(char *dst, const char *option, FILE *f)
|
|
86
|
+
{
|
|
87
|
+
char buf[32+1+MAX_ESCAPED_DOMAIN_NAME]; // Option name, one space, option value
|
|
88
|
+
unsigned int len = strlen(option);
|
|
89
|
+
if (len + 1 + MAX_ESCAPED_DOMAIN_NAME > sizeof(buf)-1) { LogMsg("GetConfigOption: option %s too long", option); return mDNSfalse; }
|
|
90
|
+
fseek(f, 0, SEEK_SET); // set position to beginning of stream
|
|
91
|
+
while (fgets(buf, sizeof(buf), f)) // Read at most sizeof(buf)-1 bytes from file, and append '\0' C-string terminator
|
|
92
|
+
{
|
|
93
|
+
if (!strncmp(buf, option, len))
|
|
94
|
+
{
|
|
95
|
+
strncpy(dst, buf + len + 1, MAX_ESCAPED_DOMAIN_NAME-1);
|
|
96
|
+
if (dst[MAX_ESCAPED_DOMAIN_NAME-1]) dst[MAX_ESCAPED_DOMAIN_NAME-1] = '\0';
|
|
97
|
+
len = strlen(dst);
|
|
98
|
+
if (len && dst[len-1] == '\n') dst[len-1] = '\0'; // chop newline
|
|
99
|
+
return mDNStrue;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
debugf("Option %s not set", option);
|
|
103
|
+
return mDNSfalse;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
mDNSexport void ReadDDNSSettingsFromConfFile(mDNS *const m, const char *const filename, domainname *const hostname, domainname *const domain, mDNSBool *DomainDiscoveryDisabled)
|
|
107
|
+
{
|
|
108
|
+
char buf[MAX_ESCAPED_DOMAIN_NAME] = "";
|
|
109
|
+
mStatus err;
|
|
110
|
+
FILE *f = fopen(filename, "r");
|
|
111
|
+
|
|
112
|
+
if (hostname) hostname->c[0] = 0;
|
|
113
|
+
if (domain) domain->c[0] = 0;
|
|
114
|
+
if (DomainDiscoveryDisabled) *DomainDiscoveryDisabled = mDNSfalse;
|
|
115
|
+
|
|
116
|
+
if (f)
|
|
117
|
+
{
|
|
118
|
+
if (DomainDiscoveryDisabled && GetConfigOption(buf, "DomainDiscoveryDisabled", f) && !strcasecmp(buf, "true")) *DomainDiscoveryDisabled = mDNStrue;
|
|
119
|
+
if (hostname && GetConfigOption(buf, "hostname", f) && !MakeDomainNameFromDNSNameString(hostname, buf)) goto badf;
|
|
120
|
+
if (domain && GetConfigOption(buf, "zone", f) && !MakeDomainNameFromDNSNameString(domain, buf)) goto badf;
|
|
121
|
+
buf[0] = 0;
|
|
122
|
+
GetConfigOption(buf, "secret-64", f); // failure means no authentication
|
|
123
|
+
fclose(f);
|
|
124
|
+
f = NULL;
|
|
125
|
+
}
|
|
126
|
+
else
|
|
127
|
+
{
|
|
128
|
+
if (errno != ENOENT) LogMsg("ERROR: Config file exists, but cannot be opened.");
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (domain && domain->c[0] && buf[0])
|
|
133
|
+
{
|
|
134
|
+
DomainAuthInfo *info = (DomainAuthInfo*)mDNSPlatformMemAllocate(sizeof(*info));
|
|
135
|
+
// for now we assume keyname = service reg domain and we use same key for service and hostname registration
|
|
136
|
+
err = mDNS_SetSecretForDomain(m, info, domain, domain, buf, NULL, 0, NULL);
|
|
137
|
+
if (err) LogMsg("ERROR: mDNS_SetSecretForDomain returned %d for domain %##s", err, domain->c);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return;
|
|
141
|
+
|
|
142
|
+
badf:
|
|
143
|
+
LogMsg("ERROR: malformatted config file");
|
|
144
|
+
if (f) fclose(f);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
#if MDNS_DEBUGMSGS
|
|
148
|
+
mDNSexport void mDNSPlatformWriteDebugMsg(const char *msg)
|
|
149
|
+
{
|
|
150
|
+
#ifdef __ANDROID__
|
|
151
|
+
__android_log_print(ANDROID_LOG_DEBUG, "mdns", "%s", msg);
|
|
152
|
+
#else
|
|
153
|
+
fprintf(stderr,"%s\n", msg);
|
|
154
|
+
fflush(stderr);
|
|
155
|
+
#endif
|
|
156
|
+
}
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
mDNSexport void mDNSPlatformWriteLogMsg(const char *ident, const char *buffer, mDNSLogLevel_t loglevel)
|
|
160
|
+
{
|
|
161
|
+
#if APPLE_OSX_mDNSResponder && LogTimeStamps
|
|
162
|
+
extern mDNS mDNSStorage;
|
|
163
|
+
extern mDNSu32 mDNSPlatformClockDivisor;
|
|
164
|
+
mDNSs32 t = mDNSStorage.timenow ? mDNSStorage.timenow : mDNSPlatformClockDivisor ? mDNS_TimeNow_NoLock(&mDNSStorage) : 0;
|
|
165
|
+
int ms = ((t < 0) ? -t : t) % 1000;
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
if (mDNS_DebugMode) // In debug mode we write to stderr
|
|
169
|
+
{
|
|
170
|
+
#if APPLE_OSX_mDNSResponder && LogTimeStamps
|
|
171
|
+
if (ident && ident[0] && mDNSPlatformClockDivisor)
|
|
172
|
+
fprintf(stderr,"%8d.%03d: %s\n", (int)(t/1000), ms, buffer);
|
|
173
|
+
else
|
|
174
|
+
#endif
|
|
175
|
+
fprintf(stderr,"%s\n", buffer);
|
|
176
|
+
fflush(stderr);
|
|
177
|
+
}
|
|
178
|
+
else // else, in production mode, we write to syslog
|
|
179
|
+
{
|
|
180
|
+
static int log_inited = 0;
|
|
181
|
+
|
|
182
|
+
int syslog_level = LOG_ERR;
|
|
183
|
+
switch (loglevel)
|
|
184
|
+
{
|
|
185
|
+
case MDNS_LOG_MSG: syslog_level = LOG_ERR; break;
|
|
186
|
+
case MDNS_LOG_OPERATION: syslog_level = LOG_WARNING; break;
|
|
187
|
+
case MDNS_LOG_SPS: syslog_level = LOG_NOTICE; break;
|
|
188
|
+
case MDNS_LOG_INFO: syslog_level = LOG_INFO; break;
|
|
189
|
+
case MDNS_LOG_DEBUG: syslog_level = LOG_DEBUG; break;
|
|
190
|
+
default:
|
|
191
|
+
fprintf(stderr, "Unknown loglevel %d, assuming LOG_ERR\n", loglevel);
|
|
192
|
+
fflush(stderr);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (!log_inited) { openlog(ident, LOG_CONS, LOG_DAEMON); log_inited++; }
|
|
196
|
+
|
|
197
|
+
#if APPLE_OSX_mDNSResponder && LogTimeStamps
|
|
198
|
+
if (ident && ident[0] && mDNSPlatformClockDivisor)
|
|
199
|
+
syslog(syslog_level, "%8d.%03d: %s", (int)(t/1000), ms, buffer);
|
|
200
|
+
else
|
|
201
|
+
#endif
|
|
202
|
+
#ifdef __ANDROID__
|
|
203
|
+
switch (loglevel)
|
|
204
|
+
{
|
|
205
|
+
case MDNS_LOG_DEBUG: syslog_level = ANDROID_LOG_DEBUG; break;
|
|
206
|
+
#if MDNS_DEBUGMSGS > 0
|
|
207
|
+
case MDNS_LOG_OPERATION: syslog_level = ANDROID_LOG_WARN; break;
|
|
208
|
+
case MDNS_LOG_SPS: syslog_level = ANDROID_LOG_DEBUG; break;
|
|
209
|
+
case MDNS_LOG_INFO: syslog_level = ANDROID_LOG_INFO; break;
|
|
210
|
+
default: syslog_level = ANDROID_LOG_ERROR; break;
|
|
211
|
+
#else
|
|
212
|
+
default: return;
|
|
213
|
+
#endif
|
|
214
|
+
}
|
|
215
|
+
__android_log_print(syslog_level, "mdns", "%s", buffer);
|
|
216
|
+
#else
|
|
217
|
+
syslog(syslog_level, "%s", buffer);
|
|
218
|
+
#endif
|
|
219
|
+
}
|
|
220
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
extern void ReadDDNSSettingsFromConfFile(mDNS *const m, const char *const filename, domainname *const hostname, domainname *const domain, mDNSBool *DomainDiscoveryDisabled);
|