Dnsruby 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. data/README +34 -0
  2. data/doc/classes/Dnsruby/Classes.html +197 -0
  3. data/doc/classes/Dnsruby/Classes.src/M000157.html +23 -0
  4. data/doc/classes/Dnsruby/Classes.src/M000158.html +19 -0
  5. data/doc/classes/Dnsruby/CodeMapper.html +370 -0
  6. data/doc/classes/Dnsruby/CodeMapper.src/M000130.html +18 -0
  7. data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +33 -0
  8. data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +21 -0
  9. data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +19 -0
  10. data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +19 -0
  11. data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +18 -0
  12. data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +22 -0
  13. data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +22 -0
  14. data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +22 -0
  15. data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +31 -0
  16. data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +19 -0
  17. data/doc/classes/Dnsruby/Config.html +410 -0
  18. data/doc/classes/Dnsruby/Config.src/M000098.html +18 -0
  19. data/doc/classes/Dnsruby/Config.src/M000099.html +19 -0
  20. data/doc/classes/Dnsruby/Config.src/M000100.html +19 -0
  21. data/doc/classes/Dnsruby/Config.src/M000101.html +21 -0
  22. data/doc/classes/Dnsruby/Config.src/M000102.html +21 -0
  23. data/doc/classes/Dnsruby/Config.src/M000103.html +38 -0
  24. data/doc/classes/Dnsruby/Config.src/M000104.html +26 -0
  25. data/doc/classes/Dnsruby/Config.src/M000105.html +22 -0
  26. data/doc/classes/Dnsruby/Config.src/M000106.html +23 -0
  27. data/doc/classes/Dnsruby/Config.src/M000107.html +22 -0
  28. data/doc/classes/Dnsruby/Config.src/M000108.html +18 -0
  29. data/doc/classes/Dnsruby/DNS/DecodeError.html +111 -0
  30. data/doc/classes/Dnsruby/DNS/EncodeError.html +111 -0
  31. data/doc/classes/Dnsruby/DNS.html +469 -0
  32. data/doc/classes/Dnsruby/DNS.src/M000196.html +24 -0
  33. data/doc/classes/Dnsruby/DNS.src/M000197.html +18 -0
  34. data/doc/classes/Dnsruby/DNS.src/M000198.html +18 -0
  35. data/doc/classes/Dnsruby/DNS.src/M000199.html +20 -0
  36. data/doc/classes/Dnsruby/DNS.src/M000200.html +19 -0
  37. data/doc/classes/Dnsruby/DNS.src/M000201.html +20 -0
  38. data/doc/classes/Dnsruby/DNS.src/M000202.html +18 -0
  39. data/doc/classes/Dnsruby/DNS.src/M000203.html +19 -0
  40. data/doc/classes/Dnsruby/DNS.src/M000204.html +20 -0
  41. data/doc/classes/Dnsruby/DNS.src/M000205.html +28 -0
  42. data/doc/classes/Dnsruby/DNS.src/M000206.html +19 -0
  43. data/doc/classes/Dnsruby/DNS.src/M000207.html +20 -0
  44. data/doc/classes/Dnsruby/DNS.src/M000208.html +41 -0
  45. data/doc/classes/Dnsruby/DNS.src/M000209.html +32 -0
  46. data/doc/classes/Dnsruby/DNS.src/M000210.html +50 -0
  47. data/doc/classes/Dnsruby/DNSSEC/Algorithms.html +154 -0
  48. data/doc/classes/Dnsruby/DNSSEC.html +111 -0
  49. data/doc/classes/Dnsruby/DecodeError.html +111 -0
  50. data/doc/classes/Dnsruby/EncodeError.html +111 -0
  51. data/doc/classes/Dnsruby/FormErr.html +113 -0
  52. data/doc/classes/Dnsruby/Header.html +516 -0
  53. data/doc/classes/Dnsruby/Header.src/M000168.html +35 -0
  54. data/doc/classes/Dnsruby/Header.src/M000169.html +18 -0
  55. data/doc/classes/Dnsruby/Header.src/M000170.html +18 -0
  56. data/doc/classes/Dnsruby/Header.src/M000171.html +21 -0
  57. data/doc/classes/Dnsruby/Header.src/M000172.html +20 -0
  58. data/doc/classes/Dnsruby/Header.src/M000173.html +32 -0
  59. data/doc/classes/Dnsruby/Header.src/M000174.html +26 -0
  60. data/doc/classes/Dnsruby/Header.src/M000175.html +47 -0
  61. data/doc/classes/Dnsruby/Header.src/M000176.html +28 -0
  62. data/doc/classes/Dnsruby/Header.src/M000177.html +18 -0
  63. data/doc/classes/Dnsruby/Header.src/M000178.html +18 -0
  64. data/doc/classes/Dnsruby/Header.src/M000179.html +30 -0
  65. data/doc/classes/Dnsruby/Hosts.html +305 -0
  66. data/doc/classes/Dnsruby/Hosts.src/M000141.html +20 -0
  67. data/doc/classes/Dnsruby/Hosts.src/M000142.html +49 -0
  68. data/doc/classes/Dnsruby/Hosts.src/M000143.html +19 -0
  69. data/doc/classes/Dnsruby/Hosts.src/M000144.html +20 -0
  70. data/doc/classes/Dnsruby/Hosts.src/M000145.html +21 -0
  71. data/doc/classes/Dnsruby/Hosts.src/M000146.html +19 -0
  72. data/doc/classes/Dnsruby/Hosts.src/M000147.html +20 -0
  73. data/doc/classes/Dnsruby/Hosts.src/M000148.html +21 -0
  74. data/doc/classes/Dnsruby/IPv4.html +298 -0
  75. data/doc/classes/Dnsruby/IPv4.src/M000149.html +32 -0
  76. data/doc/classes/Dnsruby/IPv4.src/M000150.html +21 -0
  77. data/doc/classes/Dnsruby/IPv4.src/M000151.html +18 -0
  78. data/doc/classes/Dnsruby/IPv4.src/M000152.html +18 -0
  79. data/doc/classes/Dnsruby/IPv4.src/M000153.html +19 -0
  80. data/doc/classes/Dnsruby/IPv4.src/M000154.html +18 -0
  81. data/doc/classes/Dnsruby/IPv4.src/M000155.html +18 -0
  82. data/doc/classes/Dnsruby/IPv4.src/M000156.html +18 -0
  83. data/doc/classes/Dnsruby/IPv6.html +318 -0
  84. data/doc/classes/Dnsruby/IPv6.src/M000180.html +60 -0
  85. data/doc/classes/Dnsruby/IPv6.src/M000181.html +21 -0
  86. data/doc/classes/Dnsruby/IPv6.src/M000182.html +22 -0
  87. data/doc/classes/Dnsruby/IPv6.src/M000183.html +18 -0
  88. data/doc/classes/Dnsruby/IPv6.src/M000184.html +21 -0
  89. data/doc/classes/Dnsruby/IPv6.src/M000185.html +18 -0
  90. data/doc/classes/Dnsruby/IPv6.src/M000186.html +18 -0
  91. data/doc/classes/Dnsruby/IPv6.src/M000187.html +18 -0
  92. data/doc/classes/Dnsruby/Message.html +689 -0
  93. data/doc/classes/Dnsruby/Message.src/M000076.html +34 -0
  94. data/doc/classes/Dnsruby/Message.src/M000077.html +26 -0
  95. data/doc/classes/Dnsruby/Message.src/M000078.html +22 -0
  96. data/doc/classes/Dnsruby/Message.src/M000079.html +20 -0
  97. data/doc/classes/Dnsruby/Message.src/M000080.html +20 -0
  98. data/doc/classes/Dnsruby/Message.src/M000081.html +20 -0
  99. data/doc/classes/Dnsruby/Message.src/M000082.html +20 -0
  100. data/doc/classes/Dnsruby/Message.src/M000083.html +20 -0
  101. data/doc/classes/Dnsruby/Message.src/M000084.html +21 -0
  102. data/doc/classes/Dnsruby/Message.src/M000085.html +20 -0
  103. data/doc/classes/Dnsruby/Message.src/M000086.html +18 -0
  104. data/doc/classes/Dnsruby/Message.src/M000087.html +54 -0
  105. data/doc/classes/Dnsruby/Message.src/M000088.html +42 -0
  106. data/doc/classes/Dnsruby/Message.src/M000089.html +45 -0
  107. data/doc/classes/Dnsruby/MetaTypes.html +136 -0
  108. data/doc/classes/Dnsruby/Modes.html +171 -0
  109. data/doc/classes/Dnsruby/NXDomain.html +113 -0
  110. data/doc/classes/Dnsruby/Name/Label.html +300 -0
  111. data/doc/classes/Dnsruby/Name/Label.src/M000067.html +21 -0
  112. data/doc/classes/Dnsruby/Name/Label.src/M000068.html +18 -0
  113. data/doc/classes/Dnsruby/Name/Label.src/M000069.html +22 -0
  114. data/doc/classes/Dnsruby/Name/Label.src/M000070.html +18 -0
  115. data/doc/classes/Dnsruby/Name/Label.src/M000071.html +18 -0
  116. data/doc/classes/Dnsruby/Name/Label.src/M000072.html +18 -0
  117. data/doc/classes/Dnsruby/Name/Label.src/M000073.html +18 -0
  118. data/doc/classes/Dnsruby/Name/Label.src/M000074.html +18 -0
  119. data/doc/classes/Dnsruby/Name/Label.src/M000075.html +18 -0
  120. data/doc/classes/Dnsruby/Name.html +357 -0
  121. data/doc/classes/Dnsruby/Name.src/M000057.html +28 -0
  122. data/doc/classes/Dnsruby/Name.src/M000058.html +20 -0
  123. data/doc/classes/Dnsruby/Name.src/M000059.html +18 -0
  124. data/doc/classes/Dnsruby/Name.src/M000060.html +18 -0
  125. data/doc/classes/Dnsruby/Name.src/M000061.html +21 -0
  126. data/doc/classes/Dnsruby/Name.src/M000062.html +19 -0
  127. data/doc/classes/Dnsruby/Name.src/M000064.html +22 -0
  128. data/doc/classes/Dnsruby/Name.src/M000065.html +18 -0
  129. data/doc/classes/Dnsruby/Name.src/M000066.html +20 -0
  130. data/doc/classes/Dnsruby/NotImp.html +113 -0
  131. data/doc/classes/Dnsruby/OpCode.html +146 -0
  132. data/doc/classes/Dnsruby/OtherResolvError.html +113 -0
  133. data/doc/classes/Dnsruby/QTypes.html +146 -0
  134. data/doc/classes/Dnsruby/Question.html +256 -0
  135. data/doc/classes/Dnsruby/Question.src/M000166.html +47 -0
  136. data/doc/classes/Dnsruby/Question.src/M000167.html +18 -0
  137. data/doc/classes/Dnsruby/RCode.html +211 -0
  138. data/doc/classes/Dnsruby/RR/ANY.html +133 -0
  139. data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +169 -0
  140. data/doc/classes/Dnsruby/RR/CERT.html +180 -0
  141. data/doc/classes/Dnsruby/RR/CNAME.html +150 -0
  142. data/doc/classes/Dnsruby/RR/DNAME.html +150 -0
  143. data/doc/classes/Dnsruby/RR/DomainName.html +175 -0
  144. data/doc/classes/Dnsruby/RR/DomainName.src/M000051.html +22 -0
  145. data/doc/classes/Dnsruby/RR/Generic.html +156 -0
  146. data/doc/classes/Dnsruby/RR/Generic.src/M000041.html +25 -0
  147. data/doc/classes/Dnsruby/RR/HINFO.html +155 -0
  148. data/doc/classes/Dnsruby/RR/IN/A.html +199 -0
  149. data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +18 -0
  150. data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +18 -0
  151. data/doc/classes/Dnsruby/RR/IN/A.src/M000020.html +18 -0
  152. data/doc/classes/Dnsruby/RR/IN/AAAA.html +138 -0
  153. data/doc/classes/Dnsruby/RR/IN/AFSDB.html +145 -0
  154. data/doc/classes/Dnsruby/RR/IN/PX.html +143 -0
  155. data/doc/classes/Dnsruby/RR/IN/SRV.html +243 -0
  156. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +29 -0
  157. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +26 -0
  158. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000017.html +22 -0
  159. data/doc/classes/Dnsruby/RR/IN/WKS.html +166 -0
  160. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000021.html +20 -0
  161. data/doc/classes/Dnsruby/RR/IN.html +155 -0
  162. data/doc/classes/Dnsruby/RR/ISDN.html +155 -0
  163. data/doc/classes/Dnsruby/RR/LOC.html +395 -0
  164. data/doc/classes/Dnsruby/RR/LOC.src/M000025.html +32 -0
  165. data/doc/classes/Dnsruby/RR/LOC.src/M000026.html +23 -0
  166. data/doc/classes/Dnsruby/RR/LOC.src/M000027.html +25 -0
  167. data/doc/classes/Dnsruby/RR/LOC.src/M000028.html +21 -0
  168. data/doc/classes/Dnsruby/RR/LOC.src/M000029.html +20 -0
  169. data/doc/classes/Dnsruby/RR/LOC.src/M000030.html +23 -0
  170. data/doc/classes/Dnsruby/RR/MB.html +150 -0
  171. data/doc/classes/Dnsruby/RR/MG.html +150 -0
  172. data/doc/classes/Dnsruby/RR/MINFO.html +156 -0
  173. data/doc/classes/Dnsruby/RR/MR.html +150 -0
  174. data/doc/classes/Dnsruby/RR/MX.html +155 -0
  175. data/doc/classes/Dnsruby/RR/NAPTR.html +190 -0
  176. data/doc/classes/Dnsruby/RR/NS.html +150 -0
  177. data/doc/classes/Dnsruby/RR/NSAP.html +293 -0
  178. data/doc/classes/Dnsruby/RR/NSAP.src/M000053.html +19 -0
  179. data/doc/classes/Dnsruby/RR/NSAP.src/M000054.html +19 -0
  180. data/doc/classes/Dnsruby/RR/NSAP.src/M000055.html +22 -0
  181. data/doc/classes/Dnsruby/RR/NSAP.src/M000056.html +31 -0
  182. data/doc/classes/Dnsruby/RR/PTR.html +132 -0
  183. data/doc/classes/Dnsruby/RR/RP.html +183 -0
  184. data/doc/classes/Dnsruby/RR/RP.src/M000050.html +19 -0
  185. data/doc/classes/Dnsruby/RR/RT.html +155 -0
  186. data/doc/classes/Dnsruby/RR/SOA.html +230 -0
  187. data/doc/classes/Dnsruby/RR/SOA.src/M000039.html +24 -0
  188. data/doc/classes/Dnsruby/RR/SOA.src/M000040.html +27 -0
  189. data/doc/classes/Dnsruby/RR/SPF.html +138 -0
  190. data/doc/classes/Dnsruby/RR/TKEY.html +285 -0
  191. data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +19 -0
  192. data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +29 -0
  193. data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +30 -0
  194. data/doc/classes/Dnsruby/RR/TSIG.html +416 -0
  195. data/doc/classes/Dnsruby/RR/TSIG.src/M000042.html +22 -0
  196. data/doc/classes/Dnsruby/RR/TSIG.src/M000043.html +71 -0
  197. data/doc/classes/Dnsruby/RR/TSIG.src/M000044.html +34 -0
  198. data/doc/classes/Dnsruby/RR/TSIG.src/M000045.html +37 -0
  199. data/doc/classes/Dnsruby/RR/TSIG.src/M000046.html +31 -0
  200. data/doc/classes/Dnsruby/RR/TSIG.src/M000047.html +34 -0
  201. data/doc/classes/Dnsruby/RR/TSIG.src/M000048.html +22 -0
  202. data/doc/classes/Dnsruby/RR/TSIG.src/M000049.html +29 -0
  203. data/doc/classes/Dnsruby/RR/TXT.html +233 -0
  204. data/doc/classes/Dnsruby/RR/TXT.src/M000034.html +18 -0
  205. data/doc/classes/Dnsruby/RR/TXT.src/M000035.html +18 -0
  206. data/doc/classes/Dnsruby/RR/TXT.src/M000036.html +20 -0
  207. data/doc/classes/Dnsruby/RR/TXT.src/M000037.html +27 -0
  208. data/doc/classes/Dnsruby/RR/TXT.src/M000038.html +25 -0
  209. data/doc/classes/Dnsruby/RR/X25.html +203 -0
  210. data/doc/classes/Dnsruby/RR/X25.src/M000031.html +18 -0
  211. data/doc/classes/Dnsruby/RR/X25.src/M000032.html +18 -0
  212. data/doc/classes/Dnsruby/RR/X25.src/M000033.html +22 -0
  213. data/doc/classes/Dnsruby/RR.html +620 -0
  214. data/doc/classes/Dnsruby/RR.src/M000001.html +18 -0
  215. data/doc/classes/Dnsruby/RR.src/M000002.html +22 -0
  216. data/doc/classes/Dnsruby/RR.src/M000003.html +18 -0
  217. data/doc/classes/Dnsruby/RR.src/M000004.html +18 -0
  218. data/doc/classes/Dnsruby/RR.src/M000005.html +18 -0
  219. data/doc/classes/Dnsruby/RR.src/M000006.html +36 -0
  220. data/doc/classes/Dnsruby/RR.src/M000007.html +100 -0
  221. data/doc/classes/Dnsruby/RR.src/M000008.html +18 -0
  222. data/doc/classes/Dnsruby/RR.src/M000009.html +18 -0
  223. data/doc/classes/Dnsruby/RR.src/M000010.html +22 -0
  224. data/doc/classes/Dnsruby/RR.src/M000011.html +22 -0
  225. data/doc/classes/Dnsruby/RR.src/M000012.html +18 -0
  226. data/doc/classes/Dnsruby/RR.src/M000013.html +22 -0
  227. data/doc/classes/Dnsruby/RR.src/M000014.html +24 -0
  228. data/doc/classes/Dnsruby/RRSet.html +257 -0
  229. data/doc/classes/Dnsruby/RRSet.src/M000159.html +18 -0
  230. data/doc/classes/Dnsruby/RRSet.src/M000160.html +44 -0
  231. data/doc/classes/Dnsruby/RRSet.src/M000161.html +18 -0
  232. data/doc/classes/Dnsruby/RRSet.src/M000162.html +20 -0
  233. data/doc/classes/Dnsruby/RRSet.src/M000163.html +18 -0
  234. data/doc/classes/Dnsruby/RRSet.src/M000164.html +18 -0
  235. data/doc/classes/Dnsruby/RRSet.src/M000165.html +18 -0
  236. data/doc/classes/Dnsruby/Refused.html +113 -0
  237. data/doc/classes/Dnsruby/Resolv.html +400 -0
  238. data/doc/classes/Dnsruby/Resolv.src/M000109.html +18 -0
  239. data/doc/classes/Dnsruby/Resolv.src/M000110.html +18 -0
  240. data/doc/classes/Dnsruby/Resolv.src/M000111.html +18 -0
  241. data/doc/classes/Dnsruby/Resolv.src/M000112.html +18 -0
  242. data/doc/classes/Dnsruby/Resolv.src/M000113.html +18 -0
  243. data/doc/classes/Dnsruby/Resolv.src/M000114.html +18 -0
  244. data/doc/classes/Dnsruby/Resolv.src/M000115.html +18 -0
  245. data/doc/classes/Dnsruby/Resolv.src/M000116.html +19 -0
  246. data/doc/classes/Dnsruby/Resolv.src/M000117.html +20 -0
  247. data/doc/classes/Dnsruby/Resolv.src/M000118.html +29 -0
  248. data/doc/classes/Dnsruby/Resolv.src/M000119.html +19 -0
  249. data/doc/classes/Dnsruby/Resolv.src/M000120.html +20 -0
  250. data/doc/classes/Dnsruby/Resolv.src/M000121.html +25 -0
  251. data/doc/classes/Dnsruby/ResolvError.html +111 -0
  252. data/doc/classes/Dnsruby/ResolvTimeout.html +111 -0
  253. data/doc/classes/Dnsruby/Resolver.html +807 -0
  254. data/doc/classes/Dnsruby/Resolver.src/M000211.html +21 -0
  255. data/doc/classes/Dnsruby/Resolver.src/M000212.html +37 -0
  256. data/doc/classes/Dnsruby/Resolver.src/M000213.html +64 -0
  257. data/doc/classes/Dnsruby/Resolver.src/M000214.html +23 -0
  258. data/doc/classes/Dnsruby/Resolver.src/M000215.html +46 -0
  259. data/doc/classes/Dnsruby/Resolver.src/M000216.html +21 -0
  260. data/doc/classes/Dnsruby/Resolver.src/M000217.html +22 -0
  261. data/doc/classes/Dnsruby/Resolver.src/M000218.html +18 -0
  262. data/doc/classes/Dnsruby/Resolver.src/M000219.html +20 -0
  263. data/doc/classes/Dnsruby/Resolver.src/M000220.html +19 -0
  264. data/doc/classes/Dnsruby/Resolver.src/M000221.html +19 -0
  265. data/doc/classes/Dnsruby/Resolver.src/M000222.html +19 -0
  266. data/doc/classes/Dnsruby/Resolver.src/M000223.html +19 -0
  267. data/doc/classes/Dnsruby/Resolver.src/M000224.html +19 -0
  268. data/doc/classes/Dnsruby/Resolver.src/M000225.html +19 -0
  269. data/doc/classes/Dnsruby/Resolver.src/M000226.html +19 -0
  270. data/doc/classes/Dnsruby/Resolver.src/M000227.html +19 -0
  271. data/doc/classes/Dnsruby/Resolver.src/M000228.html +19 -0
  272. data/doc/classes/Dnsruby/Resolver.src/M000229.html +19 -0
  273. data/doc/classes/Dnsruby/Resolver.src/M000230.html +19 -0
  274. data/doc/classes/Dnsruby/ServFail.html +113 -0
  275. data/doc/classes/Dnsruby/SingleResolver.html +496 -0
  276. data/doc/classes/Dnsruby/SingleResolver.src/M000122.html +18 -0
  277. data/doc/classes/Dnsruby/SingleResolver.src/M000123.html +19 -0
  278. data/doc/classes/Dnsruby/SingleResolver.src/M000124.html +49 -0
  279. data/doc/classes/Dnsruby/SingleResolver.src/M000125.html +18 -0
  280. data/doc/classes/Dnsruby/SingleResolver.src/M000126.html +21 -0
  281. data/doc/classes/Dnsruby/SingleResolver.src/M000127.html +25 -0
  282. data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +78 -0
  283. data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +21 -0
  284. data/doc/classes/Dnsruby/TheLog.html +196 -0
  285. data/doc/classes/Dnsruby/TheLog.src/M000188.html +20 -0
  286. data/doc/classes/Dnsruby/TheLog.src/M000189.html +20 -0
  287. data/doc/classes/Dnsruby/TheLog.src/M000190.html +20 -0
  288. data/doc/classes/Dnsruby/Types.html +426 -0
  289. data/doc/classes/Dnsruby/Update.html +368 -0
  290. data/doc/classes/Dnsruby/Update.src/M000191.html +32 -0
  291. data/doc/classes/Dnsruby/Update.src/M000192.html +37 -0
  292. data/doc/classes/Dnsruby/Update.src/M000193.html +32 -0
  293. data/doc/classes/Dnsruby/Update.src/M000194.html +41 -0
  294. data/doc/classes/Dnsruby/Update.src/M000195.html +34 -0
  295. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +183 -0
  296. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000097.html +19 -0
  297. data/doc/classes/Dnsruby/ZoneTransfer.html +248 -0
  298. data/doc/classes/Dnsruby/ZoneTransfer.src/M000095.html +22 -0
  299. data/doc/classes/Dnsruby/ZoneTransfer.src/M000096.html +35 -0
  300. data/doc/classes/Dnsruby.html +388 -0
  301. data/doc/created.rid +1 -0
  302. data/doc/files/lib/Dnsruby/Config_rb.html +101 -0
  303. data/doc/files/lib/Dnsruby/DNSSEC_rb.html +101 -0
  304. data/doc/files/lib/Dnsruby/DNS_rb.html +110 -0
  305. data/doc/files/lib/Dnsruby/Hosts_rb.html +108 -0
  306. data/doc/files/lib/Dnsruby/Resolver_rb.html +108 -0
  307. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +108 -0
  308. data/doc/files/lib/Dnsruby/TheLog_rb.html +110 -0
  309. data/doc/files/lib/Dnsruby/code_mapper_rb.html +101 -0
  310. data/doc/files/lib/Dnsruby/ipv4_rb.html +101 -0
  311. data/doc/files/lib/Dnsruby/ipv6_rb.html +101 -0
  312. data/doc/files/lib/Dnsruby/message_rb.html +109 -0
  313. data/doc/files/lib/Dnsruby/name_rb.html +101 -0
  314. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +101 -0
  315. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +101 -0
  316. data/doc/files/lib/Dnsruby/resource/A_rb.html +101 -0
  317. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +101 -0
  318. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +101 -0
  319. data/doc/files/lib/Dnsruby/resource/IN_rb.html +112 -0
  320. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +101 -0
  321. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +101 -0
  322. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +101 -0
  323. data/doc/files/lib/Dnsruby/resource/MX_rb.html +101 -0
  324. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +101 -0
  325. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +101 -0
  326. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +101 -0
  327. data/doc/files/lib/Dnsruby/resource/PX_rb.html +101 -0
  328. data/doc/files/lib/Dnsruby/resource/RP_rb.html +101 -0
  329. data/doc/files/lib/Dnsruby/resource/RT_rb.html +101 -0
  330. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +101 -0
  331. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +101 -0
  332. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +101 -0
  333. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +101 -0
  334. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +110 -0
  335. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +108 -0
  336. data/doc/files/lib/Dnsruby/resource/X25_rb.html +101 -0
  337. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +101 -0
  338. data/doc/files/lib/Dnsruby/resource/generic_rb.html +125 -0
  339. data/doc/files/lib/Dnsruby/resource/resource_rb.html +110 -0
  340. data/doc/files/lib/Dnsruby/select_thread_rb.html +111 -0
  341. data/doc/files/lib/Dnsruby/update_rb.html +101 -0
  342. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +101 -0
  343. data/doc/files/lib/dnsruby_rb.html +118 -0
  344. data/doc/fr_class_index.html +102 -0
  345. data/doc/fr_file_index.html +68 -0
  346. data/doc/fr_method_index.html +256 -0
  347. data/doc/index.html +24 -0
  348. data/lib/Dnsruby/Config.rb +350 -0
  349. data/lib/Dnsruby/DNS.rb +253 -0
  350. data/lib/Dnsruby/DNSSEC.rb +29 -0
  351. data/lib/Dnsruby/Hosts.rb +119 -0
  352. data/lib/Dnsruby/Resolver.rb +618 -0
  353. data/lib/Dnsruby/SingleResolver.rb +312 -0
  354. data/lib/Dnsruby/TheLog.rb +61 -0
  355. data/lib/Dnsruby/code_mapper.rb +164 -0
  356. data/lib/Dnsruby/ipv4.rb +83 -0
  357. data/lib/Dnsruby/ipv6.rb +142 -0
  358. data/lib/Dnsruby/message.rb +819 -0
  359. data/lib/Dnsruby/name.rb +325 -0
  360. data/lib/Dnsruby/resource/A.rb +56 -0
  361. data/lib/Dnsruby/resource/AAAA.rb +54 -0
  362. data/lib/Dnsruby/resource/AFSDB.rb +68 -0
  363. data/lib/Dnsruby/resource/CERT.rb +89 -0
  364. data/lib/Dnsruby/resource/HINFO.rb +52 -0
  365. data/lib/Dnsruby/resource/IN.rb +69 -0
  366. data/lib/Dnsruby/resource/ISDN.rb +54 -0
  367. data/lib/Dnsruby/resource/LOC.rb +255 -0
  368. data/lib/Dnsruby/resource/MINFO.rb +66 -0
  369. data/lib/Dnsruby/resource/MX.rb +66 -0
  370. data/lib/Dnsruby/resource/NAPTR.rb +90 -0
  371. data/lib/Dnsruby/resource/NSAP.rb +172 -0
  372. data/lib/Dnsruby/resource/OPT.rb +153 -0
  373. data/lib/Dnsruby/resource/PX.rb +71 -0
  374. data/lib/Dnsruby/resource/RP.rb +67 -0
  375. data/lib/Dnsruby/resource/RT.rb +67 -0
  376. data/lib/Dnsruby/resource/SOA.rb +89 -0
  377. data/lib/Dnsruby/resource/SPF.rb +29 -0
  378. data/lib/Dnsruby/resource/SRV.rb +108 -0
  379. data/lib/Dnsruby/resource/TKEY.rb +160 -0
  380. data/lib/Dnsruby/resource/TSIG.rb +328 -0
  381. data/lib/Dnsruby/resource/TXT.rb +76 -0
  382. data/lib/Dnsruby/resource/X25.rb +53 -0
  383. data/lib/Dnsruby/resource/domain_name.rb +58 -0
  384. data/lib/Dnsruby/resource/generic.rb +142 -0
  385. data/lib/Dnsruby/resource/resource.rb +444 -0
  386. data/lib/Dnsruby/select_thread.rb +474 -0
  387. data/lib/Dnsruby/update.rb +263 -0
  388. data/lib/Dnsruby/zone_transfer.rb +296 -0
  389. data/lib/dnsruby.rb +468 -0
  390. data/test/custom.txt +4 -0
  391. data/test/resolv.conf +4 -0
  392. data/test/tc_axfr.rb +42 -0
  393. data/test/tc_dns.rb +231 -0
  394. data/test/tc_dnsruby.rb +42 -0
  395. data/test/tc_escapedchars.rb +510 -0
  396. data/test/tc_header.rb +104 -0
  397. data/test/tc_misc.rb +139 -0
  398. data/test/tc_name.rb +53 -0
  399. data/test/tc_packet.rb +158 -0
  400. data/test/tc_packet_unique_push.rb +102 -0
  401. data/test/tc_question.rb +52 -0
  402. data/test/tc_res_config.rb +92 -0
  403. data/test/tc_res_env.rb +62 -0
  404. data/test/tc_res_file.rb +42 -0
  405. data/test/tc_res_opt.rb +185 -0
  406. data/test/tc_resolver.rb +177 -0
  407. data/test/tc_rr-opt.rb +42 -0
  408. data/test/tc_rr-txt.rb +137 -0
  409. data/test/tc_rr-unknown.rb +99 -0
  410. data/test/tc_rr.rb +259 -0
  411. data/test/tc_single_resolver.rb +153 -0
  412. data/test/tc_soak.rb +310 -0
  413. data/test/tc_tcp.rb +35 -0
  414. data/test/tc_tkey.rb +106 -0
  415. data/test/tc_update.rb +215 -0
  416. data/test/ts_dnsruby.rb +17 -0
  417. data/test/ts_offline.rb +35 -0
  418. data/test/ts_online.rb +40 -0
  419. metadata +512 -0
@@ -0,0 +1,256 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/Dnsruby/CodeMapper.html#M000138"><=> (Dnsruby::CodeMapper)</a><br />
24
+ <a href="classes/Dnsruby/CodeMapper.html#M000139">== (Dnsruby::CodeMapper)</a><br />
25
+ <a href="classes/Dnsruby/Header.html#M000174">== (Dnsruby::Header)</a><br />
26
+ <a href="classes/Dnsruby/Name.html#M000062">== (Dnsruby::Name)</a><br />
27
+ <a href="classes/Dnsruby/IPv6.html#M000185">== (Dnsruby::IPv6)</a><br />
28
+ <a href="classes/Dnsruby/IPv4.html#M000154">== (Dnsruby::IPv4)</a><br />
29
+ <a href="classes/Dnsruby/Message.html#M000077">== (Dnsruby::Message)</a><br />
30
+ <a href="classes/Dnsruby/RR.html#M000011">== (Dnsruby::RR)</a><br />
31
+ <a href="classes/Dnsruby/Name/Label.html#M000073">== (Dnsruby::Name::Label)</a><br />
32
+ <a href="classes/Dnsruby/Update.html#M000193">absent (Dnsruby::Update)</a><br />
33
+ <a href="classes/Dnsruby/Name.html#M000060">absolute? (Dnsruby::Name)</a><br />
34
+ <a href="classes/Dnsruby/Update.html#M000194">add (Dnsruby::Update)</a><br />
35
+ <a href="classes/Dnsruby/RRSet.html#M000160">add (Dnsruby::RRSet)</a><br />
36
+ <a href="classes/Dnsruby/Resolver.html#M000216">add_config_nameservers (Dnsruby::Resolver)</a><br />
37
+ <a href="classes/Dnsruby/Config.html#M000104">add_nameserver (Dnsruby::Config)</a><br />
38
+ <a href="classes/Dnsruby/CodeMapper.html#M000132">add_pair (Dnsruby::CodeMapper)</a><br />
39
+ <a href="classes/Dnsruby/Message.html#M000078">add_question (Dnsruby::Message)</a><br />
40
+ <a href="classes/Dnsruby/Resolver.html#M000218">add_resolver (Dnsruby::Resolver)</a><br />
41
+ <a href="classes/Dnsruby/Message.html#M000090">add_zone (Dnsruby::Message)</a><br />
42
+ <a href="classes/Dnsruby/RR/TSIG.html#M000047">algorithm= (Dnsruby::RR::TSIG)</a><br />
43
+ <a href="classes/Dnsruby/RR/TSIG.html#M000042">apply (Dnsruby::RR::TSIG)</a><br />
44
+ <a href="classes/Dnsruby/SingleResolver.html#M000125">close (Dnsruby::SingleResolver)</a><br />
45
+ <a href="classes/Dnsruby/DNS.html#M000197">close (Dnsruby::DNS)</a><br />
46
+ <a href="classes/Dnsruby/Resolver.html#M000214">close (Dnsruby::Resolver)</a><br />
47
+ <a href="classes/Dnsruby/Name.html#M000057">create (Dnsruby::Name)</a><br />
48
+ <a href="classes/Dnsruby/IPv4.html#M000149">create (Dnsruby::IPv4)</a><br />
49
+ <a href="classes/Dnsruby/RR.html#M000014">create (Dnsruby::RR)</a><br />
50
+ <a href="classes/Dnsruby/RR/Generic.html#M000041">create (Dnsruby::RR::Generic)</a><br />
51
+ <a href="classes/Dnsruby/IPv6.html#M000180">create (Dnsruby::IPv6)</a><br />
52
+ <a href="classes/Dnsruby/Header.html#M000172">data (Dnsruby::Header)</a><br />
53
+ <a href="classes/Dnsruby/RR/TXT.html#M000034">data (Dnsruby::RR::TXT)</a><br />
54
+ <a href="classes/Dnsruby/Header.html#M000176">decode (Dnsruby::Header)</a><br />
55
+ <a href="classes/Dnsruby/Message.html#M000089">decode (Dnsruby::Message)</a><br />
56
+ <a href="classes/Dnsruby/RRSet.html#M000161">delete (Dnsruby::RRSet)</a><br />
57
+ <a href="classes/Dnsruby/Update.html#M000195">delete (Dnsruby::Update)</a><br />
58
+ <a href="classes/Dnsruby/RR/LOC.html#M000026">dms2latlon (Dnsruby::RR::LOC)</a><br />
59
+ <a href="classes/Dnsruby/Config.html#M000108">domain (Dnsruby::Config)</a><br />
60
+ <a href="classes/Dnsruby/Config.html#M000101">domain= (Dnsruby::Config)</a><br />
61
+ <a href="classes/Dnsruby/RR/DomainName.html#M000052">domainname= (Dnsruby::RR::DomainName)</a><br />
62
+ <a href="classes/Dnsruby/Name.html#M000058">downcase (Dnsruby::Name)</a><br />
63
+ <a href="classes/Dnsruby/RR/NSAP.html#M000054">dsp (Dnsruby::RR::NSAP)</a><br />
64
+ <a href="classes/Dnsruby/RRSet.html#M000162">each (Dnsruby::RRSet)</a><br />
65
+ <a href="classes/Dnsruby/Message.html#M000082">each_additional (Dnsruby::Message)</a><br />
66
+ <a href="classes/Dnsruby/Hosts.html#M000145">each_address (Dnsruby::Hosts)</a><br />
67
+ <a href="classes/Dnsruby/DNS.html#M000202">each_address (Dnsruby::DNS)</a><br />
68
+ <a href="classes/Dnsruby/Resolv.html#M000118">each_address (Dnsruby::Resolv)</a><br />
69
+ <a href="classes/Dnsruby/Resolv.html#M000111">each_address (Dnsruby::Resolv)</a><br />
70
+ <a href="classes/Dnsruby/Message.html#M000080">each_answer (Dnsruby::Message)</a><br />
71
+ <a href="classes/Dnsruby/Message.html#M000081">each_authority (Dnsruby::Message)</a><br />
72
+ <a href="classes/Dnsruby/Resolv.html#M000114">each_name (Dnsruby::Resolv)</a><br />
73
+ <a href="classes/Dnsruby/DNS.html#M000205">each_name (Dnsruby::DNS)</a><br />
74
+ <a href="classes/Dnsruby/Hosts.html#M000148">each_name (Dnsruby::Hosts)</a><br />
75
+ <a href="classes/Dnsruby/Resolv.html#M000121">each_name (Dnsruby::Resolv)</a><br />
76
+ <a href="classes/Dnsruby/Message.html#M000092">each_pre (Dnsruby::Message)</a><br />
77
+ <a href="classes/Dnsruby/Message.html#M000093">each_prerequisite (Dnsruby::Message)</a><br />
78
+ <a href="classes/Dnsruby/Message.html#M000079">each_question (Dnsruby::Message)</a><br />
79
+ <a href="classes/Dnsruby/DNS.html#M000209">each_resource (Dnsruby::DNS)</a><br />
80
+ <a href="classes/Dnsruby/Message.html#M000083">each_resource (Dnsruby::Message)</a><br />
81
+ <a href="classes/Dnsruby/Message.html#M000094">each_update (Dnsruby::Message)</a><br />
82
+ <a href="classes/Dnsruby/Message.html#M000091">each_zone (Dnsruby::Message)</a><br />
83
+ <a href="classes/Dnsruby/Header.html#M000173">encode (Dnsruby::Header)</a><br />
84
+ <a href="classes/Dnsruby/Message.html#M000088">encode (Dnsruby::Message)</a><br />
85
+ <a href="classes/Dnsruby/Name.html#M000063">eql? (Dnsruby::Name)</a><br />
86
+ <a href="classes/Dnsruby/RR.html#M000012">eql? (Dnsruby::RR)</a><br />
87
+ <a href="classes/Dnsruby/IPv6.html#M000186">eql? (Dnsruby::IPv6)</a><br />
88
+ <a href="classes/Dnsruby/IPv4.html#M000155">eql? (Dnsruby::IPv4)</a><br />
89
+ <a href="classes/Dnsruby/Name/Label.html#M000074">eql? (Dnsruby::Name::Label)</a><br />
90
+ <a href="classes/Dnsruby/DNS.html#M000210">extract_resources (Dnsruby::DNS)</a><br />
91
+ <a href="classes/Dnsruby/RR/X25.html#M000031">from_data (Dnsruby::RR::X25)</a><br />
92
+ <a href="classes/Dnsruby/RR/TXT.html#M000035">from_data (Dnsruby::RR::TXT)</a><br />
93
+ <a href="classes/Dnsruby/RR/RP.html#M000050">from_hash (Dnsruby::RR::RP)</a><br />
94
+ <a href="classes/Dnsruby/RR/IN/SRV.html#M000015">from_hash (Dnsruby::RR::IN::SRV)</a><br />
95
+ <a href="classes/Dnsruby/RR/IN/A.html#M000018">from_hash (Dnsruby::RR::IN::A)</a><br />
96
+ <a href="classes/Dnsruby/RR/SOA.html#M000039">from_hash (Dnsruby::RR::SOA)</a><br />
97
+ <a href="classes/Dnsruby/RR/TXT.html#M000036">from_hash (Dnsruby::RR::TXT)</a><br />
98
+ <a href="classes/Dnsruby/RR/X25.html#M000032">from_string (Dnsruby::RR::X25)</a><br />
99
+ <a href="classes/Dnsruby/RR/TXT.html#M000037">from_string (Dnsruby::RR::TXT)</a><br />
100
+ <a href="classes/Dnsruby/RR/IN/SRV.html#M000016">from_string (Dnsruby::RR::IN::SRV)</a><br />
101
+ <a href="classes/Dnsruby/RR/IN/A.html#M000019">from_string (Dnsruby::RR::IN::A)</a><br />
102
+ <a href="classes/Dnsruby/RR/SOA.html#M000040">from_string (Dnsruby::RR::SOA)</a><br />
103
+ <a href="classes/Dnsruby/RR/TSIG.html#M000048">fudge= (Dnsruby::RR::TSIG)</a><br />
104
+ <a href="classes/Dnsruby/RR/TSIG.html#M000043">generate (Dnsruby::RR::TSIG)</a><br />
105
+ <a href="classes/Dnsruby/Header.html#M000179">getException (Dnsruby::Header)</a><br />
106
+ <a href="classes/Dnsruby/Resolv.html#M000109">getaddress (Dnsruby::Resolv)</a><br />
107
+ <a href="classes/Dnsruby/Hosts.html#M000143">getaddress (Dnsruby::Hosts)</a><br />
108
+ <a href="classes/Dnsruby/Resolv.html#M000116">getaddress (Dnsruby::Resolv)</a><br />
109
+ <a href="classes/Dnsruby/DNS.html#M000200">getaddress (Dnsruby::DNS)</a><br />
110
+ <a href="classes/Dnsruby/Resolv.html#M000117">getaddresses (Dnsruby::Resolv)</a><br />
111
+ <a href="classes/Dnsruby/Resolv.html#M000110">getaddresses (Dnsruby::Resolv)</a><br />
112
+ <a href="classes/Dnsruby/DNS.html#M000201">getaddresses (Dnsruby::DNS)</a><br />
113
+ <a href="classes/Dnsruby/Hosts.html#M000144">getaddresses (Dnsruby::Hosts)</a><br />
114
+ <a href="classes/Dnsruby/Resolv.html#M000119">getname (Dnsruby::Resolv)</a><br />
115
+ <a href="classes/Dnsruby/Hosts.html#M000146">getname (Dnsruby::Hosts)</a><br />
116
+ <a href="classes/Dnsruby/Resolv.html#M000112">getname (Dnsruby::Resolv)</a><br />
117
+ <a href="classes/Dnsruby/DNS.html#M000203">getname (Dnsruby::DNS)</a><br />
118
+ <a href="classes/Dnsruby/DNS.html#M000204">getnames (Dnsruby::DNS)</a><br />
119
+ <a href="classes/Dnsruby/Resolv.html#M000113">getnames (Dnsruby::Resolv)</a><br />
120
+ <a href="classes/Dnsruby/Resolv.html#M000120">getnames (Dnsruby::Resolv)</a><br />
121
+ <a href="classes/Dnsruby/Hosts.html#M000147">getnames (Dnsruby::Hosts)</a><br />
122
+ <a href="classes/Dnsruby/DNS.html#M000206">getresource (Dnsruby::DNS)</a><br />
123
+ <a href="classes/Dnsruby/DNS.html#M000207">getresources (Dnsruby::DNS)</a><br />
124
+ <a href="classes/Dnsruby/RR.html#M000013">hash (Dnsruby::RR)</a><br />
125
+ <a href="classes/Dnsruby/Name.html#M000065">hash (Dnsruby::Name)</a><br />
126
+ <a href="classes/Dnsruby/IPv4.html#M000156">hash (Dnsruby::IPv4)</a><br />
127
+ <a href="classes/Dnsruby/IPv6.html#M000187">hash (Dnsruby::IPv6)</a><br />
128
+ <a href="classes/Dnsruby/Name/Label.html#M000075">hash (Dnsruby::Name::Label)</a><br />
129
+ <a href="classes/Dnsruby/RR/NSAP.html#M000053">idp (Dnsruby::RR::NSAP)</a><br />
130
+ <a href="classes/Dnsruby/Resolver.html#M000224">ignore_truncation= (Dnsruby::Resolver)</a><br />
131
+ <a href="classes/Dnsruby/RR.html#M000008">implemented_rrs (Dnsruby::RR)</a><br />
132
+ <a href="classes/Dnsruby/CodeMapper.html#M000135">inspect (Dnsruby::CodeMapper)</a><br />
133
+ <a href="classes/Dnsruby/Name/Label.html#M000072">inspect (Dnsruby::Name::Label)</a><br />
134
+ <a href="classes/Dnsruby/IPv4.html#M000152">inspect (Dnsruby::IPv4)</a><br />
135
+ <a href="classes/Dnsruby/Name.html#M000059">inspect (Dnsruby::Name)</a><br />
136
+ <a href="classes/Dnsruby/IPv6.html#M000183">inspect (Dnsruby::IPv6)</a><br />
137
+ <a href="classes/Dnsruby/Message.html#M000085">is_signed (Dnsruby::Message)</a><br />
138
+ <a href="classes/Dnsruby/Message.html#M000086">is_verified (Dnsruby::Message)</a><br />
139
+ <a href="classes/Dnsruby/RRSet.html#M000164">klass (Dnsruby::RRSet)</a><br />
140
+ <a href="classes/Dnsruby/RR.html#M000004">klass= (Dnsruby::RR)</a><br />
141
+ <a href="classes/Dnsruby/RR/LOC.html#M000027">latlon (Dnsruby::RR::LOC)</a><br />
142
+ <a href="classes/Dnsruby/RR/LOC.html#M000028">latlon2deg (Dnsruby::RR::LOC)</a><br />
143
+ <a href="classes/Dnsruby/RR/LOC.html#M000025">latlon2dms (Dnsruby::RR::LOC)</a><br />
144
+ <a href="classes/Dnsruby/Hosts.html#M000142">lazy_initialize (Dnsruby::Hosts)</a><br />
145
+ <a href="classes/Dnsruby/Name/Label.html#M000071">length (Dnsruby::Name::Label)</a><br />
146
+ <a href="classes/Dnsruby/TheLog.html#M000190">level (Dnsruby::TheLog)</a><br />
147
+ <a href="classes/Dnsruby/TheLog.html#M000189">level= (Dnsruby::TheLog)</a><br />
148
+ <a href="classes/Dnsruby/CodeMapper.html#M000130">maxcode (Dnsruby::CodeMapper)</a><br />
149
+ <a href="classes/Dnsruby/RR.html#M000002">name= (Dnsruby::RR)</a><br />
150
+ <a href="classes/Dnsruby/Resolver.html#M000219">nameserver= (Dnsruby::Resolver)</a><br />
151
+ <a href="classes/Dnsruby/Config.html#M000105">nameserver= (Dnsruby::Config)</a><br />
152
+ <a href="classes/Dnsruby/Config.html#M000102">ndots= (Dnsruby::Config)</a><br />
153
+ <a href="classes/Dnsruby/Resolv.html#M000115">new (Dnsruby::Resolv)</a><br />
154
+ <a href="classes/Dnsruby/ZoneTransfer.html#M000095">new (Dnsruby::ZoneTransfer)</a><br />
155
+ <a href="classes/Dnsruby/ZoneTransfer/Delta.html#M000097">new (Dnsruby::ZoneTransfer::Delta)</a><br />
156
+ <a href="classes/Dnsruby/Message.html#M000076">new (Dnsruby::Message)</a><br />
157
+ <a href="classes/Dnsruby/Resolver.html#M000215">new (Dnsruby::Resolver)</a><br />
158
+ <a href="classes/Dnsruby/DNS.html#M000199">new (Dnsruby::DNS)</a><br />
159
+ <a href="classes/Dnsruby/RRSet.html#M000159">new (Dnsruby::RRSet)</a><br />
160
+ <a href="classes/Dnsruby/SingleResolver.html#M000124">new (Dnsruby::SingleResolver)</a><br />
161
+ <a href="classes/Dnsruby/IPv6.html#M000181">new (Dnsruby::IPv6)</a><br />
162
+ <a href="classes/Dnsruby/RR/TKEY.html#M000023">new (Dnsruby::RR::TKEY)</a><br />
163
+ <a href="classes/Dnsruby/Hosts.html#M000141">new (Dnsruby::Hosts)</a><br />
164
+ <a href="classes/Dnsruby/Question.html#M000166">new (Dnsruby::Question)</a><br />
165
+ <a href="classes/Dnsruby/Config.html#M000099">new (Dnsruby::Config)</a><br />
166
+ <a href="classes/Dnsruby/Header.html#M000168">new (Dnsruby::Header)</a><br />
167
+ <a href="classes/Dnsruby/RR/IN/WKS.html#M000021">new (Dnsruby::RR::IN::WKS)</a><br />
168
+ <a href="classes/Dnsruby/IPv4.html#M000150">new (Dnsruby::IPv4)</a><br />
169
+ <a href="classes/Dnsruby/RR/TSIG.html#M000046">new (Dnsruby::RR::TSIG)</a><br />
170
+ <a href="classes/Dnsruby/Name/Label.html#M000069">new (Dnsruby::Name::Label)</a><br />
171
+ <a href="classes/Dnsruby/Update.html#M000191">new (Dnsruby::Update)</a><br />
172
+ <a href="classes/Dnsruby/Header.html#M000171">new_from_data (Dnsruby::Header)</a><br />
173
+ <a href="classes/Dnsruby/RR.html#M000006">new_from_hash (Dnsruby::RR)</a><br />
174
+ <a href="classes/Dnsruby/RR.html#M000007">new_from_string (Dnsruby::RR)</a><br />
175
+ <a href="classes/Dnsruby/Header.html#M000178">opcode= (Dnsruby::Header)</a><br />
176
+ <a href="classes/Dnsruby/Header.html#M000169">opcode= (Dnsruby::Header)</a><br />
177
+ <a href="classes/Dnsruby/DNS.html#M000196">open (Dnsruby::DNS)</a><br />
178
+ <a href="classes/Dnsruby/RR/TKEY.html#M000022">other_data= (Dnsruby::RR::TKEY)</a><br />
179
+ <a href="classes/Dnsruby/Resolver.html#M000220">packet_timeout= (Dnsruby::Resolver)</a><br />
180
+ <a href="classes/Dnsruby/Resolver.html#M000227">persistent_tcp= (Dnsruby::Resolver)</a><br />
181
+ <a href="classes/Dnsruby/Resolver.html#M000228">persistent_udp= (Dnsruby::Resolver)</a><br />
182
+ <a href="classes/Dnsruby/Resolver.html#M000221">port= (Dnsruby::Resolver)</a><br />
183
+ <a href="classes/Dnsruby/RR/LOC.html#M000029">precsize_ntoval (Dnsruby::RR::LOC)</a><br />
184
+ <a href="classes/Dnsruby/RR/LOC.html#M000030">precsize_valton (Dnsruby::RR::LOC)</a><br />
185
+ <a href="classes/Dnsruby/Update.html#M000192">present (Dnsruby::Update)</a><br />
186
+ <a href="classes/Dnsruby/SingleResolver.html#M000126">query (Dnsruby::SingleResolver)</a><br />
187
+ <a href="classes/Dnsruby/Resolver.html#M000211">query (Dnsruby::Resolver)</a><br />
188
+ <a href="classes/Dnsruby/Header.html#M000177">rcode= (Dnsruby::Header)</a><br />
189
+ <a href="classes/Dnsruby/Header.html#M000170">rcode= (Dnsruby::Header)</a><br />
190
+ <a href="classes/Dnsruby/RR/X25.html#M000033">rdata_to_string (Dnsruby::RR::X25)</a><br />
191
+ <a href="classes/Dnsruby/RR.html#M000010">rdata_to_string (Dnsruby::RR)</a><br />
192
+ <a href="classes/Dnsruby/RR/TXT.html#M000038">rdata_to_string (Dnsruby::RR::TXT)</a><br />
193
+ <a href="classes/Dnsruby/RR/TKEY.html#M000024">rdata_to_string (Dnsruby::RR::TKEY)</a><br />
194
+ <a href="classes/Dnsruby/RR/IN/A.html#M000020">rdata_to_string (Dnsruby::RR::IN::A)</a><br />
195
+ <a href="classes/Dnsruby/RR/TSIG.html#M000049">rdata_to_string (Dnsruby::RR::TSIG)</a><br />
196
+ <a href="classes/Dnsruby/RR/IN/SRV.html#M000017">rdata_to_string (Dnsruby::RR::IN::SRV)</a><br />
197
+ <a href="classes/Dnsruby/RR.html#M000001">rdlength (Dnsruby::RR)</a><br />
198
+ <a href="classes/Dnsruby/Resolver.html#M000229">recurse= (Dnsruby::Resolver)</a><br />
199
+ <a href="classes/Dnsruby/CodeMapper.html#M000140">regexp (Dnsruby::CodeMapper)</a><br />
200
+ <a href="classes/Dnsruby/Config.html#M000100">reset (Dnsruby::Config)</a><br />
201
+ <a href="classes/Dnsruby/RR/NSAP.html#M000055">rsvd (Dnsruby::RR::NSAP)</a><br />
202
+ <a href="classes/Dnsruby/RR.html#M000005">sameRRset (Dnsruby::RR)</a><br />
203
+ <a href="classes/Dnsruby/Config.html#M000107">search (Dnsruby::Config)</a><br />
204
+ <a href="classes/Dnsruby/Config.html#M000103">search= (Dnsruby::Config)</a><br />
205
+ <a href="classes/Dnsruby/SingleResolver.html#M000128">send_async (Dnsruby::SingleResolver)</a><br />
206
+ <a href="classes/Dnsruby/Resolver.html#M000213">send_async (Dnsruby::Resolver)</a><br />
207
+ <a href="classes/Dnsruby/Resolver.html#M000212">send_message (Dnsruby::Resolver)</a><br />
208
+ <a href="classes/Dnsruby/SingleResolver.html#M000127">send_message (Dnsruby::SingleResolver)</a><br />
209
+ <a href="classes/Dnsruby/DNS.html#M000208">send_query (Dnsruby::DNS)</a><br />
210
+ <a href="classes/Dnsruby/SingleResolver.html#M000123">server= (Dnsruby::SingleResolver)</a><br />
211
+ <a href="classes/Dnsruby/CodeMapper.html#M000133">set_code (Dnsruby::CodeMapper)</a><br />
212
+ <a href="classes/Dnsruby/Config.html#M000098">set_config_info (Dnsruby::Config)</a><br />
213
+ <a href="classes/Dnsruby/Resolver.html#M000217">set_config_nameserver (Dnsruby::Resolver)</a><br />
214
+ <a href="classes/Dnsruby/RR/DomainName.html#M000051">set_domain_name (Dnsruby::RR::DomainName)</a><br />
215
+ <a href="classes/Dnsruby/TheLog.html#M000188">set_logger (Dnsruby::TheLog)</a><br />
216
+ <a href="classes/Dnsruby/Name/Label.html#M000068">set_max_length (Dnsruby::Name::Label)</a><br />
217
+ <a href="classes/Dnsruby/CodeMapper.html#M000134">set_string (Dnsruby::CodeMapper)</a><br />
218
+ <a href="classes/Dnsruby/RR/TSIG.html#M000044">sig_data (Dnsruby::RR::TSIG)</a><br />
219
+ <a href="classes/Dnsruby/Name/Label.html#M000067">split (Dnsruby::Name::Label)</a><br />
220
+ <a href="classes/Dnsruby/Resolver.html#M000225">src_address= (Dnsruby::Resolver)</a><br />
221
+ <a href="classes/Dnsruby/Resolver.html#M000226">src_port= (Dnsruby::Resolver)</a><br />
222
+ <a href="classes/Dnsruby/RR/NSAP.html#M000056">str2bcd (Dnsruby::RR::NSAP)</a><br />
223
+ <a href="classes/Dnsruby/Name.html#M000064">subdomain_of? (Dnsruby::Name)</a><br />
224
+ <a href="classes/Dnsruby/CodeMapper.html#M000137">to_code (Dnsruby::CodeMapper)</a><br />
225
+ <a href="classes/Dnsruby/IPv6.html#M000184">to_name (Dnsruby::IPv6)</a><br />
226
+ <a href="classes/Dnsruby/IPv4.html#M000153">to_name (Dnsruby::IPv4)</a><br />
227
+ <a href="classes/Dnsruby/Question.html#M000167">to_s (Dnsruby::Question)</a><br />
228
+ <a href="classes/Dnsruby/IPv4.html#M000151">to_s (Dnsruby::IPv4)</a><br />
229
+ <a href="classes/Dnsruby/Name/Label.html#M000070">to_s (Dnsruby::Name::Label)</a><br />
230
+ <a href="classes/Dnsruby/IPv6.html#M000182">to_s (Dnsruby::IPv6)</a><br />
231
+ <a href="classes/Dnsruby/Message.html#M000087">to_s (Dnsruby::Message)</a><br />
232
+ <a href="classes/Dnsruby/Header.html#M000175">to_s (Dnsruby::Header)</a><br />
233
+ <a href="classes/Dnsruby/RR.html#M000009">to_s (Dnsruby::RR)</a><br />
234
+ <a href="classes/Dnsruby/Config.html#M000106">to_s (Dnsruby::Config)</a><br />
235
+ <a href="classes/Dnsruby/DNS.html#M000198">to_s (Dnsruby::DNS)</a><br />
236
+ <a href="classes/Dnsruby/Name.html#M000066">to_s (Dnsruby::Name)</a><br />
237
+ <a href="classes/Dnsruby/CodeMapper.html#M000136">to_string (Dnsruby::CodeMapper)</a><br />
238
+ <a href="classes/Dnsruby/ZoneTransfer.html#M000096">transfer (Dnsruby::ZoneTransfer)</a><br />
239
+ <a href="classes/Dnsruby/Message.html#M000084">tsig (Dnsruby::Message)</a><br />
240
+ <a href="classes/Dnsruby/Resolver.html#M000223">tsig_key= (Dnsruby::Resolver)</a><br />
241
+ <a href="classes/Dnsruby/RRSet.html#M000165">ttl (Dnsruby::RRSet)</a><br />
242
+ <a href="classes/Dnsruby/RRSet.html#M000163">type (Dnsruby::RRSet)</a><br />
243
+ <a href="classes/Dnsruby/RR.html#M000003">type= (Dnsruby::RR)</a><br />
244
+ <a href="classes/Dnsruby/SingleResolver.html#M000129">udp_packet_size (Dnsruby::SingleResolver)</a><br />
245
+ <a href="classes/Dnsruby/Resolver.html#M000230">udp_size= (Dnsruby::Resolver)</a><br />
246
+ <a href="classes/Dnsruby/SingleResolver.html#M000122">udp_size= (Dnsruby::SingleResolver)</a><br />
247
+ <a href="classes/Dnsruby/Classes.html#M000158">unknown_code (Dnsruby::Classes)</a><br />
248
+ <a href="classes/Dnsruby/Classes.html#M000157">unknown_string (Dnsruby::Classes)</a><br />
249
+ <a href="classes/Dnsruby/CodeMapper.html#M000131">update (Dnsruby::CodeMapper)</a><br />
250
+ <a href="classes/Dnsruby/Resolver.html#M000222">use_tcp= (Dnsruby::Resolver)</a><br />
251
+ <a href="classes/Dnsruby/RR/TSIG.html#M000045">verify (Dnsruby::RR::TSIG)</a><br />
252
+ <a href="classes/Dnsruby/Name.html#M000061">wild? (Dnsruby::Name)</a><br />
253
+ </div>
254
+ </div>
255
+ </body>
256
+ </html>
data/doc/index.html ADDED
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
+
6
+ <!--
7
+
8
+ RDoc Documentation
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>RDoc Documentation</title>
14
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
+ </head>
16
+ <frameset rows="20%, 80%">
17
+ <frameset cols="25%,35%,45%">
18
+ <frame src="fr_file_index.html" title="Files" name="Files" />
19
+ <frame src="fr_class_index.html" name="Classes" />
20
+ <frame src="fr_method_index.html" name="Methods" />
21
+ </frameset>
22
+ <frame src="files/lib/dnsruby_rb.html" name="docwin" />
23
+ </frameset>
24
+ </html>
@@ -0,0 +1,350 @@
1
+ #--
2
+ #Copyright 2007 Nominet UK
3
+ #
4
+ #Licensed under the Apache License, Version 2.0 (the "License");
5
+ #you may not use this file except in compliance with the License.
6
+ #You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ #Unless required by applicable law or agreed to in writing, software
11
+ #distributed under the License is distributed on an "AS IS" BASIS,
12
+ #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ #See the License for the specific language governing permissions and
14
+ #limitations under the License.
15
+ #++
16
+ module Dnsruby
17
+ #== Description
18
+ # The Config class determines the system configuration for DNS.
19
+ # In particular, it determines the nameserver to target queries to.
20
+ #
21
+ #
22
+ # It also specifies whether and how the search list and default
23
+ # domain should be applied to queries, according to the following
24
+ # algorithm :
25
+ #
26
+ #* If the name is absolute, then it is used as is.
27
+ #
28
+ #* If the name is not absolute, then :
29
+ #
30
+ # If apply_domain is true, and ndots is greater than the number
31
+ # of labels in the name, then the default domain is added to the name.
32
+ #
33
+ # If apply_search_list is true, then each member of the search list
34
+ # is appended to the name.
35
+ #
36
+ class Config
37
+ #--
38
+ #@TODO@ Switches for :
39
+ #
40
+ # -- single socket for all packets
41
+ # -- single new socket for individual client queries (including retries and multiple nameservers)
42
+ #++
43
+
44
+ # The list of nameservers to query
45
+ attr_reader :nameserver
46
+ # Should the search list be applied?
47
+ attr_accessor :apply_search_list
48
+ # Should the default domain be applied?
49
+ attr_accessor :apply_domain
50
+ # The minimum number of labels in the query name (if it is not absolute) before it is considered complete
51
+ attr_reader :ndots
52
+
53
+ # Set the config. Parameter can be :
54
+ #
55
+ # * A String containing the name of the config file to load
56
+ # e.g. /etc/resolv.conf
57
+ #
58
+ # * A hash with the following elements :
59
+ # nameserver (String)
60
+ # domain (String)
61
+ # search (String)
62
+ # ndots (Fixnum)
63
+ def set_config_info(config_info)
64
+ parse_config(config_info)
65
+ end
66
+
67
+ # Create a new Config with system default values
68
+ def initialize()
69
+ @mutex = Mutex.new
70
+ parse_config
71
+ end
72
+ # Reset the config to default values
73
+ def Config.reset
74
+ c = Config.new
75
+ c.parse_config
76
+ end
77
+
78
+ def parse_config(config_info=nil) #:nodoc: all
79
+ @mutex.synchronize {
80
+ ns = []
81
+ @nameserver = []
82
+ @domain, s, @search = nil
83
+ dom=""
84
+ nd = 1
85
+ @ndots = 1
86
+ @apply_search_list = true
87
+ @apply_domain = true
88
+ config_hash = Config.default_config_hash
89
+ case config_info
90
+ when nil
91
+ when String
92
+ config_hash.merge!(Config.parse_resolv_conf(config_info))
93
+ when Hash
94
+ config_hash.merge!(config_info.dup)
95
+ if String === config_hash[:nameserver]
96
+ config_hash[:nameserver] = [config_hash[:nameserver]]
97
+ end
98
+ if String === config_hash[:search]
99
+ config_hash[:search] = [config_hash[:search]]
100
+ end
101
+ else
102
+ raise ArgumentError.new("invalid resolv configuration: #{@config_info.inspect}")
103
+ end
104
+ ns = config_hash[:nameserver] if config_hash.include? :nameserver
105
+ s = config_hash[:search] if config_hash.include? :search
106
+ nd = config_hash[:ndots] if config_hash.include? :ndots
107
+ @apply_search_list = config_hash[:apply_search_list] if config_hash.include? :apply_search_list
108
+ @apply_domain= config_hash[:apply_domain] if config_hash.include? :apply_domain
109
+ dom = config_hash[:domain] if config_hash.include? :domain
110
+
111
+ send("nameserver=",ns)
112
+ send("search=",s)
113
+ send("ndots=",nd)
114
+ send("domain=",dom)
115
+ }
116
+ TheLog.info(to_s)
117
+ end
118
+
119
+ # Set the default domain
120
+ def domain=(dom)
121
+ if !dom.kind_of?(String)
122
+ raise ArgumentError.new("invalid domain config: #{@domain.inspect}")
123
+ end
124
+ @domain = Name::Label.split(dom)
125
+ end
126
+
127
+ # Set ndots
128
+ def ndots=(nd)
129
+ @ndots=nd
130
+ if !@ndots.kind_of?(Integer)
131
+ raise ArgumentError.new("invalid ndots config: #{@ndots.inspect}")
132
+ end
133
+ end
134
+
135
+ # Set the default search path
136
+ def search=(s)
137
+ @search=s
138
+ if @search
139
+ if @search.class == Array
140
+ @search = @search.map {|arg| Name::Label.split(arg) }
141
+ else
142
+ raise ArgumentError.new("invalid search config: search must be an array!")
143
+ end
144
+ else
145
+ hostname = Socket.gethostname
146
+ if /\./ =~ hostname
147
+ @search = [Name::Label.split($')]
148
+ else
149
+ @search = [[]]
150
+ end
151
+ end
152
+
153
+ if !@search.kind_of?(Array) ||
154
+ # !@search.all? {|ls| ls.all? {|l| Label::Str === l } }
155
+ !@search.all? {|ls| ls.all? {|l| Name::Label === l } }
156
+ raise ArgumentError.new("invalid search config: #{@search.inspect}")
157
+ end
158
+ end
159
+
160
+ def check_ns(ns) #:nodoc: all
161
+ if !ns.kind_of?(Array) ||
162
+ !ns.all? {|n| (String === n || IPv4 === n || IPv6 === n)}
163
+ raise ArgumentError.new("invalid nameserver config: #{ns.inspect}")
164
+ end
165
+ ns.each_index do |i|
166
+ ns[i]=Config.resolve_server(ns[i])
167
+ end
168
+ end
169
+
170
+ # Add a nameserver to the list of nameservers.
171
+ #
172
+ # Can take either a single String or an array of Strings.
173
+ # The new nameservers are added at a higher priority.
174
+ def add_nameserver(ns)
175
+ if (ns.kind_of?String)
176
+ ns=[ns]
177
+ end
178
+ check_ns(ns)
179
+ ns.reverse_each do |n|
180
+ if (!@nameserver.include?(n))
181
+ self.nameserver=[n]+@nameserver
182
+ end
183
+ end
184
+ end
185
+
186
+ # Set the config to point to a single nameserver
187
+ def nameserver=(ns)
188
+ check_ns(ns)
189
+ # @nameserver = ['0.0.0.0'] if (@nameserver.class != Array || @nameserver.empty?)
190
+ # Now go through and ensure that all ns point to IP addresses, not domain names
191
+ @nameserver=ns
192
+ TheLog.debug("Nameservers = #{@nameserver.join(", ")}")
193
+ end
194
+
195
+ def Config.resolve_server(ns) #:nodoc: all
196
+ # Sanity check server
197
+ # If it's an IP address, then use that for server
198
+ # If it's a name, then we'll need to resolve it first
199
+ server=ns
200
+ begin
201
+ addr = IPv4.create(ns)
202
+ server = ns
203
+ rescue Exception
204
+ begin
205
+ addr=IPv6.create(ns)
206
+ server = ns
207
+ rescue Exception
208
+ begin
209
+ # try to resolve server to address
210
+ addr = TCPSocket.gethostbyname(ns)[3] # @TODO@ Replace this with Dnsruby call when lookups work
211
+ server = addr
212
+ rescue Exception => e
213
+ TheLog.error("Can't make sense of nameserver : #{server}, exception : #{e}")
214
+ raise ArgumentError.new("Can't make sense of nameserver : #{server}, exception : #{e}")
215
+ end
216
+ end
217
+ end
218
+ return server
219
+ end
220
+
221
+ def Config.parse_resolv_conf(filename) #:nodoc: all
222
+ nameserver = []
223
+ search = nil
224
+ domain = nil
225
+ ndots = 1
226
+ open(filename) {|f|
227
+ f.each {|line|
228
+ line.sub!(/[#;].*/, '')
229
+ keyword, *args = line.split(/\s+/)
230
+ args.each { |arg|
231
+ arg.untaint
232
+ }
233
+ next unless keyword
234
+ case keyword
235
+ when 'nameserver'
236
+ nameserver += args
237
+ when 'domain'
238
+ next if args.empty?
239
+ domain = args[0]
240
+ # if search == nil
241
+ # search = []
242
+ # end
243
+ # search.push(args[0])
244
+ when 'search'
245
+ next if args.empty?
246
+ if search == nil
247
+ search = []
248
+ end
249
+ args.each {|a| search.push(a)}
250
+ when 'options'
251
+ args.each {|arg|
252
+ case arg
253
+ when /\Andots:(\d+)\z/
254
+ ndots = $1.to_i
255
+ end
256
+ }
257
+ end
258
+ }
259
+ }
260
+ return { :nameserver => nameserver, :domain => domain, :search => search, :ndots => ndots }
261
+ end
262
+
263
+ def inspect #:nodoc: all
264
+ to_s
265
+ end
266
+
267
+ def to_s
268
+ ret = "Config - nameservers : "
269
+ @nameserver.each {|n| ret += n.to_s + ", "}
270
+ ret += " domain : #{domain}, search : "
271
+ search.each {|s| ret += s + ", " }
272
+ ret += " ndots : #{@ndots}"
273
+ return ret
274
+ end
275
+
276
+ def Config.default_config_hash(filename="/etc/resolv.conf") #:nodoc: all
277
+ config_hash={}
278
+ if File.exist? filename
279
+ config_hash = Config.parse_resolv_conf(filename)
280
+ else
281
+ if (/java/ =~ RUBY_PLATFORM && !(filename=~/:/))
282
+ # Problem with paths and Windows on JRuby - see if we can munge the drive...
283
+ wd = Dir.getwd
284
+ drive = wd.split(':')[0]
285
+ if (drive.length==1)
286
+ file = drive << ":" << filename
287
+ if File.exist? file
288
+ config_hash = Config.parse_resolv_conf(file)
289
+ end
290
+ end
291
+ elsif /mswin32|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM
292
+ # @TODO@ Need to get windows domain sorted
293
+ search, nameserver = Win32::Resolv.get_resolv_info
294
+ # config_hash[:domain] = domain if domain
295
+ config_hash[:nameserver] = nameserver if nameserver
296
+ config_hash[:search] = [search].flatten if search
297
+ end
298
+ end
299
+ config_hash
300
+ end
301
+
302
+ # Return the search path
303
+ def search
304
+ search = []
305
+ @search.each do |s|
306
+ search.push(Name.new(s).to_s)
307
+ end
308
+ return search
309
+ end
310
+
311
+ # Return the default domain
312
+ def domain
313
+ return Name.create(@domain).to_s
314
+ end
315
+
316
+ def single? #:nodoc: all
317
+ if @nameserver.length == 1
318
+ return @nameserver[0]
319
+ else
320
+ return nil
321
+ end
322
+ end
323
+
324
+ def generate_candidates(name) #:nodoc: all
325
+ candidates = []
326
+ name = Name.create(name)
327
+ if name.absolute?
328
+ candidates = [name]
329
+ else
330
+ if (@apply_domain)
331
+ if @ndots > name.length - 1
332
+ candidates.push(Name.create(name.to_a+@domain))
333
+ end
334
+ end
335
+ if (!@apply_search_list)
336
+ candidates.push(Name.create(name.to_a))
337
+ else
338
+ if @ndots <= name.length - 1
339
+ candidates.push(Name.create(name.to_a))
340
+ end
341
+ candidates.concat(@search.map {|domain| Name.create(name.to_a + domain)})
342
+ if (name.length == 1)
343
+ candidates.concat([Name.create(name.to_a)])
344
+ end
345
+ end
346
+ end
347
+ return candidates
348
+ end
349
+ end
350
+ end