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,544 @@
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 "SecondPage.h"
19
+ #include "resource.h"
20
+
21
+ #include "ConfigPropertySheet.h"
22
+ #include "SharedSecret.h"
23
+
24
+ #include <WinServices.h>
25
+
26
+ #define MAX_KEY_LENGTH 255
27
+
28
+ IMPLEMENT_DYNCREATE(CSecondPage, CPropertyPage)
29
+
30
+
31
+ //---------------------------------------------------------------------------------------------------------------------------
32
+ // CSecondPage::CSecondPage
33
+ //---------------------------------------------------------------------------------------------------------------------------
34
+
35
+ CSecondPage::CSecondPage()
36
+ :
37
+ CPropertyPage(CSecondPage::IDD),
38
+ m_setupKey( NULL )
39
+ {
40
+ //{{AFX_DATA_INIT(CSecondPage)
41
+ //}}AFX_DATA_INIT
42
+
43
+ OSStatus err;
44
+
45
+ err = RegCreateKeyEx( HKEY_LOCAL_MACHINE, kServiceParametersNode L"\\DynDNS\\Setup\\" kServiceDynDNSRegistrationDomains, 0,
46
+ NULL, REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE|KEY_WOW64_32KEY, NULL, &m_setupKey, NULL );
47
+ check_noerr( err );
48
+ }
49
+
50
+
51
+ //---------------------------------------------------------------------------------------------------------------------------
52
+ // CSecondPage::~CSecondPage
53
+ //---------------------------------------------------------------------------------------------------------------------------
54
+
55
+ CSecondPage::~CSecondPage()
56
+ {
57
+ if ( m_setupKey )
58
+ {
59
+ RegCloseKey( m_setupKey );
60
+ m_setupKey = NULL;
61
+ }
62
+ }
63
+
64
+
65
+ //---------------------------------------------------------------------------------------------------------------------------
66
+ // CSecondPage::DoDataExchange
67
+ //---------------------------------------------------------------------------------------------------------------------------
68
+
69
+ void CSecondPage::DoDataExchange(CDataExchange* pDX)
70
+ {
71
+ CPropertyPage::DoDataExchange(pDX);
72
+ //{{AFX_DATA_MAP(CSecondPage)
73
+ //}}AFX_DATA_MAP
74
+ DDX_Control(pDX, IDC_CHECK1, m_advertiseServicesButton);
75
+ DDX_Control(pDX, IDC_BUTTON1, m_sharedSecretButton);
76
+ DDX_Control(pDX, IDC_COMBO2, m_regDomainsBox);
77
+ }
78
+
79
+ BEGIN_MESSAGE_MAP(CSecondPage, CPropertyPage)
80
+ //{{AFX_MSG_MAP(CSecondPage)
81
+ //}}AFX_MSG_MAP
82
+ ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedSharedSecret)
83
+ ON_BN_CLICKED(IDC_CHECK1, OnBnClickedAdvertise)
84
+ ON_CBN_SELCHANGE(IDC_COMBO1, OnCbnSelChange)
85
+ ON_CBN_EDITCHANGE(IDC_COMBO1, OnCbnEditChange)
86
+ ON_CBN_EDITCHANGE(IDC_COMBO2, OnCbnEditChange)
87
+ ON_CBN_SELCHANGE(IDC_COMBO2, OnCbnSelChange)
88
+
89
+ END_MESSAGE_MAP()
90
+
91
+
92
+ //---------------------------------------------------------------------------------------------------------------------------
93
+ // CSecondPage::SetModified
94
+ //---------------------------------------------------------------------------------------------------------------------------
95
+
96
+ void CSecondPage::SetModified( BOOL bChanged )
97
+ {
98
+ m_modified = bChanged;
99
+
100
+ CPropertyPage::SetModified( bChanged );
101
+ }
102
+
103
+
104
+ //---------------------------------------------------------------------------------------------------------------------------
105
+ // CSecondPage::OnSetActive
106
+ //---------------------------------------------------------------------------------------------------------------------------
107
+
108
+ BOOL
109
+ CSecondPage::OnSetActive()
110
+ {
111
+ CConfigPropertySheet * psheet;
112
+ DWORD err;
113
+ BOOL b = CPropertyPage::OnSetActive();
114
+
115
+ psheet = reinterpret_cast<CConfigPropertySheet*>(GetParent());
116
+ require_quiet( psheet, exit );
117
+
118
+ m_modified = FALSE;
119
+
120
+ // Clear out what's there
121
+
122
+ EmptyComboBox( m_regDomainsBox );
123
+
124
+ // Now populate the registration domain box
125
+
126
+ err = Populate( m_regDomainsBox, m_setupKey, psheet->m_regDomains );
127
+ check_noerr( err );
128
+
129
+ exit:
130
+
131
+ return b;
132
+ }
133
+
134
+
135
+ //---------------------------------------------------------------------------------------------------------------------------
136
+ // CSecondPage::OnOK
137
+ //---------------------------------------------------------------------------------------------------------------------------
138
+
139
+ void
140
+ CSecondPage::OnOK()
141
+ {
142
+ if ( m_modified )
143
+ {
144
+ Commit();
145
+ }
146
+ }
147
+
148
+
149
+
150
+ //---------------------------------------------------------------------------------------------------------------------------
151
+ // CSecondPage::Commit
152
+ //---------------------------------------------------------------------------------------------------------------------------
153
+
154
+ void
155
+ CSecondPage::Commit()
156
+ {
157
+ DWORD err;
158
+
159
+ if ( m_setupKey != NULL )
160
+ {
161
+ err = Commit( m_regDomainsBox, m_setupKey, m_advertiseServicesButton.GetCheck() == BST_CHECKED );
162
+ check_noerr( err );
163
+ }
164
+ }
165
+
166
+
167
+ //---------------------------------------------------------------------------------------------------------------------------
168
+ // CSecondPage::Commit
169
+ //---------------------------------------------------------------------------------------------------------------------------
170
+
171
+ OSStatus
172
+ CSecondPage::Commit( CComboBox & box, HKEY key, DWORD enabled )
173
+ {
174
+ CString selected;
175
+ HKEY subKey = NULL;
176
+ TCHAR subKeyName[MAX_KEY_LENGTH];
177
+ DWORD cSubKeys = 0;
178
+ DWORD cbMaxSubKey;
179
+ DWORD cchMaxClass;
180
+ DWORD dwSize;
181
+ int i;
182
+ OSStatus err = kNoErr;
183
+
184
+ // First, remove all the entries that are there
185
+
186
+ err = RegQueryInfoKey( key, NULL, NULL, NULL, &cSubKeys, &cbMaxSubKey, &cchMaxClass, NULL, NULL, NULL, NULL, NULL );
187
+ require_noerr( err, exit );
188
+
189
+ for ( i = 0; i < (int) cSubKeys; i++ )
190
+ {
191
+ dwSize = MAX_KEY_LENGTH;
192
+
193
+ err = RegEnumKeyEx( key, 0, subKeyName, &dwSize, NULL, NULL, NULL, NULL );
194
+ require_noerr( err, exit );
195
+
196
+ err = RegDeleteKey( key, subKeyName );
197
+ require_noerr( err, exit );
198
+ }
199
+
200
+ // Get selected text
201
+
202
+ box.GetWindowText( selected );
203
+
204
+ // If we haven't seen this string before, add the string to the box and
205
+ // the registry
206
+
207
+ if ( ( selected.GetLength() > 0 ) && ( box.FindStringExact( -1, selected ) == CB_ERR ) )
208
+ {
209
+ CString string;
210
+
211
+ box.AddString( selected );
212
+
213
+ err = RegQueryString( key, L"UserDefined", string );
214
+ check_noerr( err );
215
+
216
+ if ( string.GetLength() )
217
+ {
218
+ string += L"," + selected;
219
+ }
220
+ else
221
+ {
222
+ string = selected;
223
+ }
224
+
225
+ err = RegSetValueEx( key, L"UserDefined", 0, REG_SZ, (LPBYTE) (LPCTSTR) string, ( string.GetLength() + 1) * sizeof( TCHAR ) );
226
+ check_noerr ( err );
227
+ }
228
+
229
+ // Save selected text in registry. This will trigger mDNSResponder to setup
230
+ // DynDNS config again
231
+
232
+ err = RegCreateKeyEx( key, selected, 0,
233
+ NULL, REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE|KEY_WOW64_32KEY, NULL, &subKey, NULL );
234
+ require_noerr( err, exit );
235
+
236
+ err = RegSetValueEx( subKey, L"Enabled", 0, REG_DWORD, (LPBYTE) &enabled, sizeof( DWORD ) );
237
+ check_noerr( err );
238
+
239
+ exit:
240
+
241
+ if ( subKey )
242
+ {
243
+ RegCloseKey( subKey );
244
+ subKey = NULL;
245
+ }
246
+
247
+ return err;
248
+ }
249
+
250
+
251
+ //---------------------------------------------------------------------------------------------------------------------------
252
+ // CSecondPage::OnBnClickedSharedSecret
253
+ //---------------------------------------------------------------------------------------------------------------------------
254
+
255
+ void CSecondPage::OnBnClickedSharedSecret()
256
+ {
257
+ CString name;
258
+
259
+ m_regDomainsBox.GetWindowText( name );
260
+
261
+ CSharedSecret dlg;
262
+
263
+ dlg.Load( name );
264
+
265
+ if ( dlg.DoModal() == IDOK )
266
+ {
267
+ DWORD wakeup = 0;
268
+ DWORD dwSize = sizeof( DWORD );
269
+ OSStatus err;
270
+
271
+ dlg.Commit( name );
272
+
273
+ // We have now updated the secret, however the system service
274
+ // doesn't know about it yet. So we're going to update the
275
+ // registry with a dummy value which will cause the system
276
+ // service to re-initialize it's DynDNS setup
277
+ //
278
+
279
+ RegQueryValueEx( m_setupKey, L"Wakeup", NULL, NULL, (LPBYTE) &wakeup, &dwSize );
280
+
281
+ wakeup++;
282
+
283
+ err = RegSetValueEx( m_setupKey, L"Wakeup", 0, REG_DWORD, (LPBYTE) &wakeup, sizeof( DWORD ) );
284
+ require_noerr( err, exit );
285
+ }
286
+
287
+ exit:
288
+
289
+ return;
290
+ }
291
+
292
+
293
+ //---------------------------------------------------------------------------------------------------------------------------
294
+ // CSecondPage::OnBnClickedAdvertise
295
+ //---------------------------------------------------------------------------------------------------------------------------
296
+
297
+ void CSecondPage::OnBnClickedAdvertise()
298
+ {
299
+ int state;
300
+
301
+ state = m_advertiseServicesButton.GetCheck();
302
+
303
+ m_regDomainsBox.EnableWindow( state );
304
+ m_sharedSecretButton.EnableWindow( state );
305
+
306
+ SetModified( TRUE );
307
+ }
308
+
309
+
310
+ //---------------------------------------------------------------------------------------------------------------------------
311
+ // CSecondPage::OnCbnSelChange
312
+ //---------------------------------------------------------------------------------------------------------------------------
313
+
314
+ void CSecondPage::OnCbnSelChange()
315
+ {
316
+ SetModified( TRUE );
317
+ }
318
+
319
+
320
+ //---------------------------------------------------------------------------------------------------------------------------
321
+ // CSecondPage::OnCbnEditChange
322
+ //---------------------------------------------------------------------------------------------------------------------------
323
+
324
+ void CSecondPage::OnCbnEditChange()
325
+ {
326
+ SetModified( TRUE );
327
+ }
328
+
329
+
330
+
331
+ //---------------------------------------------------------------------------------------------------------------------------
332
+ // CSecondPage::OnAddRegistrationDomain
333
+ //---------------------------------------------------------------------------------------------------------------------------
334
+
335
+ void
336
+ CSecondPage::OnAddRegistrationDomain( CString & domain )
337
+ {
338
+ int index = m_regDomainsBox.FindStringExact( -1, domain );
339
+
340
+ if ( index == CB_ERR )
341
+ {
342
+ m_regDomainsBox.AddString( domain );
343
+ }
344
+ }
345
+
346
+
347
+ //---------------------------------------------------------------------------------------------------------------------------
348
+ // CSecondPage::OnRemoveRegistrationDomain
349
+ //---------------------------------------------------------------------------------------------------------------------------
350
+
351
+ void
352
+ CSecondPage::OnRemoveRegistrationDomain( CString & domain )
353
+ {
354
+ int index = m_regDomainsBox.FindStringExact( -1, domain );
355
+
356
+ if ( index != CB_ERR )
357
+ {
358
+ m_regDomainsBox.DeleteString( index );
359
+ }
360
+ }
361
+
362
+
363
+ //---------------------------------------------------------------------------------------------------------------------------
364
+ // CSecondPage::EmptyComboBox
365
+ //---------------------------------------------------------------------------------------------------------------------------
366
+
367
+ void
368
+ CSecondPage::EmptyComboBox( CComboBox & box )
369
+ {
370
+ while ( box.GetCount() > 0 )
371
+ {
372
+ box.DeleteString( 0 );
373
+ }
374
+ }
375
+
376
+
377
+ //---------------------------------------------------------------------------------------------------------------------------
378
+ // CSecondPage::Populate
379
+ //---------------------------------------------------------------------------------------------------------------------------
380
+
381
+ OSStatus
382
+ CSecondPage::Populate( CComboBox & box, HKEY key, StringList & l )
383
+ {
384
+ CString string;
385
+ HKEY subKey = NULL;
386
+ DWORD dwSize;
387
+ DWORD enabled = 0;
388
+ TCHAR subKeyName[MAX_KEY_LENGTH];
389
+ DWORD cSubKeys = 0;
390
+ DWORD cbMaxSubKey;
391
+ DWORD cchMaxClass;
392
+ OSStatus err;
393
+
394
+ err = RegQueryString( key, L"UserDefined", string );
395
+
396
+ if ( !err && string.GetLength() )
397
+ {
398
+ bool done = false;
399
+
400
+ while ( !done )
401
+ {
402
+ CString tok;
403
+
404
+ tok = string.SpanExcluding( L"," );
405
+
406
+ box.AddString( tok );
407
+
408
+ if ( tok != string )
409
+ {
410
+ // Get rid of that string and comma
411
+
412
+ string = string.Right( string.GetLength() - tok.GetLength() - 1 );
413
+ }
414
+ else
415
+ {
416
+ done = true;
417
+ }
418
+ }
419
+ }
420
+
421
+ StringList::iterator it;
422
+
423
+ for ( it = l.begin(); it != l.end(); it++ )
424
+ {
425
+ if ( box.FindStringExact( -1, *it ) == CB_ERR )
426
+ {
427
+ box.AddString( *it );
428
+ }
429
+ }
430
+
431
+ err = RegQueryInfoKey( key, NULL, NULL, NULL, &cSubKeys, &cbMaxSubKey, &cchMaxClass, NULL, NULL, NULL, NULL, NULL );
432
+ require_noerr( err, exit );
433
+
434
+ if ( cSubKeys > 0 )
435
+ {
436
+ dwSize = MAX_KEY_LENGTH;
437
+
438
+ err = RegEnumKeyEx( key, 0, subKeyName, &dwSize, NULL, NULL, NULL, NULL );
439
+ require_noerr( err, exit );
440
+
441
+ err = RegOpenKey( key, subKeyName, &subKey );
442
+ require_noerr( err, exit );
443
+
444
+ dwSize = sizeof( DWORD );
445
+ err = RegQueryValueEx( subKey, L"Enabled", NULL, NULL, (LPBYTE) &enabled, &dwSize );
446
+ require_noerr( err, exit );
447
+
448
+ // See if it's there
449
+
450
+ if ( box.SelectString( -1, subKeyName ) == CB_ERR )
451
+ {
452
+ // If not, add it
453
+
454
+ box.AddString( subKeyName );
455
+ }
456
+
457
+ box.SelectString( -1, subKeyName );
458
+
459
+ RegCloseKey( subKey );
460
+ subKey = NULL;
461
+ }
462
+
463
+ exit:
464
+
465
+ m_advertiseServicesButton.SetCheck( ( !err && enabled ) ? BST_CHECKED : BST_UNCHECKED );
466
+ m_regDomainsBox.EnableWindow( ( !err && enabled ) );
467
+ m_sharedSecretButton.EnableWindow( (!err && enabled ) );
468
+
469
+ return err;
470
+ }
471
+
472
+
473
+ //---------------------------------------------------------------------------------------------------------------------------
474
+ // CSecondPage::CreateKey
475
+ //---------------------------------------------------------------------------------------------------------------------------
476
+
477
+ OSStatus
478
+ CSecondPage::CreateKey( CString & name, DWORD enabled )
479
+ {
480
+ HKEY key = NULL;
481
+ OSStatus err;
482
+
483
+ err = RegCreateKeyEx( HKEY_LOCAL_MACHINE, (LPCTSTR) name, 0,
484
+ NULL, REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE|KEY_WOW64_32KEY, NULL, &key, NULL );
485
+ require_noerr( err, exit );
486
+
487
+ err = RegSetValueEx( key, L"Enabled", 0, REG_DWORD, (LPBYTE) &enabled, sizeof( DWORD ) );
488
+ check_noerr( err );
489
+
490
+ exit:
491
+
492
+ if ( key )
493
+ {
494
+ RegCloseKey( key );
495
+ }
496
+
497
+ return err;
498
+ }
499
+
500
+
501
+ //---------------------------------------------------------------------------------------------------------------------------
502
+ // CSecondPage::RegQueryString
503
+ //---------------------------------------------------------------------------------------------------------------------------
504
+
505
+ OSStatus
506
+ CSecondPage::RegQueryString( HKEY key, CString valueName, CString & value )
507
+ {
508
+ TCHAR * string;
509
+ DWORD stringLen;
510
+ int i;
511
+ OSStatus err;
512
+
513
+ stringLen = 1024;
514
+ string = NULL;
515
+ i = 0;
516
+
517
+ do
518
+ {
519
+ if ( string )
520
+ {
521
+ free( string );
522
+ }
523
+
524
+ string = (TCHAR*) malloc( stringLen );
525
+ require_action( string, exit, err = kUnknownErr );
526
+ *string = '\0';
527
+
528
+ err = RegQueryValueEx( key, valueName, 0, NULL, (LPBYTE) string, &stringLen );
529
+
530
+ i++;
531
+ }
532
+ while ( ( err == ERROR_MORE_DATA ) && ( i < 100 ) );
533
+
534
+ value = string;
535
+
536
+ exit:
537
+
538
+ if ( string )
539
+ {
540
+ free( string );
541
+ }
542
+
543
+ return err;
544
+ }
@@ -0,0 +1,107 @@
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
+ #pragma once
19
+
20
+ #include "stdafx.h"
21
+ #include "resource.h"
22
+
23
+ #include <DebugServices.h>
24
+ #include <list>
25
+
26
+
27
+ //---------------------------------------------------------------------------------------------------------------------------
28
+ // CSecondPage
29
+ //---------------------------------------------------------------------------------------------------------------------------
30
+
31
+ class CSecondPage : public CPropertyPage
32
+ {
33
+ public:
34
+ CSecondPage();
35
+ ~CSecondPage();
36
+
37
+ protected:
38
+
39
+ //{{AFX_DATA(CSecondPage)
40
+ enum { IDD = IDR_APPLET_PAGE2 };
41
+ //}}AFX_DATA
42
+
43
+ //{{AFX_VIRTUAL(CSecondPage)
44
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
45
+ //}}AFX_VIRTUAL
46
+
47
+ DECLARE_DYNCREATE(CSecondPage)
48
+
49
+ //{{AFX_MSG(CSecondPage)
50
+ //}}AFX_MSG
51
+ DECLARE_MESSAGE_MAP()
52
+ public:
53
+
54
+ afx_msg void OnBnClickedSharedSecret();
55
+ afx_msg void OnBnClickedAdvertise();
56
+
57
+ void OnAddRegistrationDomain( CString & domain );
58
+ void OnRemoveRegistrationDomain( CString & domain );
59
+
60
+ private:
61
+
62
+ typedef std::list<CString> StringList;
63
+
64
+ afx_msg BOOL
65
+ OnSetActive();
66
+
67
+ afx_msg void
68
+ OnOK();
69
+
70
+ void
71
+ EmptyComboBox
72
+ (
73
+ CComboBox & box
74
+ );
75
+
76
+ OSStatus
77
+ Populate(
78
+ CComboBox & box,
79
+ HKEY key,
80
+ StringList & l
81
+ );
82
+
83
+ void
84
+ SetModified( BOOL bChanged = TRUE );
85
+
86
+ void
87
+ Commit();
88
+
89
+ OSStatus
90
+ Commit( CComboBox & box, HKEY key, DWORD enabled );
91
+
92
+ OSStatus
93
+ CreateKey( CString & name, DWORD enabled );
94
+
95
+ OSStatus
96
+ RegQueryString( HKEY key, CString valueName, CString & value );
97
+
98
+ CComboBox m_regDomainsBox;
99
+ CButton m_advertiseServicesButton;
100
+ CButton m_sharedSecretButton;
101
+ BOOL m_modified;
102
+ HKEY m_setupKey;
103
+
104
+ public:
105
+ afx_msg void OnCbnSelChange();
106
+ afx_msg void OnCbnEditChange();
107
+ };