react-native-zeroconf 0.13.8 → 0.15.0

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