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.
Files changed (295) hide show
  1. package/NOTICE +49 -0
  2. package/README.md +473 -65
  3. package/android/build.gradle +28 -22
  4. package/android/src/main/AndroidManifest.xml +1 -2
  5. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfModule.java +5 -5
  6. package/android/src/main/java/com/balthazargronon/RCTZeroconf/rx2dnssd/DnssdImpl.java +19 -3
  7. package/android/src/main/java/com/github/druk/dnssd/BaseListener.java +33 -0
  8. package/android/src/main/java/com/github/druk/dnssd/BrowseListener.java +67 -0
  9. package/android/src/main/java/com/github/druk/dnssd/DNSRecord.java +47 -0
  10. package/android/src/main/java/com/github/druk/dnssd/DNSSD.java +650 -0
  11. package/android/src/main/java/com/github/druk/dnssd/DNSSDBindable.java +67 -0
  12. package/android/src/main/java/com/github/druk/dnssd/DNSSDEmbedded.java +135 -0
  13. package/android/src/main/java/com/github/druk/dnssd/DNSSDException.java +66 -0
  14. package/android/src/main/java/com/github/druk/dnssd/DNSSDRecordRegistrar.java +55 -0
  15. package/android/src/main/java/com/github/druk/dnssd/DNSSDRegistration.java +54 -0
  16. package/android/src/main/java/com/github/druk/dnssd/DNSSDService.java +35 -0
  17. package/android/src/main/java/com/github/druk/dnssd/DomainListener.java +57 -0
  18. package/android/src/main/java/com/github/druk/dnssd/InternalBrowseListener.java +76 -0
  19. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSD.java +870 -0
  20. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRecordRegistrar.java +30 -0
  21. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRegistration.java +34 -0
  22. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDService.java +29 -0
  23. package/android/src/main/java/com/github/druk/dnssd/InternalDomainListener.java +62 -0
  24. package/android/src/main/java/com/github/druk/dnssd/InternalQueryListener.java +61 -0
  25. package/android/src/main/java/com/github/druk/dnssd/InternalRegisterListener.java +51 -0
  26. package/android/src/main/java/com/github/druk/dnssd/InternalResolveListener.java +58 -0
  27. package/android/src/main/java/com/github/druk/dnssd/NSClass.java +16 -0
  28. package/android/src/main/java/com/github/druk/dnssd/NSType.java +58 -0
  29. package/android/src/main/java/com/github/druk/dnssd/QueryListener.java +54 -0
  30. package/android/src/main/java/com/github/druk/dnssd/RegisterListener.java +46 -0
  31. package/android/src/main/java/com/github/druk/dnssd/RegisterRecordListener.java +35 -0
  32. package/android/src/main/java/com/github/druk/dnssd/ResolveListener.java +55 -0
  33. package/android/src/main/java/com/github/druk/dnssd/TXTRecord.java +293 -0
  34. package/android/src/main/java/com/github/druk/rx2dnssd/BonjourService.java +400 -0
  35. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2BrowseListener.java +55 -0
  36. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2Dnssd.java +127 -0
  37. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdBindable.java +35 -0
  38. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdCommon.java +280 -0
  39. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdEmbedded.java +31 -0
  40. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2QueryListener.java +70 -0
  41. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2RegisterListener.java +47 -0
  42. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2ResolveListener.java +51 -0
  43. package/android/src/main/jni/Android.mk +95 -0
  44. package/android/src/main/jni/Application.mk +3 -0
  45. package/android/src/main/jni/DNSSD.java.h +290 -0
  46. package/android/src/main/jni/JNISupport.c +1140 -0
  47. package/android/src/main/jni/mdnsresponder/Android.bp +215 -0
  48. package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.c +75 -0
  49. package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.h +41 -0
  50. package/android/src/main/jni/mdnsresponder/Clients/Makefile +54 -0
  51. package/android/src/main/jni/mdnsresponder/Clients/ReadMe.txt +25 -0
  52. package/android/src/main/jni/mdnsresponder/Clients/dns-sd.c +1351 -0
  53. package/android/src/main/jni/mdnsresponder/LICENSE +13 -0
  54. package/android/src/main/jni/mdnsresponder/MODULE_LICENSE_APACHE2 +0 -0
  55. package/android/src/main/jni/mdnsresponder/Makefile +41 -0
  56. package/android/src/main/jni/mdnsresponder/NOTICE +13 -0
  57. package/android/src/main/jni/mdnsresponder/PrivateDNS.txt +275 -0
  58. package/android/src/main/jni/mdnsresponder/README.txt +166 -0
  59. package/android/src/main/jni/mdnsresponder/README.version +3 -0
  60. package/android/src/main/jni/mdnsresponder/android/caseMapping/Iphlpapi.h +1 -0
  61. package/android/src/main/jni/mdnsresponder/android/caseMapping/README +3 -0
  62. package/android/src/main/jni/mdnsresponder/android/caseMapping/Resource.h +1 -0
  63. package/android/src/main/jni/mdnsresponder/android/caseMapping/Ws2tcpip.h +1 -0
  64. package/android/src/main/jni/mdnsresponder/android/caseMapping/ipExport.h +1 -0
  65. package/android/src/main/jni/mdnsresponder/android/windows_firewall_dummy.c +10 -0
  66. package/android/src/main/jni/mdnsresponder/mDNSCore/DNSCommon.c +3157 -0
  67. package/android/src/main/jni/mdnsresponder/mDNSCore/DNSCommon.h +292 -0
  68. package/android/src/main/jni/mdnsresponder/mDNSCore/DNSDigest.c +1579 -0
  69. package/android/src/main/jni/mdnsresponder/mDNSCore/Implementer Notes.txt +66 -0
  70. package/android/src/main/jni/mdnsresponder/mDNSCore/mDNS.c +11469 -0
  71. package/android/src/main/jni/mdnsresponder/mDNSCore/mDNSDebug.h +164 -0
  72. package/android/src/main/jni/mdnsresponder/mDNSCore/mDNSEmbeddedAPI.h +2974 -0
  73. package/android/src/main/jni/mdnsresponder/mDNSCore/uDNS.c +4969 -0
  74. package/android/src/main/jni/mdnsresponder/mDNSCore/uDNS.h +132 -0
  75. package/android/src/main/jni/mdnsresponder/mDNSPosix/Client.c +223 -0
  76. package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.c +91 -0
  77. package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.h +18 -0
  78. package/android/src/main/jni/mdnsresponder/mDNSPosix/Identify.c +378 -0
  79. package/android/src/main/jni/mdnsresponder/mDNSPosix/Makefile +520 -0
  80. package/android/src/main/jni/mdnsresponder/mDNSPosix/NetMonitor.c +1010 -0
  81. package/android/src/main/jni/mdnsresponder/mDNSPosix/PosixDaemon.c +329 -0
  82. package/android/src/main/jni/mdnsresponder/mDNSPosix/ProxyResponder.c +300 -0
  83. package/android/src/main/jni/mdnsresponder/mDNSPosix/ReadMe.txt +314 -0
  84. package/android/src/main/jni/mdnsresponder/mDNSPosix/Responder.c +792 -0
  85. package/android/src/main/jni/mdnsresponder/mDNSPosix/Services.txt +36 -0
  86. package/android/src/main/jni/mdnsresponder/mDNSPosix/libnss_mdns.8 +148 -0
  87. package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.c +1685 -0
  88. package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.h +88 -0
  89. package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSUNP.c +726 -0
  90. package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSUNP.h +130 -0
  91. package/android/src/main/jni/mdnsresponder/mDNSPosix/mdnsd.sh +73 -0
  92. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_ReadMe.txt +125 -0
  93. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.c +2723 -0
  94. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf +13 -0
  95. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf.5 +135 -0
  96. package/android/src/main/jni/mdnsresponder/mDNSPosix/parselog.py +247 -0
  97. package/android/src/main/jni/mdnsresponder/mDNSResponder.sln +400 -0
  98. package/android/src/main/jni/mdnsresponder/mDNSShared/CommonServices.h +1537 -0
  99. package/android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.c +3075 -0
  100. package/android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.h +1607 -0
  101. package/android/src/main/jni/mdnsresponder/mDNSShared/GenLinkedList.c +319 -0
  102. package/android/src/main/jni/mdnsresponder/mDNSShared/GenLinkedList.h +90 -0
  103. package/android/src/main/jni/mdnsresponder/mDNSShared/PlatformCommon.c +220 -0
  104. package/android/src/main/jni/mdnsresponder/mDNSShared/PlatformCommon.h +18 -0
  105. package/android/src/main/jni/mdnsresponder/mDNSShared/dns-sd.1 +194 -0
  106. package/android/src/main/jni/mdnsresponder/mDNSShared/dns_sd.h +2452 -0
  107. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.8 +69 -0
  108. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.c +3146 -0
  109. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.conf +60 -0
  110. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.h +163 -0
  111. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_lexer.l +84 -0
  112. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_parser.y +585 -0
  113. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientlib.c +368 -0
  114. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientshim.c +802 -0
  115. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientstub.c +1988 -0
  116. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_ipc.c +161 -0
  117. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_ipc.h +219 -0
  118. package/android/src/main/jni/mdnsresponder/mDNSShared/mDNS.1 +198 -0
  119. package/android/src/main/jni/mdnsresponder/mDNSShared/mDNSDebug.c +93 -0
  120. package/android/src/main/jni/mdnsresponder/mDNSShared/mDNSResponder.8 +116 -0
  121. package/android/src/main/jni/mdnsresponder/mDNSShared/uds_daemon.c +4758 -0
  122. package/android/src/main/jni/mdnsresponder/mDNSShared/uds_daemon.h +80 -0
  123. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.cpp +441 -0
  124. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.h +156 -0
  125. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.cpp +59 -0
  126. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.h +48 -0
  127. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp +301 -0
  128. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.h +105 -0
  129. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.cpp +380 -0
  130. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.def +20 -0
  131. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.h +84 -0
  132. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.rc +141 -0
  133. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.vcproj +727 -0
  134. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelDll.rc +123 -0
  135. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp +373 -0
  136. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.h +48 -0
  137. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.rc +123 -0
  138. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.vcproj +764 -0
  139. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.rc +270 -0
  140. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.vcproj +487 -0
  141. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.rc +134 -0
  142. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.vcproj +518 -0
  143. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.cpp +197 -0
  144. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.h +87 -0
  145. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.cpp +387 -0
  146. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.h +75 -0
  147. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.cpp +544 -0
  148. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.h +107 -0
  149. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.cpp +273 -0
  150. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.h +123 -0
  151. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.cpp +115 -0
  152. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.h +54 -0
  153. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.dll.manifest +10 -0
  154. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.exe.manifest +17 -0
  155. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.manifest +17 -0
  156. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.rc2 +13 -0
  157. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel64.manifest +17 -0
  158. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/EnergySaver.ico +0 -0
  159. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/controlpanel.ico +0 -0
  160. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/failure.ico +0 -0
  161. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/success.ico +0 -0
  162. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/resource.h +56 -0
  163. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.cpp +20 -0
  164. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.h +64 -0
  165. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.aps +0 -0
  166. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.rc +102 -0
  167. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dllmain.c +112 -0
  168. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.def +48 -0
  169. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.vcproj +472 -0
  170. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/resource.h +27 -0
  171. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/AssemblyInfo.cpp +84 -0
  172. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/PString.h +70 -0
  173. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.cpp +22 -0
  174. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.h +33 -0
  175. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.cpp +1234 -0
  176. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.h +1392 -0
  177. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.ico +0 -0
  178. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.rc +113 -0
  179. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.vcproj +446 -0
  180. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/resource.h +3 -0
  181. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.cpp +693 -0
  182. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.h +52 -0
  183. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.vcproj +324 -0
  184. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.cpp +208 -0
  185. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.def +35 -0
  186. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.idl +491 -0
  187. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rc +126 -0
  188. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rgs +11 -0
  189. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.vcproj +625 -0
  190. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSD.cpp +892 -0
  191. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.cpp +31 -0
  192. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.h +133 -0
  193. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.rgs +27 -0
  194. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.cpp +101 -0
  195. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.h +185 -0
  196. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.rgs +27 -0
  197. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.cpp +2095 -0
  198. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.h +429 -0
  199. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.rgs +27 -0
  200. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.cpp +344 -0
  201. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.h +102 -0
  202. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.cpp +381 -0
  203. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.h +203 -0
  204. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.rgs +27 -0
  205. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/_IDNSSDEvents_CP.h +358 -0
  206. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.c +51 -0
  207. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.h +49 -0
  208. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/resource.h +30 -0
  209. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/stdafx.h +88 -0
  210. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.sln +21 -0
  211. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.vcproj +253 -0
  212. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.sln +21 -0
  213. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.vcproj +267 -0
  214. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.ico +0 -0
  215. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc +323 -0
  216. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc2 +20 -0
  217. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Resource.h +53 -0
  218. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.cpp +71 -0
  219. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.h +62 -0
  220. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.cpp +111 -0
  221. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.h +68 -0
  222. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp +1426 -0
  223. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h +131 -0
  224. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.cpp +109 -0
  225. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.h +53 -0
  226. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.cpp +18 -0
  227. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.h +48 -0
  228. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc +37 -0
  229. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp +868 -0
  230. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw +29 -0
  231. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico +0 -0
  232. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc +194 -0
  233. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2 +13 -0
  234. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h +28 -0
  235. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h +22 -0
  236. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp +92 -0
  237. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h +57 -0
  238. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp +394 -0
  239. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h +84 -0
  240. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp +18 -0
  241. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h +46 -0
  242. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/Java.vcproj +111 -0
  243. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/jdns_sd.rc +62 -0
  244. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile +143 -0
  245. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile64 +143 -0
  246. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.aps +0 -0
  247. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.c +581 -0
  248. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.rc +103 -0
  249. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.vcproj +409 -0
  250. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/Prefix.h +28 -0
  251. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/resource.h +27 -0
  252. package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.c +128 -0
  253. package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.h +70 -0
  254. package/android/src/main/jni/mdnsresponder/mDNSWindows/README.txt +85 -0
  255. package/android/src/main/jni/mdnsresponder/mDNSWindows/RegNames.h +57 -0
  256. package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.c +338 -0
  257. package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.h +42 -0
  258. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLog.mc +11 -0
  259. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLogMessages.bin +0 -0
  260. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.cpp +484 -0
  261. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.h +79 -0
  262. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Prefix.h +30 -0
  263. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.aps +0 -0
  264. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.c +2669 -0
  265. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.h +30 -0
  266. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.mcp +0 -0
  267. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.rc +114 -0
  268. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.vcproj +562 -0
  269. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/main.c +32 -0
  270. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder.manifest +12 -0
  271. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder64.manifest +12 -0
  272. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resource.h +17 -0
  273. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resrc1.h +15 -0
  274. package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.cpp +165 -0
  275. package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.h +36 -0
  276. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.cpp +93 -0
  277. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.h +34 -0
  278. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinVersRes.h +35 -0
  279. package/android/src/main/jni/mdnsresponder/mDNSWindows/isocode.h +135 -0
  280. package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.c +268 -0
  281. package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.h +54 -0
  282. package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.c +5200 -0
  283. package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.h +208 -0
  284. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/ReadMe.txt +15 -0
  285. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.aps +0 -0
  286. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.c +2430 -0
  287. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.def +24 -0
  288. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.rc +104 -0
  289. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.vcproj +457 -0
  290. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/resource.h +27 -0
  291. package/android/src/main/jni/mdnsresponder/mdnsd.rc +7 -0
  292. package/android/src/main/jni/nameser.h +588 -0
  293. package/dist/index.js +148 -1
  294. package/package.json +23 -17
  295. 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);