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,132 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2002-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 __UDNS_H_
|
|
19
|
+
#define __UDNS_H_
|
|
20
|
+
|
|
21
|
+
#include "mDNSEmbeddedAPI.h"
|
|
22
|
+
#include "DNSCommon.h"
|
|
23
|
+
|
|
24
|
+
#ifdef __cplusplus
|
|
25
|
+
extern "C" {
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#define RESTART_GOODBYE_DELAY (6 * mDNSPlatformOneSecond) // delay after restarting LLQ before nuking previous known answers (avoids flutter if we restart before we have networking up)
|
|
29
|
+
#define INIT_UCAST_POLL_INTERVAL (3 * mDNSPlatformOneSecond) // this interval is used after send failures on network transitions
|
|
30
|
+
// which typically heal quickly, so we start agressively and exponentially back off
|
|
31
|
+
#define MAX_UCAST_POLL_INTERVAL (60 * 60 * mDNSPlatformOneSecond)
|
|
32
|
+
//#define MAX_UCAST_POLL_INTERVAL (1 * 60 * mDNSPlatformOneSecond)
|
|
33
|
+
#define LLQ_POLL_INTERVAL (15 * 60 * mDNSPlatformOneSecond) // Polling interval for zones w/ an advertised LLQ port (ie not static zones) if LLQ fails due to NAT, etc.
|
|
34
|
+
#define RESPONSE_WINDOW (60 * mDNSPlatformOneSecond) // require server responses within one minute of request
|
|
35
|
+
#define MAX_UCAST_UNANSWERED_QUERIES 2 // the number of unanswered queries from any one uDNS server before trying another server
|
|
36
|
+
#define DNSSERVER_PENALTY_TIME (60 * mDNSPlatformOneSecond) // number of seconds for which new questions don't pick this server
|
|
37
|
+
|
|
38
|
+
#define DEFAULT_UPDATE_LEASE 7200
|
|
39
|
+
|
|
40
|
+
#define QuestionIntervalStep 3
|
|
41
|
+
#define QuestionIntervalStep2 (QuestionIntervalStep*QuestionIntervalStep)
|
|
42
|
+
#define QuestionIntervalStep3 (QuestionIntervalStep*QuestionIntervalStep*QuestionIntervalStep)
|
|
43
|
+
#define InitialQuestionInterval ((mDNSPlatformOneSecond + QuestionIntervalStep-1) / QuestionIntervalStep)
|
|
44
|
+
|
|
45
|
+
// For Unicast record registrations, we initialize the interval to 1 second. When we send any query for
|
|
46
|
+
// the record registration e.g., GetZoneData, we always back off by QuestionIntervalStep
|
|
47
|
+
// so that the first retry does not happen until 3 seconds which should be enough for TCP/TLS to be done.
|
|
48
|
+
#define INIT_RECORD_REG_INTERVAL (1 * mDNSPlatformOneSecond)
|
|
49
|
+
#define MAX_RECORD_REG_INTERVAL (15 * 60 * mDNSPlatformOneSecond)
|
|
50
|
+
#define MERGE_DELAY_TIME (1 * mDNSPlatformOneSecond)
|
|
51
|
+
|
|
52
|
+
// If we are refreshing, we do it at least 5 times with a min update frequency of
|
|
53
|
+
// 5 minutes
|
|
54
|
+
#define MAX_UPDATE_REFRESH_COUNT 5
|
|
55
|
+
#define MIN_UPDATE_REFRESH_TIME (5 * 60 * mDNSPlatformOneSecond)
|
|
56
|
+
|
|
57
|
+
// For questions that use kDNSServiceFlagsTimeout and we don't have a matching resolver e.g., no dns servers,
|
|
58
|
+
// then use the default value of 30 seconds
|
|
59
|
+
#define DEFAULT_UDNS_TIMEOUT 30 // in seconds
|
|
60
|
+
|
|
61
|
+
// Entry points into unicast-specific routines
|
|
62
|
+
|
|
63
|
+
extern void LLQGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneInfo);
|
|
64
|
+
extern void startLLQHandshake(mDNS *m, DNSQuestion *q);
|
|
65
|
+
extern void sendLLQRefresh(mDNS *m, DNSQuestion *q);
|
|
66
|
+
|
|
67
|
+
extern void SleepRecordRegistrations(mDNS *m);
|
|
68
|
+
|
|
69
|
+
// uDNS_UpdateRecord
|
|
70
|
+
// following fields must be set, and the update validated, upon entry.
|
|
71
|
+
// rr->NewRData
|
|
72
|
+
// rr->newrdlength
|
|
73
|
+
// rr->UpdateCallback
|
|
74
|
+
|
|
75
|
+
extern mStatus uDNS_UpdateRecord(mDNS *m, AuthRecord *rr);
|
|
76
|
+
|
|
77
|
+
extern void SetNextQueryTime(mDNS *const m, const DNSQuestion *const q);
|
|
78
|
+
extern CacheGroup *CacheGroupForName(const mDNS *const m, const mDNSu32 slot, const mDNSu32 namehash, const domainname *const name);
|
|
79
|
+
extern mStatus mDNS_Register_internal(mDNS *const m, AuthRecord *const rr);
|
|
80
|
+
extern mStatus mDNS_Deregister_internal(mDNS *const m, AuthRecord *const rr, mDNS_Dereg_type drt);
|
|
81
|
+
extern mStatus mDNS_StartQuery_internal(mDNS *const m, DNSQuestion *const question);
|
|
82
|
+
extern mStatus mDNS_StopQuery_internal(mDNS *const m, DNSQuestion *const question);
|
|
83
|
+
extern mStatus mDNS_StartNATOperation_internal(mDNS *const m, NATTraversalInfo *traversal);
|
|
84
|
+
|
|
85
|
+
extern void RecordRegistrationGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneData);
|
|
86
|
+
extern mStatus uDNS_DeregisterRecord(mDNS *const m, AuthRecord *const rr);
|
|
87
|
+
extern const domainname *GetServiceTarget(mDNS *m, AuthRecord *const rr);
|
|
88
|
+
extern void uDNS_CheckCurrentQuestion(mDNS *const m);
|
|
89
|
+
|
|
90
|
+
// integer fields of msg header must be in HOST byte order before calling this routine
|
|
91
|
+
extern void uDNS_ReceiveMsg(mDNS *const m, DNSMessage *const msg, const mDNSu8 *const end,
|
|
92
|
+
const mDNSAddr *const srcaddr, const mDNSIPPort srcport);
|
|
93
|
+
|
|
94
|
+
extern void uDNS_Tasks(mDNS *const m);
|
|
95
|
+
extern void UpdateAllSRVRecords(mDNS *m);
|
|
96
|
+
extern void CheckNATMappings(mDNS *m);
|
|
97
|
+
|
|
98
|
+
extern mStatus uDNS_SetupDNSConfig(mDNS *const m);
|
|
99
|
+
|
|
100
|
+
// uDNS_SetupSearchDomains by default adds search domains. It also can be called with one or
|
|
101
|
+
// more values for "action" which does the following:
|
|
102
|
+
//
|
|
103
|
+
// -UDNS_START_WAB_QUERY - start Wide Area Bonjour (domain enumeration) queries
|
|
104
|
+
|
|
105
|
+
#define UDNS_START_WAB_QUERY 0x00000001
|
|
106
|
+
|
|
107
|
+
extern mStatus uDNS_SetupSearchDomains(mDNS *const m, int action);
|
|
108
|
+
extern domainname *uDNS_GetNextSearchDomain(mDNS *const m, mDNSInterfaceID InterfaceID, mDNSs8 *searchIndex, mDNSBool ignoreDotLocal);
|
|
109
|
+
|
|
110
|
+
typedef enum
|
|
111
|
+
{
|
|
112
|
+
uDNS_LLQ_Not = 0, // Normal uDNS answer: Flush any stale records from cache, and respect record TTL
|
|
113
|
+
uDNS_LLQ_Ignore, // LLQ initial challenge packet: ignore -- has no useful records for us
|
|
114
|
+
uDNS_LLQ_Entire, // LLQ initial set of answers: Flush any stale records from cache, but assume TTL is 2 x LLQ refresh interval
|
|
115
|
+
uDNS_LLQ_Events // LLQ event packet: don't flush cache; assume TTL is 2 x LLQ refresh interval
|
|
116
|
+
} uDNS_LLQType;
|
|
117
|
+
|
|
118
|
+
extern uDNS_LLQType uDNS_recvLLQResponse(mDNS *const m, const DNSMessage *const msg, const mDNSu8 *const end, const mDNSAddr *const srcaddr, const mDNSIPPort srcport, DNSQuestion **matchQuestion);
|
|
119
|
+
extern DomainAuthInfo *GetAuthInfoForName_internal(mDNS *m, const domainname *const name);
|
|
120
|
+
extern DomainAuthInfo *GetAuthInfoForQuestion(mDNS *m, const DNSQuestion *const q);
|
|
121
|
+
extern void DisposeTCPConn(struct tcpInfo_t *tcp);
|
|
122
|
+
|
|
123
|
+
// NAT traversal
|
|
124
|
+
extern void uDNS_ReceiveNATPMPPacket(mDNS *m, const mDNSInterfaceID InterfaceID, mDNSu8 *pkt, mDNSu16 len); // Called for each received NAT-PMP packet
|
|
125
|
+
extern void natTraversalHandleAddressReply(mDNS *const m, mDNSu16 err, mDNSv4Addr ExtAddr);
|
|
126
|
+
extern void natTraversalHandlePortMapReply(mDNS *const m, NATTraversalInfo *n, const mDNSInterfaceID InterfaceID, mDNSu16 err, mDNSIPPort extport, mDNSu32 lease);
|
|
127
|
+
|
|
128
|
+
#ifdef __cplusplus
|
|
129
|
+
}
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
#endif // __UDNS_H_
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2002-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 <assert.h>
|
|
19
|
+
#include <signal.h>
|
|
20
|
+
#include <stdio.h>
|
|
21
|
+
#include <string.h>
|
|
22
|
+
#include <unistd.h>
|
|
23
|
+
#include <stdlib.h>
|
|
24
|
+
|
|
25
|
+
#include "mDNSEmbeddedAPI.h"// Defines the interface to the mDNS core code
|
|
26
|
+
#include "mDNSPosix.h" // Defines the specific types needed to run mDNS on this platform
|
|
27
|
+
#include "ExampleClientApp.h"
|
|
28
|
+
|
|
29
|
+
// Globals
|
|
30
|
+
static mDNS mDNSStorage; // mDNS core uses this to store its globals
|
|
31
|
+
static mDNS_PlatformSupport PlatformStorage; // Stores this platform's globals
|
|
32
|
+
#define RR_CACHE_SIZE 500
|
|
33
|
+
static CacheEntity gRRCache[RR_CACHE_SIZE];
|
|
34
|
+
|
|
35
|
+
mDNSexport const char ProgramName[] = "mDNSClientPosix";
|
|
36
|
+
|
|
37
|
+
static const char *gProgramName = ProgramName;
|
|
38
|
+
|
|
39
|
+
static void BrowseCallback(mDNS *const m, DNSQuestion *question, const ResourceRecord *const answer, QC_result AddRecord)
|
|
40
|
+
// A callback from the core mDNS code that indicates that we've received a
|
|
41
|
+
// response to our query. Note that this code runs on the main thread
|
|
42
|
+
// (in fact, there is only one thread!), so we can safely printf the results.
|
|
43
|
+
{
|
|
44
|
+
domainlabel name;
|
|
45
|
+
domainname type;
|
|
46
|
+
domainname domain;
|
|
47
|
+
char nameC [MAX_DOMAIN_LABEL+1]; // Unescaped name: up to 63 bytes plus C-string terminating NULL.
|
|
48
|
+
char typeC [MAX_ESCAPED_DOMAIN_NAME];
|
|
49
|
+
char domainC[MAX_ESCAPED_DOMAIN_NAME];
|
|
50
|
+
const char *state;
|
|
51
|
+
|
|
52
|
+
(void)m; // Unused
|
|
53
|
+
(void)question; // Unused
|
|
54
|
+
|
|
55
|
+
assert(answer->rrtype == kDNSType_PTR);
|
|
56
|
+
|
|
57
|
+
DeconstructServiceName(&answer->rdata->u.name, &name, &type, &domain);
|
|
58
|
+
|
|
59
|
+
ConvertDomainLabelToCString_unescaped(&name, nameC);
|
|
60
|
+
ConvertDomainNameToCString(&type, typeC);
|
|
61
|
+
ConvertDomainNameToCString(&domain, domainC);
|
|
62
|
+
|
|
63
|
+
// If the TTL has hit 0, the service is no longer available.
|
|
64
|
+
if (!AddRecord) {
|
|
65
|
+
state = "Lost ";
|
|
66
|
+
} else {
|
|
67
|
+
state = "Found";
|
|
68
|
+
}
|
|
69
|
+
fprintf(stderr, "*** %s name = '%s', type = '%s', domain = '%s'\n", state, nameC, typeC, domainC);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
static mDNSBool CheckThatServiceTypeIsUsable(const char *serviceType, mDNSBool printExplanation)
|
|
73
|
+
// Checks that serviceType is a reasonable service type
|
|
74
|
+
// label and, if it isn't and printExplanation is true, prints
|
|
75
|
+
// an explanation of why not.
|
|
76
|
+
{
|
|
77
|
+
mDNSBool result;
|
|
78
|
+
|
|
79
|
+
result = mDNStrue;
|
|
80
|
+
if (result && strlen(serviceType) > 63) {
|
|
81
|
+
if (printExplanation) {
|
|
82
|
+
fprintf(stderr,
|
|
83
|
+
"%s: Service type specified by -t is too long (must be 63 characters or less)\n",
|
|
84
|
+
gProgramName);
|
|
85
|
+
}
|
|
86
|
+
result = mDNSfalse;
|
|
87
|
+
}
|
|
88
|
+
if (result && serviceType[0] == 0) {
|
|
89
|
+
if (printExplanation) {
|
|
90
|
+
fprintf(stderr,
|
|
91
|
+
"%s: Service type specified by -t can't be empty\n",
|
|
92
|
+
gProgramName);
|
|
93
|
+
}
|
|
94
|
+
result = mDNSfalse;
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
static const char kDefaultServiceType[] = "_afpovertcp._tcp";
|
|
100
|
+
static const char kDefaultDomain[] = "local.";
|
|
101
|
+
|
|
102
|
+
static void PrintUsage()
|
|
103
|
+
{
|
|
104
|
+
fprintf(stderr,
|
|
105
|
+
"Usage: %s [-v level] [-t type] [-d domain]\n",
|
|
106
|
+
gProgramName);
|
|
107
|
+
fprintf(stderr, " -v verbose mode, level is a number from 0 to 2\n");
|
|
108
|
+
fprintf(stderr, " 0 = no debugging info (default)\n");
|
|
109
|
+
fprintf(stderr, " 1 = standard debugging info\n");
|
|
110
|
+
fprintf(stderr, " 2 = intense debugging info\n");
|
|
111
|
+
fprintf(stderr, " -t uses 'type' as the service type (default is '%s')\n", kDefaultServiceType);
|
|
112
|
+
fprintf(stderr, " -d uses 'domain' as the domain to browse (default is '%s')\n", kDefaultDomain);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
static const char *gServiceType = kDefaultServiceType;
|
|
116
|
+
static const char *gServiceDomain = kDefaultDomain;
|
|
117
|
+
|
|
118
|
+
static void ParseArguments(int argc, char **argv)
|
|
119
|
+
// Parses our command line arguments into the global variables
|
|
120
|
+
// listed above.
|
|
121
|
+
{
|
|
122
|
+
int ch;
|
|
123
|
+
|
|
124
|
+
// Set gProgramName to the last path component of argv[0]
|
|
125
|
+
|
|
126
|
+
gProgramName = strrchr(argv[0], '/');
|
|
127
|
+
if (gProgramName == NULL) {
|
|
128
|
+
gProgramName = argv[0];
|
|
129
|
+
} else {
|
|
130
|
+
gProgramName += 1;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Parse command line options using getopt.
|
|
134
|
+
|
|
135
|
+
do {
|
|
136
|
+
ch = getopt(argc, argv, "v:t:d:");
|
|
137
|
+
if (ch != -1) {
|
|
138
|
+
switch (ch) {
|
|
139
|
+
case 'v':
|
|
140
|
+
gMDNSPlatformPosixVerboseLevel = atoi(optarg);
|
|
141
|
+
if (gMDNSPlatformPosixVerboseLevel < 0 || gMDNSPlatformPosixVerboseLevel > 2) {
|
|
142
|
+
fprintf(stderr,
|
|
143
|
+
"%s: Verbose mode must be in the range 0..2\n",
|
|
144
|
+
gProgramName);
|
|
145
|
+
exit(1);
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
148
|
+
case 't':
|
|
149
|
+
gServiceType = optarg;
|
|
150
|
+
if ( ! CheckThatServiceTypeIsUsable(gServiceType, mDNStrue) ) {
|
|
151
|
+
exit(1);
|
|
152
|
+
}
|
|
153
|
+
break;
|
|
154
|
+
case 'd':
|
|
155
|
+
gServiceDomain = optarg;
|
|
156
|
+
break;
|
|
157
|
+
case '?':
|
|
158
|
+
default:
|
|
159
|
+
PrintUsage();
|
|
160
|
+
exit(1);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
} while (ch != -1);
|
|
165
|
+
|
|
166
|
+
// Check for any left over command line arguments.
|
|
167
|
+
|
|
168
|
+
if (optind != argc) {
|
|
169
|
+
fprintf(stderr, "%s: Unexpected argument '%s'\n", gProgramName, argv[optind]);
|
|
170
|
+
exit(1);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
int main(int argc, char **argv)
|
|
175
|
+
// The program's main entry point. The program does a trivial
|
|
176
|
+
// mDNS query, looking for all AFP servers in the local domain.
|
|
177
|
+
{
|
|
178
|
+
int result;
|
|
179
|
+
mStatus status;
|
|
180
|
+
DNSQuestion question;
|
|
181
|
+
domainname type;
|
|
182
|
+
domainname domain;
|
|
183
|
+
|
|
184
|
+
// Parse our command line arguments. This won't come back if there's an error.
|
|
185
|
+
ParseArguments(argc, argv);
|
|
186
|
+
|
|
187
|
+
// Initialise the mDNS core.
|
|
188
|
+
status = mDNS_Init(&mDNSStorage, &PlatformStorage,
|
|
189
|
+
gRRCache, RR_CACHE_SIZE,
|
|
190
|
+
mDNS_Init_DontAdvertiseLocalAddresses,
|
|
191
|
+
mDNS_Init_NoInitCallback, mDNS_Init_NoInitCallbackContext);
|
|
192
|
+
if (status == mStatus_NoError) {
|
|
193
|
+
|
|
194
|
+
// Construct and start the query.
|
|
195
|
+
|
|
196
|
+
MakeDomainNameFromDNSNameString(&type, gServiceType);
|
|
197
|
+
MakeDomainNameFromDNSNameString(&domain, gServiceDomain);
|
|
198
|
+
|
|
199
|
+
status = mDNS_StartBrowse(&mDNSStorage, &question, &type, &domain, mDNSInterface_Any, mDNSfalse, BrowseCallback, NULL);
|
|
200
|
+
|
|
201
|
+
// Run the platform main event loop until the user types ^C.
|
|
202
|
+
// The BrowseCallback routine is responsible for printing
|
|
203
|
+
// any results that we find.
|
|
204
|
+
|
|
205
|
+
if (status == mStatus_NoError) {
|
|
206
|
+
fprintf(stderr, "Hit ^C when you're bored waiting for responses.\n");
|
|
207
|
+
ExampleClientEventLoop(&mDNSStorage);
|
|
208
|
+
mDNS_StopQuery(&mDNSStorage, &question);
|
|
209
|
+
mDNS_Close(&mDNSStorage);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (status == mStatus_NoError) {
|
|
214
|
+
result = 0;
|
|
215
|
+
} else {
|
|
216
|
+
result = 2;
|
|
217
|
+
}
|
|
218
|
+
if ( (result != 0) || (gMDNSPlatformPosixVerboseLevel > 0) ) {
|
|
219
|
+
fprintf(stderr, "%s: Finished with status %d, result %d\n", gProgramName, (int)status, result);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return 0;
|
|
223
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2002-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> // For printf()
|
|
19
|
+
#include <stdlib.h> // For exit() etc.
|
|
20
|
+
#include <string.h> // For strlen() etc.
|
|
21
|
+
#include <unistd.h> // For select()
|
|
22
|
+
#include <errno.h> // For errno, EINTR
|
|
23
|
+
#include <netinet/in.h> // For INADDR_NONE
|
|
24
|
+
#include <arpa/inet.h> // For inet_addr()
|
|
25
|
+
#include <netdb.h> // For gethostbyname()
|
|
26
|
+
#include <signal.h> // For SIGINT, etc.
|
|
27
|
+
|
|
28
|
+
#include "mDNSEmbeddedAPI.h" // Defines the interface to the client layer above
|
|
29
|
+
#include "mDNSPosix.h" // Defines the specific types needed to run mDNS on this platform
|
|
30
|
+
|
|
31
|
+
//*******************************************************************************************
|
|
32
|
+
// Main
|
|
33
|
+
|
|
34
|
+
static volatile mDNSBool StopNow;
|
|
35
|
+
|
|
36
|
+
mDNSlocal void HandleSIG(int signal)
|
|
37
|
+
{
|
|
38
|
+
(void)signal; // Unused
|
|
39
|
+
debugf("%s","");
|
|
40
|
+
debugf("HandleSIG");
|
|
41
|
+
StopNow = mDNStrue;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
mDNSexport void ExampleClientEventLoop(mDNS *const m)
|
|
45
|
+
{
|
|
46
|
+
signal(SIGINT, HandleSIG); // SIGINT is what you get for a Ctrl-C
|
|
47
|
+
signal(SIGTERM, HandleSIG);
|
|
48
|
+
|
|
49
|
+
while (!StopNow)
|
|
50
|
+
{
|
|
51
|
+
int nfds = 0;
|
|
52
|
+
fd_set readfds;
|
|
53
|
+
struct timeval timeout;
|
|
54
|
+
int result;
|
|
55
|
+
|
|
56
|
+
// 1. Set up the fd_set as usual here.
|
|
57
|
+
// This example client has no file descriptors of its own,
|
|
58
|
+
// but a real application would call FD_SET to add them to the set here
|
|
59
|
+
FD_ZERO(&readfds);
|
|
60
|
+
|
|
61
|
+
// 2. Set up the timeout.
|
|
62
|
+
// This example client has no other work it needs to be doing,
|
|
63
|
+
// so we set an effectively infinite timeout
|
|
64
|
+
timeout.tv_sec = 0x3FFFFFFF;
|
|
65
|
+
timeout.tv_usec = 0;
|
|
66
|
+
|
|
67
|
+
// 3. Give the mDNSPosix layer a chance to add its information to the fd_set and timeout
|
|
68
|
+
mDNSPosixGetFDSet(m, &nfds, &readfds, &timeout);
|
|
69
|
+
|
|
70
|
+
// 4. Call select as normal
|
|
71
|
+
verbosedebugf("select(%d, %d.%06d)", nfds, timeout.tv_sec, timeout.tv_usec);
|
|
72
|
+
result = select(nfds, &readfds, NULL, NULL, &timeout);
|
|
73
|
+
|
|
74
|
+
if (result < 0)
|
|
75
|
+
{
|
|
76
|
+
verbosedebugf("select() returned %d errno %d", result, errno);
|
|
77
|
+
if (errno != EINTR) StopNow = mDNStrue;
|
|
78
|
+
}
|
|
79
|
+
else
|
|
80
|
+
{
|
|
81
|
+
// 5. Call mDNSPosixProcessFDSet to let the mDNSPosix layer do its work
|
|
82
|
+
mDNSPosixProcessFDSet(m, &readfds);
|
|
83
|
+
|
|
84
|
+
// 6. This example client has no other work it needs to be doing,
|
|
85
|
+
// but a real client would do its work here
|
|
86
|
+
// ... (do work) ...
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
debugf("Exiting");
|
|
91
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4 -*-
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2002-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
|
+
extern void ExampleClientEventLoop(mDNS *const m);
|