react-native-zeroconf 0.13.7 → 0.14.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 +473 -65
- package/android/build.gradle +28 -22
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfModule.java +5 -5
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/rx2dnssd/DnssdImpl.java +19 -3
- 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 +148 -1
- package/package.json +23 -17
- package/src/index.js +166 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2003-2004, Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions are met:
|
|
7
|
+
*
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
9
|
+
* this list of conditions and the following disclaimer.
|
|
10
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
11
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
12
|
+
* and/or other materials provided with the distribution.
|
|
13
|
+
* 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of its
|
|
14
|
+
* contributors may be used to endorse or promote products derived from this
|
|
15
|
+
* software without specific prior written permission.
|
|
16
|
+
*
|
|
17
|
+
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
|
18
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
+
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
|
21
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
22
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
24
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
#include "dnssd_ipc.h"
|
|
30
|
+
|
|
31
|
+
#if defined(_WIN32)
|
|
32
|
+
|
|
33
|
+
char *win32_strerror(int inErrorCode)
|
|
34
|
+
{
|
|
35
|
+
static char buffer[1024];
|
|
36
|
+
DWORD n;
|
|
37
|
+
memset(buffer, 0, sizeof(buffer));
|
|
38
|
+
n = FormatMessageA(
|
|
39
|
+
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
|
|
40
|
+
NULL,
|
|
41
|
+
(DWORD) inErrorCode,
|
|
42
|
+
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
|
43
|
+
buffer,
|
|
44
|
+
sizeof(buffer),
|
|
45
|
+
NULL);
|
|
46
|
+
if (n > 0)
|
|
47
|
+
{
|
|
48
|
+
// Remove any trailing CR's or LF's since some messages have them.
|
|
49
|
+
while ((n > 0) && isspace(((unsigned char *) buffer)[n - 1]))
|
|
50
|
+
buffer[--n] = '\0';
|
|
51
|
+
}
|
|
52
|
+
return buffer;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#endif
|
|
56
|
+
|
|
57
|
+
void put_uint32(const uint32_t l, char **ptr)
|
|
58
|
+
{
|
|
59
|
+
(*ptr)[0] = (char)((l >> 24) & 0xFF);
|
|
60
|
+
(*ptr)[1] = (char)((l >> 16) & 0xFF);
|
|
61
|
+
(*ptr)[2] = (char)((l >> 8) & 0xFF);
|
|
62
|
+
(*ptr)[3] = (char)((l ) & 0xFF);
|
|
63
|
+
*ptr += sizeof(uint32_t);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
uint32_t get_uint32(const char **ptr, const char *end)
|
|
67
|
+
{
|
|
68
|
+
if (!*ptr || *ptr + sizeof(uint32_t) > end)
|
|
69
|
+
{
|
|
70
|
+
*ptr = NULL;
|
|
71
|
+
return(0);
|
|
72
|
+
}
|
|
73
|
+
else
|
|
74
|
+
{
|
|
75
|
+
uint8_t *p = (uint8_t*) *ptr;
|
|
76
|
+
*ptr += sizeof(uint32_t);
|
|
77
|
+
return((uint32_t) ((uint32_t)p[0] << 24 | (uint32_t)p[1] << 16 | (uint32_t)p[2] << 8 | p[3]));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
void put_uint16(uint16_t s, char **ptr)
|
|
82
|
+
{
|
|
83
|
+
(*ptr)[0] = (char)((s >> 8) & 0xFF);
|
|
84
|
+
(*ptr)[1] = (char)((s ) & 0xFF);
|
|
85
|
+
*ptr += sizeof(uint16_t);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
uint16_t get_uint16(const char **ptr, const char *end)
|
|
89
|
+
{
|
|
90
|
+
if (!*ptr || *ptr + sizeof(uint16_t) > end)
|
|
91
|
+
{
|
|
92
|
+
*ptr = NULL;
|
|
93
|
+
return(0);
|
|
94
|
+
}
|
|
95
|
+
else
|
|
96
|
+
{
|
|
97
|
+
uint8_t *p = (uint8_t*) *ptr;
|
|
98
|
+
*ptr += sizeof(uint16_t);
|
|
99
|
+
return((uint16_t) ((uint16_t)p[0] << 8 | p[1]));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
int put_string(const char *str, char **ptr)
|
|
104
|
+
{
|
|
105
|
+
if (!str) str = "";
|
|
106
|
+
strcpy(*ptr, str);
|
|
107
|
+
*ptr += strlen(str) + 1;
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
int get_string(const char **ptr, const char *const end, char *buffer, int buflen)
|
|
112
|
+
{
|
|
113
|
+
if (!*ptr)
|
|
114
|
+
{
|
|
115
|
+
*buffer = 0;
|
|
116
|
+
return(-1);
|
|
117
|
+
}
|
|
118
|
+
else
|
|
119
|
+
{
|
|
120
|
+
char *lim = buffer + buflen; // Calculate limit
|
|
121
|
+
while (*ptr < end && buffer < lim)
|
|
122
|
+
{
|
|
123
|
+
char c = *buffer++ = *(*ptr)++;
|
|
124
|
+
if (c == 0) return(0); // Success
|
|
125
|
+
}
|
|
126
|
+
if (buffer == lim) buffer--;
|
|
127
|
+
*buffer = 0; // Failed, so terminate string,
|
|
128
|
+
*ptr = NULL; // clear pointer,
|
|
129
|
+
return(-1); // and return failure indication
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
void put_rdata(const int rdlen, const unsigned char *rdata, char **ptr)
|
|
134
|
+
{
|
|
135
|
+
memcpy(*ptr, rdata, rdlen);
|
|
136
|
+
*ptr += rdlen;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const char *get_rdata(const char **ptr, const char *end, int rdlen)
|
|
140
|
+
{
|
|
141
|
+
if (!*ptr || *ptr + rdlen > end)
|
|
142
|
+
{
|
|
143
|
+
*ptr = NULL;
|
|
144
|
+
return(0);
|
|
145
|
+
}
|
|
146
|
+
else
|
|
147
|
+
{
|
|
148
|
+
const char *rd = *ptr;
|
|
149
|
+
*ptr += rdlen;
|
|
150
|
+
return rd;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
void ConvertHeaderBytes(ipc_msg_hdr *hdr)
|
|
155
|
+
{
|
|
156
|
+
hdr->version = htonl(hdr->version);
|
|
157
|
+
hdr->datalen = htonl(hdr->datalen);
|
|
158
|
+
hdr->ipc_flags = htonl(hdr->ipc_flags);
|
|
159
|
+
hdr->op = htonl(hdr->op );
|
|
160
|
+
hdr->reg_index = htonl(hdr->reg_index);
|
|
161
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2003-2004, Apple Computer, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions are met:
|
|
7
|
+
*
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
9
|
+
* this list of conditions and the following disclaimer.
|
|
10
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
11
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
12
|
+
* and/or other materials provided with the distribution.
|
|
13
|
+
* 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of its
|
|
14
|
+
* contributors may be used to endorse or promote products derived from this
|
|
15
|
+
* software without specific prior written permission.
|
|
16
|
+
*
|
|
17
|
+
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
|
18
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
+
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
|
21
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
22
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
24
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
#ifndef DNSSD_IPC_H
|
|
30
|
+
#define DNSSD_IPC_H
|
|
31
|
+
|
|
32
|
+
#include "dns_sd.h"
|
|
33
|
+
|
|
34
|
+
//
|
|
35
|
+
// Common cross platform services
|
|
36
|
+
//
|
|
37
|
+
#if defined(WIN32)
|
|
38
|
+
# include <winsock2.h>
|
|
39
|
+
# define dnssd_InvalidSocket INVALID_SOCKET
|
|
40
|
+
# define dnssd_SocketValid(s) ((s) != INVALID_SOCKET)
|
|
41
|
+
# define dnssd_EWOULDBLOCK WSAEWOULDBLOCK
|
|
42
|
+
# define dnssd_EINTR WSAEINTR
|
|
43
|
+
# define dnssd_ECONNRESET WSAECONNRESET
|
|
44
|
+
# define dnssd_sock_t SOCKET
|
|
45
|
+
# define dnssd_socklen_t int
|
|
46
|
+
# define dnssd_close(sock) closesocket(sock)
|
|
47
|
+
# define dnssd_errno WSAGetLastError()
|
|
48
|
+
# define dnssd_strerror(X) win32_strerror(X)
|
|
49
|
+
# define ssize_t int
|
|
50
|
+
# define getpid _getpid
|
|
51
|
+
# define unlink _unlink
|
|
52
|
+
extern char *win32_strerror(int inErrorCode);
|
|
53
|
+
#else
|
|
54
|
+
# include <sys/types.h>
|
|
55
|
+
# include <unistd.h>
|
|
56
|
+
#ifdef __ANDROID__
|
|
57
|
+
# include <sys/socket.h>
|
|
58
|
+
#endif // __ANDROID__
|
|
59
|
+
# include <sys/un.h>
|
|
60
|
+
# include <string.h>
|
|
61
|
+
# include <stdio.h>
|
|
62
|
+
# include <stdlib.h>
|
|
63
|
+
# include <sys/stat.h>
|
|
64
|
+
#ifndef __ANDROID__
|
|
65
|
+
# include <sys/socket.h>
|
|
66
|
+
#endif // !__ANDROID__
|
|
67
|
+
# include <netinet/in.h>
|
|
68
|
+
# define dnssd_InvalidSocket -1
|
|
69
|
+
# define dnssd_SocketValid(s) ((s) >= 0)
|
|
70
|
+
# define dnssd_EWOULDBLOCK EWOULDBLOCK
|
|
71
|
+
# define dnssd_EINTR EINTR
|
|
72
|
+
# define dnssd_ECONNRESET ECONNRESET
|
|
73
|
+
# define dnssd_EPIPE EPIPE
|
|
74
|
+
# define dnssd_sock_t int
|
|
75
|
+
# define dnssd_socklen_t unsigned int
|
|
76
|
+
# define dnssd_close(sock) close(sock)
|
|
77
|
+
# define dnssd_errno errno
|
|
78
|
+
# define dnssd_strerror(X) strerror(X)
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
#if defined(USE_TCP_LOOPBACK)
|
|
82
|
+
# define AF_DNSSD AF_INET
|
|
83
|
+
# define MDNS_TCP_SERVERADDR "127.0.0.1"
|
|
84
|
+
# define MDNS_TCP_SERVERPORT 5354
|
|
85
|
+
# define LISTENQ 5
|
|
86
|
+
# define dnssd_sockaddr_t struct sockaddr_in
|
|
87
|
+
#else
|
|
88
|
+
# define AF_DNSSD AF_LOCAL
|
|
89
|
+
# ifndef MDNS_UDS_SERVERPATH
|
|
90
|
+
# define MDNS_UDS_SERVERPATH "/var/run/mDNSResponder"
|
|
91
|
+
# endif
|
|
92
|
+
# define LISTENQ 100
|
|
93
|
+
// longest legal control path length
|
|
94
|
+
# define MAX_CTLPATH 256
|
|
95
|
+
# define dnssd_sockaddr_t struct sockaddr_un
|
|
96
|
+
#endif
|
|
97
|
+
|
|
98
|
+
// Compatibility workaround
|
|
99
|
+
#ifndef AF_LOCAL
|
|
100
|
+
#define AF_LOCAL AF_UNIX
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
// General UDS constants
|
|
104
|
+
#define TXT_RECORD_INDEX ((uint32_t)(-1)) // record index for default text record
|
|
105
|
+
|
|
106
|
+
// IPC data encoding constants and types
|
|
107
|
+
#define VERSION 1
|
|
108
|
+
#define IPC_FLAGS_NOREPLY 1 // set flag if no asynchronous replies are to be sent to client
|
|
109
|
+
|
|
110
|
+
// Structure packing macro. If we're not using GNUC, it's not fatal. Most compilers naturally pack the on-the-wire
|
|
111
|
+
// structures correctly anyway, so a plain "struct" is usually fine. In the event that structures are not packed
|
|
112
|
+
// correctly, our compile-time assertion checks will catch it and prevent inadvertent generation of non-working code.
|
|
113
|
+
#ifndef packedstruct
|
|
114
|
+
#if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 9)))
|
|
115
|
+
#define packedstruct struct __attribute__((__packed__))
|
|
116
|
+
#define packedunion union __attribute__((__packed__))
|
|
117
|
+
#else
|
|
118
|
+
#define packedstruct struct
|
|
119
|
+
#define packedunion union
|
|
120
|
+
#endif
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
typedef enum
|
|
124
|
+
{
|
|
125
|
+
request_op_none = 0, // No request yet received on this connection
|
|
126
|
+
connection_request = 1, // connected socket via DNSServiceConnect()
|
|
127
|
+
reg_record_request, // reg/remove record only valid for connected sockets
|
|
128
|
+
remove_record_request,
|
|
129
|
+
enumeration_request,
|
|
130
|
+
reg_service_request,
|
|
131
|
+
browse_request,
|
|
132
|
+
resolve_request,
|
|
133
|
+
query_request,
|
|
134
|
+
reconfirm_record_request,
|
|
135
|
+
add_record_request,
|
|
136
|
+
update_record_request,
|
|
137
|
+
setdomain_request, // Up to here is in Tiger and B4W 1.0.3
|
|
138
|
+
getproperty_request, // New in B4W 1.0.4
|
|
139
|
+
port_mapping_request, // New in Leopard and B4W 2.0
|
|
140
|
+
addrinfo_request,
|
|
141
|
+
send_bpf, // New in SL
|
|
142
|
+
sethost_request,
|
|
143
|
+
cancel_request = 63
|
|
144
|
+
} request_op_t;
|
|
145
|
+
|
|
146
|
+
typedef enum
|
|
147
|
+
{
|
|
148
|
+
enumeration_reply_op = 64,
|
|
149
|
+
reg_service_reply_op,
|
|
150
|
+
browse_reply_op,
|
|
151
|
+
resolve_reply_op,
|
|
152
|
+
query_reply_op,
|
|
153
|
+
reg_record_reply_op, // Up to here is in Tiger and B4W 1.0.3
|
|
154
|
+
getproperty_reply_op, // New in B4W 1.0.4
|
|
155
|
+
port_mapping_reply_op, // New in Leopard and B4W 2.0
|
|
156
|
+
addrinfo_reply_op,
|
|
157
|
+
sethost_reply,
|
|
158
|
+
} reply_op_t;
|
|
159
|
+
|
|
160
|
+
#if defined(_WIN64)
|
|
161
|
+
# pragma pack(4)
|
|
162
|
+
#endif
|
|
163
|
+
|
|
164
|
+
// Define context object big enough to hold a 64-bit pointer,
|
|
165
|
+
// to accomodate 64-bit clients communicating with 32-bit daemon.
|
|
166
|
+
// There's no reason for the daemon to ever be a 64-bit process, but its clients might be
|
|
167
|
+
typedef packedunion
|
|
168
|
+
{
|
|
169
|
+
void *context;
|
|
170
|
+
uint32_t u32[2];
|
|
171
|
+
} client_context_t;
|
|
172
|
+
|
|
173
|
+
typedef packedstruct
|
|
174
|
+
{
|
|
175
|
+
uint32_t version;
|
|
176
|
+
uint32_t datalen;
|
|
177
|
+
uint32_t ipc_flags;
|
|
178
|
+
uint32_t op; // request_op_t or reply_op_t
|
|
179
|
+
client_context_t client_context; // context passed from client, returned by server in corresponding reply
|
|
180
|
+
uint32_t reg_index; // identifier for a record registered via DNSServiceRegisterRecord() on a
|
|
181
|
+
// socket connected by DNSServiceCreateConnection(). Must be unique in the scope of the connection, such that and
|
|
182
|
+
// index/socket pair uniquely identifies a record. (Used to select records for removal by DNSServiceRemoveRecord())
|
|
183
|
+
} ipc_msg_hdr;
|
|
184
|
+
|
|
185
|
+
// routines to write to and extract data from message buffers.
|
|
186
|
+
// caller responsible for bounds checking.
|
|
187
|
+
// ptr is the address of the pointer to the start of the field.
|
|
188
|
+
// it is advanced to point to the next field, or the end of the message
|
|
189
|
+
|
|
190
|
+
void put_uint32(const uint32_t l, char **ptr);
|
|
191
|
+
uint32_t get_uint32(const char **ptr, const char *end);
|
|
192
|
+
|
|
193
|
+
void put_uint16(uint16_t s, char **ptr);
|
|
194
|
+
uint16_t get_uint16(const char **ptr, const char *end);
|
|
195
|
+
|
|
196
|
+
#define put_flags put_uint32
|
|
197
|
+
#define get_flags get_uint32
|
|
198
|
+
|
|
199
|
+
#define put_error_code put_uint32
|
|
200
|
+
#define get_error_code get_uint32
|
|
201
|
+
|
|
202
|
+
int put_string(const char *str, char **ptr);
|
|
203
|
+
int get_string(const char **ptr, const char *const end, char *buffer, int buflen);
|
|
204
|
+
|
|
205
|
+
void put_rdata(const int rdlen, const unsigned char *rdata, char **ptr);
|
|
206
|
+
const char *get_rdata(const char **ptr, const char *end, int rdlen); // return value is rdata pointed to by *ptr -
|
|
207
|
+
// rdata is not copied from buffer.
|
|
208
|
+
|
|
209
|
+
void ConvertHeaderBytes(ipc_msg_hdr *hdr);
|
|
210
|
+
|
|
211
|
+
struct CompileTimeAssertionChecks_dnssd_ipc
|
|
212
|
+
{
|
|
213
|
+
// Check that the compiler generated our on-the-wire packet format structure definitions
|
|
214
|
+
// properly packed, without adding padding bytes to align fields on 32-bit or 64-bit boundaries.
|
|
215
|
+
char assert0[(sizeof(client_context_t) == 8) ? 1 : -1];
|
|
216
|
+
char assert1[(sizeof(ipc_msg_hdr) == 28) ? 1 : -1];
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
#endif // DNSSD_IPC_H
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
.\" -*- 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
|
+
.Dd April 2004 \" Date
|
|
18
|
+
.Dt mDNS 1 \" Document Title
|
|
19
|
+
.Os Darwin \" Operating System
|
|
20
|
+
.\"
|
|
21
|
+
.Sh NAME
|
|
22
|
+
.Nm mDNS
|
|
23
|
+
.Nd Multicast DNS (mDNS) & DNS Service Discovery (DNS-SD) Test Tool \" For whatis
|
|
24
|
+
.\"
|
|
25
|
+
.Sh SYNOPSIS
|
|
26
|
+
.Nm Fl R Ar name type domain port Op Ar key=value ...
|
|
27
|
+
.Pp
|
|
28
|
+
.Nm Fl B Ar type domain
|
|
29
|
+
.Pp
|
|
30
|
+
.Nm Fl L Ar name type domain
|
|
31
|
+
.\"
|
|
32
|
+
.Sh DESCRIPTION
|
|
33
|
+
The
|
|
34
|
+
.Nm
|
|
35
|
+
command is a network diagnostic tool, much like
|
|
36
|
+
.Xr ping 8
|
|
37
|
+
or
|
|
38
|
+
.Xr traceroute 8 .
|
|
39
|
+
However, unlike those tools, most of its functionality is not implemented in the
|
|
40
|
+
.Nm
|
|
41
|
+
executable itself, but in library code that is available to any application.
|
|
42
|
+
The library API that
|
|
43
|
+
.Nm
|
|
44
|
+
uses is documented in
|
|
45
|
+
.Pa /usr/include/DNSServiceDiscovery/DNSServiceDiscovery.h .
|
|
46
|
+
Note that this Mach-based API, first introduced in Mac OS X 10.2,
|
|
47
|
+
is now deprecated in favour of the newer
|
|
48
|
+
.Pa /usr/include/dns_sd.h
|
|
49
|
+
API, which is built on Unix Domain Sockets and is supported on
|
|
50
|
+
multiple platforms.
|
|
51
|
+
The command-line tool to exercise the cross-platform
|
|
52
|
+
.Pa dns_sd.h
|
|
53
|
+
API is
|
|
54
|
+
.Xr dns-sd 1 .
|
|
55
|
+
.Pp
|
|
56
|
+
The
|
|
57
|
+
.Nm
|
|
58
|
+
command is primarily intended for interactive use.
|
|
59
|
+
Because its command-line arguments and output format are subject to change,
|
|
60
|
+
invoking it from a shell script will generally be fragile. Additionally,
|
|
61
|
+
the asynchronous nature of DNS Service Discovery does
|
|
62
|
+
not lend itself easily to script-oriented programming. For example,
|
|
63
|
+
calls like "browse" never complete; the action of performing a "browse"
|
|
64
|
+
sets in motion machinery to notify the client whenever instances of
|
|
65
|
+
that service type appear or disappear from the network. These
|
|
66
|
+
notifications continue to be delivered indefinitely, for minutes,
|
|
67
|
+
hours, or even days, as services come and go, until the client
|
|
68
|
+
explicitly terminates the call. This style of asynchronous interaction
|
|
69
|
+
works best with applications that are either multi-threaded, or use a
|
|
70
|
+
main event-handling loop to receive keystrokes, network data, and other
|
|
71
|
+
asynchronous event notifications as they happen.
|
|
72
|
+
.br
|
|
73
|
+
If you wish to perform DNS Service Discovery operations from a
|
|
74
|
+
scripting language, then the best way to do this is not to execute the
|
|
75
|
+
.Nm
|
|
76
|
+
command and then attempt to decipher the textual output, but instead to
|
|
77
|
+
directly call the DNS-SD APIs using a binding for your chosen language.
|
|
78
|
+
.br
|
|
79
|
+
For example, if you are programming in Ruby, then you can
|
|
80
|
+
directly call DNS-SD APIs using the dnssd package documented at
|
|
81
|
+
.Pa <http://rubyforge.org/projects/dnssd/> .
|
|
82
|
+
.br
|
|
83
|
+
Similar bindings for other languages are also in development.
|
|
84
|
+
.Pp
|
|
85
|
+
.Bl -tag -width R
|
|
86
|
+
.It Nm Fl R Ar name type domain port Op Ar key=value ...
|
|
87
|
+
register (advertise) a service in the specified
|
|
88
|
+
.Ar domain
|
|
89
|
+
with the given
|
|
90
|
+
.Ar name
|
|
91
|
+
and
|
|
92
|
+
.Ar type
|
|
93
|
+
as listening (on the current machine) on
|
|
94
|
+
.Ar port.
|
|
95
|
+
.Pp
|
|
96
|
+
.Ar name
|
|
97
|
+
can be arbitrary unicode text, containing any legal unicode characters
|
|
98
|
+
(including dots, spaces, slashes, colons, etc. without restriction),
|
|
99
|
+
up to 63 UTF-8 bytes long.
|
|
100
|
+
.Ar type
|
|
101
|
+
must be of the form "_app-proto._tcp" or "_app-proto._udp", where
|
|
102
|
+
"app-proto" is an application protocol name registered at
|
|
103
|
+
.Pa http://www.dns-sd.org/ServiceTypes.html .
|
|
104
|
+
.Pp
|
|
105
|
+
.Ar domain
|
|
106
|
+
is the domain in which to register the service.
|
|
107
|
+
In current implementations, only the local multicast domain "local" is
|
|
108
|
+
supported. In the future, registering will be supported in any arbitrary
|
|
109
|
+
domain that has a working DNS Update server [RFC 2136]. The
|
|
110
|
+
.Ar domain
|
|
111
|
+
"." is a synonym for "pick a sensible default" which today
|
|
112
|
+
means "local".
|
|
113
|
+
.Pp
|
|
114
|
+
.Ar port
|
|
115
|
+
is a number from 0 to 65535, and is the TCP or UDP port number upon
|
|
116
|
+
which the service is listening.
|
|
117
|
+
.Pp
|
|
118
|
+
Additional attributes of the service may optionally be described by
|
|
119
|
+
key/value pairs, which are stored in the advertised service's DNS TXT
|
|
120
|
+
record. Allowable keys and values are listed with the service
|
|
121
|
+
registration at
|
|
122
|
+
.Pa http://www.dns-sd.org/ServiceTypes.html .
|
|
123
|
+
.It Nm Fl B Ar type domain
|
|
124
|
+
browse for instances of service
|
|
125
|
+
.Ar type
|
|
126
|
+
in
|
|
127
|
+
.Ar domain .
|
|
128
|
+
.Pp
|
|
129
|
+
For valid
|
|
130
|
+
.Ar type Ns s
|
|
131
|
+
see
|
|
132
|
+
.Pa http://www.dns-sd.org/ServiceTypes.html
|
|
133
|
+
as described above. Omitting the
|
|
134
|
+
.Ar domain
|
|
135
|
+
or using "." means "pick a sensible default."
|
|
136
|
+
.It Nm Fl L Ar name type domain
|
|
137
|
+
look up and display the information necessary to contact and use the
|
|
138
|
+
named service: the hostname of the machine where that service is
|
|
139
|
+
available, the port number on which the service is listening, and (if
|
|
140
|
+
present) TXT record attributes describing properties of the service.
|
|
141
|
+
.Pp
|
|
142
|
+
Note that in a typical application, browsing happens rarely, while lookup
|
|
143
|
+
(or "resolving") happens every time the service is used. For example, a
|
|
144
|
+
user browses the network to pick a default printer fairly rarely, but once
|
|
145
|
+
a default printer has been picked, that named service is resolved to its
|
|
146
|
+
current IP address and port number every time the user presses Cmd-P to
|
|
147
|
+
print.
|
|
148
|
+
.El
|
|
149
|
+
.Sh EXAMPLES
|
|
150
|
+
.Pp
|
|
151
|
+
To advertise the existence of LPR printing service on port 515 on this
|
|
152
|
+
machine, such that it will be discovered by the Mac OS X printing software
|
|
153
|
+
and other DNS-SD compatible printing clients, use:
|
|
154
|
+
.Pp
|
|
155
|
+
.Dl Nm Fl R Ns \ \&"My Test\&" _printer._tcp. \&. 515 pdl=application/postscript
|
|
156
|
+
.Pp
|
|
157
|
+
For this registration to be useful, you need to actually have LPR service
|
|
158
|
+
available on port 515. Advertising a service that does not exist is not
|
|
159
|
+
very useful, and will be confusing and annoying to other people on the
|
|
160
|
+
network.
|
|
161
|
+
.Pp
|
|
162
|
+
Similarly, to advertise a web page being served by an HTTP
|
|
163
|
+
server on port 80 on this machine, such that it will show up in the
|
|
164
|
+
Bonjour list in Safari and other DNS-SD compatible Web clients, use:
|
|
165
|
+
.Pp
|
|
166
|
+
.Dl Nm Fl R Ns \ \&"My Test\&" _http._tcp \&. 80 path=/path-to-page.html
|
|
167
|
+
.Pp
|
|
168
|
+
To find the advertised web pages on the local network (the same list that
|
|
169
|
+
Safari shows), use:
|
|
170
|
+
.Pp
|
|
171
|
+
.Dl Nm Fl B Ns \ _http._tcp
|
|
172
|
+
.Pp
|
|
173
|
+
While that command is running, in another window, try the
|
|
174
|
+
.Nm Fl R
|
|
175
|
+
example given above to advertise a web page, and you should see the
|
|
176
|
+
"Add" event reported to the
|
|
177
|
+
.Nm Fl B
|
|
178
|
+
window. Now press Ctrl-C in the
|
|
179
|
+
.Nm Fl R
|
|
180
|
+
window and you should see the "Remove" event reported to the
|
|
181
|
+
.Nm Fl B
|
|
182
|
+
window.
|
|
183
|
+
.Pp
|
|
184
|
+
.Sh FILES
|
|
185
|
+
.Pa /usr/bin/mDNS \" Pathname
|
|
186
|
+
.\"
|
|
187
|
+
.Sh SEE ALSO
|
|
188
|
+
.Xr dns-sd 1
|
|
189
|
+
.Xr mDNSResponder 8
|
|
190
|
+
.\"
|
|
191
|
+
.Sh BUGS
|
|
192
|
+
.Nm
|
|
193
|
+
bugs are tracked in Apple Radar component "mDNSResponder".
|
|
194
|
+
.\"
|
|
195
|
+
.Sh HISTORY
|
|
196
|
+
The
|
|
197
|
+
.Nm
|
|
198
|
+
command first appeared in Mac OS X 10.3 (Panther).
|
|
@@ -0,0 +1,93 @@
|
|
|
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: mDNSDebug.c
|
|
18
|
+
|
|
19
|
+
Contains: Implementation of debugging utilities. Requires a POSIX environment.
|
|
20
|
+
|
|
21
|
+
Version: 1.0
|
|
22
|
+
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
#include "mDNSDebug.h"
|
|
26
|
+
|
|
27
|
+
#include <stdio.h>
|
|
28
|
+
|
|
29
|
+
#if defined(WIN32) || defined(EFI32) || defined(EFI64) || defined(EFIX64)
|
|
30
|
+
// Need to add Windows/EFI syslog support here
|
|
31
|
+
#define LOG_PID 0x01
|
|
32
|
+
#define LOG_CONS 0x02
|
|
33
|
+
#define LOG_PERROR 0x20
|
|
34
|
+
#else
|
|
35
|
+
#include <syslog.h>
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#include "mDNSEmbeddedAPI.h"
|
|
39
|
+
|
|
40
|
+
mDNSexport int mDNS_LoggingEnabled = 0;
|
|
41
|
+
mDNSexport int mDNS_PacketLoggingEnabled = 0;
|
|
42
|
+
|
|
43
|
+
#if MDNS_DEBUGMSGS && !defined(__ANDROID__)
|
|
44
|
+
mDNSexport int mDNS_DebugMode = mDNStrue;
|
|
45
|
+
#else
|
|
46
|
+
mDNSexport int mDNS_DebugMode = mDNSfalse;
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
// Note, this uses mDNS_vsnprintf instead of standard "vsnprintf", because mDNS_vsnprintf knows
|
|
50
|
+
// how to print special data types like IP addresses and length-prefixed domain names
|
|
51
|
+
#if MDNS_DEBUGMSGS > 1
|
|
52
|
+
mDNSexport void verbosedebugf_(const char *format, ...)
|
|
53
|
+
{
|
|
54
|
+
char buffer[512];
|
|
55
|
+
va_list ptr;
|
|
56
|
+
va_start(ptr,format);
|
|
57
|
+
buffer[mDNS_vsnprintf(buffer, sizeof(buffer), format, ptr)] = 0;
|
|
58
|
+
va_end(ptr);
|
|
59
|
+
mDNSPlatformWriteDebugMsg(buffer);
|
|
60
|
+
}
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
// Log message with default "mDNSResponder" ident string at the start
|
|
64
|
+
mDNSlocal void LogMsgWithLevelv(mDNSLogLevel_t logLevel, const char *format, va_list ptr)
|
|
65
|
+
{
|
|
66
|
+
char buffer[512];
|
|
67
|
+
buffer[mDNS_vsnprintf((char *)buffer, sizeof(buffer), format, ptr)] = 0;
|
|
68
|
+
mDNSPlatformWriteLogMsg(ProgramName, buffer, logLevel);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
#define LOG_HELPER_BODY(L) \
|
|
72
|
+
{ \
|
|
73
|
+
va_list ptr; \
|
|
74
|
+
va_start(ptr,format); \
|
|
75
|
+
LogMsgWithLevelv(L, format, ptr); \
|
|
76
|
+
va_end(ptr); \
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// see mDNSDebug.h
|
|
80
|
+
#if !MDNS_HAS_VA_ARG_MACROS
|
|
81
|
+
void LogMsg_(const char *format, ...) LOG_HELPER_BODY(MDNS_LOG_MSG)
|
|
82
|
+
void LogOperation_(const char *format, ...) LOG_HELPER_BODY(MDNS_LOG_OPERATION)
|
|
83
|
+
void LogSPS_(const char *format, ...) LOG_HELPER_BODY(MDNS_LOG_SPS)
|
|
84
|
+
void LogInfo_(const char *format, ...) LOG_HELPER_BODY(MDNS_LOG_INFO)
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#if MDNS_DEBUGMSGS
|
|
88
|
+
void debugf_(const char *format, ...) LOG_HELPER_BODY(MDNS_LOG_DEBUG)
|
|
89
|
+
#endif
|
|
90
|
+
|
|
91
|
+
// Log message with default "mDNSResponder" ident string at the start
|
|
92
|
+
mDNSexport void LogMsgWithLevel(mDNSLogLevel_t logLevel, const char *format, ...)
|
|
93
|
+
LOG_HELPER_BODY(logLevel)
|