dnsruby 1.24 → 1.26

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 (1094) hide show
  1. data/demo/example_recurse.rb +4 -5
  2. data/demo/trace_dns.rb +5 -4
  3. data/doc/classes/Cache.html +179 -0
  4. data/doc/classes/Cache.src/M000212.html +19 -0
  5. data/doc/classes/Cache.src/M000213.html +18 -0
  6. data/doc/classes/Cache.src/M000214.html +23 -0
  7. data/doc/classes/ConfigTable.html +500 -0
  8. data/doc/classes/ConfigTable.src/M000019.html +25 -0
  9. data/doc/classes/ConfigTable.src/M000020.html +18 -0
  10. data/doc/classes/ConfigTable.src/M000021.html +18 -0
  11. data/doc/classes/ConfigTable.src/M000022.html +18 -0
  12. data/doc/classes/ConfigTable.src/M000023.html +18 -0
  13. data/doc/classes/ConfigTable.src/M000024.html +18 -0
  14. data/doc/classes/ConfigTable.src/M000025.html +18 -0
  15. data/doc/classes/ConfigTable.src/M000026.html +18 -0
  16. data/doc/classes/ConfigTable.src/M000027.html +18 -0
  17. data/doc/classes/ConfigTable.src/M000028.html +19 -0
  18. data/doc/classes/ConfigTable.src/M000029.html +21 -0
  19. data/doc/classes/ConfigTable.src/M000030.html +20 -0
  20. data/doc/classes/ConfigTable.src/M000031.html +18 -0
  21. data/doc/classes/ConfigTable.src/M000032.html +25 -0
  22. data/doc/classes/ConfigTable.src/M000033.html +23 -0
  23. data/doc/classes/ConfigTable.src/M000034.html +20 -0
  24. data/doc/classes/ConfigTable.src/M000035.html +20 -0
  25. data/doc/classes/ConfigTable.src/M000036.html +23 -0
  26. data/doc/classes/ConfigTable.src/M000037.html +19 -0
  27. data/doc/classes/ConfigTable.src/M000038.html +18 -0
  28. data/doc/classes/ConfigTable.src/M000039.html +18 -0
  29. data/doc/classes/ConfigTable/BoolItem.html +154 -0
  30. data/doc/classes/ConfigTable/BoolItem.src/M000040.html +18 -0
  31. data/doc/classes/ConfigTable/BoolItem.src/M000041.html +18 -0
  32. data/doc/classes/ConfigTable/ExecItem.html +201 -0
  33. data/doc/classes/ConfigTable/ExecItem.src/M000059.html +20 -0
  34. data/doc/classes/ConfigTable/ExecItem.src/M000060.html +18 -0
  35. data/doc/classes/ConfigTable/ExecItem.src/M000061.html +18 -0
  36. data/doc/classes/ConfigTable/ExecItem.src/M000062.html +18 -0
  37. data/doc/classes/ConfigTable/ExecItem.src/M000063.html +22 -0
  38. data/doc/classes/ConfigTable/Item.html +250 -0
  39. data/doc/classes/ConfigTable/Item.src/M000066.html +22 -0
  40. data/doc/classes/ConfigTable/Item.src/M000067.html +18 -0
  41. data/doc/classes/ConfigTable/Item.src/M000068.html +18 -0
  42. data/doc/classes/ConfigTable/Item.src/M000069.html +18 -0
  43. data/doc/classes/ConfigTable/Item.src/M000070.html +18 -0
  44. data/doc/classes/ConfigTable/Item.src/M000071.html +18 -0
  45. data/doc/classes/ConfigTable/MetaConfigEnvironment.html +325 -0
  46. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000046.html +19 -0
  47. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000047.html +18 -0
  48. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000048.html +18 -0
  49. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000049.html +18 -0
  50. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000050.html +18 -0
  51. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000051.html +18 -0
  52. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000052.html +18 -0
  53. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000053.html +18 -0
  54. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000054.html +18 -0
  55. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000055.html +18 -0
  56. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000056.html +18 -0
  57. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000057.html +19 -0
  58. data/doc/classes/ConfigTable/MetaConfigEnvironment.src/M000058.html +19 -0
  59. data/doc/classes/ConfigTable/PackageSelectionItem.html +169 -0
  60. data/doc/classes/ConfigTable/PackageSelectionItem.src/M000044.html +19 -0
  61. data/doc/classes/ConfigTable/PackageSelectionItem.src/M000045.html +18 -0
  62. data/doc/classes/ConfigTable/PathItem.html +139 -0
  63. data/doc/classes/ConfigTable/PathItem.src/M000043.html +18 -0
  64. data/doc/classes/ConfigTable/ProgramItem.html +139 -0
  65. data/doc/classes/ConfigTable/ProgramItem.src/M000042.html +18 -0
  66. data/doc/classes/ConfigTable/SelectItem.html +156 -0
  67. data/doc/classes/ConfigTable/SelectItem.src/M000064.html +19 -0
  68. data/doc/classes/ConfigTable/SelectItem.src/M000065.html +18 -0
  69. data/doc/classes/DnskeyTest.html +180 -0
  70. data/doc/classes/DnskeyTest.src/M000016.html +26 -0
  71. data/doc/classes/DnskeyTest.src/M000017.html +24 -0
  72. data/doc/classes/DnskeyTest.src/M000018.html +33 -0
  73. data/doc/classes/Dnsruby.html +44 -3
  74. data/doc/classes/Dnsruby.src/M000351.html +18 -0
  75. data/doc/classes/Dnsruby/Algorithms.html +12 -10
  76. data/doc/classes/Dnsruby/Classes.html +10 -10
  77. data/doc/classes/Dnsruby/Classes.src/M000573.html +23 -0
  78. data/doc/classes/Dnsruby/Classes.src/M000574.html +19 -0
  79. data/doc/classes/Dnsruby/CodeMapper.html +55 -55
  80. data/doc/classes/Dnsruby/CodeMapper.src/{M000186.html → M000550.html} +0 -0
  81. data/doc/classes/Dnsruby/CodeMapper.src/M000551.html +33 -0
  82. data/doc/classes/Dnsruby/CodeMapper.src/{M000188.html → M000552.html} +0 -0
  83. data/doc/classes/Dnsruby/CodeMapper.src/M000553.html +19 -0
  84. data/doc/classes/Dnsruby/CodeMapper.src/M000554.html +19 -0
  85. data/doc/classes/Dnsruby/CodeMapper.src/M000555.html +18 -0
  86. data/doc/classes/Dnsruby/CodeMapper.src/M000556.html +22 -0
  87. data/doc/classes/Dnsruby/CodeMapper.src/M000557.html +22 -0
  88. data/doc/classes/Dnsruby/CodeMapper.src/M000558.html +22 -0
  89. data/doc/classes/Dnsruby/CodeMapper.src/M000559.html +31 -0
  90. data/doc/classes/Dnsruby/CodeMapper.src/M000560.html +19 -0
  91. data/doc/classes/Dnsruby/Config.html +63 -63
  92. data/doc/classes/Dnsruby/Config.src/{M000148.html → M000505.html} +0 -0
  93. data/doc/classes/Dnsruby/Config.src/{M000149.html → M000506.html} +0 -0
  94. data/doc/classes/Dnsruby/Config.src/{M000150.html → M000507.html} +0 -0
  95. data/doc/classes/Dnsruby/Config.src/{M000151.html → M000508.html} +0 -0
  96. data/doc/classes/Dnsruby/Config.src/{M000152.html → M000509.html} +0 -0
  97. data/doc/classes/Dnsruby/Config.src/{M000153.html → M000510.html} +0 -0
  98. data/doc/classes/Dnsruby/Config.src/{M000154.html → M000511.html} +0 -0
  99. data/doc/classes/Dnsruby/Config.src/M000512.html +22 -0
  100. data/doc/classes/Dnsruby/Config.src/{M000156.html → M000513.html} +0 -0
  101. data/doc/classes/Dnsruby/Config.src/{M000157.html → M000514.html} +0 -0
  102. data/doc/classes/Dnsruby/Config.src/{M000158.html → M000515.html} +0 -0
  103. data/doc/classes/Dnsruby/DNS.html +81 -81
  104. data/doc/classes/Dnsruby/DNS.src/{M000258.html → M000645.html} +0 -0
  105. data/doc/classes/Dnsruby/DNS.src/{M000259.html → M000646.html} +0 -0
  106. data/doc/classes/Dnsruby/DNS.src/{M000260.html → M000647.html} +0 -0
  107. data/doc/classes/Dnsruby/DNS.src/{M000261.html → M000648.html} +0 -0
  108. data/doc/classes/Dnsruby/DNS.src/{M000262.html → M000649.html} +0 -0
  109. data/doc/classes/Dnsruby/DNS.src/{M000263.html → M000650.html} +0 -0
  110. data/doc/classes/Dnsruby/DNS.src/{M000264.html → M000651.html} +0 -0
  111. data/doc/classes/Dnsruby/DNS.src/{M000265.html → M000652.html} +0 -0
  112. data/doc/classes/Dnsruby/DNS.src/{M000266.html → M000653.html} +0 -0
  113. data/doc/classes/Dnsruby/DNS.src/M000654.html +30 -0
  114. data/doc/classes/Dnsruby/DNS.src/M000655.html +19 -0
  115. data/doc/classes/Dnsruby/DNS.src/M000656.html +20 -0
  116. data/doc/classes/Dnsruby/DNS.src/M000657.html +31 -0
  117. data/doc/classes/Dnsruby/Dnssec.html +279 -30
  118. data/doc/classes/Dnsruby/Dnssec.src/M000615.html +21 -0
  119. data/doc/classes/Dnsruby/Dnssec.src/M000616.html +18 -0
  120. data/doc/classes/Dnsruby/Dnssec.src/M000617.html +18 -0
  121. data/doc/classes/Dnsruby/Dnssec.src/M000618.html +19 -0
  122. data/doc/classes/Dnsruby/Dnssec.src/M000619.html +18 -0
  123. data/doc/classes/Dnsruby/Dnssec.src/M000620.html +18 -0
  124. data/doc/classes/Dnsruby/Dnssec.src/M000621.html +18 -0
  125. data/doc/classes/Dnsruby/Dnssec.src/M000622.html +18 -0
  126. data/doc/classes/Dnsruby/Dnssec.src/M000623.html +19 -0
  127. data/doc/classes/Dnsruby/Dnssec.src/M000624.html +18 -0
  128. data/doc/classes/Dnsruby/Dnssec.src/M000625.html +20 -0
  129. data/doc/classes/Dnsruby/Dnssec.src/M000626.html +46 -0
  130. data/doc/classes/Dnsruby/Dnssec.src/M000627.html +23 -0
  131. data/doc/classes/Dnsruby/Dnssec.src/M000628.html +22 -0
  132. data/doc/classes/Dnsruby/Dnssec.src/M000629.html +19 -0
  133. data/doc/classes/Dnsruby/Dnssec.src/M000630.html +116 -0
  134. data/doc/classes/Dnsruby/Dnssec.src/M000631.html +33 -0
  135. data/doc/classes/Dnsruby/Dnssec.src/M000632.html +28 -0
  136. data/doc/classes/Dnsruby/Dnssec.src/M000633.html +92 -0
  137. data/doc/classes/Dnsruby/Dnssec/ValidationPolicy.html +167 -0
  138. data/doc/classes/Dnsruby/Header.html +101 -71
  139. data/doc/classes/Dnsruby/Header.src/M000595.html +18 -0
  140. data/doc/classes/Dnsruby/Header.src/M000596.html +35 -0
  141. data/doc/classes/Dnsruby/Header.src/M000597.html +18 -0
  142. data/doc/classes/Dnsruby/Header.src/M000598.html +18 -0
  143. data/doc/classes/Dnsruby/Header.src/M000599.html +21 -0
  144. data/doc/classes/Dnsruby/Header.src/M000600.html +20 -0
  145. data/doc/classes/Dnsruby/Header.src/M000601.html +32 -0
  146. data/doc/classes/Dnsruby/Header.src/M000602.html +27 -0
  147. data/doc/classes/Dnsruby/Header.src/M000603.html +26 -0
  148. data/doc/classes/Dnsruby/Header.src/M000604.html +18 -0
  149. data/doc/classes/Dnsruby/Header.src/M000605.html +47 -0
  150. data/doc/classes/Dnsruby/Header.src/M000606.html +28 -0
  151. data/doc/classes/Dnsruby/Header.src/M000607.html +30 -0
  152. data/doc/classes/Dnsruby/Hosts.html +43 -43
  153. data/doc/classes/Dnsruby/Hosts.src/{M000197.html → M000561.html} +0 -0
  154. data/doc/classes/Dnsruby/Hosts.src/{M000198.html → M000562.html} +0 -0
  155. data/doc/classes/Dnsruby/Hosts.src/{M000199.html → M000563.html} +0 -0
  156. data/doc/classes/Dnsruby/Hosts.src/{M000200.html → M000564.html} +0 -0
  157. data/doc/classes/Dnsruby/Hosts.src/{M000201.html → M000565.html} +0 -0
  158. data/doc/classes/Dnsruby/Hosts.src/{M000202.html → M000566.html} +0 -0
  159. data/doc/classes/Dnsruby/Hosts.src/{M000203.html → M000567.html} +0 -0
  160. data/doc/classes/Dnsruby/IPv4.html +25 -25
  161. data/doc/classes/Dnsruby/IPv4.src/{M000204.html → M000568.html} +0 -0
  162. data/doc/classes/Dnsruby/IPv4.src/{M000205.html → M000569.html} +0 -0
  163. data/doc/classes/Dnsruby/IPv4.src/{M000206.html → M000570.html} +0 -0
  164. data/doc/classes/Dnsruby/IPv4.src/{M000207.html → M000571.html} +0 -0
  165. data/doc/classes/Dnsruby/IPv4.src/{M000208.html → M000572.html} +0 -0
  166. data/doc/classes/Dnsruby/IPv6.html +20 -20
  167. data/doc/classes/Dnsruby/IPv6.src/{M000242.html → M000608.html} +0 -0
  168. data/doc/classes/Dnsruby/IPv6.src/{M000243.html → M000609.html} +0 -0
  169. data/doc/classes/Dnsruby/IPv6.src/{M000244.html → M000610.html} +0 -0
  170. data/doc/classes/Dnsruby/IPv6.src/{M000245.html → M000611.html} +0 -0
  171. data/doc/classes/Dnsruby/Message.html +174 -116
  172. data/doc/classes/Dnsruby/Message.src/M000473.html +39 -0
  173. data/doc/classes/Dnsruby/Message.src/M000474.html +26 -0
  174. data/doc/classes/Dnsruby/Message.src/M000475.html +23 -0
  175. data/doc/classes/Dnsruby/Message.src/M000476.html +22 -0
  176. data/doc/classes/Dnsruby/Message.src/M000477.html +22 -0
  177. data/doc/classes/Dnsruby/Message.src/M000478.html +20 -0
  178. data/doc/classes/Dnsruby/Message.src/M000479.html +20 -0
  179. data/doc/classes/Dnsruby/Message.src/M000480.html +20 -0
  180. data/doc/classes/Dnsruby/Message.src/M000481.html +20 -0
  181. data/doc/classes/Dnsruby/Message.src/M000482.html +18 -0
  182. data/doc/classes/Dnsruby/Message.src/M000483.html +20 -0
  183. data/doc/classes/Dnsruby/Message.src/M000484.html +23 -0
  184. data/doc/classes/Dnsruby/Message.src/M000485.html +30 -0
  185. data/doc/classes/Dnsruby/Message.src/M000486.html +20 -0
  186. data/doc/classes/Dnsruby/Message.src/M000487.html +18 -0
  187. data/doc/classes/Dnsruby/Message.src/M000488.html +23 -0
  188. data/doc/classes/Dnsruby/Message.src/M000489.html +24 -0
  189. data/doc/classes/Dnsruby/Message.src/M000490.html +73 -0
  190. data/doc/classes/Dnsruby/Message.src/M000491.html +35 -0
  191. data/doc/classes/Dnsruby/Message.src/M000492.html +46 -0
  192. data/doc/classes/Dnsruby/Message/Section.html +12 -12
  193. data/doc/classes/Dnsruby/Message/Section.src/{M000141.html → M000498.html} +0 -0
  194. data/doc/classes/Dnsruby/Message/Section.src/{M000142.html → M000499.html} +0 -0
  195. data/doc/classes/Dnsruby/Name.html +30 -30
  196. data/doc/classes/Dnsruby/Name.src/M000458.html +35 -0
  197. data/doc/classes/Dnsruby/Name.src/M000459.html +20 -0
  198. data/doc/classes/Dnsruby/Name.src/M000460.html +18 -0
  199. data/doc/classes/Dnsruby/Name.src/M000461.html +21 -0
  200. data/doc/classes/Dnsruby/Name.src/M000462.html +22 -0
  201. data/doc/classes/Dnsruby/Name.src/M000463.html +18 -0
  202. data/doc/classes/Dnsruby/Name/Label.html +45 -45
  203. data/doc/classes/Dnsruby/Name/Label.src/M000464.html +21 -0
  204. data/doc/classes/Dnsruby/Name/Label.src/M000465.html +18 -0
  205. data/doc/classes/Dnsruby/Name/Label.src/M000466.html +22 -0
  206. data/doc/classes/Dnsruby/Name/Label.src/M000467.html +18 -0
  207. data/doc/classes/Dnsruby/Name/Label.src/M000468.html +18 -0
  208. data/doc/classes/Dnsruby/Name/Label.src/M000469.html +18 -0
  209. data/doc/classes/Dnsruby/Name/Label.src/M000470.html +18 -0
  210. data/doc/classes/Dnsruby/Name/Label.src/M000471.html +18 -0
  211. data/doc/classes/Dnsruby/Name/Label.src/M000472.html +18 -0
  212. data/doc/classes/Dnsruby/Question.html +30 -25
  213. data/doc/classes/Dnsruby/Question.src/M000590.html +47 -0
  214. data/doc/classes/Dnsruby/Question.src/M000591.html +18 -0
  215. data/doc/classes/Dnsruby/Question.src/M000592.html +18 -0
  216. data/doc/classes/Dnsruby/Question.src/M000593.html +32 -0
  217. data/doc/classes/Dnsruby/Question.src/M000594.html +18 -0
  218. data/doc/classes/Dnsruby/RR.html +74 -69
  219. data/doc/classes/Dnsruby/RR.src/M000352.html +18 -0
  220. data/doc/classes/Dnsruby/RR.src/M000353.html +22 -0
  221. data/doc/classes/Dnsruby/RR.src/M000354.html +18 -0
  222. data/doc/classes/Dnsruby/RR.src/M000355.html +26 -0
  223. data/doc/classes/Dnsruby/RR.src/M000356.html +26 -0
  224. data/doc/classes/Dnsruby/RR.src/M000357.html +18 -0
  225. data/doc/classes/Dnsruby/RR.src/M000358.html +36 -0
  226. data/doc/classes/Dnsruby/RR.src/M000359.html +100 -0
  227. data/doc/classes/Dnsruby/RR.src/M000360.html +18 -0
  228. data/doc/classes/Dnsruby/RR.src/M000361.html +18 -0
  229. data/doc/classes/Dnsruby/RR.src/M000362.html +22 -0
  230. data/doc/classes/Dnsruby/RR.src/M000363.html +33 -0
  231. data/doc/classes/Dnsruby/RR.src/M000364.html +24 -0
  232. data/doc/classes/Dnsruby/RR/DLV.html +134 -0
  233. data/doc/classes/Dnsruby/RR/DNSKEY.html +70 -70
  234. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000044.html → M000397.html} +0 -0
  235. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000045.html → M000398.html} +0 -0
  236. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000046.html → M000399.html} +0 -0
  237. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000047.html → M000400.html} +0 -0
  238. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000048.html → M000401.html} +0 -0
  239. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000049.html → M000402.html} +0 -0
  240. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000050.html → M000403.html} +0 -0
  241. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000051.html → M000404.html} +0 -0
  242. data/doc/classes/Dnsruby/RR/DNSKEY.src/{M000052.html → M000405.html} +0 -0
  243. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000406.html +58 -0
  244. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000407.html +21 -0
  245. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000408.html +24 -0
  246. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000409.html +39 -0
  247. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000410.html +24 -0
  248. data/doc/classes/Dnsruby/RR/DS.html +69 -26
  249. data/doc/classes/Dnsruby/RR/DS.src/M000390.html +19 -0
  250. data/doc/classes/Dnsruby/RR/DS.src/M000391.html +28 -0
  251. data/doc/classes/Dnsruby/RR/DS.src/M000392.html +28 -0
  252. data/doc/classes/Dnsruby/RR/DS.src/M000393.html +38 -0
  253. data/doc/classes/Dnsruby/RR/DS.src/M000394.html +29 -0
  254. data/doc/classes/Dnsruby/RR/DS.src/M000395.html +53 -0
  255. data/doc/classes/Dnsruby/RR/DS.src/M000396.html +40 -0
  256. data/doc/classes/Dnsruby/RR/DS/DigestTypes.html +111 -0
  257. data/doc/classes/Dnsruby/RR/DomainName.html +9 -9
  258. data/doc/classes/Dnsruby/RR/DomainName.src/{M000083.html → M000436.html} +0 -0
  259. data/doc/classes/Dnsruby/RR/IN/A.html +15 -15
  260. data/doc/classes/Dnsruby/RR/IN/A.src/{M000017.html → M000368.html} +0 -0
  261. data/doc/classes/Dnsruby/RR/IN/A.src/{M000018.html → M000369.html} +0 -0
  262. data/doc/classes/Dnsruby/RR/IN/A.src/{M000019.html → M000370.html} +0 -0
  263. data/doc/classes/Dnsruby/RR/IN/SRV.html +15 -15
  264. data/doc/classes/Dnsruby/RR/IN/SRV.src/{M000014.html → M000365.html} +0 -0
  265. data/doc/classes/Dnsruby/RR/IN/SRV.src/{M000015.html → M000366.html} +0 -0
  266. data/doc/classes/Dnsruby/RR/IN/SRV.src/{M000016.html → M000367.html} +0 -0
  267. data/doc/classes/Dnsruby/RR/IN/WKS.html +5 -5
  268. data/doc/classes/Dnsruby/RR/IN/WKS.src/{M000020.html → M000371.html} +0 -0
  269. data/doc/classes/Dnsruby/RR/LOC.html +30 -30
  270. data/doc/classes/Dnsruby/RR/LOC.src/{M000025.html → M000376.html} +0 -0
  271. data/doc/classes/Dnsruby/RR/LOC.src/{M000026.html → M000377.html} +0 -0
  272. data/doc/classes/Dnsruby/RR/LOC.src/{M000027.html → M000378.html} +0 -0
  273. data/doc/classes/Dnsruby/RR/LOC.src/{M000028.html → M000379.html} +0 -0
  274. data/doc/classes/Dnsruby/RR/LOC.src/{M000029.html → M000380.html} +0 -0
  275. data/doc/classes/Dnsruby/RR/LOC.src/{M000030.html → M000381.html} +0 -0
  276. data/doc/classes/Dnsruby/RR/NSAP.html +20 -20
  277. data/doc/classes/Dnsruby/RR/NSAP.src/{M000093.html → M000446.html} +0 -0
  278. data/doc/classes/Dnsruby/RR/NSAP.src/{M000094.html → M000447.html} +0 -0
  279. data/doc/classes/Dnsruby/RR/NSAP.src/{M000095.html → M000448.html} +0 -0
  280. data/doc/classes/Dnsruby/RR/NSAP.src/{M000096.html → M000449.html} +0 -0
  281. data/doc/classes/Dnsruby/RR/NSEC.html +40 -40
  282. data/doc/classes/Dnsruby/RR/NSEC.src/{M000031.html → M000382.html} +0 -0
  283. data/doc/classes/Dnsruby/RR/NSEC.src/{M000032.html → M000383.html} +0 -0
  284. data/doc/classes/Dnsruby/RR/NSEC.src/{M000033.html → M000384.html} +0 -0
  285. data/doc/classes/Dnsruby/RR/NSEC.src/{M000034.html → M000385.html} +0 -0
  286. data/doc/classes/Dnsruby/RR/NSEC.src/M000386.html +75 -0
  287. data/doc/classes/Dnsruby/RR/NSEC.src/M000387.html +18 -0
  288. data/doc/classes/Dnsruby/RR/NSEC.src/M000388.html +92 -0
  289. data/doc/classes/Dnsruby/RR/NSEC.src/M000389.html +23 -0
  290. data/doc/classes/Dnsruby/RR/NSEC3.html +40 -40
  291. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000085.html → M000438.html} +0 -0
  292. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000086.html → M000439.html} +0 -0
  293. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000087.html → M000440.html} +0 -0
  294. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000088.html → M000441.html} +0 -0
  295. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000089.html → M000442.html} +0 -0
  296. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000090.html → M000443.html} +0 -0
  297. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000091.html → M000444.html} +0 -0
  298. data/doc/classes/Dnsruby/RR/NSEC3.src/{M000092.html → M000445.html} +0 -0
  299. data/doc/classes/Dnsruby/RR/NSEC3PARAM.html +25 -25
  300. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/{M000077.html → M000430.html} +0 -0
  301. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/{M000078.html → M000431.html} +0 -0
  302. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/{M000079.html → M000432.html} +0 -0
  303. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/{M000080.html → M000433.html} +0 -0
  304. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/{M000081.html → M000434.html} +0 -0
  305. data/doc/classes/Dnsruby/RR/RP.html +5 -5
  306. data/doc/classes/Dnsruby/RR/RP.src/{M000082.html → M000435.html} +0 -0
  307. data/doc/classes/Dnsruby/RR/RRSIG.html +50 -35
  308. data/doc/classes/Dnsruby/RR/RRSIG.src/{M000097.html → M000450.html} +0 -0
  309. data/doc/classes/Dnsruby/RR/RRSIG.src/{M000098.html → M000451.html} +0 -0
  310. data/doc/classes/Dnsruby/RR/RRSIG.src/{M000099.html → M000452.html} +0 -0
  311. data/doc/classes/Dnsruby/RR/RRSIG.src/{M000100.html → M000453.html} +0 -0
  312. data/doc/classes/Dnsruby/RR/RRSIG.src/M000454.html +46 -0
  313. data/doc/classes/Dnsruby/RR/RRSIG.src/M000455.html +50 -0
  314. data/doc/classes/Dnsruby/RR/RRSIG.src/M000456.html +18 -0
  315. data/doc/classes/Dnsruby/RR/RRSIG.src/M000457.html +27 -0
  316. data/doc/classes/Dnsruby/RR/SOA.html +10 -10
  317. data/doc/classes/Dnsruby/RR/SOA.src/{M000066.html → M000419.html} +0 -0
  318. data/doc/classes/Dnsruby/RR/SOA.src/{M000067.html → M000420.html} +0 -0
  319. data/doc/classes/Dnsruby/RR/TKEY.html +20 -20
  320. data/doc/classes/Dnsruby/RR/TKEY.src/{M000021.html → M000372.html} +0 -0
  321. data/doc/classes/Dnsruby/RR/TKEY.src/{M000022.html → M000373.html} +0 -0
  322. data/doc/classes/Dnsruby/RR/TKEY.src/{M000023.html → M000374.html} +0 -0
  323. data/doc/classes/Dnsruby/RR/TKEY.src/{M000024.html → M000375.html} +0 -0
  324. data/doc/classes/Dnsruby/RR/TSIG.html +47 -47
  325. data/doc/classes/Dnsruby/RR/TSIG.src/M000421.html +24 -0
  326. data/doc/classes/Dnsruby/RR/TSIG.src/M000422.html +32 -0
  327. data/doc/classes/Dnsruby/RR/TSIG.src/M000423.html +54 -0
  328. data/doc/classes/Dnsruby/RR/TSIG.src/M000424.html +121 -0
  329. data/doc/classes/Dnsruby/RR/TSIG.src/M000425.html +33 -0
  330. data/doc/classes/Dnsruby/RR/TSIG.src/M000426.html +25 -0
  331. data/doc/classes/Dnsruby/RR/TSIG.src/M000427.html +36 -0
  332. data/doc/classes/Dnsruby/RR/TSIG.src/M000428.html +22 -0
  333. data/doc/classes/Dnsruby/RR/TSIG.src/M000429.html +29 -0
  334. data/doc/classes/Dnsruby/RR/TXT.html +25 -25
  335. data/doc/classes/Dnsruby/RR/TXT.src/{M000061.html → M000414.html} +0 -0
  336. data/doc/classes/Dnsruby/RR/TXT.src/{M000062.html → M000415.html} +0 -0
  337. data/doc/classes/Dnsruby/RR/TXT.src/{M000063.html → M000416.html} +0 -0
  338. data/doc/classes/Dnsruby/RR/TXT.src/{M000064.html → M000417.html} +0 -0
  339. data/doc/classes/Dnsruby/RR/TXT.src/{M000065.html → M000418.html} +0 -0
  340. data/doc/classes/Dnsruby/RR/X25.html +15 -15
  341. data/doc/classes/Dnsruby/RR/X25.src/{M000058.html → M000411.html} +0 -0
  342. data/doc/classes/Dnsruby/RR/X25.src/{M000059.html → M000412.html} +0 -0
  343. data/doc/classes/Dnsruby/RR/X25.src/{M000060.html → M000413.html} +0 -0
  344. data/doc/classes/Dnsruby/RRSet.html +79 -83
  345. data/doc/classes/Dnsruby/RRSet.src/{M000211.html → M000575.html} +0 -0
  346. data/doc/classes/Dnsruby/RRSet.src/{M000212.html → M000576.html} +0 -0
  347. data/doc/classes/Dnsruby/RRSet.src/{M000213.html → M000577.html} +0 -0
  348. data/doc/classes/Dnsruby/RRSet.src/{M000214.html → M000578.html} +0 -0
  349. data/doc/classes/Dnsruby/RRSet.src/M000579.html +32 -0
  350. data/doc/classes/Dnsruby/RRSet.src/M000580.html +18 -0
  351. data/doc/classes/Dnsruby/RRSet.src/M000581.html +20 -0
  352. data/doc/classes/Dnsruby/RRSet.src/M000582.html +18 -0
  353. data/doc/classes/Dnsruby/RRSet.src/M000583.html +18 -0
  354. data/doc/classes/Dnsruby/RRSet.src/M000584.html +18 -0
  355. data/doc/classes/Dnsruby/RRSet.src/M000585.html +18 -0
  356. data/doc/classes/Dnsruby/RRSet.src/M000586.html +22 -0
  357. data/doc/classes/Dnsruby/RRSet.src/M000587.html +18 -0
  358. data/doc/classes/Dnsruby/RRSet.src/M000588.html +22 -0
  359. data/doc/classes/Dnsruby/RRSet.src/M000589.html +18 -0
  360. data/doc/classes/Dnsruby/Recursor.html +744 -0
  361. data/doc/classes/Dnsruby/Recursor.src/M000639.html +19 -0
  362. data/doc/classes/Dnsruby/Recursor.src/M000640.html +97 -0
  363. data/doc/classes/Dnsruby/Recursor.src/M000641.html +20 -0
  364. data/doc/classes/Dnsruby/Recursor.src/M000642.html +18 -0
  365. data/doc/classes/Dnsruby/Recursor.src/M000643.html +31 -0
  366. data/doc/classes/Dnsruby/Recursor.src/M000644.html +231 -0
  367. data/doc/classes/Dnsruby/Resolv.html +66 -66
  368. data/doc/classes/Dnsruby/Resolv.src/M000516.html +18 -0
  369. data/doc/classes/Dnsruby/Resolv.src/M000517.html +18 -0
  370. data/doc/classes/Dnsruby/Resolv.src/M000518.html +18 -0
  371. data/doc/classes/Dnsruby/Resolv.src/M000519.html +18 -0
  372. data/doc/classes/Dnsruby/Resolv.src/M000520.html +18 -0
  373. data/doc/classes/Dnsruby/Resolv.src/M000521.html +18 -0
  374. data/doc/classes/Dnsruby/Resolv.src/M000522.html +18 -0
  375. data/doc/classes/Dnsruby/Resolv.src/M000523.html +19 -0
  376. data/doc/classes/Dnsruby/Resolv.src/M000524.html +20 -0
  377. data/doc/classes/Dnsruby/Resolv.src/M000525.html +29 -0
  378. data/doc/classes/Dnsruby/Resolv.src/M000526.html +19 -0
  379. data/doc/classes/Dnsruby/Resolv.src/M000527.html +20 -0
  380. data/doc/classes/Dnsruby/Resolv.src/M000528.html +25 -0
  381. data/doc/classes/Dnsruby/Resolver.html +219 -160
  382. data/doc/classes/Dnsruby/Resolver.src/M000658.html +24 -0
  383. data/doc/classes/Dnsruby/Resolver.src/M000659.html +27 -0
  384. data/doc/classes/Dnsruby/Resolver.src/M000660.html +28 -0
  385. data/doc/classes/Dnsruby/Resolver.src/M000661.html +18 -0
  386. data/doc/classes/Dnsruby/Resolver.src/M000662.html +51 -0
  387. data/doc/classes/Dnsruby/Resolver.src/M000663.html +25 -0
  388. data/doc/classes/Dnsruby/Resolver.src/M000664.html +22 -0
  389. data/doc/classes/Dnsruby/Resolver.src/M000665.html +18 -0
  390. data/doc/classes/Dnsruby/Resolver.src/M000666.html +20 -0
  391. data/doc/classes/Dnsruby/Resolver.src/M000667.html +19 -0
  392. data/doc/classes/Dnsruby/Resolver.src/M000668.html +21 -0
  393. data/doc/classes/Dnsruby/Resolver.src/M000669.html +21 -0
  394. data/doc/classes/Dnsruby/Resolver.src/M000670.html +27 -0
  395. data/doc/classes/Dnsruby/Resolver.src/M000671.html +19 -0
  396. data/doc/classes/Dnsruby/Resolver.src/M000672.html +19 -0
  397. data/doc/classes/Dnsruby/Resolver.src/M000673.html +19 -0
  398. data/doc/classes/Dnsruby/Resolver.src/M000674.html +19 -0
  399. data/doc/classes/Dnsruby/Resolver.src/M000675.html +19 -0
  400. data/doc/classes/Dnsruby/Resolver.src/M000676.html +19 -0
  401. data/doc/classes/Dnsruby/Resolver.src/M000677.html +19 -0
  402. data/doc/classes/Dnsruby/Resolver.src/M000678.html +19 -0
  403. data/doc/classes/Dnsruby/Resolver.src/M000679.html +19 -0
  404. data/doc/classes/Dnsruby/Resolver.src/M000680.html +19 -0
  405. data/doc/classes/Dnsruby/Resolver.src/M000681.html +26 -0
  406. data/doc/classes/Dnsruby/Resolver.src/M000682.html +18 -0
  407. data/doc/classes/Dnsruby/Resolver.src/M000683.html +23 -0
  408. data/doc/classes/Dnsruby/Resolver.src/M000684.html +18 -0
  409. data/doc/classes/Dnsruby/SingleResolver.html +218 -91
  410. data/doc/classes/Dnsruby/SingleResolver.src/M000529.html +18 -0
  411. data/doc/classes/Dnsruby/SingleResolver.src/M000530.html +24 -0
  412. data/doc/classes/Dnsruby/SingleResolver.src/M000531.html +36 -0
  413. data/doc/classes/Dnsruby/SingleResolver.src/M000532.html +18 -0
  414. data/doc/classes/Dnsruby/SingleResolver.src/M000533.html +19 -0
  415. data/doc/classes/Dnsruby/SingleResolver.src/M000534.html +58 -0
  416. data/doc/classes/Dnsruby/SingleResolver.src/M000535.html +19 -0
  417. data/doc/classes/Dnsruby/SingleResolver.src/M000536.html +19 -0
  418. data/doc/classes/Dnsruby/SingleResolver.src/M000537.html +25 -0
  419. data/doc/classes/Dnsruby/SingleResolver.src/M000538.html +57 -0
  420. data/doc/classes/Dnsruby/SingleResolver.src/M000539.html +21 -0
  421. data/doc/classes/Dnsruby/SingleResolver.src/M000540.html +19 -0
  422. data/doc/classes/Dnsruby/SingleResolver.src/M000541.html +26 -0
  423. data/doc/classes/Dnsruby/SingleResolver.src/M000542.html +26 -0
  424. data/doc/classes/Dnsruby/SingleResolver.src/M000543.html +36 -0
  425. data/doc/classes/Dnsruby/SingleResolver.src/M000544.html +21 -0
  426. data/doc/classes/Dnsruby/SingleResolver.src/M000545.html +31 -0
  427. data/doc/classes/Dnsruby/SingleResolver.src/M000546.html +47 -0
  428. data/doc/classes/Dnsruby/SingleResolver.src/M000547.html +35 -0
  429. data/doc/classes/Dnsruby/SingleResolver.src/M000548.html +24 -0
  430. data/doc/classes/Dnsruby/SingleResolver.src/M000549.html +21 -0
  431. data/doc/classes/Dnsruby/TheLog.html +24 -32
  432. data/doc/classes/Dnsruby/TheLog.src/M000612.html +18 -0
  433. data/doc/classes/Dnsruby/TheLog.src/M000613.html +18 -0
  434. data/doc/classes/Dnsruby/TheLog.src/M000614.html +18 -0
  435. data/doc/classes/Dnsruby/Types.html +5 -0
  436. data/doc/classes/Dnsruby/Update.html +31 -31
  437. data/doc/classes/Dnsruby/Update.src/{M000253.html → M000634.html} +0 -0
  438. data/doc/classes/Dnsruby/Update.src/M000635.html +36 -0
  439. data/doc/classes/Dnsruby/Update.src/M000636.html +32 -0
  440. data/doc/classes/Dnsruby/Update.src/{M000256.html → M000637.html} +0 -0
  441. data/doc/classes/Dnsruby/Update.src/M000638.html +34 -0
  442. data/doc/classes/Dnsruby/ZoneTransfer.html +23 -23
  443. data/doc/classes/Dnsruby/ZoneTransfer.src/{M000143.html → M000500.html} +0 -0
  444. data/doc/classes/Dnsruby/ZoneTransfer.src/{M000144.html → M000501.html} +0 -0
  445. data/doc/classes/Dnsruby/ZoneTransfer.src/{M000145.html → M000502.html} +0 -0
  446. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +10 -10
  447. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/{M000146.html → M000503.html} +0 -0
  448. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/{M000147.html → M000504.html} +0 -0
  449. data/doc/classes/DnssecTest.html +242 -0
  450. data/doc/classes/DnssecTest.src/M000235.html +58 -0
  451. data/doc/classes/DnssecTest.src/M000236.html +28 -0
  452. data/doc/classes/DnssecTest.src/M000237.html +28 -0
  453. data/doc/classes/DnssecTest.src/M000238.html +28 -0
  454. data/doc/classes/DnssecTest.src/M000239.html +33 -0
  455. data/doc/classes/DnssecTest.src/M000240.html +24 -0
  456. data/doc/classes/DnssecTest.src/M000241.html +47 -0
  457. data/doc/classes/DnssecTest.src/M000242.html +30 -0
  458. data/doc/classes/DsTest.html +252 -0
  459. data/doc/classes/DsTest.src/M000190.html +25 -0
  460. data/doc/classes/DsTest.src/M000191.html +24 -0
  461. data/doc/classes/DsTest.src/M000192.html +26 -0
  462. data/doc/classes/DsTest.src/M000193.html +23 -0
  463. data/doc/classes/DsTest.src/M000194.html +31 -0
  464. data/doc/classes/DsTest.src/M000195.html +25 -0
  465. data/doc/classes/Enumerable.html +118 -0
  466. data/doc/classes/Errno.html +111 -0
  467. data/doc/classes/Errno/ENOTEMPTY.html +111 -0
  468. data/doc/classes/EventMachineTestDeferrable.html +212 -0
  469. data/doc/classes/EventMachineTestDeferrable.src/M000100.html +20 -0
  470. data/doc/classes/EventMachineTestDeferrable.src/M000101.html +19 -0
  471. data/doc/classes/EventMachineTestDeferrable.src/M000102.html +28 -0
  472. data/doc/classes/EventMachineTestDeferrable.src/M000103.html +29 -0
  473. data/doc/classes/EventMachineTestDeferrable.src/M000104.html +33 -0
  474. data/doc/classes/EventMachineTestDeferrable.src/M000105.html +32 -0
  475. data/doc/classes/EventMachineTestResolver.html +324 -0
  476. data/doc/classes/EventMachineTestResolver.src/M000177.html +21 -0
  477. data/doc/classes/EventMachineTestResolver.src/M000178.html +19 -0
  478. data/doc/classes/EventMachineTestResolver.src/M000179.html +20 -0
  479. data/doc/classes/EventMachineTestResolver.src/M000180.html +20 -0
  480. data/doc/classes/EventMachineTestResolver.src/M000181.html +24 -0
  481. data/doc/classes/EventMachineTestResolver.src/M000182.html +25 -0
  482. data/doc/classes/EventMachineTestResolver.src/M000183.html +31 -0
  483. data/doc/classes/EventMachineTestResolver.src/M000184.html +24 -0
  484. data/doc/classes/EventMachineTestResolver.src/M000185.html +39 -0
  485. data/doc/classes/EventMachineTestResolver.src/M000186.html +36 -0
  486. data/doc/classes/EventMachineTestResolver.src/M000187.html +32 -0
  487. data/doc/classes/EventMachineTestResolver.src/M000188.html +30 -0
  488. data/doc/classes/EventMachineTestResolver.src/M000189.html +22 -0
  489. data/doc/classes/EventMachineTestSingleResolver.html +227 -0
  490. data/doc/classes/EventMachineTestSingleResolver.src/M000092.html +21 -0
  491. data/doc/classes/EventMachineTestSingleResolver.src/M000093.html +19 -0
  492. data/doc/classes/EventMachineTestSingleResolver.src/M000094.html +31 -0
  493. data/doc/classes/EventMachineTestSingleResolver.src/M000095.html +33 -0
  494. data/doc/classes/EventMachineTestSingleResolver.src/M000096.html +33 -0
  495. data/doc/classes/EventMachineTestSingleResolver.src/M000097.html +32 -0
  496. data/doc/classes/EventMachineTestSingleResolver.src/M000098.html +23 -0
  497. data/doc/classes/File.html +166 -0
  498. data/doc/classes/File.src/M000336.html +20 -0
  499. data/doc/classes/File.src/M000337.html +20 -0
  500. data/doc/classes/File.src/M000338.html +18 -0
  501. data/doc/classes/FileOperations.html +375 -0
  502. data/doc/classes/FileOperations.src/M000685.html +31 -0
  503. data/doc/classes/FileOperations.src/M000686.html +20 -0
  504. data/doc/classes/FileOperations.src/M000687.html +20 -0
  505. data/doc/classes/FileOperations.src/M000688.html +24 -0
  506. data/doc/classes/FileOperations.src/M000689.html +34 -0
  507. data/doc/classes/FileOperations.src/M000690.html +27 -0
  508. data/doc/classes/FileOperations.src/M000691.html +21 -0
  509. data/doc/classes/FileOperations.src/M000692.html +19 -0
  510. data/doc/classes/FileOperations.src/M000693.html +40 -0
  511. data/doc/classes/FileOperations.src/M000694.html +19 -0
  512. data/doc/classes/FileOperations.src/M000695.html +20 -0
  513. data/doc/classes/FileOperations.src/M000696.html +18 -0
  514. data/doc/classes/FileOperations.src/M000697.html +18 -0
  515. data/doc/classes/FileOperations.src/M000698.html +18 -0
  516. data/doc/classes/FileOperations.src/M000699.html +20 -0
  517. data/doc/classes/FileOperations.src/M000700.html +20 -0
  518. data/doc/classes/HookScriptAPI.html +308 -0
  519. data/doc/classes/HookScriptAPI.src/M000339.html +18 -0
  520. data/doc/classes/HookScriptAPI.src/M000341.html +18 -0
  521. data/doc/classes/HookScriptAPI.src/M000342.html +18 -0
  522. data/doc/classes/HookScriptAPI.src/M000343.html +18 -0
  523. data/doc/classes/HookScriptAPI.src/M000344.html +18 -0
  524. data/doc/classes/HookScriptAPI.src/M000345.html +18 -0
  525. data/doc/classes/HookScriptAPI.src/M000346.html +18 -0
  526. data/doc/classes/HookScriptAPI.src/M000347.html +18 -0
  527. data/doc/classes/HookScriptAPI.src/M000348.html +20 -0
  528. data/doc/classes/HookScriptAPI.src/M000349.html +20 -0
  529. data/doc/classes/HookScriptAPI.src/M000350.html +20 -0
  530. data/doc/classes/Installer.html +1148 -0
  531. data/doc/classes/Installer.src/M000243.html +21 -0
  532. data/doc/classes/Installer.src/M000244.html +18 -0
  533. data/doc/classes/Installer.src/M000245.html +17 -0
  534. data/doc/classes/Installer.src/M000246.html +18 -0
  535. data/doc/classes/Installer.src/M000247.html +18 -0
  536. data/doc/classes/Installer.src/M000248.html +18 -0
  537. data/doc/classes/Installer.src/M000249.html +18 -0
  538. data/doc/classes/Installer.src/M000250.html +18 -0
  539. data/doc/classes/Installer.src/M000251.html +23 -0
  540. data/doc/classes/Installer.src/M000252.html +18 -0
  541. data/doc/classes/Installer.src/M000255.html +18 -0
  542. data/doc/classes/Installer.src/M000259.html +18 -0
  543. data/doc/classes/Installer.src/M000260.html +18 -0
  544. data/doc/classes/Installer.src/M000261.html +20 -0
  545. data/doc/classes/Installer.src/M000263.html +18 -0
  546. data/doc/classes/Installer.src/M000267.html +36 -0
  547. data/doc/classes/Installer.src/M000268.html +25 -0
  548. data/doc/classes/Installer.src/M000269.html +24 -0
  549. data/doc/classes/Installer.src/M000270.html +19 -0
  550. data/doc/classes/Installer.src/M000271.html +18 -0
  551. data/doc/classes/Installer.src/M000272.html +18 -0
  552. data/doc/classes/Installer.src/M000273.html +21 -0
  553. data/doc/classes/Installer.src/M000274.html +18 -0
  554. data/doc/classes/Installer.src/M000275.html +20 -0
  555. data/doc/classes/Installer.src/M000276.html +18 -0
  556. data/doc/classes/Installer.src/M000277.html +21 -0
  557. data/doc/classes/Installer.src/M000278.html +18 -0
  558. data/doc/classes/Installer.src/M000279.html +22 -0
  559. data/doc/classes/Installer.src/M000280.html +18 -0
  560. data/doc/classes/Installer.src/M000281.html +23 -0
  561. data/doc/classes/Installer.src/M000282.html +18 -0
  562. data/doc/classes/Installer.src/M000283.html +20 -0
  563. data/doc/classes/Installer.src/M000284.html +19 -0
  564. data/doc/classes/Installer.src/M000285.html +19 -0
  565. data/doc/classes/Installer.src/M000286.html +20 -0
  566. data/doc/classes/Installer.src/M000287.html +30 -0
  567. data/doc/classes/Installer.src/M000288.html +20 -0
  568. data/doc/classes/Installer.src/M000294.html +19 -0
  569. data/doc/classes/Installer.src/M000295.html +20 -0
  570. data/doc/classes/Installer.src/M000298.html +19 -0
  571. data/doc/classes/Installer.src/M000302.html +26 -0
  572. data/doc/classes/Installer.src/M000303.html +25 -0
  573. data/doc/classes/Installer.src/M000304.html +29 -0
  574. data/doc/classes/Installer.src/M000305.html +26 -0
  575. data/doc/classes/Installer/Shebang.html +202 -0
  576. data/doc/classes/Installer/Shebang.src/M000306.html +23 -0
  577. data/doc/classes/Installer/Shebang.src/M000307.html +19 -0
  578. data/doc/classes/Installer/Shebang.src/M000308.html +19 -0
  579. data/doc/classes/Installer/Shebang.src/M000309.html +18 -0
  580. data/doc/classes/Nsec3ParamTest.html +172 -0
  581. data/doc/classes/Nsec3ParamTest.src/M000233.html +26 -0
  582. data/doc/classes/Nsec3ParamTest.src/M000234.html +24 -0
  583. data/doc/classes/Nsec3Test.html +202 -0
  584. data/doc/classes/Nsec3Test.src/M000207.html +27 -0
  585. data/doc/classes/Nsec3Test.src/M000208.html +24 -0
  586. data/doc/classes/Nsec3Test.src/M000209.html +39 -0
  587. data/doc/classes/Nsec3Test.src/M000210.html +23 -0
  588. data/doc/classes/NsecTest.html +187 -0
  589. data/doc/classes/NsecTest.src/M000333.html +23 -0
  590. data/doc/classes/NsecTest.src/M000334.html +24 -0
  591. data/doc/classes/NsecTest.src/M000335.html +23 -0
  592. data/doc/classes/RrsetTest.html +137 -0
  593. data/doc/classes/RrsetTest.src/M000310.html +68 -0
  594. data/doc/classes/RrsigTest.html +150 -0
  595. data/doc/classes/RrsigTest.src/M000099.html +35 -0
  596. data/doc/classes/SetupError.html +111 -0
  597. data/doc/classes/TestAResolverFile.html +152 -0
  598. data/doc/classes/TestAResolverFile.src/M000205.html +18 -0
  599. data/doc/classes/TestAResolverFile.src/M000206.html +33 -0
  600. data/doc/classes/TestAxfr.html +137 -0
  601. data/doc/classes/TestAxfr.src/M000106.html +23 -0
  602. data/doc/classes/TestDNS.html +257 -0
  603. data/doc/classes/TestDNS.src/M000196.html +18 -0
  604. data/doc/classes/TestDNS.src/M000197.html +18 -0
  605. data/doc/classes/TestDNS.src/M000198.html +53 -0
  606. data/doc/classes/TestDNS.src/M000199.html +19 -0
  607. data/doc/classes/TestDNS.src/M000200.html +18 -0
  608. data/doc/classes/TestDNS.src/M000201.html +32 -0
  609. data/doc/classes/TestDNS.src/M000202.html +74 -0
  610. data/doc/classes/TestDNS.src/M000203.html +41 -0
  611. data/doc/classes/TestDNS.src/M000204.html +67 -0
  612. data/doc/classes/TestDnsruby.html +137 -0
  613. data/doc/classes/TestDnsruby.src/M000211.html +36 -0
  614. data/doc/classes/TestEscapedChars.html +152 -0
  615. data/doc/classes/TestEscapedChars.src/M000014.html +243 -0
  616. data/doc/classes/TestEscapedChars.src/M000015.html +248 -0
  617. data/doc/classes/TestEventMachineSoak.html +227 -0
  618. data/doc/classes/TestEventMachineSoak.src/M000319.html +19 -0
  619. data/doc/classes/TestEventMachineSoak.src/M000320.html +18 -0
  620. data/doc/classes/TestEventMachineSoak.src/M000321.html +18 -0
  621. data/doc/classes/TestEventMachineSoak.src/M000322.html +33 -0
  622. data/doc/classes/TestEventMachineSoak.src/M000323.html +34 -0
  623. data/doc/classes/TestEventMachineSoak.src/M000324.html +33 -0
  624. data/doc/classes/TestEventMachineSoak.src/M000325.html +33 -0
  625. data/doc/classes/TestHeader.html +137 -0
  626. data/doc/classes/TestHeader.src/M000091.html +98 -0
  627. data/doc/classes/TestMisc.html +167 -0
  628. data/doc/classes/TestMisc.src/M000011.html +28 -0
  629. data/doc/classes/TestMisc.src/M000012.html +50 -0
  630. data/doc/classes/TestMisc.src/M000013.html +84 -0
  631. data/doc/classes/TestName.html +182 -0
  632. data/doc/classes/TestName.src/M000218.html +24 -0
  633. data/doc/classes/TestName.src/M000219.html +23 -0
  634. data/doc/classes/TestName.src/M000220.html +21 -0
  635. data/doc/classes/TestName.src/M000221.html +21 -0
  636. data/doc/classes/TestPacket.html +182 -0
  637. data/doc/classes/TestPacket.src/M000229.html +154 -0
  638. data/doc/classes/TestPacket.src/M000230.html +25 -0
  639. data/doc/classes/TestPacket.src/M000231.html +23 -0
  640. data/doc/classes/TestPacket.src/M000232.html +32 -0
  641. data/doc/classes/TestPacketUniquePush.html +140 -0
  642. data/doc/classes/TestPacketUniquePush.src/M000318.html +81 -0
  643. data/doc/classes/TestQuestion.html +137 -0
  644. data/doc/classes/TestQuestion.src/M000090.html +45 -0
  645. data/doc/classes/TestQueue.html +137 -0
  646. data/doc/classes/TestQueue.src/M000089.html +27 -0
  647. data/doc/classes/TestRR.html +137 -0
  648. data/doc/classes/TestRR.src/M000217.html +256 -0
  649. data/doc/classes/TestRecur.html +137 -0
  650. data/doc/classes/TestRecur.src/M000176.html +20 -0
  651. data/doc/classes/TestResOpt.html +227 -0
  652. data/doc/classes/TestResOpt.src/M000311.html +37 -0
  653. data/doc/classes/TestResOpt.src/M000312.html +19 -0
  654. data/doc/classes/TestResOpt.src/M000313.html +30 -0
  655. data/doc/classes/TestResOpt.src/M000314.html +37 -0
  656. data/doc/classes/TestResOpt.src/M000315.html +45 -0
  657. data/doc/classes/TestResOpt.src/M000316.html +36 -0
  658. data/doc/classes/TestResOpt.src/M000317.html +60 -0
  659. data/doc/classes/TestResolver.html +357 -0
  660. data/doc/classes/TestResolver.src/M000077.html +18 -0
  661. data/doc/classes/TestResolver.src/M000078.html +20 -0
  662. data/doc/classes/TestResolver.src/M000079.html +20 -0
  663. data/doc/classes/TestResolver.src/M000080.html +24 -0
  664. data/doc/classes/TestResolver.src/M000081.html +25 -0
  665. data/doc/classes/TestResolver.src/M000082.html +31 -0
  666. data/doc/classes/TestResolver.src/M000083.html +24 -0
  667. data/doc/classes/TestResolver.src/M000084.html +42 -0
  668. data/doc/classes/TestResolver.src/M000085.html +38 -0
  669. data/doc/classes/TestResolver.src/M000086.html +34 -0
  670. data/doc/classes/TestResolver.src/M000087.html +30 -0
  671. data/doc/classes/TestResolver.src/M000088.html +41 -0
  672. data/doc/classes/TestResolverConfig.html +205 -0
  673. data/doc/classes/TestResolverConfig.src/M000225.html +18 -0
  674. data/doc/classes/TestResolverConfig.src/M000226.html +37 -0
  675. data/doc/classes/TestResolverConfig.src/M000227.html +23 -0
  676. data/doc/classes/TestResolverConfig.src/M000228.html +22 -0
  677. data/doc/classes/TestResolverEnv.html +141 -0
  678. data/doc/classes/TestResolverEnv.src/M000332.html +44 -0
  679. data/doc/classes/TestRrOpt.html +182 -0
  680. data/doc/classes/TestRrOpt.src/M000007.html +33 -0
  681. data/doc/classes/TestRrOpt.src/M000008.html +46 -0
  682. data/doc/classes/TestRrOpt.src/M000009.html +23 -0
  683. data/doc/classes/TestRrOpt.src/M000010.html +34 -0
  684. data/doc/classes/TestRrTest.html +155 -0
  685. data/doc/classes/TestRrTest.src/M000224.html +77 -0
  686. data/doc/classes/TestRrUnknown.html +167 -0
  687. data/doc/classes/TestRrUnknown.src/M000074.html +41 -0
  688. data/doc/classes/TestRrUnknown.src/M000075.html +39 -0
  689. data/doc/classes/TestRrUnknown.src/M000076.html +42 -0
  690. data/doc/classes/TestSingleResolver.html +293 -0
  691. data/doc/classes/TestSingleResolver.src/M000149.html +18 -0
  692. data/doc/classes/TestSingleResolver.src/M000150.html +19 -0
  693. data/doc/classes/TestSingleResolver.src/M000151.html +28 -0
  694. data/doc/classes/TestSingleResolver.src/M000152.html +30 -0
  695. data/doc/classes/TestSingleResolver.src/M000153.html +55 -0
  696. data/doc/classes/TestSingleResolver.src/M000154.html +26 -0
  697. data/doc/classes/TestSingleResolver.src/M000155.html +23 -0
  698. data/doc/classes/TestSingleResolver.src/M000156.html +27 -0
  699. data/doc/classes/TestSingleResolver.src/M000157.html +39 -0
  700. data/doc/classes/TestSingleResolverSoak.html +223 -0
  701. data/doc/classes/TestSingleResolverSoak.src/M000326.html +18 -0
  702. data/doc/classes/TestSingleResolverSoak.src/M000327.html +18 -0
  703. data/doc/classes/TestSingleResolverSoak.src/M000328.html +57 -0
  704. data/doc/classes/TestSingleResolverSoak.src/M000329.html +64 -0
  705. data/doc/classes/TestSingleResolverSoak.src/M000330.html +25 -0
  706. data/doc/classes/TestSingleResolverSoak.src/M000331.html +63 -0
  707. data/doc/classes/TestSoakBase.html +172 -0
  708. data/doc/classes/TestSoakBase.src/M000072.html +68 -0
  709. data/doc/classes/TestSoakBase.src/M000073.html +66 -0
  710. data/doc/classes/TestTKey.html +152 -0
  711. data/doc/classes/TestTKey.src/M000215.html +18 -0
  712. data/doc/classes/TestTKey.src/M000216.html +65 -0
  713. data/doc/classes/TestTSig.html +309 -0
  714. data/doc/classes/TestTSig.src/M000138.html +18 -0
  715. data/doc/classes/TestTSig.src/M000139.html +20 -0
  716. data/doc/classes/TestTSig.src/M000140.html +26 -0
  717. data/doc/classes/TestTSig.src/M000141.html +69 -0
  718. data/doc/classes/TestTSig.src/M000142.html +21 -0
  719. data/doc/classes/TestTSig.src/M000143.html +60 -0
  720. data/doc/classes/TestTSig.src/M000144.html +33 -0
  721. data/doc/classes/TestTSig.src/M000145.html +20 -0
  722. data/doc/classes/TestTSig.src/M000146.html +24 -0
  723. data/doc/classes/TestTSig.src/M000147.html +54 -0
  724. data/doc/classes/TestTSig.src/M000148.html +23 -0
  725. data/doc/classes/TestTcp.html +152 -0
  726. data/doc/classes/TestTcp.src/M000222.html +21 -0
  727. data/doc/classes/TestTcp.src/M000223.html +23 -0
  728. data/doc/classes/TestUpdate.html +152 -0
  729. data/doc/classes/TestUpdate.src/M000174.html +20 -0
  730. data/doc/classes/TestUpdate.src/M000175.html +203 -0
  731. data/doc/classes/ToplevelInstaller.html +621 -0
  732. data/doc/classes/ToplevelInstaller.src/M000107.html +23 -0
  733. data/doc/classes/ToplevelInstaller.src/M000108.html +18 -0
  734. data/doc/classes/ToplevelInstaller.src/M000109.html +25 -0
  735. data/doc/classes/ToplevelInstaller.src/M000110.html +21 -0
  736. data/doc/classes/ToplevelInstaller.src/M000111.html +18 -0
  737. data/doc/classes/ToplevelInstaller.src/M000112.html +18 -0
  738. data/doc/classes/ToplevelInstaller.src/M000113.html +38 -0
  739. data/doc/classes/ToplevelInstaller.src/M000114.html +18 -0
  740. data/doc/classes/ToplevelInstaller.src/M000115.html +18 -0
  741. data/doc/classes/ToplevelInstaller.src/M000116.html +18 -0
  742. data/doc/classes/ToplevelInstaller.src/M000117.html +18 -0
  743. data/doc/classes/ToplevelInstaller.src/M000118.html +18 -0
  744. data/doc/classes/ToplevelInstaller.src/M000119.html +40 -0
  745. data/doc/classes/ToplevelInstaller.src/M000120.html +18 -0
  746. data/doc/classes/ToplevelInstaller.src/M000121.html +18 -0
  747. data/doc/classes/ToplevelInstaller.src/M000122.html +21 -0
  748. data/doc/classes/ToplevelInstaller.src/M000128.html +40 -0
  749. data/doc/classes/ToplevelInstaller.src/M000129.html +31 -0
  750. data/doc/classes/ToplevelInstaller.src/M000130.html +52 -0
  751. data/doc/classes/ToplevelInstaller.src/M000131.html +19 -0
  752. data/doc/classes/ToplevelInstaller.src/M000132.html +18 -0
  753. data/doc/classes/ToplevelInstaller.src/M000133.html +18 -0
  754. data/doc/classes/ToplevelInstaller.src/M000134.html +18 -0
  755. data/doc/classes/ToplevelInstaller.src/M000135.html +20 -0
  756. data/doc/classes/ToplevelInstaller.src/M000136.html +18 -0
  757. data/doc/classes/ToplevelInstaller.src/M000137.html +18 -0
  758. data/doc/classes/ToplevelInstallerMulti.html +398 -0
  759. data/doc/classes/ToplevelInstallerMulti.src/M000158.html +21 -0
  760. data/doc/classes/ToplevelInstallerMulti.src/M000159.html +21 -0
  761. data/doc/classes/ToplevelInstallerMulti.src/M000160.html +23 -0
  762. data/doc/classes/ToplevelInstallerMulti.src/M000161.html +29 -0
  763. data/doc/classes/ToplevelInstallerMulti.src/M000162.html +22 -0
  764. data/doc/classes/ToplevelInstallerMulti.src/M000163.html +21 -0
  765. data/doc/classes/ToplevelInstallerMulti.src/M000164.html +21 -0
  766. data/doc/classes/ToplevelInstallerMulti.src/M000165.html +20 -0
  767. data/doc/classes/ToplevelInstallerMulti.src/M000166.html +20 -0
  768. data/doc/classes/ToplevelInstallerMulti.src/M000167.html +20 -0
  769. data/doc/classes/ToplevelInstallerMulti.src/M000168.html +21 -0
  770. data/doc/classes/ToplevelInstallerMulti.src/M000169.html +21 -0
  771. data/doc/classes/ToplevelInstallerMulti.src/M000170.html +25 -0
  772. data/doc/classes/ToplevelInstallerMulti.src/M000171.html +18 -0
  773. data/doc/classes/ToplevelInstallerMulti.src/M000172.html +18 -0
  774. data/doc/classes/ToplevelInstallerMulti.src/M000173.html +18 -0
  775. data/doc/created.rid +1 -1
  776. data/doc/files/demo/axfr_rb.html +158 -0
  777. data/doc/files/demo/check_soa_rb.html +138 -0
  778. data/doc/files/demo/check_zone_rb.html +231 -0
  779. data/doc/files/demo/check_zone_rb.src/M000001.html +81 -0
  780. data/doc/files/demo/check_zone_rb.src/M000002.html +30 -0
  781. data/doc/files/demo/check_zone_rb.src/M000003.html +23 -0
  782. data/doc/files/demo/check_zone_rb.src/M000004.html +23 -0
  783. data/doc/files/demo/check_zone_rb.src/M000005.html +23 -0
  784. data/doc/files/demo/example_recurse_rb.html +115 -0
  785. data/doc/files/demo/mresolv_rb.html +130 -0
  786. data/doc/files/demo/mx_rb.html +108 -0
  787. data/doc/files/demo/rubydig_rb.html +128 -0
  788. data/doc/files/demo/trace_dns_rb.html +108 -0
  789. data/doc/files/lib/Dnsruby/Cache_rb.html +109 -0
  790. data/doc/files/lib/Dnsruby/Config_rb.html +1 -1
  791. data/doc/files/lib/Dnsruby/DNS_rb.html +1 -1
  792. data/doc/files/lib/Dnsruby/Hosts_rb.html +1 -1
  793. data/doc/files/lib/Dnsruby/Recursor_rb.html +101 -0
  794. data/doc/files/lib/Dnsruby/Resolver_rb.html +2 -1
  795. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +2 -1
  796. data/doc/files/lib/Dnsruby/TheLog_rb.html +4 -4
  797. data/doc/files/lib/Dnsruby/code_mapper_rb.html +1 -1
  798. data/doc/files/lib/Dnsruby/dnssec_rb.html +1 -1
  799. data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +1 -1
  800. data/doc/files/lib/Dnsruby/iana_ports_rb.html +127 -0
  801. data/doc/files/lib/Dnsruby/ipv4_rb.html +1 -1
  802. data/doc/files/lib/Dnsruby/ipv6_rb.html +1 -1
  803. data/doc/files/lib/Dnsruby/message_rb.html +1 -1
  804. data/doc/files/lib/Dnsruby/name_rb.html +1 -1
  805. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +1 -1
  806. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +1 -1
  807. data/doc/files/lib/Dnsruby/resource/A_rb.html +1 -1
  808. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +1 -1
  809. data/doc/files/lib/Dnsruby/resource/DLV_rb.html +101 -0
  810. data/doc/files/lib/Dnsruby/resource/DNSKEY_rb.html +1 -1
  811. data/doc/files/lib/Dnsruby/resource/DS_rb.html +8 -1
  812. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +1 -1
  813. data/doc/files/lib/Dnsruby/resource/IN_rb.html +1 -1
  814. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +1 -1
  815. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +1 -1
  816. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +1 -1
  817. data/doc/files/lib/Dnsruby/resource/MX_rb.html +1 -1
  818. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +1 -1
  819. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +1 -1
  820. data/doc/files/lib/Dnsruby/resource/NSEC3PARAM_rb.html +1 -1
  821. data/doc/files/lib/Dnsruby/resource/NSEC3_rb.html +1 -1
  822. data/doc/files/lib/Dnsruby/resource/NSEC_rb.html +1 -1
  823. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +1 -1
  824. data/doc/files/lib/Dnsruby/resource/PX_rb.html +1 -1
  825. data/doc/files/lib/Dnsruby/resource/RP_rb.html +1 -1
  826. data/doc/files/lib/Dnsruby/resource/RRSIG_rb.html +1 -1
  827. data/doc/files/lib/Dnsruby/resource/RT_rb.html +1 -1
  828. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +1 -1
  829. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +1 -1
  830. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +1 -1
  831. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +1 -1
  832. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +1 -1
  833. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +1 -1
  834. data/doc/files/lib/Dnsruby/resource/X25_rb.html +1 -1
  835. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +1 -1
  836. data/doc/files/lib/Dnsruby/resource/generic_rb.html +2 -1
  837. data/doc/files/lib/Dnsruby/resource/resource_rb.html +1 -1
  838. data/doc/files/lib/Dnsruby/select_thread_rb.html +1 -1
  839. data/doc/files/lib/Dnsruby/update_rb.html +1 -1
  840. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +1 -1
  841. data/doc/files/lib/dnsruby_rb.html +2 -2
  842. data/doc/files/setup_rb.html +148 -0
  843. data/doc/files/setup_rb.src/M000006.html +18 -0
  844. data/doc/files/test/tc_axfr_rb.html +110 -0
  845. data/doc/files/test/tc_dns_rb.html +117 -0
  846. data/doc/files/test/tc_dnskey_rb.html +109 -0
  847. data/doc/files/test/tc_dnsruby_rb.html +117 -0
  848. data/doc/files/test/tc_dnssec_rb.html +109 -0
  849. data/doc/files/test/tc_ds_rb.html +110 -0
  850. data/doc/files/test/tc_escapedchars_rb.html +117 -0
  851. data/doc/files/test/tc_event_machine_deferrable_rb.html +111 -0
  852. data/doc/files/test/tc_event_machine_res_rb.html +111 -0
  853. data/doc/files/test/tc_event_machine_single_res_rb.html +111 -0
  854. data/doc/files/test/tc_event_machine_soak_rb.html +113 -0
  855. data/doc/files/test/tc_header_rb.html +117 -0
  856. data/doc/files/test/tc_misc_rb.html +110 -0
  857. data/doc/files/test/tc_name_rb.html +117 -0
  858. data/doc/files/test/tc_nsec3_rb.html +109 -0
  859. data/doc/files/test/tc_nsec3param_rb.html +109 -0
  860. data/doc/files/test/tc_nsec_rb.html +109 -0
  861. data/doc/files/test/tc_packet_rb.html +117 -0
  862. data/doc/files/test/tc_packet_unique_push_rb.html +117 -0
  863. data/doc/files/test/tc_question_rb.html +117 -0
  864. data/doc/files/test/tc_queue_rb.html +109 -0
  865. data/doc/files/test/tc_recur_rb.html +109 -0
  866. data/doc/files/test/tc_res_config_rb.html +110 -0
  867. data/doc/files/test/tc_res_env_rb.html +117 -0
  868. data/doc/files/test/tc_res_file_rb.html +110 -0
  869. data/doc/files/test/tc_res_opt_rb.html +117 -0
  870. data/doc/files/test/tc_resolver_rb.html +117 -0
  871. data/doc/files/test/tc_rr-opt_rb.html +118 -0
  872. data/doc/files/test/tc_rr-txt_rb.html +117 -0
  873. data/doc/files/test/tc_rr-unknown_rb.html +110 -0
  874. data/doc/files/test/tc_rr_rb.html +117 -0
  875. data/doc/files/test/tc_rrset_rb.html +109 -0
  876. data/doc/files/test/tc_rrsig_rb.html +109 -0
  877. data/doc/files/test/tc_single_resolver_rb.html +117 -0
  878. data/doc/files/test/tc_soak_base_rb.html +110 -0
  879. data/doc/files/test/tc_soak_rb.html +121 -0
  880. data/doc/files/test/tc_tcp_rb.html +110 -0
  881. data/doc/files/test/tc_tkey_rb.html +111 -0
  882. data/doc/files/test/tc_tsig_rb.html +111 -0
  883. data/doc/files/test/tc_update_rb.html +117 -0
  884. data/doc/files/test/ts_dnsruby_rb.html +109 -0
  885. data/doc/files/test/ts_offline_rb.html +133 -0
  886. data/doc/files/test/ts_online_rb.html +128 -0
  887. data/doc/fr_class_index.html +66 -1
  888. data/doc/fr_file_index.html +57 -1
  889. data/doc/fr_method_index.html +700 -295
  890. data/doc/index.html +1 -1
  891. data/lib/Dnsruby/Cache.rb +26 -0
  892. data/lib/Dnsruby/Recursor.rb +487 -0
  893. data/lib/Dnsruby/Resolver.rb +70 -13
  894. data/lib/Dnsruby/SingleResolver.rb +157 -36
  895. data/lib/Dnsruby/dnssec.rb +352 -97
  896. data/lib/Dnsruby/event_machine_interface.rb +3 -3
  897. data/lib/Dnsruby/iana_ports.rb +5198 -0
  898. data/lib/Dnsruby/message.rb +28 -28
  899. data/lib/Dnsruby/name.rb +6 -0
  900. data/lib/Dnsruby/resource/DNSKEY.rb +6 -8
  901. data/lib/Dnsruby/resource/RRSIG.rb +8 -8
  902. data/lib/Dnsruby/resource/resource.rb +37 -19
  903. data/lib/dnsruby.rb +1 -0
  904. data/test/tc_dnssec.rb +94 -14
  905. data/test/tc_packet.rb +8 -2
  906. data/test/tc_recur.rb +10 -0
  907. data/test/tc_res_config.rb +1 -1
  908. data/test/tc_res_opt.rb +2 -2
  909. data/test/tc_resolver.rb +42 -0
  910. data/test/tc_rrsig.rb +2 -2
  911. data/test/tc_single_resolver.rb +38 -0
  912. data/test/tc_tcp.rb +1 -1
  913. data/test/ts_online.rb +1 -0
  914. metadata +864 -295
  915. data/doc/classes/Dnsruby/Classes.src/M000209.html +0 -23
  916. data/doc/classes/Dnsruby/Classes.src/M000210.html +0 -19
  917. data/doc/classes/Dnsruby/CodeMapper.src/M000187.html +0 -33
  918. data/doc/classes/Dnsruby/CodeMapper.src/M000189.html +0 -19
  919. data/doc/classes/Dnsruby/CodeMapper.src/M000190.html +0 -19
  920. data/doc/classes/Dnsruby/CodeMapper.src/M000191.html +0 -18
  921. data/doc/classes/Dnsruby/CodeMapper.src/M000192.html +0 -22
  922. data/doc/classes/Dnsruby/CodeMapper.src/M000193.html +0 -22
  923. data/doc/classes/Dnsruby/CodeMapper.src/M000194.html +0 -22
  924. data/doc/classes/Dnsruby/CodeMapper.src/M000195.html +0 -31
  925. data/doc/classes/Dnsruby/CodeMapper.src/M000196.html +0 -19
  926. data/doc/classes/Dnsruby/Config.src/M000155.html +0 -22
  927. data/doc/classes/Dnsruby/DNS.src/M000267.html +0 -28
  928. data/doc/classes/Dnsruby/DNS.src/M000268.html +0 -19
  929. data/doc/classes/Dnsruby/DNS.src/M000269.html +0 -20
  930. data/doc/classes/Dnsruby/DNS.src/M000270.html +0 -31
  931. data/doc/classes/Dnsruby/Dnssec.src/M000249.html +0 -23
  932. data/doc/classes/Dnsruby/Dnssec.src/M000250.html +0 -19
  933. data/doc/classes/Dnsruby/Dnssec.src/M000251.html +0 -90
  934. data/doc/classes/Dnsruby/Dnssec.src/M000252.html +0 -76
  935. data/doc/classes/Dnsruby/Header.src/M000231.html +0 -35
  936. data/doc/classes/Dnsruby/Header.src/M000232.html +0 -18
  937. data/doc/classes/Dnsruby/Header.src/M000233.html +0 -18
  938. data/doc/classes/Dnsruby/Header.src/M000234.html +0 -21
  939. data/doc/classes/Dnsruby/Header.src/M000235.html +0 -20
  940. data/doc/classes/Dnsruby/Header.src/M000236.html +0 -32
  941. data/doc/classes/Dnsruby/Header.src/M000237.html +0 -27
  942. data/doc/classes/Dnsruby/Header.src/M000238.html +0 -26
  943. data/doc/classes/Dnsruby/Header.src/M000239.html +0 -47
  944. data/doc/classes/Dnsruby/Header.src/M000240.html +0 -28
  945. data/doc/classes/Dnsruby/Header.src/M000241.html +0 -30
  946. data/doc/classes/Dnsruby/Message.src/M000119.html +0 -38
  947. data/doc/classes/Dnsruby/Message.src/M000120.html +0 -26
  948. data/doc/classes/Dnsruby/Message.src/M000121.html +0 -22
  949. data/doc/classes/Dnsruby/Message.src/M000122.html +0 -22
  950. data/doc/classes/Dnsruby/Message.src/M000123.html +0 -20
  951. data/doc/classes/Dnsruby/Message.src/M000124.html +0 -20
  952. data/doc/classes/Dnsruby/Message.src/M000125.html +0 -20
  953. data/doc/classes/Dnsruby/Message.src/M000126.html +0 -20
  954. data/doc/classes/Dnsruby/Message.src/M000127.html +0 -18
  955. data/doc/classes/Dnsruby/Message.src/M000128.html +0 -20
  956. data/doc/classes/Dnsruby/Message.src/M000129.html +0 -23
  957. data/doc/classes/Dnsruby/Message.src/M000130.html +0 -30
  958. data/doc/classes/Dnsruby/Message.src/M000131.html +0 -20
  959. data/doc/classes/Dnsruby/Message.src/M000132.html +0 -18
  960. data/doc/classes/Dnsruby/Message.src/M000133.html +0 -56
  961. data/doc/classes/Dnsruby/Message.src/M000134.html +0 -35
  962. data/doc/classes/Dnsruby/Message.src/M000135.html +0 -46
  963. data/doc/classes/Dnsruby/Name.src/M000104.html +0 -28
  964. data/doc/classes/Dnsruby/Name.src/M000105.html +0 -20
  965. data/doc/classes/Dnsruby/Name.src/M000106.html +0 -18
  966. data/doc/classes/Dnsruby/Name.src/M000107.html +0 -21
  967. data/doc/classes/Dnsruby/Name.src/M000108.html +0 -22
  968. data/doc/classes/Dnsruby/Name.src/M000109.html +0 -18
  969. data/doc/classes/Dnsruby/Name/Label.src/M000110.html +0 -21
  970. data/doc/classes/Dnsruby/Name/Label.src/M000111.html +0 -18
  971. data/doc/classes/Dnsruby/Name/Label.src/M000112.html +0 -22
  972. data/doc/classes/Dnsruby/Name/Label.src/M000113.html +0 -18
  973. data/doc/classes/Dnsruby/Name/Label.src/M000114.html +0 -18
  974. data/doc/classes/Dnsruby/Name/Label.src/M000115.html +0 -18
  975. data/doc/classes/Dnsruby/Name/Label.src/M000116.html +0 -18
  976. data/doc/classes/Dnsruby/Name/Label.src/M000117.html +0 -18
  977. data/doc/classes/Dnsruby/Name/Label.src/M000118.html +0 -18
  978. data/doc/classes/Dnsruby/Question.src/M000226.html +0 -47
  979. data/doc/classes/Dnsruby/Question.src/M000227.html +0 -18
  980. data/doc/classes/Dnsruby/Question.src/M000228.html +0 -18
  981. data/doc/classes/Dnsruby/Question.src/M000229.html +0 -32
  982. data/doc/classes/Dnsruby/Question.src/M000230.html +0 -18
  983. data/doc/classes/Dnsruby/RR.src/M000001.html +0 -18
  984. data/doc/classes/Dnsruby/RR.src/M000002.html +0 -22
  985. data/doc/classes/Dnsruby/RR.src/M000003.html +0 -18
  986. data/doc/classes/Dnsruby/RR.src/M000004.html +0 -18
  987. data/doc/classes/Dnsruby/RR.src/M000005.html +0 -26
  988. data/doc/classes/Dnsruby/RR.src/M000006.html +0 -18
  989. data/doc/classes/Dnsruby/RR.src/M000007.html +0 -36
  990. data/doc/classes/Dnsruby/RR.src/M000008.html +0 -100
  991. data/doc/classes/Dnsruby/RR.src/M000009.html +0 -18
  992. data/doc/classes/Dnsruby/RR.src/M000010.html +0 -18
  993. data/doc/classes/Dnsruby/RR.src/M000011.html +0 -22
  994. data/doc/classes/Dnsruby/RR.src/M000012.html +0 -29
  995. data/doc/classes/Dnsruby/RR.src/M000013.html +0 -24
  996. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000053.html +0 -45
  997. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000054.html +0 -21
  998. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000055.html +0 -24
  999. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000056.html +0 -32
  1000. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000057.html +0 -24
  1001. data/doc/classes/Dnsruby/RR/DS.src/M000039.html +0 -22
  1002. data/doc/classes/Dnsruby/RR/DS.src/M000040.html +0 -28
  1003. data/doc/classes/Dnsruby/RR/DS.src/M000041.html +0 -24
  1004. data/doc/classes/Dnsruby/RR/DS.src/M000042.html +0 -28
  1005. data/doc/classes/Dnsruby/RR/DS.src/M000043.html +0 -36
  1006. data/doc/classes/Dnsruby/RR/NSEC.src/M000035.html +0 -71
  1007. data/doc/classes/Dnsruby/RR/NSEC.src/M000036.html +0 -18
  1008. data/doc/classes/Dnsruby/RR/NSEC.src/M000037.html +0 -80
  1009. data/doc/classes/Dnsruby/RR/NSEC.src/M000038.html +0 -23
  1010. data/doc/classes/Dnsruby/RR/RRSIG.src/M000101.html +0 -46
  1011. data/doc/classes/Dnsruby/RR/RRSIG.src/M000102.html +0 -50
  1012. data/doc/classes/Dnsruby/RR/RRSIG.src/M000103.html +0 -27
  1013. data/doc/classes/Dnsruby/RR/TSIG.src/M000068.html +0 -24
  1014. data/doc/classes/Dnsruby/RR/TSIG.src/M000069.html +0 -32
  1015. data/doc/classes/Dnsruby/RR/TSIG.src/M000070.html +0 -54
  1016. data/doc/classes/Dnsruby/RR/TSIG.src/M000071.html +0 -121
  1017. data/doc/classes/Dnsruby/RR/TSIG.src/M000072.html +0 -33
  1018. data/doc/classes/Dnsruby/RR/TSIG.src/M000073.html +0 -25
  1019. data/doc/classes/Dnsruby/RR/TSIG.src/M000074.html +0 -36
  1020. data/doc/classes/Dnsruby/RR/TSIG.src/M000075.html +0 -22
  1021. data/doc/classes/Dnsruby/RR/TSIG.src/M000076.html +0 -29
  1022. data/doc/classes/Dnsruby/RRSet.src/M000215.html +0 -42
  1023. data/doc/classes/Dnsruby/RRSet.src/M000216.html +0 -18
  1024. data/doc/classes/Dnsruby/RRSet.src/M000217.html +0 -20
  1025. data/doc/classes/Dnsruby/RRSet.src/M000218.html +0 -18
  1026. data/doc/classes/Dnsruby/RRSet.src/M000219.html +0 -18
  1027. data/doc/classes/Dnsruby/RRSet.src/M000220.html +0 -18
  1028. data/doc/classes/Dnsruby/RRSet.src/M000221.html +0 -18
  1029. data/doc/classes/Dnsruby/RRSet.src/M000222.html +0 -22
  1030. data/doc/classes/Dnsruby/RRSet.src/M000223.html +0 -18
  1031. data/doc/classes/Dnsruby/RRSet.src/M000224.html +0 -22
  1032. data/doc/classes/Dnsruby/RRSet.src/M000225.html +0 -18
  1033. data/doc/classes/Dnsruby/Resolv.src/M000159.html +0 -18
  1034. data/doc/classes/Dnsruby/Resolv.src/M000160.html +0 -18
  1035. data/doc/classes/Dnsruby/Resolv.src/M000161.html +0 -18
  1036. data/doc/classes/Dnsruby/Resolv.src/M000162.html +0 -18
  1037. data/doc/classes/Dnsruby/Resolv.src/M000163.html +0 -18
  1038. data/doc/classes/Dnsruby/Resolv.src/M000164.html +0 -18
  1039. data/doc/classes/Dnsruby/Resolv.src/M000165.html +0 -18
  1040. data/doc/classes/Dnsruby/Resolv.src/M000166.html +0 -19
  1041. data/doc/classes/Dnsruby/Resolv.src/M000167.html +0 -20
  1042. data/doc/classes/Dnsruby/Resolv.src/M000168.html +0 -29
  1043. data/doc/classes/Dnsruby/Resolv.src/M000169.html +0 -19
  1044. data/doc/classes/Dnsruby/Resolv.src/M000170.html +0 -20
  1045. data/doc/classes/Dnsruby/Resolv.src/M000171.html +0 -25
  1046. data/doc/classes/Dnsruby/Resolver.src/M000271.html +0 -21
  1047. data/doc/classes/Dnsruby/Resolver.src/M000272.html +0 -27
  1048. data/doc/classes/Dnsruby/Resolver.src/M000273.html +0 -28
  1049. data/doc/classes/Dnsruby/Resolver.src/M000274.html +0 -18
  1050. data/doc/classes/Dnsruby/Resolver.src/M000275.html +0 -51
  1051. data/doc/classes/Dnsruby/Resolver.src/M000276.html +0 -21
  1052. data/doc/classes/Dnsruby/Resolver.src/M000277.html +0 -22
  1053. data/doc/classes/Dnsruby/Resolver.src/M000278.html +0 -18
  1054. data/doc/classes/Dnsruby/Resolver.src/M000279.html +0 -20
  1055. data/doc/classes/Dnsruby/Resolver.src/M000280.html +0 -19
  1056. data/doc/classes/Dnsruby/Resolver.src/M000281.html +0 -19
  1057. data/doc/classes/Dnsruby/Resolver.src/M000282.html +0 -19
  1058. data/doc/classes/Dnsruby/Resolver.src/M000283.html +0 -19
  1059. data/doc/classes/Dnsruby/Resolver.src/M000284.html +0 -19
  1060. data/doc/classes/Dnsruby/Resolver.src/M000285.html +0 -19
  1061. data/doc/classes/Dnsruby/Resolver.src/M000286.html +0 -19
  1062. data/doc/classes/Dnsruby/Resolver.src/M000287.html +0 -19
  1063. data/doc/classes/Dnsruby/Resolver.src/M000288.html +0 -19
  1064. data/doc/classes/Dnsruby/Resolver.src/M000289.html +0 -19
  1065. data/doc/classes/Dnsruby/Resolver.src/M000290.html +0 -19
  1066. data/doc/classes/Dnsruby/Resolver.src/M000291.html +0 -19
  1067. data/doc/classes/Dnsruby/Resolver.src/M000292.html +0 -26
  1068. data/doc/classes/Dnsruby/Resolver.src/M000293.html +0 -18
  1069. data/doc/classes/Dnsruby/Resolver.src/M000294.html +0 -23
  1070. data/doc/classes/Dnsruby/Resolver.src/M000295.html +0 -18
  1071. data/doc/classes/Dnsruby/SingleResolver.src/M000172.html +0 -18
  1072. data/doc/classes/Dnsruby/SingleResolver.src/M000173.html +0 -24
  1073. data/doc/classes/Dnsruby/SingleResolver.src/M000174.html +0 -36
  1074. data/doc/classes/Dnsruby/SingleResolver.src/M000175.html +0 -18
  1075. data/doc/classes/Dnsruby/SingleResolver.src/M000176.html +0 -19
  1076. data/doc/classes/Dnsruby/SingleResolver.src/M000177.html +0 -50
  1077. data/doc/classes/Dnsruby/SingleResolver.src/M000178.html +0 -19
  1078. data/doc/classes/Dnsruby/SingleResolver.src/M000179.html +0 -21
  1079. data/doc/classes/Dnsruby/SingleResolver.src/M000180.html +0 -25
  1080. data/doc/classes/Dnsruby/SingleResolver.src/M000181.html +0 -54
  1081. data/doc/classes/Dnsruby/SingleResolver.src/M000182.html +0 -27
  1082. data/doc/classes/Dnsruby/SingleResolver.src/M000183.html +0 -27
  1083. data/doc/classes/Dnsruby/SingleResolver.src/M000184.html +0 -35
  1084. data/doc/classes/Dnsruby/SingleResolver.src/M000185.html +0 -21
  1085. data/doc/classes/Dnsruby/TheLog.src/M000246.html +0 -20
  1086. data/doc/classes/Dnsruby/TheLog.src/M000247.html +0 -20
  1087. data/doc/classes/Dnsruby/TheLog.src/M000248.html +0 -20
  1088. data/doc/classes/Dnsruby/Update.src/M000254.html +0 -36
  1089. data/doc/classes/Dnsruby/Update.src/M000255.html +0 -32
  1090. data/doc/classes/Dnsruby/Update.src/M000257.html +0 -34
  1091. data/lib/Dnsruby/resource/DS.rb.new +0 -202
  1092. data/lib/Dnsruby/resource/DS.rb.orig +0 -162
  1093. data/test/tc_em_deferrable.rb +0 -38
  1094. data/test/tc_inet6.rb +0 -170
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 125</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">res</span> = <span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">new</span>)
15
+ <span class="ruby-ivar">@resolver</span> = <span class="ruby-identifier">res</span>
16
+ <span class="ruby-ivar">@ipv6_ok</span> = <span class="ruby-keyword kw">false</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,97 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>hints= (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 141</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hints=</span>(<span class="ruby-identifier">hints</span>)
15
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; hints(#{hints.inspect})\n&quot;</span>)
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">hints</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@nameservers</span>)
17
+ <span class="ruby-ivar">@hints</span>=(<span class="ruby-ivar">@nameservers</span>)
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-ivar">@nameservers</span>=(<span class="ruby-identifier">hints</span>)
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; verifying (root) zone...\n&quot;</span>)
22
+ <span class="ruby-comment cmt"># bind always asks one of the hint servers</span>
23
+ <span class="ruby-comment cmt"># for who it thinks is authoritative for</span>
24
+ <span class="ruby-comment cmt"># the (root) zone as a sanity check.</span>
25
+ <span class="ruby-comment cmt"># Nice idea.</span>
26
+
27
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">recurse</span>=(<span class="ruby-value">1</span>)
28
+ <span class="ruby-identifier">packet</span>=<span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">query</span>(<span class="ruby-value str">&quot;.&quot;</span>, <span class="ruby-value str">&quot;NS&quot;</span>, <span class="ruby-value str">&quot;IN&quot;</span>)
29
+ <span class="ruby-identifier">hints</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
30
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">packet</span>)
31
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ans</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">answer</span>)
32
+ <span class="ruby-identifier">ans</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
33
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\.?$/</span> <span class="ruby-keyword kw">and</span>
34
+ <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">NS</span>)
35
+ <span class="ruby-comment cmt"># Found root authority</span>
36
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">nsdname</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
37
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.$/</span>,<span class="ruby-value str">&quot;&quot;</span>)
38
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; FOUND HINT: #{server}\n&quot;</span>)
39
+ <span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>] = []
40
+ <span class="ruby-keyword kw">end</span>
41
+ <span class="ruby-keyword kw">end</span>
42
+ <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">additional</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
43
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; ADDITIONAL: &quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">rr</span>.<span class="ruby-identifier">inspect</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;\n&quot;</span>)
44
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
45
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.$/</span>,<span class="ruby-value str">&quot;&quot;</span>)
46
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span>)
47
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span>)
48
+ <span class="ruby-comment cmt">#print &quot;;; ADDITIONAL HELP: $server -&gt; [&quot;.$rr-&gt;rdatastr.&quot;]\n&quot; if $self-&gt;{'debug'};</span>
49
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span>)
50
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; STORING IP: #{server} IN A &quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;\n&quot;</span>)
51
+ <span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>]=[<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span>]
52
+ <span class="ruby-keyword kw">end</span>
53
+ <span class="ruby-keyword kw">end</span>
54
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">AAAA</span>)
55
+ <span class="ruby-comment cmt">#print &quot;;; ADDITIONAL HELP: $server -&gt; [&quot;.$rr-&gt;rdatastr.&quot;]\n&quot; if $self-&gt;{'debug'};</span>
56
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>])
57
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; STORING IP6: #{server} IN AAAA &quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;\n&quot;</span>)
58
+ <span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>]=[<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span>]
59
+ <span class="ruby-keyword kw">end</span>
60
+ <span class="ruby-keyword kw">end</span>
61
+
62
+ <span class="ruby-keyword kw">end</span>
63
+ <span class="ruby-keyword kw">end</span>
64
+ <span class="ruby-keyword kw">end</span>
65
+ <span class="ruby-comment cmt"># foreach my $server (keys %hints) {</span>
66
+ <span class="ruby-identifier">hints</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
67
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">hints</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">==</span>[])
68
+ <span class="ruby-comment cmt"># Wipe the servers without lookups</span>
69
+ <span class="ruby-identifier">hints</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">server</span>)
70
+ <span class="ruby-keyword kw">end</span>
71
+ <span class="ruby-keyword kw">end</span>
72
+ <span class="ruby-ivar">@hints</span> = <span class="ruby-identifier">hints</span>
73
+ <span class="ruby-keyword kw">else</span>
74
+ <span class="ruby-ivar">@hints</span> = []
75
+ <span class="ruby-keyword kw">end</span>
76
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@hints</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
77
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@debug</span>)
78
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;;; USING THE FOLLOWING HINT IPS:\n&quot;</span>)
79
+ <span class="ruby-ivar">@hints</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ips</span><span class="ruby-operator">|</span>
80
+ <span class="ruby-identifier">ips</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
81
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;;; #{server}\n&quot;</span>)
82
+ <span class="ruby-keyword kw">end</span>
83
+ <span class="ruby-keyword kw">end</span>
84
+ <span class="ruby-keyword kw">end</span>
85
+ <span class="ruby-keyword kw">else</span>
86
+ <span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Server [&quot;</span><span class="ruby-operator">+</span>(<span class="ruby-ivar">@nameservers</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;] did not give answers&quot;</span>
87
+ <span class="ruby-keyword kw">end</span>
88
+
89
+ <span class="ruby-comment cmt"># Disable recursion flag.</span>
90
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">recurse</span>=(<span class="ruby-value">0</span>)
91
+
92
+ <span class="ruby-comment cmt"># return $self-&gt;nameservers( map { @{ $_ } } values %{ $self-&gt;{'hints'} } );</span>
93
+ <span class="ruby-ivar">@nameservers</span> = <span class="ruby-ivar">@hints</span>.<span class="ruby-identifier">values</span>
94
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@nameservers</span>
95
+ <span class="ruby-keyword kw">end</span></pre>
96
+ </body>
97
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>recursion_callback= (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 237</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recursion_callback=</span>(<span class="ruby-identifier">sub</span>)
15
+ <span class="ruby-comment cmt"># if (sub &amp;&amp; UNIVERSAL::isa(sub, 'CODE'))</span>
16
+ <span class="ruby-ivar">@callback</span> = <span class="ruby-identifier">sub</span>
17
+ <span class="ruby-comment cmt"># end</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>recursion_callback (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 243</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recursion_callback</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@callback</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>query_dorecursion (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 253</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_dorecursion</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>=<span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span>, <span class="ruby-identifier">klass</span>=<span class="ruby-constant">Classes</span>.<span class="ruby-constant">IN</span>)
15
+
16
+ <span class="ruby-comment cmt"># Make sure the hint servers are initialized.</span>
17
+ <span class="ruby-comment cmt"># @hints=Hash.new unless @hints</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hints</span>=(<span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@hints</span>
19
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">recurse</span>=(<span class="ruby-value">0</span>)
20
+ <span class="ruby-comment cmt"># Make sure the authority cache is clean.</span>
21
+ <span class="ruby-comment cmt"># It is only used to store A and AAAA records of</span>
22
+ <span class="ruby-comment cmt"># the suposedly authoritative name servers.</span>
23
+ <span class="ruby-comment cmt"># @TODO@ Use a proper cache, which respects TTL!!!</span>
24
+ <span class="ruby-comment cmt"># @TODO@ Also, keep cache across queries</span>
25
+ <span class="ruby-ivar">@authority_cache</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
26
+
27
+ <span class="ruby-comment cmt"># Seed name servers with hints</span>
28
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_dorecursion</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-value str">&quot;.&quot;</span>, <span class="ruby-ivar">@hints</span>, <span class="ruby-value">0</span>)
29
+ <span class="ruby-keyword kw">end</span></pre>
30
+ </body>
31
+ </html>
@@ -0,0 +1,231 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>_dorecursion (Dnsruby::Recursor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/Recursor.rb, line 270</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_dorecursion</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-identifier">known_zone</span>, <span class="ruby-identifier">known_authorities</span>, <span class="ruby-identifier">depth</span>)
15
+ <span class="ruby-comment cmt"># @TODO@ cache and known_authorities need to have ttls in place - use a proper cache!</span>
16
+ <span class="ruby-identifier">cache</span> = <span class="ruby-ivar">@authority_cache</span>
17
+
18
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">depth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">255</span> )
19
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Recursion too deep, aborting...\n&quot;</span>)
20
+ <span class="ruby-ivar">@errorstring</span>=<span class="ruby-value str">&quot;Recursion too deep, aborted&quot;</span>
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+
24
+ <span class="ruby-identifier">known_zone</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
25
+
26
+ <span class="ruby-comment cmt"># Get IPs from authorities</span>
27
+ <span class="ruby-identifier">ns</span> = []
28
+ <span class="ruby-identifier">known_authorities</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ns_rec</span><span class="ruby-operator">|</span>
29
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>] <span class="ruby-operator">!=</span> [] )
30
+ <span class="ruby-comment cmt"># @TODO@ Deal with TTLs here! Use a proper cache...</span>
31
+ <span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>] = <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>]
32
+ <span class="ruby-identifier">ns</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>])
33
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>]<span class="ruby-operator">!=</span>[])
34
+ <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>] = <span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>]
35
+ <span class="ruby-identifier">ns</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>])
36
+ <span class="ruby-keyword kw">end</span>
37
+ <span class="ruby-keyword kw">end</span>
38
+
39
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
40
+ <span class="ruby-identifier">found_auth</span> = <span class="ruby-value">0</span>
41
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Failed to extract nameserver IPs:\n&quot;</span>)
42
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">known_authorities</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">cache</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
43
+ <span class="ruby-identifier">known_authorities</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ns_rec</span><span class="ruby-operator">|</span>
44
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>]<span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">ns_rec</span>]<span class="ruby-operator">==</span>[])
45
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Manual lookup for authority [#{ns_rec}]\n&quot;</span>)
46
+
47
+ <span class="ruby-identifier">auth_packet</span>=<span class="ruby-keyword kw">nil</span>
48
+ <span class="ruby-identifier">ans</span>=[]
49
+
50
+ <span class="ruby-comment cmt"># Don't query for V6 if its not there.</span>
51
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-ivar">@ipv6_ok</span>)
52
+ <span class="ruby-identifier">auth_packet</span> = <span class="ruby-identifier">_dorecursion</span>(<span class="ruby-identifier">ns_rec</span>,<span class="ruby-value str">&quot;AAAA&quot;</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-comment cmt"># packet</span>
53
+ <span class="ruby-value str">&quot;.&quot;</span>, <span class="ruby-comment cmt"># known_zone</span>
54
+ <span class="ruby-ivar">@hints</span>, <span class="ruby-comment cmt"># known_authorities</span>
55
+ <span class="ruby-identifier">depth</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>); <span class="ruby-comment cmt"># depth</span>
56
+ <span class="ruby-identifier">ans</span> = <span class="ruby-identifier">auth_packet</span>.<span class="ruby-identifier">answer</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auth_packet</span>
57
+ <span class="ruby-keyword kw">end</span>
58
+
59
+ <span class="ruby-identifier">auth_packet</span> = <span class="ruby-identifier">_dorecursion</span>(<span class="ruby-identifier">ns_rec</span>,<span class="ruby-value str">&quot;A&quot;</span>,<span class="ruby-identifier">klass</span>, <span class="ruby-comment cmt"># packet</span>
60
+ <span class="ruby-value str">&quot;.&quot;</span>, <span class="ruby-comment cmt"># known_zone</span>
61
+ <span class="ruby-ivar">@hints</span>, <span class="ruby-comment cmt"># known_authorities</span>
62
+ <span class="ruby-identifier">depth</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>); <span class="ruby-comment cmt"># depth</span>
63
+
64
+ <span class="ruby-identifier">ans</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">auth_packet</span>.<span class="ruby-identifier">answer</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auth_packet</span>
65
+
66
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">ans</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> )
67
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Answers found for [#{ns_rec}]\n&quot;</span>)
68
+ <span class="ruby-comment cmt"># foreach my $rr (@ans) {</span>
69
+ <span class="ruby-identifier">ans</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr_arr</span><span class="ruby-operator">|</span>
70
+ <span class="ruby-identifier">rr_arr</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
71
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; RR:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
72
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">CNAME</span>)
73
+ <span class="ruby-comment cmt"># Follow CNAME</span>
74
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
75
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span>)
76
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
77
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ns_rec</span>)
78
+ <span class="ruby-identifier">cname</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">cname</span>.<span class="ruby-identifier">downcase</span>
79
+ <span class="ruby-identifier">cname</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
80
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Following CNAME ns [#{ns_rec}] -&gt; [#{cname}]\n&quot;</span>)
81
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span>(<span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">cname</span>]))
82
+ <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">cname</span>] = []
83
+ <span class="ruby-keyword kw">end</span>
84
+ <span class="ruby-identifier">known_authorities</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">ns_rec</span>)
85
+ <span class="ruby-keyword kw">next</span>
86
+ <span class="ruby-keyword kw">end</span>
87
+ <span class="ruby-keyword kw">end</span>
88
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">AAAA</span> )
89
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
90
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span>)
91
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
92
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span>)
93
+ <span class="ruby-identifier">ip</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span>
94
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Found ns: #{server} IN A #{ip}\n&quot;</span>)
95
+ <span class="ruby-comment cmt"># @TODO@ Worry about TTLs here - use a proper cache!</span>
96
+ <span class="ruby-identifier">cache</span>[<span class="ruby-identifier">server</span>] = <span class="ruby-identifier">known_authorities</span>[<span class="ruby-identifier">server</span>]
97
+ <span class="ruby-identifier">cache</span>[<span class="ruby-identifier">ns_rec</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">ip</span>)
98
+ <span class="ruby-identifier">found_auth</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>
99
+ <span class="ruby-keyword kw">next</span>
100
+ <span class="ruby-keyword kw">end</span>
101
+ <span class="ruby-keyword kw">end</span>
102
+ <span class="ruby-keyword kw">end</span>
103
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Ignoring useless answer: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
104
+ <span class="ruby-keyword kw">end</span>
105
+ <span class="ruby-keyword kw">end</span>
106
+ <span class="ruby-keyword kw">else</span>
107
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Could not find A records for [#{ns_rec}]\n&quot;</span>)
108
+ <span class="ruby-keyword kw">end</span>
109
+ <span class="ruby-keyword kw">end</span>
110
+ <span class="ruby-keyword kw">end</span>
111
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">found_auth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
112
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Found #{found_auth} new NS authorities...\n&quot;</span>)
113
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_dorecursion</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-identifier">known_zone</span>, <span class="ruby-identifier">known_authorities</span>, <span class="ruby-identifier">depth</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>)
114
+ <span class="ruby-keyword kw">end</span>
115
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() No authority information could be obtained.\n&quot;</span>)
116
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
117
+ <span class="ruby-keyword kw">end</span>
118
+
119
+ <span class="ruby-comment cmt"># Cut the deck of IPs in a random place.</span>
120
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() cutting deck of (&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ns</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;) authorities...\n&quot;</span>)
121
+ <span class="ruby-identifier">splitpos</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-identifier">ns</span>.<span class="ruby-identifier">length</span>)
122
+ <span class="ruby-identifier">start</span> = <span class="ruby-identifier">ns</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">splitpos</span>]
123
+ <span class="ruby-identifier">endarr</span> = <span class="ruby-identifier">ns</span>[<span class="ruby-identifier">splitpos</span>, <span class="ruby-identifier">ns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">splitpos</span>]
124
+ <span class="ruby-identifier">ns</span> = <span class="ruby-identifier">endarr</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">start</span>
125
+
126
+
127
+ <span class="ruby-identifier">ns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">nss</span><span class="ruby-operator">|</span>
128
+ <span class="ruby-identifier">nss</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">levelns</span><span class="ruby-operator">|</span>
129
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Trying nameserver [#{levelns}]\n&quot;</span>)
130
+ <span class="ruby-comment cmt"># @nameservers=(levelns)</span>
131
+ <span class="ruby-comment cmt"># </span>
132
+ <span class="ruby-comment cmt"># packet = @resolver.query( name, type, klass )</span>
133
+ <span class="ruby-identifier">resolver</span> = <span class="ruby-constant">SingleResolver</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">levelns</span>.<span class="ruby-identifier">to_s</span>)
134
+ <span class="ruby-keyword kw">begin</span>
135
+ <span class="ruby-identifier">packet</span> = <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">query</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>)
136
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ResolvTimeout</span>=<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
137
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; nameserver #{levelns.to_s} didn't respond\n&quot;</span>)
138
+ <span class="ruby-keyword kw">next</span>
139
+ <span class="ruby-keyword kw">end</span>
140
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">packet</span>)
141
+
142
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@callback</span>)
143
+ <span class="ruby-ivar">@callback</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">packet</span>)
144
+ <span class="ruby-keyword kw">end</span>
145
+
146
+ <span class="ruby-identifier">of</span> = <span class="ruby-keyword kw">nil</span>
147
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Response received from [&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@answerfrom</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;]\n&quot;</span>)
148
+ <span class="ruby-identifier">status</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">rcode</span>
149
+ <span class="ruby-identifier">authority</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">authority</span>
150
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">status</span>)
151
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;NXDOMAIN&quot;</span>)
152
+ <span class="ruby-comment cmt"># I guess NXDOMAIN is the best we'll ever get</span>
153
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() returning NXDOMAIN\n&quot;</span>)
154
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">packet</span>
155
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">answer</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
156
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Answers were found.\n&quot;</span>)
157
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">packet</span>
158
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">authority</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
159
+ <span class="ruby-identifier">auth</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
160
+ <span class="ruby-comment cmt"># foreach my $rr (@authority) {</span>
161
+ <span class="ruby-identifier">authority</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
162
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^(NS|SOA)$/</span>)
163
+ <span class="ruby-identifier">server</span> = (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">NS</span> <span class="ruby-value">? </span><span class="ruby-identifier">rr</span>.<span class="ruby-identifier">nsdname</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">mname</span>).<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
164
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
165
+ <span class="ruby-identifier">of</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
166
+ <span class="ruby-identifier">of</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
167
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() Received authority [#{of}] [&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span>().<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;] [#{server}]\n&quot;</span>)
168
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">of</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">known_zone</span>.<span class="ruby-identifier">length</span>)
169
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Deadbeat name server did not provide new information.\n&quot;</span>)
170
+ <span class="ruby-keyword kw">next</span>
171
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">of</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/#{known_zone}/</span>)
172
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() FOUND closer authority for [#{of}] at [#{server}].\n&quot;</span>)
173
+ <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>] <span class="ruby-operator">||=</span> []
174
+ <span class="ruby-keyword kw">else</span>
175
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Confused name server [&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@answerfrom</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;] thinks [#{of}] is closer than [#{known_zone}]?\n&quot;</span>)
176
+ <span class="ruby-identifier">last</span>
177
+ <span class="ruby-keyword kw">end</span>
178
+ <span class="ruby-keyword kw">else</span>
179
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Ignoring NON NS entry found in authority section: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
180
+ <span class="ruby-keyword kw">end</span>
181
+ <span class="ruby-keyword kw">end</span>
182
+ <span class="ruby-comment cmt"># foreach my $rr ($packet-&gt;additional)</span>
183
+ <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">additional</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
184
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">CNAME</span>)
185
+ <span class="ruby-comment cmt"># Store this CNAME into %auth too</span>
186
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
187
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span>)
188
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
189
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">!=</span>[])
190
+ <span class="ruby-identifier">cname</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">cname</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
191
+ <span class="ruby-identifier">cname</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
192
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() FOUND CNAME authority: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">string</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
193
+ <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">cname</span>] <span class="ruby-operator">||=</span> []
194
+ <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>] = <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">cname</span>]
195
+ <span class="ruby-keyword kw">next</span>
196
+ <span class="ruby-keyword kw">end</span>
197
+
198
+ <span class="ruby-keyword kw">end</span>
199
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Types</span>.<span class="ruby-constant">AAAA</span>)
200
+ <span class="ruby-identifier">server</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
201
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">server</span>)
202
+ <span class="ruby-identifier">server</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/\.*$/</span>, <span class="ruby-value str">&quot;.&quot;</span>)
203
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>]<span class="ruby-operator">!=</span><span class="ruby-keyword kw">nil</span>)
204
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> = <span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span>)
205
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() STORING: #{server} IN A &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
206
+ <span class="ruby-keyword kw">end</span>
207
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">type</span> = <span class="ruby-constant">Types</span>.<span class="ruby-constant">AAAA</span>)
208
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;;; _dorecursion() STORING: #{server} IN AAAA &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
209
+ <span class="ruby-keyword kw">end</span>
210
+ <span class="ruby-identifier">auth</span>[<span class="ruby-identifier">server</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">rr</span>.<span class="ruby-identifier">address</span>.<span class="ruby-identifier">to_s</span>)
211
+ <span class="ruby-keyword kw">next</span>
212
+ <span class="ruby-keyword kw">end</span>
213
+ <span class="ruby-keyword kw">end</span>
214
+ <span class="ruby-keyword kw">end</span>
215
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;;; _dorecursion() Ignoring useless: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>)
216
+ <span class="ruby-keyword kw">end</span>
217
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">of</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/#{known_zone}/</span>)
218
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_dorecursion</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-identifier">of</span>, <span class="ruby-identifier">auth</span>, <span class="ruby-identifier">depth</span><span class="ruby-operator">+</span><span class="ruby-value">1</span> )
219
+ <span class="ruby-keyword kw">else</span>
220
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_dorecursion</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>, <span class="ruby-identifier">known_zone</span>, <span class="ruby-identifier">known_authorities</span>, <span class="ruby-identifier">depth</span><span class="ruby-operator">+</span><span class="ruby-value">1</span> )
221
+ <span class="ruby-keyword kw">end</span>
222
+ <span class="ruby-keyword kw">end</span>
223
+ <span class="ruby-keyword kw">end</span>
224
+ <span class="ruby-keyword kw">end</span>
225
+ <span class="ruby-keyword kw">end</span>
226
+ <span class="ruby-keyword kw">end</span>
227
+
228
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
229
+ <span class="ruby-keyword kw">end</span></pre>
230
+ </body>
231
+ </html>
@@ -99,19 +99,19 @@ href="SingleResolver.html">SingleResolver</a> classes may be used.
99
99
  <h3 class="section-bar">Methods</h3>
100
100
 
101
101
  <div class="name-list">
102
- <a href="#M000161">each_address</a>&nbsp;&nbsp;
103
- <a href="#M000168">each_address</a>&nbsp;&nbsp;
104
- <a href="#M000171">each_name</a>&nbsp;&nbsp;
105
- <a href="#M000164">each_name</a>&nbsp;&nbsp;
106
- <a href="#M000166">getaddress</a>&nbsp;&nbsp;
107
- <a href="#M000159">getaddress</a>&nbsp;&nbsp;
108
- <a href="#M000160">getaddresses</a>&nbsp;&nbsp;
109
- <a href="#M000167">getaddresses</a>&nbsp;&nbsp;
110
- <a href="#M000162">getname</a>&nbsp;&nbsp;
111
- <a href="#M000169">getname</a>&nbsp;&nbsp;
112
- <a href="#M000163">getnames</a>&nbsp;&nbsp;
113
- <a href="#M000170">getnames</a>&nbsp;&nbsp;
114
- <a href="#M000165">new</a>&nbsp;&nbsp;
102
+ <a href="#M000518">each_address</a>&nbsp;&nbsp;
103
+ <a href="#M000525">each_address</a>&nbsp;&nbsp;
104
+ <a href="#M000528">each_name</a>&nbsp;&nbsp;
105
+ <a href="#M000521">each_name</a>&nbsp;&nbsp;
106
+ <a href="#M000523">getaddress</a>&nbsp;&nbsp;
107
+ <a href="#M000516">getaddress</a>&nbsp;&nbsp;
108
+ <a href="#M000517">getaddresses</a>&nbsp;&nbsp;
109
+ <a href="#M000524">getaddresses</a>&nbsp;&nbsp;
110
+ <a href="#M000519">getname</a>&nbsp;&nbsp;
111
+ <a href="#M000526">getname</a>&nbsp;&nbsp;
112
+ <a href="#M000520">getnames</a>&nbsp;&nbsp;
113
+ <a href="#M000527">getnames</a>&nbsp;&nbsp;
114
+ <a href="#M000522">new</a>&nbsp;&nbsp;
115
115
  </div>
116
116
  </div>
117
117
 
@@ -162,12 +162,12 @@ Address RegExp to use for matching IP addresses
162
162
  <div id="methods">
163
163
  <h3 class="section-bar">Public Class methods</h3>
164
164
 
165
- <div id="method-M000161" class="method-detail">
166
- <a name="M000161"></a>
165
+ <div id="method-M000518" class="method-detail">
166
+ <a name="M000518"></a>
167
167
 
168
168
  <div class="method-heading">
169
- <a href="Resolv.src/M000161.html" target="Code" class="method-signature"
170
- onclick="popupCode('Resolv.src/M000161.html');return false;">
169
+ <a href="Resolv.src/M000518.html" target="Code" class="method-signature"
170
+ onclick="popupCode('Resolv.src/M000518.html');return false;">
171
171
  <span class="method-name">each_address</span><span class="method-args">(name, &amp;block)</span>
172
172
  </a>
173
173
  </div>
@@ -179,12 +179,12 @@ Iterates over all IP addresses for <tt>name</tt>
179
179
  </div>
180
180
  </div>
181
181
 
182
- <div id="method-M000164" class="method-detail">
183
- <a name="M000164"></a>
182
+ <div id="method-M000521" class="method-detail">
183
+ <a name="M000521"></a>
184
184
 
185
185
  <div class="method-heading">
186
- <a href="Resolv.src/M000164.html" target="Code" class="method-signature"
187
- onclick="popupCode('Resolv.src/M000164.html');return false;">
186
+ <a href="Resolv.src/M000521.html" target="Code" class="method-signature"
187
+ onclick="popupCode('Resolv.src/M000521.html');return false;">
188
188
  <span class="method-name">each_name</span><span class="method-args">(address, &amp;proc)</span>
189
189
  </a>
190
190
  </div>
@@ -196,12 +196,12 @@ Iterates over all hostnames of <tt>address</tt>
196
196
  </div>
197
197
  </div>
198
198
 
199
- <div id="method-M000159" class="method-detail">
200
- <a name="M000159"></a>
199
+ <div id="method-M000516" class="method-detail">
200
+ <a name="M000516"></a>
201
201
 
202
202
  <div class="method-heading">
203
- <a href="Resolv.src/M000159.html" target="Code" class="method-signature"
204
- onclick="popupCode('Resolv.src/M000159.html');return false;">
203
+ <a href="Resolv.src/M000516.html" target="Code" class="method-signature"
204
+ onclick="popupCode('Resolv.src/M000516.html');return false;">
205
205
  <span class="method-name">getaddress</span><span class="method-args">(name)</span>
206
206
  </a>
207
207
  </div>
@@ -213,12 +213,12 @@ Looks up the first IP address for <tt>name</tt>
213
213
  </div>
214
214
  </div>
215
215
 
216
- <div id="method-M000160" class="method-detail">
217
- <a name="M000160"></a>
216
+ <div id="method-M000517" class="method-detail">
217
+ <a name="M000517"></a>
218
218
 
219
219
  <div class="method-heading">
220
- <a href="Resolv.src/M000160.html" target="Code" class="method-signature"
221
- onclick="popupCode('Resolv.src/M000160.html');return false;">
220
+ <a href="Resolv.src/M000517.html" target="Code" class="method-signature"
221
+ onclick="popupCode('Resolv.src/M000517.html');return false;">
222
222
  <span class="method-name">getaddresses</span><span class="method-args">(name)</span>
223
223
  </a>
224
224
  </div>
@@ -230,12 +230,12 @@ Looks up all IP addresses for <tt>name</tt>
230
230
  </div>
231
231
  </div>
232
232
 
233
- <div id="method-M000162" class="method-detail">
234
- <a name="M000162"></a>
233
+ <div id="method-M000519" class="method-detail">
234
+ <a name="M000519"></a>
235
235
 
236
236
  <div class="method-heading">
237
- <a href="Resolv.src/M000162.html" target="Code" class="method-signature"
238
- onclick="popupCode('Resolv.src/M000162.html');return false;">
237
+ <a href="Resolv.src/M000519.html" target="Code" class="method-signature"
238
+ onclick="popupCode('Resolv.src/M000519.html');return false;">
239
239
  <span class="method-name">getname</span><span class="method-args">(address)</span>
240
240
  </a>
241
241
  </div>
@@ -247,12 +247,12 @@ Looks up the first hostname of <tt>address</tt>
247
247
  </div>
248
248
  </div>
249
249
 
250
- <div id="method-M000163" class="method-detail">
251
- <a name="M000163"></a>
250
+ <div id="method-M000520" class="method-detail">
251
+ <a name="M000520"></a>
252
252
 
253
253
  <div class="method-heading">
254
- <a href="Resolv.src/M000163.html" target="Code" class="method-signature"
255
- onclick="popupCode('Resolv.src/M000163.html');return false;">
254
+ <a href="Resolv.src/M000520.html" target="Code" class="method-signature"
255
+ onclick="popupCode('Resolv.src/M000520.html');return false;">
256
256
  <span class="method-name">getnames</span><span class="method-args">(address)</span>
257
257
  </a>
258
258
  </div>
@@ -264,19 +264,19 @@ Looks up all hostnames of <tt>address</tt>
264
264
  </div>
265
265
  </div>
266
266
 
267
- <div id="method-M000165" class="method-detail">
268
- <a name="M000165"></a>
267
+ <div id="method-M000522" class="method-detail">
268
+ <a name="M000522"></a>
269
269
 
270
270
  <div class="method-heading">
271
- <a href="Resolv.src/M000165.html" target="Code" class="method-signature"
272
- onclick="popupCode('Resolv.src/M000165.html');return false;">
271
+ <a href="Resolv.src/M000522.html" target="Code" class="method-signature"
272
+ onclick="popupCode('Resolv.src/M000522.html');return false;">
273
273
  <span class="method-name">new</span><span class="method-args">(resolvers=[Hosts.new, DNS.new])</span>
274
274
  </a>
275
275
  </div>
276
276
 
277
277
  <div class="method-description">
278
278
  <p>
279
- Creates a <a href="Resolv.html#M000165">new</a> <a
279
+ Creates a <a href="Resolv.html#M000522">new</a> <a
280
280
  href="Resolv.html">Resolv</a> using <tt>resolvers</tt>
281
281
  </p>
282
282
  </div>
@@ -284,12 +284,12 @@ href="Resolv.html">Resolv</a> using <tt>resolvers</tt>
284
284
 
285
285
  <h3 class="section-bar">Public Instance methods</h3>
286
286
 
287
- <div id="method-M000168" class="method-detail">
288
- <a name="M000168"></a>
287
+ <div id="method-M000525" class="method-detail">
288
+ <a name="M000525"></a>
289
289
 
290
290
  <div class="method-heading">
291
- <a href="Resolv.src/M000168.html" target="Code" class="method-signature"
292
- onclick="popupCode('Resolv.src/M000168.html');return false;">
291
+ <a href="Resolv.src/M000525.html" target="Code" class="method-signature"
292
+ onclick="popupCode('Resolv.src/M000525.html');return false;">
293
293
  <span class="method-name">each_address</span><span class="method-args">(name) {|name| ...}</span>
294
294
  </a>
295
295
  </div>
@@ -301,12 +301,12 @@ Iterates over all IP addresses for <tt>name</tt>
301
301
  </div>
302
302
  </div>
303
303
 
304
- <div id="method-M000171" class="method-detail">
305
- <a name="M000171"></a>
304
+ <div id="method-M000528" class="method-detail">
305
+ <a name="M000528"></a>
306
306
 
307
307
  <div class="method-heading">
308
- <a href="Resolv.src/M000171.html" target="Code" class="method-signature"
309
- onclick="popupCode('Resolv.src/M000171.html');return false;">
308
+ <a href="Resolv.src/M000528.html" target="Code" class="method-signature"
309
+ onclick="popupCode('Resolv.src/M000528.html');return false;">
310
310
  <span class="method-name">each_name</span><span class="method-args">(address) {|name.to_s| ...}</span>
311
311
  </a>
312
312
  </div>
@@ -318,12 +318,12 @@ Iterates over all hostnames of <tt>address</tt>
318
318
  </div>
319
319
  </div>
320
320
 
321
- <div id="method-M000166" class="method-detail">
322
- <a name="M000166"></a>
321
+ <div id="method-M000523" class="method-detail">
322
+ <a name="M000523"></a>
323
323
 
324
324
  <div class="method-heading">
325
- <a href="Resolv.src/M000166.html" target="Code" class="method-signature"
326
- onclick="popupCode('Resolv.src/M000166.html');return false;">
325
+ <a href="Resolv.src/M000523.html" target="Code" class="method-signature"
326
+ onclick="popupCode('Resolv.src/M000523.html');return false;">
327
327
  <span class="method-name">getaddress</span><span class="method-args">(name)</span>
328
328
  </a>
329
329
  </div>
@@ -335,12 +335,12 @@ Looks up the first IP address for <tt>name</tt>
335
335
  </div>
336
336
  </div>
337
337
 
338
- <div id="method-M000167" class="method-detail">
339
- <a name="M000167"></a>
338
+ <div id="method-M000524" class="method-detail">
339
+ <a name="M000524"></a>
340
340
 
341
341
  <div class="method-heading">
342
- <a href="Resolv.src/M000167.html" target="Code" class="method-signature"
343
- onclick="popupCode('Resolv.src/M000167.html');return false;">
342
+ <a href="Resolv.src/M000524.html" target="Code" class="method-signature"
343
+ onclick="popupCode('Resolv.src/M000524.html');return false;">
344
344
  <span class="method-name">getaddresses</span><span class="method-args">(name)</span>
345
345
  </a>
346
346
  </div>
@@ -352,12 +352,12 @@ Looks up all IP addresses for <tt>name</tt>
352
352
  </div>
353
353
  </div>
354
354
 
355
- <div id="method-M000169" class="method-detail">
356
- <a name="M000169"></a>
355
+ <div id="method-M000526" class="method-detail">
356
+ <a name="M000526"></a>
357
357
 
358
358
  <div class="method-heading">
359
- <a href="Resolv.src/M000169.html" target="Code" class="method-signature"
360
- onclick="popupCode('Resolv.src/M000169.html');return false;">
359
+ <a href="Resolv.src/M000526.html" target="Code" class="method-signature"
360
+ onclick="popupCode('Resolv.src/M000526.html');return false;">
361
361
  <span class="method-name">getname</span><span class="method-args">(address)</span>
362
362
  </a>
363
363
  </div>
@@ -369,12 +369,12 @@ Looks up the first hostname of <tt>address</tt>
369
369
  </div>
370
370
  </div>
371
371
 
372
- <div id="method-M000170" class="method-detail">
373
- <a name="M000170"></a>
372
+ <div id="method-M000527" class="method-detail">
373
+ <a name="M000527"></a>
374
374
 
375
375
  <div class="method-heading">
376
- <a href="Resolv.src/M000170.html" target="Code" class="method-signature"
377
- onclick="popupCode('Resolv.src/M000170.html');return false;">
376
+ <a href="Resolv.src/M000527.html" target="Code" class="method-signature"
377
+ onclick="popupCode('Resolv.src/M000527.html');return false;">
378
378
  <span class="method-name">getnames</span><span class="method-args">(address)</span>
379
379
  </a>
380
380
  </div>