dnsruby 1.26 → 1.30

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 (996) hide show
  1. data/DNSSEC +19 -0
  2. data/EVENTMACHINE +1 -64
  3. data/EXAMPLES +124 -0
  4. data/README +2 -6
  5. data/demo/axfr.rb +2 -2
  6. data/demo/check_soa.rb +1 -1
  7. data/demo/check_zone.rb +2 -2
  8. data/demo/digdlv.rb +65 -0
  9. data/demo/digitar.rb +62 -0
  10. data/demo/mresolv.rb +1 -1
  11. data/demo/mx.rb +1 -1
  12. data/demo/rubydig.rb +8 -1
  13. data/demo/trace_dns.rb +28 -14
  14. data/html/created.rid +1 -0
  15. data/{doc → html}/fr_class_index.html +118 -172
  16. data/{doc → html}/fr_file_index.html +81 -130
  17. data/html/fr_method_index.html +371 -0
  18. data/{doc → html}/index.html +23 -23
  19. data/lib/Dnsruby/Cache.rb +129 -22
  20. data/lib/Dnsruby/Config.rb +72 -11
  21. data/lib/Dnsruby/DNS.rb +3 -0
  22. data/lib/Dnsruby/PacketSender.rb +565 -0
  23. data/lib/Dnsruby/Recursor.rb +337 -156
  24. data/lib/Dnsruby/Resolver.rb +508 -447
  25. data/lib/Dnsruby/SingleResolver.rb +151 -629
  26. data/lib/Dnsruby/code_mapper.rb +4 -2
  27. data/lib/Dnsruby/dnssec.rb +212 -518
  28. data/lib/Dnsruby/event_machine_interface.rb +266 -265
  29. data/lib/Dnsruby/iana_ports.rb +5206 -5196
  30. data/lib/Dnsruby/key_cache.rb +85 -0
  31. data/lib/Dnsruby/message.rb +207 -72
  32. data/lib/Dnsruby/name.rb +42 -4
  33. data/lib/Dnsruby/resource/CERT.rb +1 -1
  34. data/lib/Dnsruby/resource/DNSKEY.rb +66 -25
  35. data/lib/Dnsruby/resource/DS.rb +7 -2
  36. data/lib/Dnsruby/resource/NAPTR.rb +2 -2
  37. data/lib/Dnsruby/resource/NSEC.rb +31 -2
  38. data/lib/Dnsruby/resource/NSEC3.rb +86 -8
  39. data/lib/Dnsruby/resource/OPT.rb +9 -6
  40. data/lib/Dnsruby/resource/PX.rb +1 -1
  41. data/lib/Dnsruby/resource/RT.rb +1 -1
  42. data/lib/Dnsruby/resource/SRV.rb +3 -3
  43. data/lib/Dnsruby/resource/resource.rb +30 -36
  44. data/lib/Dnsruby/select_thread.rb +160 -23
  45. data/lib/Dnsruby/single_verifier.rb +1289 -0
  46. data/lib/Dnsruby/validator_thread.rb +108 -0
  47. data/lib/Dnsruby/zone_transfer.rb +5 -2
  48. data/lib/dnsruby.rb +33 -18
  49. data/test/tc_cache.rb +88 -0
  50. data/test/tc_dlv.rb +55 -0
  51. data/test/tc_dns.rb +3 -1
  52. data/test/tc_dnskey.rb +21 -5
  53. data/test/tc_ds.rb +1 -7
  54. data/test/tc_itar.rb +76 -0
  55. data/test/tc_name.rb +21 -0
  56. data/test/tc_nsec.rb +169 -0
  57. data/test/tc_nsec3.rb +18 -1
  58. data/test/tc_packet.rb +97 -6
  59. data/test/tc_queue.rb +7 -5
  60. data/test/tc_recur.rb +6 -1
  61. data/test/tc_res_config.rb +1 -3
  62. data/test/tc_res_opt.rb +1 -5
  63. data/test/tc_resolver.rb +27 -8
  64. data/test/tc_rr-opt.rb +1 -0
  65. data/test/tc_rr.rb +6 -0
  66. data/test/tc_rrset.rb +60 -0
  67. data/test/tc_single_resolver.rb +55 -2
  68. data/test/tc_tsig.rb +29 -13
  69. data/test/tc_update.rb +6 -0
  70. data/test/tc_validator.rb +56 -0
  71. data/test/{tc_dnssec.rb → tc_verifier.rb} +106 -92
  72. data/test/ts_online.rb +19 -16
  73. metadata +27 -1053
  74. data/doc/classes/Cache.html +0 -179
  75. data/doc/classes/Cache.src/M000212.html +0 -19
  76. data/doc/classes/Cache.src/M000213.html +0 -18
  77. data/doc/classes/Cache.src/M000214.html +0 -23
  78. data/doc/classes/ConfigTable.html +0 -500
  79. data/doc/classes/ConfigTable.src/M000019.html +0 -25
  80. data/doc/classes/ConfigTable.src/M000020.html +0 -18
  81. data/doc/classes/ConfigTable.src/M000021.html +0 -18
  82. data/doc/classes/ConfigTable.src/M000022.html +0 -18
  83. data/doc/classes/ConfigTable.src/M000023.html +0 -18
  84. data/doc/classes/ConfigTable.src/M000024.html +0 -18
  85. data/doc/classes/ConfigTable.src/M000025.html +0 -18
  86. data/doc/classes/ConfigTable.src/M000026.html +0 -18
  87. data/doc/classes/ConfigTable.src/M000027.html +0 -18
  88. data/doc/classes/ConfigTable.src/M000028.html +0 -19
  89. data/doc/classes/ConfigTable.src/M000029.html +0 -21
  90. data/doc/classes/ConfigTable.src/M000030.html +0 -20
  91. data/doc/classes/ConfigTable.src/M000031.html +0 -18
  92. data/doc/classes/ConfigTable.src/M000032.html +0 -25
  93. data/doc/classes/ConfigTable.src/M000033.html +0 -23
  94. data/doc/classes/ConfigTable.src/M000034.html +0 -20
  95. data/doc/classes/ConfigTable.src/M000035.html +0 -20
  96. data/doc/classes/ConfigTable.src/M000036.html +0 -23
  97. data/doc/classes/ConfigTable.src/M000037.html +0 -19
  98. data/doc/classes/ConfigTable.src/M000038.html +0 -18
  99. data/doc/classes/ConfigTable.src/M000039.html +0 -18
  100. data/doc/classes/ConfigTable/BoolItem.html +0 -154
  101. data/doc/classes/ConfigTable/BoolItem.src/M000040.html +0 -18
  102. data/doc/classes/ConfigTable/BoolItem.src/M000041.html +0 -18
  103. data/doc/classes/ConfigTable/ExecItem.html +0 -201
  104. data/doc/classes/ConfigTable/ExecItem.src/M000059.html +0 -20
  105. data/doc/classes/ConfigTable/ExecItem.src/M000060.html +0 -18
  106. data/doc/classes/ConfigTable/ExecItem.src/M000061.html +0 -18
  107. data/doc/classes/ConfigTable/ExecItem.src/M000062.html +0 -18
  108. data/doc/classes/ConfigTable/ExecItem.src/M000063.html +0 -22
  109. data/doc/classes/ConfigTable/Item.html +0 -250
  110. data/doc/classes/ConfigTable/Item.src/M000066.html +0 -22
  111. data/doc/classes/ConfigTable/Item.src/M000067.html +0 -18
  112. data/doc/classes/ConfigTable/Item.src/M000068.html +0 -18
  113. data/doc/classes/ConfigTable/Item.src/M000069.html +0 -18
  114. data/doc/classes/ConfigTable/Item.src/M000070.html +0 -18
  115. data/doc/classes/ConfigTable/Item.src/M000071.html +0 -18
  116. data/doc/classes/ConfigTable/MetaConfigEnvironment.html +0 -325
  117. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000046.html +0 -19
  118. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000047.html +0 -18
  119. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000048.html +0 -18
  120. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000049.html +0 -18
  121. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000050.html +0 -18
  122. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000051.html +0 -18
  123. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000052.html +0 -18
  124. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000053.html +0 -18
  125. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000054.html +0 -18
  126. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000055.html +0 -18
  127. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000056.html +0 -18
  128. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000057.html +0 -19
  129. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000058.html +0 -19
  130. data/doc/classes/ConfigTable/PackageSelectionItem.html +0 -169
  131. data/doc/classes/ConfigTable/PackageSelectionItem.src/M000044.html +0 -19
  132. data/doc/classes/ConfigTable/PackageSelectionItem.src/M000045.html +0 -18
  133. data/doc/classes/ConfigTable/PathItem.html +0 -139
  134. data/doc/classes/ConfigTable/PathItem.src/M000043.html +0 -18
  135. data/doc/classes/ConfigTable/ProgramItem.html +0 -139
  136. data/doc/classes/ConfigTable/ProgramItem.src/M000042.html +0 -18
  137. data/doc/classes/ConfigTable/SelectItem.html +0 -156
  138. data/doc/classes/ConfigTable/SelectItem.src/M000064.html +0 -19
  139. data/doc/classes/ConfigTable/SelectItem.src/M000065.html +0 -18
  140. data/doc/classes/DnskeyTest.html +0 -180
  141. data/doc/classes/DnskeyTest.src/M000016.html +0 -26
  142. data/doc/classes/DnskeyTest.src/M000017.html +0 -24
  143. data/doc/classes/DnskeyTest.src/M000018.html +0 -33
  144. data/doc/classes/Dnsruby.html +0 -504
  145. data/doc/classes/Dnsruby.src/M000351.html +0 -18
  146. data/doc/classes/Dnsruby/Algorithms.html +0 -173
  147. data/doc/classes/Dnsruby/Classes.html +0 -197
  148. data/doc/classes/Dnsruby/Classes.src/M000573.html +0 -23
  149. data/doc/classes/Dnsruby/Classes.src/M000574.html +0 -19
  150. data/doc/classes/Dnsruby/CodeMapper.html +0 -375
  151. data/doc/classes/Dnsruby/CodeMapper.src/M000550.html +0 -18
  152. data/doc/classes/Dnsruby/CodeMapper.src/M000551.html +0 -33
  153. data/doc/classes/Dnsruby/CodeMapper.src/M000552.html +0 -21
  154. data/doc/classes/Dnsruby/CodeMapper.src/M000553.html +0 -19
  155. data/doc/classes/Dnsruby/CodeMapper.src/M000554.html +0 -19
  156. data/doc/classes/Dnsruby/CodeMapper.src/M000555.html +0 -18
  157. data/doc/classes/Dnsruby/CodeMapper.src/M000556.html +0 -22
  158. data/doc/classes/Dnsruby/CodeMapper.src/M000557.html +0 -22
  159. data/doc/classes/Dnsruby/CodeMapper.src/M000558.html +0 -22
  160. data/doc/classes/Dnsruby/CodeMapper.src/M000559.html +0 -31
  161. data/doc/classes/Dnsruby/CodeMapper.src/M000560.html +0 -19
  162. data/doc/classes/Dnsruby/Config.html +0 -413
  163. data/doc/classes/Dnsruby/Config.src/M000505.html +0 -18
  164. data/doc/classes/Dnsruby/Config.src/M000506.html +0 -19
  165. data/doc/classes/Dnsruby/Config.src/M000507.html +0 -19
  166. data/doc/classes/Dnsruby/Config.src/M000508.html +0 -25
  167. data/doc/classes/Dnsruby/Config.src/M000509.html +0 -21
  168. data/doc/classes/Dnsruby/Config.src/M000510.html +0 -38
  169. data/doc/classes/Dnsruby/Config.src/M000511.html +0 -26
  170. data/doc/classes/Dnsruby/Config.src/M000512.html +0 -22
  171. data/doc/classes/Dnsruby/Config.src/M000513.html +0 -27
  172. data/doc/classes/Dnsruby/Config.src/M000514.html +0 -22
  173. data/doc/classes/Dnsruby/Config.src/M000515.html +0 -21
  174. data/doc/classes/Dnsruby/DNS.html +0 -571
  175. data/doc/classes/Dnsruby/DNS.src/M000645.html +0 -24
  176. data/doc/classes/Dnsruby/DNS.src/M000646.html +0 -18
  177. data/doc/classes/Dnsruby/DNS.src/M000647.html +0 -18
  178. data/doc/classes/Dnsruby/DNS.src/M000648.html +0 -20
  179. data/doc/classes/Dnsruby/DNS.src/M000649.html +0 -19
  180. data/doc/classes/Dnsruby/DNS.src/M000650.html +0 -20
  181. data/doc/classes/Dnsruby/DNS.src/M000651.html +0 -18
  182. data/doc/classes/Dnsruby/DNS.src/M000652.html +0 -19
  183. data/doc/classes/Dnsruby/DNS.src/M000653.html +0 -20
  184. data/doc/classes/Dnsruby/DNS.src/M000654.html +0 -30
  185. data/doc/classes/Dnsruby/DNS.src/M000655.html +0 -19
  186. data/doc/classes/Dnsruby/DNS.src/M000656.html +0 -20
  187. data/doc/classes/Dnsruby/DNS.src/M000657.html +0 -31
  188. data/doc/classes/Dnsruby/DecodeError.html +0 -120
  189. data/doc/classes/Dnsruby/Dnssec.html +0 -536
  190. data/doc/classes/Dnsruby/Dnssec.src/M000615.html +0 -21
  191. data/doc/classes/Dnsruby/Dnssec.src/M000616.html +0 -18
  192. data/doc/classes/Dnsruby/Dnssec.src/M000617.html +0 -18
  193. data/doc/classes/Dnsruby/Dnssec.src/M000618.html +0 -19
  194. data/doc/classes/Dnsruby/Dnssec.src/M000619.html +0 -18
  195. data/doc/classes/Dnsruby/Dnssec.src/M000620.html +0 -18
  196. data/doc/classes/Dnsruby/Dnssec.src/M000621.html +0 -18
  197. data/doc/classes/Dnsruby/Dnssec.src/M000622.html +0 -18
  198. data/doc/classes/Dnsruby/Dnssec.src/M000623.html +0 -19
  199. data/doc/classes/Dnsruby/Dnssec.src/M000624.html +0 -18
  200. data/doc/classes/Dnsruby/Dnssec.src/M000625.html +0 -20
  201. data/doc/classes/Dnsruby/Dnssec.src/M000626.html +0 -46
  202. data/doc/classes/Dnsruby/Dnssec.src/M000627.html +0 -23
  203. data/doc/classes/Dnsruby/Dnssec.src/M000628.html +0 -22
  204. data/doc/classes/Dnsruby/Dnssec.src/M000629.html +0 -19
  205. data/doc/classes/Dnsruby/Dnssec.src/M000630.html +0 -116
  206. data/doc/classes/Dnsruby/Dnssec.src/M000631.html +0 -33
  207. data/doc/classes/Dnsruby/Dnssec.src/M000632.html +0 -28
  208. data/doc/classes/Dnsruby/Dnssec.src/M000633.html +0 -92
  209. data/doc/classes/Dnsruby/Dnssec/ValidationPolicy.html +0 -167
  210. data/doc/classes/Dnsruby/EncodeError.html +0 -120
  211. data/doc/classes/Dnsruby/FormErr.html +0 -119
  212. data/doc/classes/Dnsruby/Header.html +0 -531
  213. data/doc/classes/Dnsruby/Header.src/M000595.html +0 -18
  214. data/doc/classes/Dnsruby/Header.src/M000596.html +0 -35
  215. data/doc/classes/Dnsruby/Header.src/M000597.html +0 -18
  216. data/doc/classes/Dnsruby/Header.src/M000598.html +0 -18
  217. data/doc/classes/Dnsruby/Header.src/M000599.html +0 -21
  218. data/doc/classes/Dnsruby/Header.src/M000600.html +0 -20
  219. data/doc/classes/Dnsruby/Header.src/M000601.html +0 -32
  220. data/doc/classes/Dnsruby/Header.src/M000602.html +0 -27
  221. data/doc/classes/Dnsruby/Header.src/M000603.html +0 -26
  222. data/doc/classes/Dnsruby/Header.src/M000604.html +0 -18
  223. data/doc/classes/Dnsruby/Header.src/M000605.html +0 -47
  224. data/doc/classes/Dnsruby/Header.src/M000606.html +0 -28
  225. data/doc/classes/Dnsruby/Header.src/M000607.html +0 -30
  226. data/doc/classes/Dnsruby/Hosts.html +0 -316
  227. data/doc/classes/Dnsruby/Hosts.src/M000561.html +0 -20
  228. data/doc/classes/Dnsruby/Hosts.src/M000562.html +0 -19
  229. data/doc/classes/Dnsruby/Hosts.src/M000563.html +0 -20
  230. data/doc/classes/Dnsruby/Hosts.src/M000564.html +0 -21
  231. data/doc/classes/Dnsruby/Hosts.src/M000565.html +0 -19
  232. data/doc/classes/Dnsruby/Hosts.src/M000566.html +0 -20
  233. data/doc/classes/Dnsruby/Hosts.src/M000567.html +0 -21
  234. data/doc/classes/Dnsruby/IPv4.html +0 -233
  235. data/doc/classes/Dnsruby/IPv4.src/M000568.html +0 -32
  236. data/doc/classes/Dnsruby/IPv4.src/M000569.html +0 -19
  237. data/doc/classes/Dnsruby/IPv4.src/M000570.html +0 -18
  238. data/doc/classes/Dnsruby/IPv4.src/M000571.html +0 -18
  239. data/doc/classes/Dnsruby/IPv4.src/M000572.html +0 -18
  240. data/doc/classes/Dnsruby/IPv6.html +0 -281
  241. data/doc/classes/Dnsruby/IPv6.src/M000608.html +0 -60
  242. data/doc/classes/Dnsruby/IPv6.src/M000609.html +0 -22
  243. data/doc/classes/Dnsruby/IPv6.src/M000610.html +0 -20
  244. data/doc/classes/Dnsruby/IPv6.src/M000611.html +0 -18
  245. data/doc/classes/Dnsruby/Message.html +0 -861
  246. data/doc/classes/Dnsruby/Message.src/M000473.html +0 -39
  247. data/doc/classes/Dnsruby/Message.src/M000474.html +0 -26
  248. data/doc/classes/Dnsruby/Message.src/M000475.html +0 -23
  249. data/doc/classes/Dnsruby/Message.src/M000476.html +0 -22
  250. data/doc/classes/Dnsruby/Message.src/M000477.html +0 -22
  251. data/doc/classes/Dnsruby/Message.src/M000478.html +0 -20
  252. data/doc/classes/Dnsruby/Message.src/M000479.html +0 -20
  253. data/doc/classes/Dnsruby/Message.src/M000480.html +0 -20
  254. data/doc/classes/Dnsruby/Message.src/M000481.html +0 -20
  255. data/doc/classes/Dnsruby/Message.src/M000482.html +0 -18
  256. data/doc/classes/Dnsruby/Message.src/M000483.html +0 -20
  257. data/doc/classes/Dnsruby/Message.src/M000484.html +0 -23
  258. data/doc/classes/Dnsruby/Message.src/M000485.html +0 -30
  259. data/doc/classes/Dnsruby/Message.src/M000486.html +0 -20
  260. data/doc/classes/Dnsruby/Message.src/M000487.html +0 -18
  261. data/doc/classes/Dnsruby/Message.src/M000488.html +0 -23
  262. data/doc/classes/Dnsruby/Message.src/M000489.html +0 -24
  263. data/doc/classes/Dnsruby/Message.src/M000490.html +0 -73
  264. data/doc/classes/Dnsruby/Message.src/M000491.html +0 -35
  265. data/doc/classes/Dnsruby/Message.src/M000492.html +0 -46
  266. data/doc/classes/Dnsruby/Message/Section.html +0 -160
  267. data/doc/classes/Dnsruby/Message/Section.src/M000498.html +0 -29
  268. data/doc/classes/Dnsruby/Message/Section.src/M000499.html +0 -30
  269. data/doc/classes/Dnsruby/MetaTypes.html +0 -136
  270. data/doc/classes/Dnsruby/Modes.html +0 -171
  271. data/doc/classes/Dnsruby/NXDomain.html +0 -119
  272. data/doc/classes/Dnsruby/Name.html +0 -330
  273. data/doc/classes/Dnsruby/Name.src/M000458.html +0 -35
  274. data/doc/classes/Dnsruby/Name.src/M000459.html +0 -20
  275. data/doc/classes/Dnsruby/Name.src/M000460.html +0 -18
  276. data/doc/classes/Dnsruby/Name.src/M000461.html +0 -21
  277. data/doc/classes/Dnsruby/Name.src/M000462.html +0 -22
  278. data/doc/classes/Dnsruby/Name.src/M000463.html +0 -18
  279. data/doc/classes/Dnsruby/Name/Label.html +0 -300
  280. data/doc/classes/Dnsruby/Name/Label.src/M000464.html +0 -21
  281. data/doc/classes/Dnsruby/Name/Label.src/M000465.html +0 -18
  282. data/doc/classes/Dnsruby/Name/Label.src/M000466.html +0 -22
  283. data/doc/classes/Dnsruby/Name/Label.src/M000467.html +0 -18
  284. data/doc/classes/Dnsruby/Name/Label.src/M000468.html +0 -18
  285. data/doc/classes/Dnsruby/Name/Label.src/M000469.html +0 -18
  286. data/doc/classes/Dnsruby/Name/Label.src/M000470.html +0 -18
  287. data/doc/classes/Dnsruby/Name/Label.src/M000471.html +0 -18
  288. data/doc/classes/Dnsruby/Name/Label.src/M000472.html +0 -18
  289. data/doc/classes/Dnsruby/NotImp.html +0 -119
  290. data/doc/classes/Dnsruby/OpCode.html +0 -146
  291. data/doc/classes/Dnsruby/OtherResolvError.html +0 -119
  292. data/doc/classes/Dnsruby/QTypes.html +0 -146
  293. data/doc/classes/Dnsruby/Question.html +0 -306
  294. data/doc/classes/Dnsruby/Question.src/M000590.html +0 -47
  295. data/doc/classes/Dnsruby/Question.src/M000591.html +0 -18
  296. data/doc/classes/Dnsruby/Question.src/M000592.html +0 -18
  297. data/doc/classes/Dnsruby/Question.src/M000593.html +0 -32
  298. data/doc/classes/Dnsruby/Question.src/M000594.html +0 -18
  299. data/doc/classes/Dnsruby/RCode.html +0 -211
  300. data/doc/classes/Dnsruby/RR.html +0 -653
  301. data/doc/classes/Dnsruby/RR.src/M000352.html +0 -18
  302. data/doc/classes/Dnsruby/RR.src/M000353.html +0 -22
  303. data/doc/classes/Dnsruby/RR.src/M000354.html +0 -18
  304. data/doc/classes/Dnsruby/RR.src/M000355.html +0 -26
  305. data/doc/classes/Dnsruby/RR.src/M000356.html +0 -26
  306. data/doc/classes/Dnsruby/RR.src/M000357.html +0 -18
  307. data/doc/classes/Dnsruby/RR.src/M000358.html +0 -36
  308. data/doc/classes/Dnsruby/RR.src/M000359.html +0 -100
  309. data/doc/classes/Dnsruby/RR.src/M000360.html +0 -18
  310. data/doc/classes/Dnsruby/RR.src/M000361.html +0 -18
  311. data/doc/classes/Dnsruby/RR.src/M000362.html +0 -22
  312. data/doc/classes/Dnsruby/RR.src/M000363.html +0 -33
  313. data/doc/classes/Dnsruby/RR.src/M000364.html +0 -24
  314. data/doc/classes/Dnsruby/RR/ANY.html +0 -133
  315. data/doc/classes/Dnsruby/RR/CERT.html +0 -180
  316. data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +0 -169
  317. data/doc/classes/Dnsruby/RR/CNAME.html +0 -151
  318. data/doc/classes/Dnsruby/RR/DLV.html +0 -134
  319. data/doc/classes/Dnsruby/RR/DNAME.html +0 -150
  320. data/doc/classes/Dnsruby/RR/DNSKEY.html +0 -422
  321. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000397.html +0 -20
  322. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000398.html +0 -21
  323. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000399.html +0 -28
  324. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000400.html +0 -22
  325. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000401.html +0 -18
  326. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000402.html +0 -22
  327. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000403.html +0 -18
  328. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000404.html +0 -26
  329. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000405.html +0 -38
  330. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000406.html +0 -58
  331. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000407.html +0 -21
  332. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000408.html +0 -24
  333. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000409.html +0 -39
  334. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000410.html +0 -24
  335. data/doc/classes/Dnsruby/RR/DS.html +0 -329
  336. data/doc/classes/Dnsruby/RR/DS.src/M000390.html +0 -19
  337. data/doc/classes/Dnsruby/RR/DS.src/M000391.html +0 -28
  338. data/doc/classes/Dnsruby/RR/DS.src/M000392.html +0 -28
  339. data/doc/classes/Dnsruby/RR/DS.src/M000393.html +0 -38
  340. data/doc/classes/Dnsruby/RR/DS.src/M000394.html +0 -29
  341. data/doc/classes/Dnsruby/RR/DS.src/M000395.html +0 -53
  342. data/doc/classes/Dnsruby/RR/DS.src/M000396.html +0 -40
  343. data/doc/classes/Dnsruby/RR/DS/DigestTypes.html +0 -111
  344. data/doc/classes/Dnsruby/RR/DomainName.html +0 -175
  345. data/doc/classes/Dnsruby/RR/DomainName.src/M000436.html +0 -18
  346. data/doc/classes/Dnsruby/RR/Generic.html +0 -133
  347. data/doc/classes/Dnsruby/RR/HINFO.html +0 -155
  348. data/doc/classes/Dnsruby/RR/IN.html +0 -155
  349. data/doc/classes/Dnsruby/RR/IN/A.html +0 -200
  350. data/doc/classes/Dnsruby/RR/IN/A.src/M000368.html +0 -18
  351. data/doc/classes/Dnsruby/RR/IN/A.src/M000369.html +0 -18
  352. data/doc/classes/Dnsruby/RR/IN/A.src/M000370.html +0 -18
  353. data/doc/classes/Dnsruby/RR/IN/AAAA.html +0 -139
  354. data/doc/classes/Dnsruby/RR/IN/AFSDB.html +0 -145
  355. data/doc/classes/Dnsruby/RR/IN/PX.html +0 -143
  356. data/doc/classes/Dnsruby/RR/IN/SRV.html +0 -238
  357. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000365.html +0 -29
  358. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000366.html +0 -26
  359. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000367.html +0 -22
  360. data/doc/classes/Dnsruby/RR/IN/WKS.html +0 -166
  361. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000371.html +0 -20
  362. data/doc/classes/Dnsruby/RR/ISDN.html +0 -155
  363. data/doc/classes/Dnsruby/RR/LOC.html +0 -395
  364. data/doc/classes/Dnsruby/RR/LOC.src/M000376.html +0 -32
  365. data/doc/classes/Dnsruby/RR/LOC.src/M000377.html +0 -23
  366. data/doc/classes/Dnsruby/RR/LOC.src/M000378.html +0 -25
  367. data/doc/classes/Dnsruby/RR/LOC.src/M000379.html +0 -21
  368. data/doc/classes/Dnsruby/RR/LOC.src/M000380.html +0 -20
  369. data/doc/classes/Dnsruby/RR/LOC.src/M000381.html +0 -23
  370. data/doc/classes/Dnsruby/RR/MB.html +0 -150
  371. data/doc/classes/Dnsruby/RR/MG.html +0 -150
  372. data/doc/classes/Dnsruby/RR/MINFO.html +0 -156
  373. data/doc/classes/Dnsruby/RR/MR.html +0 -150
  374. data/doc/classes/Dnsruby/RR/MX.html +0 -155
  375. data/doc/classes/Dnsruby/RR/NAPTR.html +0 -190
  376. data/doc/classes/Dnsruby/RR/NS.html +0 -151
  377. data/doc/classes/Dnsruby/RR/NSAP.html +0 -293
  378. data/doc/classes/Dnsruby/RR/NSAP.src/M000446.html +0 -19
  379. data/doc/classes/Dnsruby/RR/NSAP.src/M000447.html +0 -19
  380. data/doc/classes/Dnsruby/RR/NSAP.src/M000448.html +0 -22
  381. data/doc/classes/Dnsruby/RR/NSAP.src/M000449.html +0 -31
  382. data/doc/classes/Dnsruby/RR/NSEC.html +0 -301
  383. data/doc/classes/Dnsruby/RR/NSEC.src/M000382.html +0 -19
  384. data/doc/classes/Dnsruby/RR/NSEC.src/M000383.html +0 -18
  385. data/doc/classes/Dnsruby/RR/NSEC.src/M000384.html +0 -34
  386. data/doc/classes/Dnsruby/RR/NSEC.src/M000385.html +0 -18
  387. data/doc/classes/Dnsruby/RR/NSEC.src/M000386.html +0 -75
  388. data/doc/classes/Dnsruby/RR/NSEC.src/M000387.html +0 -18
  389. data/doc/classes/Dnsruby/RR/NSEC.src/M000388.html +0 -92
  390. data/doc/classes/Dnsruby/RR/NSEC.src/M000389.html +0 -23
  391. data/doc/classes/Dnsruby/RR/NSEC3.html +0 -366
  392. data/doc/classes/Dnsruby/RR/NSEC3.src/M000438.html +0 -28
  393. data/doc/classes/Dnsruby/RR/NSEC3.src/M000439.html +0 -18
  394. data/doc/classes/Dnsruby/RR/NSEC3.src/M000440.html +0 -18
  395. data/doc/classes/Dnsruby/RR/NSEC3.src/M000441.html +0 -22
  396. data/doc/classes/Dnsruby/RR/NSEC3.src/M000442.html +0 -18
  397. data/doc/classes/Dnsruby/RR/NSEC3.src/M000443.html +0 -21
  398. data/doc/classes/Dnsruby/RR/NSEC3.src/M000444.html +0 -21
  399. data/doc/classes/Dnsruby/RR/NSEC3.src/M000445.html +0 -29
  400. data/doc/classes/Dnsruby/RR/NSEC3PARAM.html +0 -279
  401. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000430.html +0 -28
  402. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000431.html +0 -18
  403. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000432.html +0 -22
  404. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000433.html +0 -21
  405. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000434.html +0 -25
  406. data/doc/classes/Dnsruby/RR/PTR.html +0 -132
  407. data/doc/classes/Dnsruby/RR/RP.html +0 -183
  408. data/doc/classes/Dnsruby/RR/RP.src/M000435.html +0 -19
  409. data/doc/classes/Dnsruby/RR/RRSIG.html +0 -372
  410. data/doc/classes/Dnsruby/RR/RRSIG.src/M000450.html +0 -26
  411. data/doc/classes/Dnsruby/RR/RRSIG.src/M000451.html +0 -28
  412. data/doc/classes/Dnsruby/RR/RRSIG.src/M000452.html +0 -23
  413. data/doc/classes/Dnsruby/RR/RRSIG.src/M000453.html +0 -23
  414. data/doc/classes/Dnsruby/RR/RRSIG.src/M000454.html +0 -46
  415. data/doc/classes/Dnsruby/RR/RRSIG.src/M000455.html +0 -50
  416. data/doc/classes/Dnsruby/RR/RRSIG.src/M000456.html +0 -18
  417. data/doc/classes/Dnsruby/RR/RRSIG.src/M000457.html +0 -27
  418. data/doc/classes/Dnsruby/RR/RT.html +0 -155
  419. data/doc/classes/Dnsruby/RR/SOA.html +0 -233
  420. data/doc/classes/Dnsruby/RR/SOA.src/M000419.html +0 -24
  421. data/doc/classes/Dnsruby/RR/SOA.src/M000420.html +0 -27
  422. data/doc/classes/Dnsruby/RR/SPF.html +0 -138
  423. data/doc/classes/Dnsruby/RR/TKEY.html +0 -313
  424. data/doc/classes/Dnsruby/RR/TKEY.src/M000372.html +0 -19
  425. data/doc/classes/Dnsruby/RR/TKEY.src/M000373.html +0 -29
  426. data/doc/classes/Dnsruby/RR/TKEY.src/M000374.html +0 -21
  427. data/doc/classes/Dnsruby/RR/TKEY.src/M000375.html +0 -29
  428. data/doc/classes/Dnsruby/RR/TSIG.html +0 -524
  429. data/doc/classes/Dnsruby/RR/TSIG.src/M000421.html +0 -24
  430. data/doc/classes/Dnsruby/RR/TSIG.src/M000422.html +0 -32
  431. data/doc/classes/Dnsruby/RR/TSIG.src/M000423.html +0 -54
  432. data/doc/classes/Dnsruby/RR/TSIG.src/M000424.html +0 -121
  433. data/doc/classes/Dnsruby/RR/TSIG.src/M000425.html +0 -33
  434. data/doc/classes/Dnsruby/RR/TSIG.src/M000426.html +0 -25
  435. data/doc/classes/Dnsruby/RR/TSIG.src/M000427.html +0 -36
  436. data/doc/classes/Dnsruby/RR/TSIG.src/M000428.html +0 -22
  437. data/doc/classes/Dnsruby/RR/TSIG.src/M000429.html +0 -29
  438. data/doc/classes/Dnsruby/RR/TXT.html +0 -233
  439. data/doc/classes/Dnsruby/RR/TXT.src/M000414.html +0 -18
  440. data/doc/classes/Dnsruby/RR/TXT.src/M000415.html +0 -18
  441. data/doc/classes/Dnsruby/RR/TXT.src/M000416.html +0 -20
  442. data/doc/classes/Dnsruby/RR/TXT.src/M000417.html +0 -27
  443. data/doc/classes/Dnsruby/RR/TXT.src/M000418.html +0 -25
  444. data/doc/classes/Dnsruby/RR/X25.html +0 -203
  445. data/doc/classes/Dnsruby/RR/X25.src/M000411.html +0 -18
  446. data/doc/classes/Dnsruby/RR/X25.src/M000412.html +0 -18
  447. data/doc/classes/Dnsruby/RR/X25.src/M000413.html +0 -22
  448. data/doc/classes/Dnsruby/RRSet.html +0 -400
  449. data/doc/classes/Dnsruby/RRSet.src/M000575.html +0 -23
  450. data/doc/classes/Dnsruby/RRSet.src/M000576.html +0 -18
  451. data/doc/classes/Dnsruby/RRSet.src/M000577.html +0 -18
  452. data/doc/classes/Dnsruby/RRSet.src/M000578.html +0 -47
  453. data/doc/classes/Dnsruby/RRSet.src/M000579.html +0 -32
  454. data/doc/classes/Dnsruby/RRSet.src/M000580.html +0 -18
  455. data/doc/classes/Dnsruby/RRSet.src/M000581.html +0 -20
  456. data/doc/classes/Dnsruby/RRSet.src/M000582.html +0 -18
  457. data/doc/classes/Dnsruby/RRSet.src/M000583.html +0 -18
  458. data/doc/classes/Dnsruby/RRSet.src/M000584.html +0 -18
  459. data/doc/classes/Dnsruby/RRSet.src/M000585.html +0 -18
  460. data/doc/classes/Dnsruby/RRSet.src/M000586.html +0 -22
  461. data/doc/classes/Dnsruby/RRSet.src/M000587.html +0 -18
  462. data/doc/classes/Dnsruby/RRSet.src/M000588.html +0 -22
  463. data/doc/classes/Dnsruby/RRSet.src/M000589.html +0 -18
  464. data/doc/classes/Dnsruby/Recursor.html +0 -744
  465. data/doc/classes/Dnsruby/Recursor.src/M000639.html +0 -19
  466. data/doc/classes/Dnsruby/Recursor.src/M000640.html +0 -97
  467. data/doc/classes/Dnsruby/Recursor.src/M000641.html +0 -20
  468. data/doc/classes/Dnsruby/Recursor.src/M000642.html +0 -18
  469. data/doc/classes/Dnsruby/Recursor.src/M000643.html +0 -31
  470. data/doc/classes/Dnsruby/Recursor.src/M000644.html +0 -231
  471. data/doc/classes/Dnsruby/Refused.html +0 -119
  472. data/doc/classes/Dnsruby/Resolv.html +0 -401
  473. data/doc/classes/Dnsruby/Resolv.src/M000516.html +0 -18
  474. data/doc/classes/Dnsruby/Resolv.src/M000517.html +0 -18
  475. data/doc/classes/Dnsruby/Resolv.src/M000518.html +0 -18
  476. data/doc/classes/Dnsruby/Resolv.src/M000519.html +0 -18
  477. data/doc/classes/Dnsruby/Resolv.src/M000520.html +0 -18
  478. data/doc/classes/Dnsruby/Resolv.src/M000521.html +0 -18
  479. data/doc/classes/Dnsruby/Resolv.src/M000522.html +0 -18
  480. data/doc/classes/Dnsruby/Resolv.src/M000523.html +0 -19
  481. data/doc/classes/Dnsruby/Resolv.src/M000524.html +0 -20
  482. data/doc/classes/Dnsruby/Resolv.src/M000525.html +0 -29
  483. data/doc/classes/Dnsruby/Resolv.src/M000526.html +0 -19
  484. data/doc/classes/Dnsruby/Resolv.src/M000527.html +0 -20
  485. data/doc/classes/Dnsruby/Resolv.src/M000528.html +0 -25
  486. data/doc/classes/Dnsruby/ResolvError.html +0 -117
  487. data/doc/classes/Dnsruby/ResolvTimeout.html +0 -117
  488. data/doc/classes/Dnsruby/Resolver.html +0 -1114
  489. data/doc/classes/Dnsruby/Resolver.src/M000658.html +0 -24
  490. data/doc/classes/Dnsruby/Resolver.src/M000659.html +0 -27
  491. data/doc/classes/Dnsruby/Resolver.src/M000660.html +0 -28
  492. data/doc/classes/Dnsruby/Resolver.src/M000661.html +0 -18
  493. data/doc/classes/Dnsruby/Resolver.src/M000662.html +0 -51
  494. data/doc/classes/Dnsruby/Resolver.src/M000663.html +0 -25
  495. data/doc/classes/Dnsruby/Resolver.src/M000664.html +0 -22
  496. data/doc/classes/Dnsruby/Resolver.src/M000665.html +0 -18
  497. data/doc/classes/Dnsruby/Resolver.src/M000666.html +0 -20
  498. data/doc/classes/Dnsruby/Resolver.src/M000667.html +0 -19
  499. data/doc/classes/Dnsruby/Resolver.src/M000668.html +0 -21
  500. data/doc/classes/Dnsruby/Resolver.src/M000669.html +0 -21
  501. data/doc/classes/Dnsruby/Resolver.src/M000670.html +0 -27
  502. data/doc/classes/Dnsruby/Resolver.src/M000671.html +0 -19
  503. data/doc/classes/Dnsruby/Resolver.src/M000672.html +0 -19
  504. data/doc/classes/Dnsruby/Resolver.src/M000673.html +0 -19
  505. data/doc/classes/Dnsruby/Resolver.src/M000674.html +0 -19
  506. data/doc/classes/Dnsruby/Resolver.src/M000675.html +0 -19
  507. data/doc/classes/Dnsruby/Resolver.src/M000676.html +0 -19
  508. data/doc/classes/Dnsruby/Resolver.src/M000677.html +0 -19
  509. data/doc/classes/Dnsruby/Resolver.src/M000678.html +0 -19
  510. data/doc/classes/Dnsruby/Resolver.src/M000679.html +0 -19
  511. data/doc/classes/Dnsruby/Resolver.src/M000680.html +0 -19
  512. data/doc/classes/Dnsruby/Resolver.src/M000681.html +0 -26
  513. data/doc/classes/Dnsruby/Resolver.src/M000682.html +0 -18
  514. data/doc/classes/Dnsruby/Resolver.src/M000683.html +0 -23
  515. data/doc/classes/Dnsruby/Resolver.src/M000684.html +0 -18
  516. data/doc/classes/Dnsruby/ServFail.html +0 -119
  517. data/doc/classes/Dnsruby/SingleResolver.html +0 -801
  518. data/doc/classes/Dnsruby/SingleResolver.src/M000529.html +0 -18
  519. data/doc/classes/Dnsruby/SingleResolver.src/M000530.html +0 -24
  520. data/doc/classes/Dnsruby/SingleResolver.src/M000531.html +0 -36
  521. data/doc/classes/Dnsruby/SingleResolver.src/M000532.html +0 -18
  522. data/doc/classes/Dnsruby/SingleResolver.src/M000533.html +0 -19
  523. data/doc/classes/Dnsruby/SingleResolver.src/M000534.html +0 -58
  524. data/doc/classes/Dnsruby/SingleResolver.src/M000535.html +0 -19
  525. data/doc/classes/Dnsruby/SingleResolver.src/M000536.html +0 -19
  526. data/doc/classes/Dnsruby/SingleResolver.src/M000537.html +0 -25
  527. data/doc/classes/Dnsruby/SingleResolver.src/M000538.html +0 -57
  528. data/doc/classes/Dnsruby/SingleResolver.src/M000539.html +0 -21
  529. data/doc/classes/Dnsruby/SingleResolver.src/M000540.html +0 -19
  530. data/doc/classes/Dnsruby/SingleResolver.src/M000541.html +0 -26
  531. data/doc/classes/Dnsruby/SingleResolver.src/M000542.html +0 -26
  532. data/doc/classes/Dnsruby/SingleResolver.src/M000543.html +0 -36
  533. data/doc/classes/Dnsruby/SingleResolver.src/M000544.html +0 -21
  534. data/doc/classes/Dnsruby/SingleResolver.src/M000545.html +0 -31
  535. data/doc/classes/Dnsruby/SingleResolver.src/M000546.html +0 -47
  536. data/doc/classes/Dnsruby/SingleResolver.src/M000547.html +0 -35
  537. data/doc/classes/Dnsruby/SingleResolver.src/M000548.html +0 -24
  538. data/doc/classes/Dnsruby/SingleResolver.src/M000549.html +0 -21
  539. data/doc/classes/Dnsruby/TheLog.html +0 -188
  540. data/doc/classes/Dnsruby/TheLog.src/M000612.html +0 -18
  541. data/doc/classes/Dnsruby/TheLog.src/M000613.html +0 -18
  542. data/doc/classes/Dnsruby/TheLog.src/M000614.html +0 -18
  543. data/doc/classes/Dnsruby/Types.html +0 -441
  544. data/doc/classes/Dnsruby/Update.html +0 -368
  545. data/doc/classes/Dnsruby/Update.src/M000634.html +0 -32
  546. data/doc/classes/Dnsruby/Update.src/M000635.html +0 -36
  547. data/doc/classes/Dnsruby/Update.src/M000636.html +0 -32
  548. data/doc/classes/Dnsruby/Update.src/M000637.html +0 -41
  549. data/doc/classes/Dnsruby/Update.src/M000638.html +0 -34
  550. data/doc/classes/Dnsruby/VerifyError.html +0 -119
  551. data/doc/classes/Dnsruby/ZoneTransfer.html +0 -300
  552. data/doc/classes/Dnsruby/ZoneTransfer.src/M000500.html +0 -18
  553. data/doc/classes/Dnsruby/ZoneTransfer.src/M000501.html +0 -24
  554. data/doc/classes/Dnsruby/ZoneTransfer.src/M000502.html +0 -35
  555. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +0 -200
  556. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000503.html +0 -19
  557. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000504.html +0 -19
  558. data/doc/classes/DnssecTest.html +0 -242
  559. data/doc/classes/DnssecTest.src/M000235.html +0 -58
  560. data/doc/classes/DnssecTest.src/M000236.html +0 -28
  561. data/doc/classes/DnssecTest.src/M000237.html +0 -28
  562. data/doc/classes/DnssecTest.src/M000238.html +0 -28
  563. data/doc/classes/DnssecTest.src/M000239.html +0 -33
  564. data/doc/classes/DnssecTest.src/M000240.html +0 -24
  565. data/doc/classes/DnssecTest.src/M000241.html +0 -47
  566. data/doc/classes/DnssecTest.src/M000242.html +0 -30
  567. data/doc/classes/DsTest.html +0 -252
  568. data/doc/classes/DsTest.src/M000190.html +0 -25
  569. data/doc/classes/DsTest.src/M000191.html +0 -24
  570. data/doc/classes/DsTest.src/M000192.html +0 -26
  571. data/doc/classes/DsTest.src/M000193.html +0 -23
  572. data/doc/classes/DsTest.src/M000194.html +0 -31
  573. data/doc/classes/DsTest.src/M000195.html +0 -25
  574. data/doc/classes/Enumerable.html +0 -118
  575. data/doc/classes/Errno.html +0 -111
  576. data/doc/classes/Errno/ENOTEMPTY.html +0 -111
  577. data/doc/classes/EventMachineTestDeferrable.html +0 -212
  578. data/doc/classes/EventMachineTestDeferrable.src/M000100.html +0 -20
  579. data/doc/classes/EventMachineTestDeferrable.src/M000101.html +0 -19
  580. data/doc/classes/EventMachineTestDeferrable.src/M000102.html +0 -28
  581. data/doc/classes/EventMachineTestDeferrable.src/M000103.html +0 -29
  582. data/doc/classes/EventMachineTestDeferrable.src/M000104.html +0 -33
  583. data/doc/classes/EventMachineTestDeferrable.src/M000105.html +0 -32
  584. data/doc/classes/EventMachineTestResolver.html +0 -324
  585. data/doc/classes/EventMachineTestResolver.src/M000177.html +0 -21
  586. data/doc/classes/EventMachineTestResolver.src/M000178.html +0 -19
  587. data/doc/classes/EventMachineTestResolver.src/M000179.html +0 -20
  588. data/doc/classes/EventMachineTestResolver.src/M000180.html +0 -20
  589. data/doc/classes/EventMachineTestResolver.src/M000181.html +0 -24
  590. data/doc/classes/EventMachineTestResolver.src/M000182.html +0 -25
  591. data/doc/classes/EventMachineTestResolver.src/M000183.html +0 -31
  592. data/doc/classes/EventMachineTestResolver.src/M000184.html +0 -24
  593. data/doc/classes/EventMachineTestResolver.src/M000185.html +0 -39
  594. data/doc/classes/EventMachineTestResolver.src/M000186.html +0 -36
  595. data/doc/classes/EventMachineTestResolver.src/M000187.html +0 -32
  596. data/doc/classes/EventMachineTestResolver.src/M000188.html +0 -30
  597. data/doc/classes/EventMachineTestResolver.src/M000189.html +0 -22
  598. data/doc/classes/EventMachineTestSingleResolver.html +0 -227
  599. data/doc/classes/EventMachineTestSingleResolver.src/M000092.html +0 -21
  600. data/doc/classes/EventMachineTestSingleResolver.src/M000093.html +0 -19
  601. data/doc/classes/EventMachineTestSingleResolver.src/M000094.html +0 -31
  602. data/doc/classes/EventMachineTestSingleResolver.src/M000095.html +0 -33
  603. data/doc/classes/EventMachineTestSingleResolver.src/M000096.html +0 -33
  604. data/doc/classes/EventMachineTestSingleResolver.src/M000097.html +0 -32
  605. data/doc/classes/EventMachineTestSingleResolver.src/M000098.html +0 -23
  606. data/doc/classes/File.html +0 -166
  607. data/doc/classes/File.src/M000336.html +0 -20
  608. data/doc/classes/File.src/M000337.html +0 -20
  609. data/doc/classes/File.src/M000338.html +0 -18
  610. data/doc/classes/FileOperations.html +0 -375
  611. data/doc/classes/FileOperations.src/M000685.html +0 -31
  612. data/doc/classes/FileOperations.src/M000686.html +0 -20
  613. data/doc/classes/FileOperations.src/M000687.html +0 -20
  614. data/doc/classes/FileOperations.src/M000688.html +0 -24
  615. data/doc/classes/FileOperations.src/M000689.html +0 -34
  616. data/doc/classes/FileOperations.src/M000690.html +0 -27
  617. data/doc/classes/FileOperations.src/M000691.html +0 -21
  618. data/doc/classes/FileOperations.src/M000692.html +0 -19
  619. data/doc/classes/FileOperations.src/M000693.html +0 -40
  620. data/doc/classes/FileOperations.src/M000694.html +0 -19
  621. data/doc/classes/FileOperations.src/M000695.html +0 -20
  622. data/doc/classes/FileOperations.src/M000696.html +0 -18
  623. data/doc/classes/FileOperations.src/M000697.html +0 -18
  624. data/doc/classes/FileOperations.src/M000698.html +0 -18
  625. data/doc/classes/FileOperations.src/M000699.html +0 -20
  626. data/doc/classes/FileOperations.src/M000700.html +0 -20
  627. data/doc/classes/HookScriptAPI.html +0 -308
  628. data/doc/classes/HookScriptAPI.src/M000339.html +0 -18
  629. data/doc/classes/HookScriptAPI.src/M000341.html +0 -18
  630. data/doc/classes/HookScriptAPI.src/M000342.html +0 -18
  631. data/doc/classes/HookScriptAPI.src/M000343.html +0 -18
  632. data/doc/classes/HookScriptAPI.src/M000344.html +0 -18
  633. data/doc/classes/HookScriptAPI.src/M000345.html +0 -18
  634. data/doc/classes/HookScriptAPI.src/M000346.html +0 -18
  635. data/doc/classes/HookScriptAPI.src/M000347.html +0 -18
  636. data/doc/classes/HookScriptAPI.src/M000348.html +0 -20
  637. data/doc/classes/HookScriptAPI.src/M000349.html +0 -20
  638. data/doc/classes/HookScriptAPI.src/M000350.html +0 -20
  639. data/doc/classes/Installer.html +0 -1148
  640. data/doc/classes/Installer.src/M000243.html +0 -21
  641. data/doc/classes/Installer.src/M000244.html +0 -18
  642. data/doc/classes/Installer.src/M000245.html +0 -17
  643. data/doc/classes/Installer.src/M000246.html +0 -18
  644. data/doc/classes/Installer.src/M000247.html +0 -18
  645. data/doc/classes/Installer.src/M000248.html +0 -18
  646. data/doc/classes/Installer.src/M000249.html +0 -18
  647. data/doc/classes/Installer.src/M000250.html +0 -18
  648. data/doc/classes/Installer.src/M000251.html +0 -23
  649. data/doc/classes/Installer.src/M000252.html +0 -18
  650. data/doc/classes/Installer.src/M000255.html +0 -18
  651. data/doc/classes/Installer.src/M000259.html +0 -18
  652. data/doc/classes/Installer.src/M000260.html +0 -18
  653. data/doc/classes/Installer.src/M000261.html +0 -20
  654. data/doc/classes/Installer.src/M000263.html +0 -18
  655. data/doc/classes/Installer.src/M000267.html +0 -36
  656. data/doc/classes/Installer.src/M000268.html +0 -25
  657. data/doc/classes/Installer.src/M000269.html +0 -24
  658. data/doc/classes/Installer.src/M000270.html +0 -19
  659. data/doc/classes/Installer.src/M000271.html +0 -18
  660. data/doc/classes/Installer.src/M000272.html +0 -18
  661. data/doc/classes/Installer.src/M000273.html +0 -21
  662. data/doc/classes/Installer.src/M000274.html +0 -18
  663. data/doc/classes/Installer.src/M000275.html +0 -20
  664. data/doc/classes/Installer.src/M000276.html +0 -18
  665. data/doc/classes/Installer.src/M000277.html +0 -21
  666. data/doc/classes/Installer.src/M000278.html +0 -18
  667. data/doc/classes/Installer.src/M000279.html +0 -22
  668. data/doc/classes/Installer.src/M000280.html +0 -18
  669. data/doc/classes/Installer.src/M000281.html +0 -23
  670. data/doc/classes/Installer.src/M000282.html +0 -18
  671. data/doc/classes/Installer.src/M000283.html +0 -20
  672. data/doc/classes/Installer.src/M000284.html +0 -19
  673. data/doc/classes/Installer.src/M000285.html +0 -19
  674. data/doc/classes/Installer.src/M000286.html +0 -20
  675. data/doc/classes/Installer.src/M000287.html +0 -30
  676. data/doc/classes/Installer.src/M000288.html +0 -20
  677. data/doc/classes/Installer.src/M000294.html +0 -19
  678. data/doc/classes/Installer.src/M000295.html +0 -20
  679. data/doc/classes/Installer.src/M000298.html +0 -19
  680. data/doc/classes/Installer.src/M000302.html +0 -26
  681. data/doc/classes/Installer.src/M000303.html +0 -25
  682. data/doc/classes/Installer.src/M000304.html +0 -29
  683. data/doc/classes/Installer.src/M000305.html +0 -26
  684. data/doc/classes/Installer/Shebang.html +0 -202
  685. data/doc/classes/Installer/Shebang.src/M000306.html +0 -23
  686. data/doc/classes/Installer/Shebang.src/M000307.html +0 -19
  687. data/doc/classes/Installer/Shebang.src/M000308.html +0 -19
  688. data/doc/classes/Installer/Shebang.src/M000309.html +0 -18
  689. data/doc/classes/Nsec3ParamTest.html +0 -172
  690. data/doc/classes/Nsec3ParamTest.src/M000233.html +0 -26
  691. data/doc/classes/Nsec3ParamTest.src/M000234.html +0 -24
  692. data/doc/classes/Nsec3Test.html +0 -202
  693. data/doc/classes/Nsec3Test.src/M000207.html +0 -27
  694. data/doc/classes/Nsec3Test.src/M000208.html +0 -24
  695. data/doc/classes/Nsec3Test.src/M000209.html +0 -39
  696. data/doc/classes/Nsec3Test.src/M000210.html +0 -23
  697. data/doc/classes/NsecTest.html +0 -187
  698. data/doc/classes/NsecTest.src/M000333.html +0 -23
  699. data/doc/classes/NsecTest.src/M000334.html +0 -24
  700. data/doc/classes/NsecTest.src/M000335.html +0 -23
  701. data/doc/classes/RrsetTest.html +0 -137
  702. data/doc/classes/RrsetTest.src/M000310.html +0 -68
  703. data/doc/classes/RrsigTest.html +0 -150
  704. data/doc/classes/RrsigTest.src/M000099.html +0 -35
  705. data/doc/classes/SetupError.html +0 -111
  706. data/doc/classes/TestAResolverFile.html +0 -152
  707. data/doc/classes/TestAResolverFile.src/M000205.html +0 -18
  708. data/doc/classes/TestAResolverFile.src/M000206.html +0 -33
  709. data/doc/classes/TestAxfr.html +0 -137
  710. data/doc/classes/TestAxfr.src/M000106.html +0 -23
  711. data/doc/classes/TestDNS.html +0 -257
  712. data/doc/classes/TestDNS.src/M000196.html +0 -18
  713. data/doc/classes/TestDNS.src/M000197.html +0 -18
  714. data/doc/classes/TestDNS.src/M000198.html +0 -53
  715. data/doc/classes/TestDNS.src/M000199.html +0 -19
  716. data/doc/classes/TestDNS.src/M000200.html +0 -18
  717. data/doc/classes/TestDNS.src/M000201.html +0 -32
  718. data/doc/classes/TestDNS.src/M000202.html +0 -74
  719. data/doc/classes/TestDNS.src/M000203.html +0 -41
  720. data/doc/classes/TestDNS.src/M000204.html +0 -67
  721. data/doc/classes/TestDnsruby.html +0 -137
  722. data/doc/classes/TestDnsruby.src/M000211.html +0 -36
  723. data/doc/classes/TestEscapedChars.html +0 -152
  724. data/doc/classes/TestEscapedChars.src/M000014.html +0 -243
  725. data/doc/classes/TestEscapedChars.src/M000015.html +0 -248
  726. data/doc/classes/TestEventMachineSoak.html +0 -227
  727. data/doc/classes/TestEventMachineSoak.src/M000319.html +0 -19
  728. data/doc/classes/TestEventMachineSoak.src/M000320.html +0 -18
  729. data/doc/classes/TestEventMachineSoak.src/M000321.html +0 -18
  730. data/doc/classes/TestEventMachineSoak.src/M000322.html +0 -33
  731. data/doc/classes/TestEventMachineSoak.src/M000323.html +0 -34
  732. data/doc/classes/TestEventMachineSoak.src/M000324.html +0 -33
  733. data/doc/classes/TestEventMachineSoak.src/M000325.html +0 -33
  734. data/doc/classes/TestHeader.html +0 -137
  735. data/doc/classes/TestHeader.src/M000091.html +0 -98
  736. data/doc/classes/TestMisc.html +0 -167
  737. data/doc/classes/TestMisc.src/M000011.html +0 -28
  738. data/doc/classes/TestMisc.src/M000012.html +0 -50
  739. data/doc/classes/TestMisc.src/M000013.html +0 -84
  740. data/doc/classes/TestName.html +0 -182
  741. data/doc/classes/TestName.src/M000218.html +0 -24
  742. data/doc/classes/TestName.src/M000219.html +0 -23
  743. data/doc/classes/TestName.src/M000220.html +0 -21
  744. data/doc/classes/TestName.src/M000221.html +0 -21
  745. data/doc/classes/TestPacket.html +0 -182
  746. data/doc/classes/TestPacket.src/M000229.html +0 -154
  747. data/doc/classes/TestPacket.src/M000230.html +0 -25
  748. data/doc/classes/TestPacket.src/M000231.html +0 -23
  749. data/doc/classes/TestPacket.src/M000232.html +0 -32
  750. data/doc/classes/TestPacketUniquePush.html +0 -140
  751. data/doc/classes/TestPacketUniquePush.src/M000318.html +0 -81
  752. data/doc/classes/TestQuestion.html +0 -137
  753. data/doc/classes/TestQuestion.src/M000090.html +0 -45
  754. data/doc/classes/TestQueue.html +0 -137
  755. data/doc/classes/TestQueue.src/M000089.html +0 -27
  756. data/doc/classes/TestRR.html +0 -137
  757. data/doc/classes/TestRR.src/M000217.html +0 -256
  758. data/doc/classes/TestRecur.html +0 -137
  759. data/doc/classes/TestRecur.src/M000176.html +0 -20
  760. data/doc/classes/TestResOpt.html +0 -227
  761. data/doc/classes/TestResOpt.src/M000311.html +0 -37
  762. data/doc/classes/TestResOpt.src/M000312.html +0 -19
  763. data/doc/classes/TestResOpt.src/M000313.html +0 -30
  764. data/doc/classes/TestResOpt.src/M000314.html +0 -37
  765. data/doc/classes/TestResOpt.src/M000315.html +0 -45
  766. data/doc/classes/TestResOpt.src/M000316.html +0 -36
  767. data/doc/classes/TestResOpt.src/M000317.html +0 -60
  768. data/doc/classes/TestResolver.html +0 -357
  769. data/doc/classes/TestResolver.src/M000077.html +0 -18
  770. data/doc/classes/TestResolver.src/M000078.html +0 -20
  771. data/doc/classes/TestResolver.src/M000079.html +0 -20
  772. data/doc/classes/TestResolver.src/M000080.html +0 -24
  773. data/doc/classes/TestResolver.src/M000081.html +0 -25
  774. data/doc/classes/TestResolver.src/M000082.html +0 -31
  775. data/doc/classes/TestResolver.src/M000083.html +0 -24
  776. data/doc/classes/TestResolver.src/M000084.html +0 -42
  777. data/doc/classes/TestResolver.src/M000085.html +0 -38
  778. data/doc/classes/TestResolver.src/M000086.html +0 -34
  779. data/doc/classes/TestResolver.src/M000087.html +0 -30
  780. data/doc/classes/TestResolver.src/M000088.html +0 -41
  781. data/doc/classes/TestResolverConfig.html +0 -205
  782. data/doc/classes/TestResolverConfig.src/M000225.html +0 -18
  783. data/doc/classes/TestResolverConfig.src/M000226.html +0 -37
  784. data/doc/classes/TestResolverConfig.src/M000227.html +0 -23
  785. data/doc/classes/TestResolverConfig.src/M000228.html +0 -22
  786. data/doc/classes/TestResolverEnv.html +0 -141
  787. data/doc/classes/TestResolverEnv.src/M000332.html +0 -44
  788. data/doc/classes/TestRrOpt.html +0 -182
  789. data/doc/classes/TestRrOpt.src/M000007.html +0 -33
  790. data/doc/classes/TestRrOpt.src/M000008.html +0 -46
  791. data/doc/classes/TestRrOpt.src/M000009.html +0 -23
  792. data/doc/classes/TestRrOpt.src/M000010.html +0 -34
  793. data/doc/classes/TestRrTest.html +0 -155
  794. data/doc/classes/TestRrTest.src/M000224.html +0 -77
  795. data/doc/classes/TestRrUnknown.html +0 -167
  796. data/doc/classes/TestRrUnknown.src/M000074.html +0 -41
  797. data/doc/classes/TestRrUnknown.src/M000075.html +0 -39
  798. data/doc/classes/TestRrUnknown.src/M000076.html +0 -42
  799. data/doc/classes/TestSingleResolver.html +0 -293
  800. data/doc/classes/TestSingleResolver.src/M000149.html +0 -18
  801. data/doc/classes/TestSingleResolver.src/M000150.html +0 -19
  802. data/doc/classes/TestSingleResolver.src/M000151.html +0 -28
  803. data/doc/classes/TestSingleResolver.src/M000152.html +0 -30
  804. data/doc/classes/TestSingleResolver.src/M000153.html +0 -55
  805. data/doc/classes/TestSingleResolver.src/M000154.html +0 -26
  806. data/doc/classes/TestSingleResolver.src/M000155.html +0 -23
  807. data/doc/classes/TestSingleResolver.src/M000156.html +0 -27
  808. data/doc/classes/TestSingleResolver.src/M000157.html +0 -39
  809. data/doc/classes/TestSingleResolverSoak.html +0 -223
  810. data/doc/classes/TestSingleResolverSoak.src/M000326.html +0 -18
  811. data/doc/classes/TestSingleResolverSoak.src/M000327.html +0 -18
  812. data/doc/classes/TestSingleResolverSoak.src/M000328.html +0 -57
  813. data/doc/classes/TestSingleResolverSoak.src/M000329.html +0 -64
  814. data/doc/classes/TestSingleResolverSoak.src/M000330.html +0 -25
  815. data/doc/classes/TestSingleResolverSoak.src/M000331.html +0 -63
  816. data/doc/classes/TestSoakBase.html +0 -172
  817. data/doc/classes/TestSoakBase.src/M000072.html +0 -68
  818. data/doc/classes/TestSoakBase.src/M000073.html +0 -66
  819. data/doc/classes/TestTKey.html +0 -152
  820. data/doc/classes/TestTKey.src/M000215.html +0 -18
  821. data/doc/classes/TestTKey.src/M000216.html +0 -65
  822. data/doc/classes/TestTSig.html +0 -309
  823. data/doc/classes/TestTSig.src/M000138.html +0 -18
  824. data/doc/classes/TestTSig.src/M000139.html +0 -20
  825. data/doc/classes/TestTSig.src/M000140.html +0 -26
  826. data/doc/classes/TestTSig.src/M000141.html +0 -69
  827. data/doc/classes/TestTSig.src/M000142.html +0 -21
  828. data/doc/classes/TestTSig.src/M000143.html +0 -60
  829. data/doc/classes/TestTSig.src/M000144.html +0 -33
  830. data/doc/classes/TestTSig.src/M000145.html +0 -20
  831. data/doc/classes/TestTSig.src/M000146.html +0 -24
  832. data/doc/classes/TestTSig.src/M000147.html +0 -54
  833. data/doc/classes/TestTSig.src/M000148.html +0 -23
  834. data/doc/classes/TestTcp.html +0 -152
  835. data/doc/classes/TestTcp.src/M000222.html +0 -21
  836. data/doc/classes/TestTcp.src/M000223.html +0 -23
  837. data/doc/classes/TestUpdate.html +0 -152
  838. data/doc/classes/TestUpdate.src/M000174.html +0 -20
  839. data/doc/classes/TestUpdate.src/M000175.html +0 -203
  840. data/doc/classes/ToplevelInstaller.html +0 -621
  841. data/doc/classes/ToplevelInstaller.src/M000107.html +0 -23
  842. data/doc/classes/ToplevelInstaller.src/M000108.html +0 -18
  843. data/doc/classes/ToplevelInstaller.src/M000109.html +0 -25
  844. data/doc/classes/ToplevelInstaller.src/M000110.html +0 -21
  845. data/doc/classes/ToplevelInstaller.src/M000111.html +0 -18
  846. data/doc/classes/ToplevelInstaller.src/M000112.html +0 -18
  847. data/doc/classes/ToplevelInstaller.src/M000113.html +0 -38
  848. data/doc/classes/ToplevelInstaller.src/M000114.html +0 -18
  849. data/doc/classes/ToplevelInstaller.src/M000115.html +0 -18
  850. data/doc/classes/ToplevelInstaller.src/M000116.html +0 -18
  851. data/doc/classes/ToplevelInstaller.src/M000117.html +0 -18
  852. data/doc/classes/ToplevelInstaller.src/M000118.html +0 -18
  853. data/doc/classes/ToplevelInstaller.src/M000119.html +0 -40
  854. data/doc/classes/ToplevelInstaller.src/M000120.html +0 -18
  855. data/doc/classes/ToplevelInstaller.src/M000121.html +0 -18
  856. data/doc/classes/ToplevelInstaller.src/M000122.html +0 -21
  857. data/doc/classes/ToplevelInstaller.src/M000128.html +0 -40
  858. data/doc/classes/ToplevelInstaller.src/M000129.html +0 -31
  859. data/doc/classes/ToplevelInstaller.src/M000130.html +0 -52
  860. data/doc/classes/ToplevelInstaller.src/M000131.html +0 -19
  861. data/doc/classes/ToplevelInstaller.src/M000132.html +0 -18
  862. data/doc/classes/ToplevelInstaller.src/M000133.html +0 -18
  863. data/doc/classes/ToplevelInstaller.src/M000134.html +0 -18
  864. data/doc/classes/ToplevelInstaller.src/M000135.html +0 -20
  865. data/doc/classes/ToplevelInstaller.src/M000136.html +0 -18
  866. data/doc/classes/ToplevelInstaller.src/M000137.html +0 -18
  867. data/doc/classes/ToplevelInstallerMulti.html +0 -398
  868. data/doc/classes/ToplevelInstallerMulti.src/M000158.html +0 -21
  869. data/doc/classes/ToplevelInstallerMulti.src/M000159.html +0 -21
  870. data/doc/classes/ToplevelInstallerMulti.src/M000160.html +0 -23
  871. data/doc/classes/ToplevelInstallerMulti.src/M000161.html +0 -29
  872. data/doc/classes/ToplevelInstallerMulti.src/M000162.html +0 -22
  873. data/doc/classes/ToplevelInstallerMulti.src/M000163.html +0 -21
  874. data/doc/classes/ToplevelInstallerMulti.src/M000164.html +0 -21
  875. data/doc/classes/ToplevelInstallerMulti.src/M000165.html +0 -20
  876. data/doc/classes/ToplevelInstallerMulti.src/M000166.html +0 -20
  877. data/doc/classes/ToplevelInstallerMulti.src/M000167.html +0 -20
  878. data/doc/classes/ToplevelInstallerMulti.src/M000168.html +0 -21
  879. data/doc/classes/ToplevelInstallerMulti.src/M000169.html +0 -21
  880. data/doc/classes/ToplevelInstallerMulti.src/M000170.html +0 -25
  881. data/doc/classes/ToplevelInstallerMulti.src/M000171.html +0 -18
  882. data/doc/classes/ToplevelInstallerMulti.src/M000172.html +0 -18
  883. data/doc/classes/ToplevelInstallerMulti.src/M000173.html +0 -18
  884. data/doc/created.rid +0 -1
  885. data/doc/files/demo/axfr_rb.html +0 -158
  886. data/doc/files/demo/check_soa_rb.html +0 -138
  887. data/doc/files/demo/check_zone_rb.html +0 -231
  888. data/doc/files/demo/check_zone_rb.src/M000001.html +0 -81
  889. data/doc/files/demo/check_zone_rb.src/M000002.html +0 -30
  890. data/doc/files/demo/check_zone_rb.src/M000003.html +0 -23
  891. data/doc/files/demo/check_zone_rb.src/M000004.html +0 -23
  892. data/doc/files/demo/check_zone_rb.src/M000005.html +0 -23
  893. data/doc/files/demo/example_recurse_rb.html +0 -115
  894. data/doc/files/demo/mresolv_rb.html +0 -130
  895. data/doc/files/demo/mx_rb.html +0 -108
  896. data/doc/files/demo/rubydig_rb.html +0 -128
  897. data/doc/files/demo/trace_dns_rb.html +0 -108
  898. data/doc/files/lib/Dnsruby/Cache_rb.html +0 -109
  899. data/doc/files/lib/Dnsruby/Config_rb.html +0 -101
  900. data/doc/files/lib/Dnsruby/DNS_rb.html +0 -110
  901. data/doc/files/lib/Dnsruby/Hosts_rb.html +0 -108
  902. data/doc/files/lib/Dnsruby/Recursor_rb.html +0 -101
  903. data/doc/files/lib/Dnsruby/Resolver_rb.html +0 -110
  904. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +0 -109
  905. data/doc/files/lib/Dnsruby/TheLog_rb.html +0 -110
  906. data/doc/files/lib/Dnsruby/code_mapper_rb.html +0 -101
  907. data/doc/files/lib/Dnsruby/dnssec_rb.html +0 -107
  908. data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +0 -108
  909. data/doc/files/lib/Dnsruby/iana_ports_rb.html +0 -127
  910. data/doc/files/lib/Dnsruby/ipv4_rb.html +0 -101
  911. data/doc/files/lib/Dnsruby/ipv6_rb.html +0 -101
  912. data/doc/files/lib/Dnsruby/message_rb.html +0 -109
  913. data/doc/files/lib/Dnsruby/name_rb.html +0 -101
  914. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +0 -101
  915. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +0 -101
  916. data/doc/files/lib/Dnsruby/resource/A_rb.html +0 -101
  917. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +0 -101
  918. data/doc/files/lib/Dnsruby/resource/DLV_rb.html +0 -101
  919. data/doc/files/lib/Dnsruby/resource/DNSKEY_rb.html +0 -101
  920. data/doc/files/lib/Dnsruby/resource/DS_rb.html +0 -108
  921. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +0 -101
  922. data/doc/files/lib/Dnsruby/resource/IN_rb.html +0 -112
  923. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +0 -101
  924. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +0 -101
  925. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +0 -101
  926. data/doc/files/lib/Dnsruby/resource/MX_rb.html +0 -101
  927. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +0 -101
  928. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +0 -101
  929. data/doc/files/lib/Dnsruby/resource/NSEC3PARAM_rb.html +0 -101
  930. data/doc/files/lib/Dnsruby/resource/NSEC3_rb.html +0 -101
  931. data/doc/files/lib/Dnsruby/resource/NSEC_rb.html +0 -101
  932. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +0 -101
  933. data/doc/files/lib/Dnsruby/resource/PX_rb.html +0 -101
  934. data/doc/files/lib/Dnsruby/resource/RP_rb.html +0 -101
  935. data/doc/files/lib/Dnsruby/resource/RRSIG_rb.html +0 -101
  936. data/doc/files/lib/Dnsruby/resource/RT_rb.html +0 -101
  937. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +0 -101
  938. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +0 -101
  939. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +0 -101
  940. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +0 -101
  941. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +0 -114
  942. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +0 -108
  943. data/doc/files/lib/Dnsruby/resource/X25_rb.html +0 -101
  944. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +0 -101
  945. data/doc/files/lib/Dnsruby/resource/generic_rb.html +0 -132
  946. data/doc/files/lib/Dnsruby/resource/resource_rb.html +0 -110
  947. data/doc/files/lib/Dnsruby/select_thread_rb.html +0 -111
  948. data/doc/files/lib/Dnsruby/update_rb.html +0 -101
  949. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +0 -101
  950. data/doc/files/lib/dnsruby_rb.html +0 -118
  951. data/doc/files/setup_rb.html +0 -148
  952. data/doc/files/setup_rb.src/M000006.html +0 -18
  953. data/doc/files/test/tc_axfr_rb.html +0 -110
  954. data/doc/files/test/tc_dns_rb.html +0 -117
  955. data/doc/files/test/tc_dnskey_rb.html +0 -109
  956. data/doc/files/test/tc_dnsruby_rb.html +0 -117
  957. data/doc/files/test/tc_dnssec_rb.html +0 -109
  958. data/doc/files/test/tc_ds_rb.html +0 -110
  959. data/doc/files/test/tc_escapedchars_rb.html +0 -117
  960. data/doc/files/test/tc_event_machine_deferrable_rb.html +0 -111
  961. data/doc/files/test/tc_event_machine_res_rb.html +0 -111
  962. data/doc/files/test/tc_event_machine_single_res_rb.html +0 -111
  963. data/doc/files/test/tc_event_machine_soak_rb.html +0 -113
  964. data/doc/files/test/tc_header_rb.html +0 -117
  965. data/doc/files/test/tc_misc_rb.html +0 -110
  966. data/doc/files/test/tc_name_rb.html +0 -117
  967. data/doc/files/test/tc_nsec3_rb.html +0 -109
  968. data/doc/files/test/tc_nsec3param_rb.html +0 -109
  969. data/doc/files/test/tc_nsec_rb.html +0 -109
  970. data/doc/files/test/tc_packet_rb.html +0 -117
  971. data/doc/files/test/tc_packet_unique_push_rb.html +0 -117
  972. data/doc/files/test/tc_question_rb.html +0 -117
  973. data/doc/files/test/tc_queue_rb.html +0 -109
  974. data/doc/files/test/tc_recur_rb.html +0 -109
  975. data/doc/files/test/tc_res_config_rb.html +0 -110
  976. data/doc/files/test/tc_res_env_rb.html +0 -117
  977. data/doc/files/test/tc_res_file_rb.html +0 -110
  978. data/doc/files/test/tc_res_opt_rb.html +0 -117
  979. data/doc/files/test/tc_resolver_rb.html +0 -117
  980. data/doc/files/test/tc_rr-opt_rb.html +0 -118
  981. data/doc/files/test/tc_rr-txt_rb.html +0 -117
  982. data/doc/files/test/tc_rr-unknown_rb.html +0 -110
  983. data/doc/files/test/tc_rr_rb.html +0 -117
  984. data/doc/files/test/tc_rrset_rb.html +0 -109
  985. data/doc/files/test/tc_rrsig_rb.html +0 -109
  986. data/doc/files/test/tc_single_resolver_rb.html +0 -117
  987. data/doc/files/test/tc_soak_base_rb.html +0 -110
  988. data/doc/files/test/tc_soak_rb.html +0 -121
  989. data/doc/files/test/tc_tcp_rb.html +0 -110
  990. data/doc/files/test/tc_tkey_rb.html +0 -111
  991. data/doc/files/test/tc_tsig_rb.html +0 -111
  992. data/doc/files/test/tc_update_rb.html +0 -117
  993. data/doc/files/test/ts_dnsruby_rb.html +0 -109
  994. data/doc/files/test/ts_offline_rb.html +0 -133
  995. data/doc/files/test/ts_online_rb.html +0 -128
  996. data/doc/fr_method_index.html +0 -726
@@ -24,6 +24,8 @@ module Dnsruby
24
24
  TypeValue = Types::OPT #:nodoc: all
25
25
  DO_BIT = 0x8000
26
26
 
27
+ # @TODO@ Add BADVERS to an XRCode CodeMapper object
28
+
27
29
  #Can be called with up to 3 arguments, none of which must be present
28
30
  #* OPT.new()
29
31
  #* OPT.new(size)
@@ -90,11 +92,12 @@ module Dnsruby
90
92
  end
91
93
 
92
94
  def xrcode
93
- return flags_from_ttl[0, 1].unpack("C")[0]
95
+ return ExtendedRCode.new(flags_from_ttl[0, 1].unpack("C")[0])
94
96
  end
95
97
 
96
- def xrcode=(code)
97
- @ttl = (code << 24) + (version() << 16) + flags()
98
+ def xrcode=(c)
99
+ code = ExtendedRCode.new(c)
100
+ @ttl = (code.code << 24) + (version() << 16) + flags()
98
101
  end
99
102
 
100
103
  def version
@@ -102,7 +105,7 @@ module Dnsruby
102
105
  end
103
106
 
104
107
  def version=(code)
105
- @ttl = (xrcode() << 24) + (code << 16) + flags()
108
+ @ttl = (xrcode().code << 24) + (code << 16) + flags()
106
109
  end
107
110
 
108
111
  def flags
@@ -114,7 +117,7 @@ module Dnsruby
114
117
  end
115
118
 
116
119
  def set_flags(code) # Should always be zero
117
- @ttl = (xrcode() << 24) + (version() << 16) + code
120
+ @ttl = (xrcode().code << 24) + (version() << 16) + code
118
121
  end
119
122
 
120
123
  def dnssec_ok
@@ -165,7 +168,7 @@ module Dnsruby
165
168
  end
166
169
 
167
170
  def to_s
168
- ret = "OPT pseudo-record : payloadsize #{payloadsize}, xrcode #{xrcode}, version #{version}, flags #{flags}"
171
+ ret = "OPT pseudo-record : payloadsize #{payloadsize}, xrcode #{xrcode.code}, version #{version}, flags #{flags}"
169
172
  if @options
170
173
  @options.each do |opt|
171
174
  ret = ret + " " + opt.to_s
@@ -39,7 +39,7 @@ module Dnsruby
39
39
  def from_string(input) #:nodoc: all
40
40
  if (input.length > 0)
41
41
  names = input.split(" ")
42
- @preference = names[0]
42
+ @preference = names[0].to_i
43
43
  @map822 = Name.create(names[1])
44
44
  @mapx400 = Name.create(names[2])
45
45
  end
@@ -39,7 +39,7 @@ module Dnsruby
39
39
  def from_string(input) #:nodoc: all
40
40
  if (input.length > 0)
41
41
  names = input.split(" ")
42
- @preference = names[0]
42
+ @preference = names[0].to_i
43
43
  @intermediate = Name.create(names[1])
44
44
  end
45
45
  end
@@ -75,9 +75,9 @@ module Dnsruby
75
75
  def from_string(input)
76
76
  if (input.length > 0)
77
77
  names = input.split(" ")
78
- @priority = names[0]
79
- @weight = names[1]
80
- @port = names[2]
78
+ @priority = names[0].to_i
79
+ @weight = names[1].to_i
80
+ @port = names[2].to_i
81
81
  if (names[3])
82
82
  @target = Name.create(names[3])
83
83
  end
@@ -111,36 +111,21 @@ module Dnsruby
111
111
  return return_rrs
112
112
  end
113
113
 
114
- # #Return a new RRset which contains the RRs from this
115
- # #RRset into canonical order (RFC 4034 section 6)
116
- # def sort_canonical
117
- # #Make a list, for all the RRs, where each RR contributes
118
- # #the canonical RDATA encoding
119
- # canonical_rrs = []
120
- # self.rrs.each do |rr|
121
- # data = MessageEncoder.new {|msg|
122
- # msg.put_rr(rr, true)
123
- # }.to_s
124
- # canonical_rrs.push(data)
125
- # end
126
- #
127
- # # Check there are no identical records - if there are duplicated entries
128
- # # then remove them
129
- # canonical_rrs.uniq!
130
- #
131
- # #Sort it (the absence of an octet sorts before a zero octet.)
132
- # canonical_rrs.sort!
133
- #
134
- # return_rrs = RRSet.new
135
- # canonical_rrs.each {|rr|
136
- # MessageDecoder.new(rr) {|msg|
137
- # new_rr = msg.get_rr
138
- # return_rrs.add(new_rr)
139
- # }
140
- # }
141
- # return return_rrs
142
- # end
143
-
114
+ def ==(other)
115
+ return false unless other.instance_of?RRSet
116
+ return false if (other.sigs.length != self.sigs.length)
117
+ return false if (other.rrs.length != self.rrs.length)
118
+ return false if (other.ttl != self.ttl)
119
+ otherrrs = other.rrs
120
+ self.rrs.each {|rr|
121
+ return false if (!otherrrs.include?rr)
122
+ }
123
+ othersigs= other.sigs
124
+ self.sigs.each {|sig|
125
+ return false if (!othersigs.include?sig)
126
+ }
127
+ return true
128
+ end
144
129
  #Delete the RR from this RRSet
145
130
  def delete(rr)
146
131
  @rrs.delete(rr)
@@ -155,7 +140,10 @@ module Dnsruby
155
140
  end
156
141
  #Return the type of this RRSet
157
142
  def type
143
+ if (@rrs[0])
158
144
  return @rrs[0].type
145
+ end
146
+ return nil
159
147
  end
160
148
  #Return the klass of this RRSet
161
149
  def klass
@@ -275,6 +263,7 @@ module Dnsruby
275
263
  return
276
264
  else
277
265
  @rdata = args[0]
266
+ # print "Loading RR from #{args[0]}, class : #{args[0].class}\n"
278
267
  if (args[0].class == String)
279
268
  from_string(args[0])
280
269
  return
@@ -364,10 +353,6 @@ module Dnsruby
364
353
  if rdata
365
354
  rdata.gsub!(/\s+$/o, "")
366
355
  end
367
- if name
368
- name.gsub!(/\.$/o, "");
369
- end
370
-
371
356
 
372
357
  # RFC3597 tweaks
373
358
  # This converts to known class and type if specified as TYPE###
@@ -446,7 +431,7 @@ module Dnsruby
446
431
  MessageDecoder.new(rdata) {|msg|
447
432
  record = get_class(rrtype, rrclass).decode_rdata(msg)
448
433
  }
449
- record.name = name
434
+ record.name = Name.create(name)
450
435
  record.ttl = ttl
451
436
  record.type = rrtype
452
437
  record.klass = rrclass
@@ -463,7 +448,7 @@ module Dnsruby
463
448
  def RR._get_subclass(name, rrtype, rrclass, ttl, rdata) #:nodoc: all
464
449
  return unless (rrtype!=nil)
465
450
  record = get_class(rrtype, rrclass).new(rdata)
466
- record.name = name
451
+ record.name = Name.create(name)
467
452
  record.ttl = ttl
468
453
  record.type = rrtype
469
454
  record.klass = rrclass
@@ -587,6 +572,15 @@ module Dnsruby
587
572
  end
588
573
  end
589
574
 
575
+ def self.get_num(bytes)
576
+ ret = 0
577
+ shift = (bytes.length-1) * 8
578
+ bytes.each_byte {|byte|
579
+ ret += byte.to_i << shift
580
+ shift -= 8
581
+ }
582
+ return ret
583
+ end
590
584
  end
591
585
  end
592
586
  require 'Dnsruby/resource/domain_name'
@@ -21,6 +21,7 @@ rescue LoadError
21
21
  require 'thread'
22
22
  end
23
23
  require 'singleton'
24
+ require 'Dnsruby/validator_thread.rb'
24
25
  module Dnsruby
25
26
  Thread::abort_on_exception = true
26
27
  class SelectThread #:nodoc: all
@@ -33,9 +34,6 @@ module Dnsruby
33
34
  # calculated).
34
35
  # Note that a combination of the socket and the packet ID is
35
36
  # sufficient to uniquely identify the query to the select thread.
36
- # But how do we identify it to the client thread?
37
- # Push [id, response] onto the response queue?
38
- # Or [id, timeout]
39
37
  #
40
38
  # But how do we find the response queue for a particular query?
41
39
  # Hash of client_id->[query, client_queue, socket]
@@ -56,11 +54,15 @@ module Dnsruby
56
54
  @@observers = Hash.new
57
55
  @@tick_observers = []
58
56
  @@queued_exceptions=[]
57
+ @@queued_responses=[]
58
+ @@queued_validation_responses=[]
59
59
  # end
60
60
  # Now start the select thread
61
61
  @@select_thread = Thread.new {
62
62
  do_select
63
63
  }
64
+ # # Start the validator thread
65
+ # @@validator = ValidatorThread.instance
64
66
  }
65
67
  end
66
68
 
@@ -117,9 +119,15 @@ module Dnsruby
117
119
 
118
120
  def do_select
119
121
  unused_loop_count = 0
122
+ last_tick_time = Time.now - 10
120
123
  while true do
121
- send_tick_to_observers
124
+ if (last_tick_time < (Time.now - 0.5))
125
+ send_tick_to_observers # ONLY NEED TO SEND THIS TWICE A SECOND - NOT EVERY SELECT!!!
126
+ last_tick_time = Time.now
127
+ end
122
128
  send_queued_exceptions
129
+ send_queued_responses
130
+ send_queued_validation_responses
123
131
  timeout = tick_time = 0.5 # We provide a timer service to various Dnsruby classes
124
132
  sockets=[]
125
133
  timeouts=[]
@@ -142,7 +150,7 @@ module Dnsruby
142
150
  if (has_observer && (timeout > tick_time))
143
151
  timeout = tick_time
144
152
  end
145
- # next if (timeout < 0)
153
+ # next if (timeout < 0)
146
154
  begin
147
155
  ready, write, errors = IO.select(sockets, nil, nil, timeout)
148
156
  rescue SelectWakeup
@@ -173,8 +181,8 @@ module Dnsruby
173
181
  # @todo@ Process errors [can we do this in single socket environment?]
174
182
  end
175
183
 
176
- # @@query_hash[query_settings.client_query_id]=query_settings
177
- # @@socket_hash[query_settings.socket]=[query_settings.client_query_id] # @todo@ If we use persistent sockets then we need to update this array
184
+ # @@query_hash[query_settings.client_query_id]=query_settings
185
+ # @@socket_hash[query_settings.socket]=[query_settings.client_query_id] # @todo@ If we use persistent sockets then we need to update this array
178
186
  def process_ready(ready)
179
187
  ready.each do |socket|
180
188
  query_settings = nil
@@ -188,9 +196,13 @@ module Dnsruby
188
196
  msg, bytes = get_incoming_data(socket, udp_packet_size)
189
197
  if (msg!=nil)
190
198
  # Check that the IP we received from was the IP we sent to!
191
- if ((msg.answerip != query_settings.dest_server) &&
192
- (msg.answerfrom != query_settings.dest_server))
193
- Dnsruby.log.warn("Unsolicited response received from #{answerip}")
199
+ answerip = msg.answerip.downcase
200
+ answerfrom = msg.answerfrom.downcase
201
+ dest_server = query_settings.dest_server
202
+ if (dest_server && (dest_server != '0.0.0.0') &&
203
+ (answerip != query_settings.dest_server.downcase) &&
204
+ (answerfrom != query_settings.dest_server.downcase))
205
+ Dnsruby.log.warn("Unsolicited response received from #{answerip} instead of #{query_settings.dest_server}")
194
206
  else
195
207
  send_response_to_client(msg, bytes, socket)
196
208
  end
@@ -201,6 +213,7 @@ module Dnsruby
201
213
 
202
214
  def send_response_to_client(msg, bytes, socket)
203
215
  # Figure out which client_ids we were expecting on this socket, then see if any header ids match up
216
+ # @TODO@ Can get rid of this, as we only have one query per socket.
204
217
  client_ids=[]
205
218
  @@mutex.synchronize{
206
219
  client_ids = @@socket_hash[socket]
@@ -223,12 +236,16 @@ module Dnsruby
223
236
  }
224
237
  tcp = (socket.class == TCPSocket)
225
238
  # At this point, we should check if the response is OK
226
- if (res.check_response(msg, bytes, query, client_queue, id, tcp))
239
+ if (ret = res.check_response(msg, bytes, query, client_queue, id, tcp))
227
240
  remove_id(id)
228
- exception = msg.header.get_exception
241
+ exception = msg.get_exception
242
+ if (ret.instance_of?TsigError)
243
+ exception = ret
244
+ end
229
245
  Dnsruby.log.debug{"Pushing response to client queue"}
230
- client_queue.push([id, msg, exception])
231
- notify_queue_observers(client_queue, id)
246
+ push_to_client(id, client_queue, msg, exception, query, res)
247
+ # client_queue.push([id, msg, exception])
248
+ # notify_queue_observers(client_queue, id)
232
249
  else
233
250
  # Sending query again - don't return response
234
251
  end
@@ -237,6 +254,7 @@ module Dnsruby
237
254
  end
238
255
  # If not, then we have an error
239
256
  Dnsruby.log.error{"Stray packet - " + msg.inspect + "\n from " + socket.inspect}
257
+ print("Stray packet - " + msg.question()[0].qname.to_s + " from " + msg.answerip.to_s + ", #{client_ids.length} client_ids\n")
240
258
  end
241
259
 
242
260
  def remove_id(id)
@@ -268,7 +286,12 @@ module Dnsruby
268
286
  def tcp_read(socket, len)
269
287
  buf=""
270
288
  while (buf.length < len) do
271
- buf += socket.recv(len-buf.length)
289
+ input = socket.recv(len-buf.length)
290
+ if (input=="")
291
+ TheLog.info("Bad response from server - no bytes read - ignoring")
292
+ return false
293
+ end
294
+ buf += input
272
295
  end
273
296
  return buf
274
297
  end
@@ -291,8 +314,16 @@ module Dnsruby
291
314
  answerport = @@query_hash[client_id].dest_port
292
315
  }
293
316
  buf = tcp_read(socket, 2)
317
+ if (!buf)
318
+ handle_recvfrom_failure(socket, "")
319
+ return
320
+ end
294
321
  answersize = buf.unpack('n')[0]
295
322
  buf = tcp_read(socket,answersize)
323
+ if (!buf)
324
+ handle_recvfrom_failure(socket, "")
325
+ return
326
+ end
296
327
  else
297
328
  if (ret = socket.recvfrom(packet_size))
298
329
  buf = ret[0]
@@ -317,7 +348,9 @@ module Dnsruby
317
348
  begin
318
349
  ans = Message.decode(buf)
319
350
  rescue Exception => e
351
+ # print "DECODE ERROR\n"
320
352
  Dnsruby.log.error{"Decode error! #{e.class}, #{e}\nfor msg (length=#{buf.length}) : #{buf}"}
353
+ # @TODO@ Should know this from the socket!
321
354
  client_id=get_client_id_from_answerfrom(socket, answerip, answerport)
322
355
  if (client_id != nil)
323
356
  send_exception_to_client(e, socket, client_id)
@@ -356,6 +389,7 @@ module Dnsruby
356
389
  end
357
390
 
358
391
  def get_client_id_from_answerfrom(socket, answerip, answerport)
392
+ # @TODO@ Can get rid of this, as there is only one query per socket
359
393
  client_id=nil
360
394
  # Figure out client id from answerfrom
361
395
  @@mutex.synchronize{
@@ -381,15 +415,56 @@ module Dnsruby
381
415
  client_queue = @@query_hash[client_id].client_queue
382
416
  }
383
417
  remove_id(client_id)
384
- push_exception_to_client(client_id, client_queue, err, msg)
418
+ # push_to_client(client_id, client_queue, msg, err)
419
+ client_queue.push([client_id, Resolver::EventType::ERROR, msg, err])
420
+ notify_queue_observers(client_queue, client_id)
385
421
  end
386
422
 
387
423
  def push_exception_to_select(client_id, client_queue, err, msg)
388
424
  @@mutex.synchronize{
389
425
  @@queued_exceptions.push([client_id, client_queue, err, msg])
390
426
  }
427
+ # Make sure select loop is running!
428
+ if (@@select_thread && @@select_thread.alive?)
429
+ else
430
+ @@select_thread = Thread.new {
431
+ do_select
432
+ }
433
+ end
434
+ end
435
+
436
+ def push_response_to_select(client_id, client_queue, msg, query, res)
437
+ # This needs to queue the response TO THE SELECT THREAD, which then needs
438
+ # to send it out from its normal loop.
439
+ Dnsruby.log.debug{"Pushing response to client queue direct from resolver or validator"}
440
+ @@mutex.synchronize{
441
+ @@queued_responses.push([client_id, client_queue, msg, nil, query, res])
442
+ }
443
+ # Make sure select loop is running!
444
+ if (@@select_thread && @@select_thread.alive?)
445
+ else
446
+ @@select_thread = Thread.new {
447
+ do_select
448
+ }
449
+ end
391
450
  end
392
451
 
452
+ def push_validation_response_to_select(client_id, client_queue, msg, err, query, res)
453
+ # This needs to queue the response TO THE SELECT THREAD, which then needs
454
+ # to send it out from its normal loop.
455
+ Dnsruby.log.debug{"Pushing response to client queue direct from resolver or validator"}
456
+ @@mutex.synchronize{
457
+ @@queued_validation_responses.push([client_id, client_queue, msg, err, query, res])
458
+ }
459
+ # Make sure select loop is running!
460
+ if (@@select_thread && @@select_thread.alive?)
461
+ else
462
+ @@select_thread = Thread.new {
463
+ do_select
464
+ }
465
+ end
466
+ end
467
+
393
468
  def send_queued_exceptions
394
469
  exceptions = []
395
470
  @@mutex.synchronize{
@@ -399,16 +474,76 @@ module Dnsruby
399
474
 
400
475
  exceptions.each do |item|
401
476
  client_id, client_queue, err, msg = item
402
- push_exception_to_client(client_id, client_queue, err, msg)
477
+ # push_to_client(client_id, client_queue, msg, err)
478
+ client_queue.push([client_id, Resolver::EventType::ERROR, msg, err])
479
+ notify_queue_observers(client_queue, client_id)
403
480
  end
404
481
  end
405
482
 
406
- def push_exception_to_client(client_id, client_queue, err, msg)
407
- # Now push the exception on the queue
408
- client_queue.push([client_id, msg, err])
483
+ def send_queued_responses
484
+ responses = []
485
+ @@mutex.synchronize{
486
+ responses = @@queued_responses
487
+ @@queued_responses = []
488
+ }
489
+
490
+ responses.each do |item|
491
+ client_id, client_queue, msg, err, query, res = item
492
+ # push_to_client(client_id, client_queue, msg, err)
493
+ client_queue.push([client_id, Resolver::EventType::RECEIVED, msg, err])
494
+ notify_queue_observers(client_queue, client_id)
495
+ # @TODO@ Do we need to validate this? The response has come from the cache -
496
+ # validate it only if it has not been validated already
497
+ # So, if we need to validate it, send it to the validation thread
498
+ # Otherwise, send VALIDATED to the requester.
499
+ # Should we really just be checking (level != SECURE) ?
500
+ if (((msg.security_level == Message::SecurityLevel::UNCHECKED) ||
501
+ (msg.security_level == Message::SecurityLevel::INDETERMINATE)) &&
502
+ (ValidatorThread.requires_validation?(query, msg, err, res)))
503
+ validator = ValidatorThread.new(client_id, client_queue, msg, err, query ,self, res)
504
+ validator.run
505
+ else
506
+ PacketSender.cache(query, msg) # The validator won't cache it, so we'd better do it now
507
+ client_queue.push([client_id, Resolver::EventType::VALIDATED, msg, err])
508
+ notify_queue_observers(client_queue, client_id)
509
+ end
510
+ end
511
+ end
512
+
513
+ def send_queued_validation_responses
514
+ responses = []
515
+ @@mutex.synchronize{
516
+ responses = @@queued_validation_responses
517
+ @@queued_validation_responses = []
518
+ }
519
+
520
+ responses.each do |item|
521
+ client_id, client_queue, msg, err, query, res = item
522
+ # push_to_client(client_id, client_queue, msg, err)
523
+ client_queue.push([client_id, Resolver::EventType::VALIDATED, msg, err])
524
+ notify_queue_observers(client_queue, client_id)
525
+ end
526
+ end
527
+
528
+ def push_to_client(client_id, client_queue, msg, err, query, res)
529
+ # @TODO@ Really need to let the client know that we have received a valid response!
530
+ # Can do that by calling notify_observers here, but with an identifier which
531
+ # defines the response to be a "Response received - validating. Please stop sending"
532
+ # type of response.
533
+ client_queue.push([client_id, Resolver::EventType::RECEIVED, msg, err])
409
534
  notify_queue_observers(client_queue, client_id)
535
+
536
+ if (!err || (err.instance_of?(NXDomain)))
537
+ #
538
+ # This method now needs to push the response to the validator,
539
+ # which will then take responsibility for delivering it to the client.
540
+ # The validator will need access to the queue observers -
541
+ validator = ValidatorThread.new(client_id, client_queue, msg, err, query ,self, res)
542
+ validator.run
543
+ # @@validator.add_to_queue([client_id, client_queue, msg, err, query, self, res])
544
+ end
410
545
  end
411
-
546
+
412
547
  def add_observer(client_queue, observer)
413
548
  @@mutex.synchronize {
414
549
  @@observers[client_queue]=observer
@@ -422,9 +557,11 @@ module Dnsruby
422
557
  def remove_observer(client_queue, observer)
423
558
  @@mutex.synchronize {
424
559
  if (@@observers[client_queue]==observer)
425
- # @@observers.delete(observer)
560
+ # @@observers.delete(observer)
426
561
  @@observers.delete(client_queue)
427
562
  else
563
+ if (@@observers[client_queue] == nil)
564
+ end
428
565
  Dnsruby.log.error{"remove_observer called with wrong observer for queue"}
429
566
  raise ArgumentError.new("remove_observer called with wrong observer for queue")
430
567
  end
@@ -433,7 +570,7 @@ module Dnsruby
433
570
  end
434
571
  }
435
572
  end
436
-
573
+
437
574
  def notify_queue_observers(client_queue, client_query_id)
438
575
  # If any observers are known for this query queue then notify them
439
576
  observer=nil