Dnsruby 0.6.0 → 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (624) hide show
  1. data/EVENTMACHINE +1 -1
  2. data/README +36 -7
  3. data/doc/classes/Dnsruby.html +49 -18
  4. data/doc/classes/Dnsruby/Classes.html +10 -10
  5. data/doc/classes/Dnsruby/Classes.src/{M000158.html → M000156.html} +1 -1
  6. data/doc/classes/Dnsruby/Classes.src/M000157.html +5 -9
  7. data/doc/classes/Dnsruby/CodeMapper.html +55 -55
  8. data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +4 -7
  9. data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +19 -5
  10. data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +7 -5
  11. data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +5 -4
  12. data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +5 -8
  13. data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +4 -8
  14. data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +6 -6
  15. data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +7 -16
  16. data/doc/classes/Dnsruby/CodeMapper.src/M000141.html +8 -5
  17. data/doc/classes/Dnsruby/CodeMapper.src/{M000167.html → M000142.html} +0 -0
  18. data/doc/classes/Dnsruby/CodeMapper.src/{M000168.html → M000143.html} +0 -0
  19. data/doc/classes/Dnsruby/Config.html +66 -63
  20. data/doc/classes/Dnsruby/Config.src/{M000125.html → M000097.html} +1 -1
  21. data/doc/classes/Dnsruby/Config.src/M000098.html +5 -4
  22. data/doc/classes/Dnsruby/Config.src/M000099.html +5 -5
  23. data/doc/classes/Dnsruby/Config.src/M000100.html +11 -5
  24. data/doc/classes/Dnsruby/Config.src/M000101.html +6 -6
  25. data/doc/classes/Dnsruby/Config.src/M000102.html +23 -6
  26. data/doc/classes/Dnsruby/Config.src/M000103.html +10 -22
  27. data/doc/classes/Dnsruby/Config.src/M000104.html +7 -11
  28. data/doc/classes/Dnsruby/Config.src/M000105.html +13 -8
  29. data/doc/classes/Dnsruby/Config.src/M000106.html +7 -12
  30. data/doc/classes/Dnsruby/Config.src/M000107.html +6 -7
  31. data/doc/classes/Dnsruby/DNS.html +220 -118
  32. data/doc/classes/Dnsruby/DNS.src/{M000224.html → M000190.html} +1 -1
  33. data/doc/classes/Dnsruby/DNS.src/{M000225.html → M000191.html} +1 -1
  34. data/doc/classes/Dnsruby/DNS.src/{M000226.html → M000192.html} +1 -1
  35. data/doc/classes/Dnsruby/DNS.src/M000193.html +24 -0
  36. data/doc/classes/Dnsruby/{SingleResolver.src/M000152.html → DNS.src/M000194.html} +3 -3
  37. data/doc/classes/Dnsruby/{IPv4.src/M000156.html → DNS.src/M000195.html} +4 -4
  38. data/doc/classes/Dnsruby/DNS.src/M000196.html +6 -10
  39. data/doc/classes/Dnsruby/DNS.src/M000197.html +5 -10
  40. data/doc/classes/Dnsruby/DNS.src/M000198.html +6 -4
  41. data/doc/classes/Dnsruby/DNS.src/M000199.html +4 -4
  42. data/doc/classes/Dnsruby/DNS.src/M000200.html +5 -6
  43. data/doc/classes/Dnsruby/DNS.src/M000201.html +6 -5
  44. data/doc/classes/Dnsruby/DNS.src/M000202.html +14 -6
  45. data/doc/classes/Dnsruby/DNS.src/M000203.html +5 -4
  46. data/doc/classes/Dnsruby/DNS.src/M000204.html +6 -5
  47. data/doc/classes/Dnsruby/DNS.src/M000205.html +17 -6
  48. data/doc/classes/Dnsruby/DecodeError.html +11 -0
  49. data/doc/classes/Dnsruby/EncodeError.html +11 -0
  50. data/doc/classes/Dnsruby/FormErr.html +6 -0
  51. data/doc/classes/Dnsruby/Header.html +51 -66
  52. data/doc/classes/Dnsruby/Header.src/{M000196.html → M000167.html} +1 -1
  53. data/doc/classes/Dnsruby/Header.src/M000168.html +4 -21
  54. data/doc/classes/Dnsruby/Header.src/M000169.html +4 -21
  55. data/doc/classes/Dnsruby/Header.src/M000170.html +21 -4
  56. data/doc/classes/Dnsruby/Header.src/M000171.html +4 -4
  57. data/doc/classes/Dnsruby/Header.src/M000172.html +4 -7
  58. data/doc/classes/Dnsruby/Header.src/M000173.html +7 -6
  59. data/doc/classes/Dnsruby/Header.src/M000174.html +6 -18
  60. data/doc/classes/Dnsruby/Header.src/M000175.html +18 -12
  61. data/doc/classes/Dnsruby/Header.src/M000176.html +13 -33
  62. data/doc/classes/Dnsruby/Header.src/M000177.html +12 -14
  63. data/doc/classes/Dnsruby/Header.src/M000178.html +33 -4
  64. data/doc/classes/Dnsruby/Header.src/M000179.html +14 -4
  65. data/doc/classes/Dnsruby/Header.src/M000180.html +1 -1
  66. data/doc/classes/Dnsruby/Hosts.html +65 -54
  67. data/doc/classes/Dnsruby/Hosts.src/M000144.html +6 -5
  68. data/doc/classes/Dnsruby/Hosts.src/M000145.html +5 -6
  69. data/doc/classes/Dnsruby/Hosts.src/M000146.html +6 -7
  70. data/doc/classes/Dnsruby/Hosts.src/M000147.html +7 -5
  71. data/doc/classes/Dnsruby/Hosts.src/M000148.html +4 -5
  72. data/doc/classes/Dnsruby/Hosts.src/M000149.html +5 -6
  73. data/doc/classes/Dnsruby/Hosts.src/{M000176.html → M000150.html} +1 -1
  74. data/doc/classes/Dnsruby/IPv4.html +28 -93
  75. data/doc/classes/Dnsruby/IPv4.src/M000151.html +17 -6
  76. data/doc/classes/Dnsruby/IPv4.src/M000152.html +5 -4
  77. data/doc/classes/Dnsruby/IPv4.src/M000153.html +3 -3
  78. data/doc/classes/Dnsruby/IPv4.src/M000154.html +3 -4
  79. data/doc/classes/Dnsruby/IPv4.src/M000155.html +4 -4
  80. data/doc/classes/Dnsruby/IPv6.html +59 -96
  81. data/doc/classes/Dnsruby/IPv6.src/{M000208.html → M000178.html} +2 -2
  82. data/doc/classes/Dnsruby/IPv6.src/{M000210.html → M000179.html} +0 -0
  83. data/doc/classes/Dnsruby/IPv6.src/M000180.html +6 -46
  84. data/doc/classes/Dnsruby/IPv6.src/M000181.html +2 -2
  85. data/doc/classes/Dnsruby/IPv6.src/M000182.html +7 -6
  86. data/doc/classes/Dnsruby/IPv6.src/M000183.html +6 -8
  87. data/doc/classes/Dnsruby/IPv6.src/M000184.html +4 -4
  88. data/doc/classes/Dnsruby/Message.html +216 -123
  89. data/doc/classes/Dnsruby/Message.src/M000071.html +38 -0
  90. data/doc/classes/Dnsruby/Message.src/M000072.html +26 -0
  91. data/doc/classes/Dnsruby/Message.src/M000073.html +22 -0
  92. data/doc/classes/Dnsruby/{Header.src/M000198.html → Message.src/M000074.html} +6 -4
  93. data/doc/classes/Dnsruby/{Header.src/M000197.html → Message.src/M000075.html} +6 -4
  94. data/doc/classes/Dnsruby/Message.src/M000076.html +6 -20
  95. data/doc/classes/Dnsruby/Message.src/M000077.html +6 -12
  96. data/doc/classes/Dnsruby/Message.src/M000078.html +6 -8
  97. data/doc/classes/Dnsruby/Message.src/M000079.html +9 -6
  98. data/doc/classes/Dnsruby/Message.src/M000080.html +16 -6
  99. data/doc/classes/Dnsruby/Message.src/M000081.html +6 -6
  100. data/doc/classes/Dnsruby/Message.src/M000082.html +4 -6
  101. data/doc/classes/Dnsruby/Message.src/M000083.html +40 -6
  102. data/doc/classes/Dnsruby/Message.src/M000084.html +10 -6
  103. data/doc/classes/Dnsruby/Message.src/M000085.html +29 -6
  104. data/doc/classes/Dnsruby/Message.src/M000086.html +32 -4
  105. data/doc/classes/Dnsruby/NXDomain.html +6 -0
  106. data/doc/classes/Dnsruby/Name.html +60 -87
  107. data/doc/classes/Dnsruby/Name.src/M000056.html +28 -0
  108. data/doc/classes/Dnsruby/Name.src/M000057.html +6 -14
  109. data/doc/classes/Dnsruby/Name.src/M000058.html +4 -6
  110. data/doc/classes/Dnsruby/Name.src/M000059.html +7 -4
  111. data/doc/classes/Dnsruby/Name.src/M000060.html +8 -4
  112. data/doc/classes/Dnsruby/Name.src/M000061.html +5 -7
  113. data/doc/classes/Dnsruby/Name/Label.html +45 -45
  114. data/doc/classes/Dnsruby/Name/Label.src/M000062.html +21 -0
  115. data/doc/classes/Dnsruby/Name/Label.src/{M000075.html → M000063.html} +4 -4
  116. data/doc/classes/Dnsruby/Name/Label.src/{M000076.html → M000064.html} +1 -1
  117. data/doc/classes/Dnsruby/Name/Label.src/{M000077.html → M000065.html} +1 -1
  118. data/doc/classes/Dnsruby/Name/Label.src/{M000078.html → M000066.html} +1 -1
  119. data/doc/classes/Dnsruby/Name/Label.src/M000067.html +4 -7
  120. data/doc/classes/Dnsruby/Name/Label.src/M000068.html +4 -4
  121. data/doc/classes/Dnsruby/Name/Label.src/M000069.html +4 -8
  122. data/doc/classes/Dnsruby/Name/Label.src/M000070.html +4 -4
  123. data/doc/classes/Dnsruby/NotImp.html +6 -0
  124. data/doc/classes/Dnsruby/OtherResolvError.html +6 -0
  125. data/doc/classes/Dnsruby/Question.html +53 -8
  126. data/doc/classes/Dnsruby/Question.src/{M000194.html → M000165.html} +1 -1
  127. data/doc/classes/Dnsruby/Question.src/M000166.html +4 -33
  128. data/doc/classes/Dnsruby/Question.src/M000167.html +4 -33
  129. data/doc/classes/Dnsruby/Question.src/M000168.html +18 -4
  130. data/doc/classes/Dnsruby/Question.src/{M000195.html → M000169.html} +1 -1
  131. data/doc/classes/Dnsruby/RR.html +62 -64
  132. data/doc/classes/Dnsruby/RR.src/M000004.html +1 -1
  133. data/doc/classes/Dnsruby/RR.src/M000005.html +1 -1
  134. data/doc/classes/Dnsruby/RR.src/M000006.html +4 -22
  135. data/doc/classes/Dnsruby/RR.src/M000007.html +22 -86
  136. data/doc/classes/Dnsruby/RR.src/M000008.html +86 -4
  137. data/doc/classes/Dnsruby/RR.src/M000009.html +4 -4
  138. data/doc/classes/Dnsruby/RR.src/M000010.html +4 -8
  139. data/doc/classes/Dnsruby/RR.src/M000011.html +8 -8
  140. data/doc/classes/Dnsruby/RR.src/M000012.html +15 -4
  141. data/doc/classes/Dnsruby/RR.src/M000013.html +10 -8
  142. data/doc/classes/Dnsruby/RR/ANY.html +1 -1
  143. data/doc/classes/Dnsruby/RR/CNAME.html +2 -1
  144. data/doc/classes/Dnsruby/RR/DomainName.html +10 -10
  145. data/doc/classes/Dnsruby/RR/DomainName.src/{M000051.html → M000050.html} +0 -4
  146. data/doc/classes/Dnsruby/RR/Generic.html +4 -27
  147. data/doc/classes/Dnsruby/RR/IN.html +1 -1
  148. data/doc/classes/Dnsruby/RR/IN/A.html +17 -16
  149. data/doc/classes/Dnsruby/RR/IN/A.src/{M000025.html → M000017.html} +0 -0
  150. data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +4 -4
  151. data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +4 -4
  152. data/doc/classes/Dnsruby/RR/IN/AAAA.html +2 -1
  153. data/doc/classes/Dnsruby/RR/IN/SRV.html +43 -48
  154. data/doc/classes/Dnsruby/RR/IN/SRV.src/{M000022.html → M000014.html} +1 -1
  155. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +11 -14
  156. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +7 -11
  157. data/doc/classes/Dnsruby/RR/IN/WKS.html +5 -5
  158. data/doc/classes/Dnsruby/RR/IN/WKS.src/{M000021.html → M000020.html} +0 -0
  159. data/doc/classes/Dnsruby/RR/NS.html +2 -1
  160. data/doc/classes/Dnsruby/RR/NSAP.html +20 -20
  161. data/doc/classes/Dnsruby/RR/NSAP.src/{M000060.html → M000052.html} +0 -0
  162. data/doc/classes/Dnsruby/RR/NSAP.src/M000053.html +4 -4
  163. data/doc/classes/Dnsruby/RR/NSAP.src/M000054.html +8 -5
  164. data/doc/classes/Dnsruby/RR/NSAP.src/M000055.html +16 -7
  165. data/doc/classes/Dnsruby/RR/RP.html +5 -5
  166. data/doc/classes/Dnsruby/RR/RP.src/{M000050.html → M000049.html} +0 -0
  167. data/doc/classes/Dnsruby/RR/SOA.html +6 -3
  168. data/doc/classes/Dnsruby/RR/SOA.src/M000039.html +1 -1
  169. data/doc/classes/Dnsruby/RR/SOA.src/M000040.html +1 -1
  170. data/doc/classes/Dnsruby/RR/TKEY.html +39 -11
  171. data/doc/classes/Dnsruby/RR/TKEY.src/{M000029.html → M000021.html} +1 -1
  172. data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +15 -5
  173. data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +7 -15
  174. data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +1 -1
  175. data/doc/classes/Dnsruby/RR/TSIG.html +128 -56
  176. data/doc/classes/Dnsruby/RR/TSIG.src/M000041.html +24 -0
  177. data/doc/classes/Dnsruby/RR/TSIG.src/M000042.html +39 -7
  178. data/doc/classes/Dnsruby/RR/TSIG.src/M000043.html +110 -48
  179. data/doc/classes/Dnsruby/RR/TSIG.src/M000044.html +19 -20
  180. data/doc/classes/Dnsruby/RR/TSIG.src/M000045.html +11 -23
  181. data/doc/classes/Dnsruby/RR/TSIG.src/M000046.html +22 -17
  182. data/doc/classes/Dnsruby/RR/TSIG.src/M000047.html +7 -19
  183. data/doc/classes/Dnsruby/RR/TSIG.src/M000048.html +14 -7
  184. data/doc/classes/Dnsruby/RRSet.html +39 -39
  185. data/doc/classes/Dnsruby/RRSet.src/{M000187.html → M000158.html} +0 -0
  186. data/doc/classes/Dnsruby/RRSet.src/M000159.html +30 -4
  187. data/doc/classes/Dnsruby/RRSet.src/M000160.html +4 -4
  188. data/doc/classes/Dnsruby/RRSet.src/M000161.html +5 -29
  189. data/doc/classes/Dnsruby/RRSet.src/M000162.html +4 -4
  190. data/doc/classes/Dnsruby/RRSet.src/M000163.html +4 -6
  191. data/doc/classes/Dnsruby/RRSet.src/M000164.html +4 -4
  192. data/doc/classes/Dnsruby/Refused.html +6 -0
  193. data/doc/classes/Dnsruby/Resolv.html +120 -119
  194. data/doc/classes/Dnsruby/Resolv.src/{M000136.html → M000108.html} +1 -1
  195. data/doc/classes/Dnsruby/Resolv.src/M000109.html +4 -4
  196. data/doc/classes/Dnsruby/Resolv.src/M000110.html +4 -4
  197. data/doc/classes/Dnsruby/Resolv.src/M000111.html +4 -4
  198. data/doc/classes/Dnsruby/Resolv.src/M000112.html +4 -4
  199. data/doc/classes/Dnsruby/Resolv.src/M000113.html +4 -4
  200. data/doc/classes/Dnsruby/Resolv.src/M000114.html +4 -4
  201. data/doc/classes/Dnsruby/Resolv.src/M000115.html +5 -4
  202. data/doc/classes/Dnsruby/Resolv.src/M000116.html +6 -5
  203. data/doc/classes/Dnsruby/Resolv.src/M000117.html +15 -6
  204. data/doc/classes/Dnsruby/Resolv.src/M000118.html +5 -15
  205. data/doc/classes/Dnsruby/Resolv.src/M000119.html +6 -5
  206. data/doc/classes/Dnsruby/Resolv.src/M000120.html +11 -6
  207. data/doc/classes/Dnsruby/ResolvError.html +6 -0
  208. data/doc/classes/Dnsruby/ResolvTimeout.html +6 -0
  209. data/doc/classes/Dnsruby/Resolver.html +292 -179
  210. data/doc/classes/Dnsruby/Resolver.src/{M000239.html → M000203.html} +1 -1
  211. data/doc/classes/Dnsruby/Resolver.src/{M000240.html → M000204.html} +2 -2
  212. data/doc/classes/Dnsruby/Resolver.src/{M000241.html → M000205.html} +1 -1
  213. data/doc/classes/Dnsruby/{SingleResolver.src/M000153.html → Resolver.src/M000206.html} +2 -2
  214. data/doc/classes/Dnsruby/{SingleResolver.src/M000154.html → Resolver.src/M000207.html} +8 -6
  215. data/doc/classes/Dnsruby/Resolver.src/M000208.html +28 -0
  216. data/doc/classes/Dnsruby/Resolver.src/{M000242.html → M000209.html} +1 -1
  217. data/doc/classes/Dnsruby/Resolver.src/{M000243.html → M000210.html} +5 -2
  218. data/doc/classes/Dnsruby/Resolver.src/M000211.html +7 -7
  219. data/doc/classes/Dnsruby/Resolver.src/M000212.html +8 -7
  220. data/doc/classes/Dnsruby/Resolver.src/M000213.html +4 -13
  221. data/doc/classes/Dnsruby/Resolver.src/M000214.html +6 -14
  222. data/doc/classes/Dnsruby/Resolver.src/M000215.html +5 -4
  223. data/doc/classes/Dnsruby/Resolver.src/M000216.html +4 -33
  224. data/doc/classes/Dnsruby/Resolver.src/M000217.html +5 -7
  225. data/doc/classes/Dnsruby/Resolver.src/M000218.html +5 -8
  226. data/doc/classes/Dnsruby/Resolver.src/M000219.html +5 -4
  227. data/doc/classes/Dnsruby/Resolver.src/M000220.html +5 -6
  228. data/doc/classes/Dnsruby/Resolver.src/M000221.html +4 -4
  229. data/doc/classes/Dnsruby/Resolver.src/M000222.html +4 -4
  230. data/doc/classes/Dnsruby/Resolver.src/M000223.html +4 -4
  231. data/doc/classes/Dnsruby/Resolver.src/M000224.html +4 -4
  232. data/doc/classes/Dnsruby/Resolver.src/M000225.html +4 -4
  233. data/doc/classes/Dnsruby/Resolver.src/M000226.html +12 -5
  234. data/doc/classes/Dnsruby/Resolver.src/M000227.html +4 -5
  235. data/doc/classes/Dnsruby/Resolver.src/M000228.html +9 -5
  236. data/doc/classes/Dnsruby/Resolver.src/M000229.html +4 -5
  237. data/doc/classes/Dnsruby/ServFail.html +6 -0
  238. data/doc/classes/Dnsruby/SingleResolver.html +182 -77
  239. data/doc/classes/Dnsruby/SingleResolver.src/{M000149.html → M000121.html} +4 -4
  240. data/doc/classes/Dnsruby/SingleResolver.src/M000122.html +22 -4
  241. data/doc/classes/Dnsruby/SingleResolver.src/M000123.html +4 -5
  242. data/doc/classes/Dnsruby/SingleResolver.src/M000124.html +5 -35
  243. data/doc/classes/Dnsruby/SingleResolver.src/M000125.html +36 -4
  244. data/doc/classes/Dnsruby/SingleResolver.src/M000126.html +4 -7
  245. data/doc/classes/Dnsruby/SingleResolver.src/M000127.html +7 -11
  246. data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +9 -35
  247. data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +39 -11
  248. data/doc/classes/Dnsruby/SingleResolver.src/M000130.html +13 -7
  249. data/doc/classes/Dnsruby/SingleResolver.src/M000131.html +35 -0
  250. data/doc/classes/Dnsruby/SingleResolver.src/{M000157.html → M000132.html} +1 -1
  251. data/doc/classes/Dnsruby/TheLog.html +17 -17
  252. data/doc/classes/Dnsruby/TheLog.src/{M000188.html → M000182.html} +0 -0
  253. data/doc/classes/Dnsruby/TheLog.src/{M000190.html → M000183.html} +0 -0
  254. data/doc/classes/Dnsruby/TheLog.src/{M000191.html → M000184.html} +0 -0
  255. data/doc/classes/Dnsruby/TheLog.src/{M000189.html → M000185.html} +0 -0
  256. data/doc/classes/Dnsruby/TheLog.src/{M000217.html → M000186.html} +0 -0
  257. data/doc/classes/Dnsruby/TheLog.src/{M000218.html → M000187.html} +0 -0
  258. data/doc/classes/Dnsruby/Update.html +34 -34
  259. data/doc/classes/Dnsruby/Update.src/{M000219.html → M000185.html} +0 -0
  260. data/doc/classes/Dnsruby/Update.src/{M000193.html → M000186.html} +0 -1
  261. data/doc/classes/Dnsruby/Update.src/{M000194.html → M000187.html} +1 -1
  262. data/doc/classes/Dnsruby/Update.src/M000188.html +32 -0
  263. data/doc/classes/Dnsruby/Update.src/{M000220.html → M000189.html} +0 -1
  264. data/doc/classes/Dnsruby/Update.src/{M000221.html → M000190.html} +1 -1
  265. data/doc/classes/Dnsruby/Update.src/M000191.html +26 -17
  266. data/doc/classes/Dnsruby/Update.src/M000192.html +19 -17
  267. data/doc/classes/Dnsruby/ZoneTransfer.html +65 -13
  268. data/doc/classes/Dnsruby/{CodeMapper.src/M000163.html → ZoneTransfer.src/M000092.html} +4 -4
  269. data/doc/classes/Dnsruby/ZoneTransfer.src/{M000095.html → M000093.html} +3 -1
  270. data/doc/classes/Dnsruby/ZoneTransfer.src/{M000103.html → M000094.html} +1 -1
  271. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +22 -5
  272. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/{M000104.html → M000095.html} +1 -1
  273. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000096.html +19 -0
  274. data/doc/created.rid +1 -1
  275. data/doc/files/lib/Dnsruby/Config_rb.html +1 -1
  276. data/doc/files/lib/Dnsruby/DNSSEC_rb.html +1 -1
  277. data/doc/files/lib/Dnsruby/DNS_rb.html +1 -1
  278. data/doc/files/lib/Dnsruby/Hosts_rb.html +1 -1
  279. data/doc/files/lib/Dnsruby/Resolver_rb.html +1 -1
  280. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +1 -1
  281. data/doc/files/lib/Dnsruby/TheLog_rb.html +1 -1
  282. data/doc/files/lib/Dnsruby/code_mapper_rb.html +1 -1
  283. data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +1 -1
  284. data/doc/files/lib/Dnsruby/ipv4_rb.html +1 -1
  285. data/doc/files/lib/Dnsruby/ipv6_rb.html +1 -1
  286. data/doc/files/lib/Dnsruby/message_rb.html +1 -1
  287. data/doc/files/lib/Dnsruby/name_rb.html +1 -1
  288. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +1 -1
  289. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +1 -1
  290. data/doc/files/lib/Dnsruby/resource/A_rb.html +1 -1
  291. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +1 -1
  292. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +1 -1
  293. data/doc/files/lib/Dnsruby/resource/IN_rb.html +1 -1
  294. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +1 -1
  295. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +1 -1
  296. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +1 -1
  297. data/doc/files/lib/Dnsruby/resource/MX_rb.html +1 -1
  298. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +1 -1
  299. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +1 -1
  300. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +1 -1
  301. data/doc/files/lib/Dnsruby/resource/PX_rb.html +1 -1
  302. data/doc/files/lib/Dnsruby/resource/RP_rb.html +1 -1
  303. data/doc/files/lib/Dnsruby/resource/RT_rb.html +1 -1
  304. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +1 -1
  305. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +1 -1
  306. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +1 -1
  307. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +1 -1
  308. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +1 -1
  309. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +1 -1
  310. data/doc/files/lib/Dnsruby/resource/X25_rb.html +1 -1
  311. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +1 -1
  312. data/doc/files/lib/Dnsruby/resource/generic_rb.html +1 -1
  313. data/doc/files/lib/Dnsruby/resource/resource_rb.html +1 -1
  314. data/doc/files/lib/Dnsruby/select_thread_rb.html +1 -1
  315. data/doc/files/lib/Dnsruby/update_rb.html +1 -1
  316. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +1 -1
  317. data/doc/files/lib/dnsruby_rb.html +1 -1
  318. data/doc/fr_class_index.html +0 -2
  319. data/doc/fr_method_index.html +207 -213
  320. data/doc/index.html +1 -1
  321. data/lib/Dnsruby/Config.rb +11 -5
  322. data/lib/Dnsruby/DNS.rb +97 -50
  323. data/lib/Dnsruby/Hosts.rb +9 -2
  324. data/lib/Dnsruby/Resolver.rb +116 -31
  325. data/lib/Dnsruby/SingleResolver.rb +131 -75
  326. data/lib/Dnsruby/TheLog.rb +1 -2
  327. data/lib/Dnsruby/event_machine_interface.rb +9 -9
  328. data/lib/Dnsruby/ipv4.rb +6 -15
  329. data/lib/Dnsruby/ipv6.rb +23 -21
  330. data/lib/Dnsruby/message.rb +141 -56
  331. data/lib/Dnsruby/name.rb +15 -7
  332. data/lib/Dnsruby/resource/A.rb +1 -1
  333. data/lib/Dnsruby/resource/AAAA.rb +1 -1
  334. data/lib/Dnsruby/resource/IN.rb +5 -5
  335. data/lib/Dnsruby/resource/MINFO.rb +6 -2
  336. data/lib/Dnsruby/resource/OPT.rb +76 -19
  337. data/lib/Dnsruby/resource/SOA.rb +6 -0
  338. data/lib/Dnsruby/resource/SRV.rb +25 -21
  339. data/lib/Dnsruby/resource/TKEY.rb +14 -6
  340. data/lib/Dnsruby/resource/TSIG.rb +367 -120
  341. data/lib/Dnsruby/resource/domain_name.rb +1 -5
  342. data/lib/Dnsruby/resource/generic.rb +5 -2
  343. data/lib/Dnsruby/resource/resource.rb +35 -17
  344. data/lib/Dnsruby/select_thread.rb +33 -26
  345. data/lib/Dnsruby/update.rb +3 -4
  346. data/lib/Dnsruby/zone_transfer.rb +46 -12
  347. data/lib/dnsruby.rb +56 -44
  348. data/test/tc_axfr.rb +45 -7
  349. data/test/tc_dns.rb +1 -2
  350. data/test/tc_em_deferrable.rb +7 -16
  351. data/test/tc_escapedchars.rb +5 -21
  352. data/test/tc_event_machine_deferrable.rb +1 -1
  353. data/test/tc_event_machine_res.rb +1 -1
  354. data/test/tc_event_machine_single_res.rb +4 -4
  355. data/test/tc_event_machine_soak.rb +1 -1
  356. data/test/tc_packet_unique_push.rb +1 -1
  357. data/test/tc_question.rb +16 -17
  358. data/test/tc_res_config.rb +1 -1
  359. data/test/tc_res_opt.rb +4 -0
  360. data/test/tc_resolver.rb +0 -1
  361. data/test/tc_rr-opt.rb +45 -6
  362. data/test/tc_single_resolver.rb +1 -3
  363. data/test/tc_soak.rb +1 -5
  364. data/test/tc_soak_base.rb +1 -1
  365. data/test/tc_tcp.rb +1 -1
  366. data/test/tc_tkey.rb +1 -32
  367. data/test/tc_tsig.rb +196 -0
  368. data/test/ts_offline.rb +3 -2
  369. data/test/ts_online.rb +59 -14
  370. metadata +69 -318
  371. data/doc/classes/Dnsruby/Classes.src/M000159.html +0 -19
  372. data/doc/classes/Dnsruby/Classes.src/M000185.html +0 -23
  373. data/doc/classes/Dnsruby/Classes.src/M000186.html +0 -19
  374. data/doc/classes/Dnsruby/CodeMapper.src/M000130.html +0 -18
  375. data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +0 -18
  376. data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +0 -33
  377. data/doc/classes/Dnsruby/CodeMapper.src/M000158.html +0 -18
  378. data/doc/classes/Dnsruby/CodeMapper.src/M000159.html +0 -33
  379. data/doc/classes/Dnsruby/CodeMapper.src/M000160.html +0 -21
  380. data/doc/classes/Dnsruby/CodeMapper.src/M000161.html +0 -19
  381. data/doc/classes/Dnsruby/CodeMapper.src/M000162.html +0 -19
  382. data/doc/classes/Dnsruby/CodeMapper.src/M000164.html +0 -22
  383. data/doc/classes/Dnsruby/CodeMapper.src/M000165.html +0 -22
  384. data/doc/classes/Dnsruby/CodeMapper.src/M000166.html +0 -22
  385. data/doc/classes/Dnsruby/Config.src/M000108.html +0 -21
  386. data/doc/classes/Dnsruby/Config.src/M000126.html +0 -19
  387. data/doc/classes/Dnsruby/Config.src/M000127.html +0 -19
  388. data/doc/classes/Dnsruby/Config.src/M000128.html +0 -21
  389. data/doc/classes/Dnsruby/Config.src/M000129.html +0 -21
  390. data/doc/classes/Dnsruby/Config.src/M000130.html +0 -38
  391. data/doc/classes/Dnsruby/Config.src/M000131.html +0 -26
  392. data/doc/classes/Dnsruby/Config.src/M000132.html +0 -22
  393. data/doc/classes/Dnsruby/Config.src/M000133.html +0 -27
  394. data/doc/classes/Dnsruby/Config.src/M000134.html +0 -22
  395. data/doc/classes/Dnsruby/Config.src/M000135.html +0 -21
  396. data/doc/classes/Dnsruby/DNS.src/M000206.html +0 -28
  397. data/doc/classes/Dnsruby/DNS.src/M000207.html +0 -19
  398. data/doc/classes/Dnsruby/DNS.src/M000208.html +0 -20
  399. data/doc/classes/Dnsruby/DNS.src/M000209.html +0 -41
  400. data/doc/classes/Dnsruby/DNS.src/M000210.html +0 -32
  401. data/doc/classes/Dnsruby/DNS.src/M000211.html +0 -50
  402. data/doc/classes/Dnsruby/DNS.src/M000227.html +0 -20
  403. data/doc/classes/Dnsruby/DNS.src/M000228.html +0 -19
  404. data/doc/classes/Dnsruby/DNS.src/M000229.html +0 -20
  405. data/doc/classes/Dnsruby/DNS.src/M000230.html +0 -18
  406. data/doc/classes/Dnsruby/DNS.src/M000231.html +0 -19
  407. data/doc/classes/Dnsruby/DNS.src/M000232.html +0 -20
  408. data/doc/classes/Dnsruby/DNS.src/M000233.html +0 -28
  409. data/doc/classes/Dnsruby/DNS.src/M000234.html +0 -19
  410. data/doc/classes/Dnsruby/DNS.src/M000235.html +0 -20
  411. data/doc/classes/Dnsruby/DNS.src/M000236.html +0 -41
  412. data/doc/classes/Dnsruby/DNS.src/M000237.html +0 -32
  413. data/doc/classes/Dnsruby/DNS.src/M000238.html +0 -50
  414. data/doc/classes/Dnsruby/DNS/DecodeError.html +0 -111
  415. data/doc/classes/Dnsruby/DNS/EncodeError.html +0 -111
  416. data/doc/classes/Dnsruby/EventMachineInterface.html +0 -327
  417. data/doc/classes/Dnsruby/EventMachineInterface.src/M000105.html +0 -32
  418. data/doc/classes/Dnsruby/EventMachineInterface.src/M000106.html +0 -25
  419. data/doc/classes/Dnsruby/EventMachineInterface.src/M000107.html +0 -29
  420. data/doc/classes/Dnsruby/EventMachineInterface.src/M000108.html +0 -21
  421. data/doc/classes/Dnsruby/EventMachineInterface.src/M000109.html +0 -35
  422. data/doc/classes/Dnsruby/EventMachineInterface.src/M000110.html +0 -19
  423. data/doc/classes/Dnsruby/EventMachineInterface.src/M000111.html +0 -23
  424. data/doc/classes/Dnsruby/EventMachineInterface.src/M000112.html +0 -18
  425. data/doc/classes/Dnsruby/EventMachineInterface.src/M000113.html +0 -28
  426. data/doc/classes/Dnsruby/EventMachineInterface.src/M000114.html +0 -41
  427. data/doc/classes/Dnsruby/EventMachineInterface.src/M000115.html +0 -28
  428. data/doc/classes/Dnsruby/EventMachineInterface.src/M000116.html +0 -24
  429. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.html +0 -154
  430. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000123.html +0 -20
  431. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000124.html +0 -32
  432. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.html +0 -237
  433. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000117.html +0 -18
  434. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000118.html +0 -19
  435. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000119.html +0 -35
  436. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000120.html +0 -30
  437. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000121.html +0 -19
  438. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000122.html +0 -23
  439. data/doc/classes/Dnsruby/Header.src/M000199.html +0 -21
  440. data/doc/classes/Dnsruby/Header.src/M000200.html +0 -20
  441. data/doc/classes/Dnsruby/Header.src/M000201.html +0 -32
  442. data/doc/classes/Dnsruby/Header.src/M000202.html +0 -26
  443. data/doc/classes/Dnsruby/Header.src/M000203.html +0 -47
  444. data/doc/classes/Dnsruby/Header.src/M000204.html +0 -28
  445. data/doc/classes/Dnsruby/Header.src/M000205.html +0 -18
  446. data/doc/classes/Dnsruby/Header.src/M000206.html +0 -18
  447. data/doc/classes/Dnsruby/Header.src/M000207.html +0 -30
  448. data/doc/classes/Dnsruby/Hosts.src/M000141.html +0 -20
  449. data/doc/classes/Dnsruby/Hosts.src/M000142.html +0 -20
  450. data/doc/classes/Dnsruby/Hosts.src/M000143.html +0 -49
  451. data/doc/classes/Dnsruby/Hosts.src/M000169.html +0 -20
  452. data/doc/classes/Dnsruby/Hosts.src/M000170.html +0 -49
  453. data/doc/classes/Dnsruby/Hosts.src/M000171.html +0 -19
  454. data/doc/classes/Dnsruby/Hosts.src/M000172.html +0 -20
  455. data/doc/classes/Dnsruby/Hosts.src/M000173.html +0 -21
  456. data/doc/classes/Dnsruby/Hosts.src/M000174.html +0 -19
  457. data/doc/classes/Dnsruby/Hosts.src/M000175.html +0 -20
  458. data/doc/classes/Dnsruby/IPv4.src/M000149.html +0 -32
  459. data/doc/classes/Dnsruby/IPv4.src/M000150.html +0 -32
  460. data/doc/classes/Dnsruby/IPv4.src/M000157.html +0 -18
  461. data/doc/classes/Dnsruby/IPv4.src/M000177.html +0 -32
  462. data/doc/classes/Dnsruby/IPv4.src/M000178.html +0 -21
  463. data/doc/classes/Dnsruby/IPv4.src/M000179.html +0 -18
  464. data/doc/classes/Dnsruby/IPv4.src/M000180.html +0 -18
  465. data/doc/classes/Dnsruby/IPv4.src/M000181.html +0 -19
  466. data/doc/classes/Dnsruby/IPv4.src/M000182.html +0 -18
  467. data/doc/classes/Dnsruby/IPv4.src/M000183.html +0 -18
  468. data/doc/classes/Dnsruby/IPv4.src/M000184.html +0 -18
  469. data/doc/classes/Dnsruby/IPv6.src/M000185.html +0 -21
  470. data/doc/classes/Dnsruby/IPv6.src/M000186.html +0 -18
  471. data/doc/classes/Dnsruby/IPv6.src/M000187.html +0 -18
  472. data/doc/classes/Dnsruby/IPv6.src/M000188.html +0 -18
  473. data/doc/classes/Dnsruby/IPv6.src/M000209.html +0 -21
  474. data/doc/classes/Dnsruby/IPv6.src/M000211.html +0 -18
  475. data/doc/classes/Dnsruby/IPv6.src/M000212.html +0 -21
  476. data/doc/classes/Dnsruby/IPv6.src/M000213.html +0 -18
  477. data/doc/classes/Dnsruby/IPv6.src/M000214.html +0 -18
  478. data/doc/classes/Dnsruby/IPv6.src/M000215.html +0 -18
  479. data/doc/classes/Dnsruby/Message.src/M000087.html +0 -54
  480. data/doc/classes/Dnsruby/Message.src/M000088.html +0 -42
  481. data/doc/classes/Dnsruby/Message.src/M000089.html +0 -45
  482. data/doc/classes/Dnsruby/Message.src/M000090.html +0 -20
  483. data/doc/classes/Dnsruby/Message.src/M000091.html +0 -21
  484. data/doc/classes/Dnsruby/Message.src/M000092.html +0 -20
  485. data/doc/classes/Dnsruby/Message.src/M000093.html +0 -18
  486. data/doc/classes/Dnsruby/Message.src/M000094.html +0 -54
  487. data/doc/classes/Dnsruby/Message.src/M000095.html +0 -42
  488. data/doc/classes/Dnsruby/Message.src/M000096.html +0 -45
  489. data/doc/classes/Dnsruby/Name.src/M000062.html +0 -19
  490. data/doc/classes/Dnsruby/Name.src/M000064.html +0 -22
  491. data/doc/classes/Dnsruby/Name.src/M000065.html +0 -18
  492. data/doc/classes/Dnsruby/Name.src/M000066.html +0 -20
  493. data/doc/classes/Dnsruby/Name.src/M000067.html +0 -18
  494. data/doc/classes/Dnsruby/Name.src/M000068.html +0 -21
  495. data/doc/classes/Dnsruby/Name.src/M000069.html +0 -19
  496. data/doc/classes/Dnsruby/Name.src/M000071.html +0 -22
  497. data/doc/classes/Dnsruby/Name.src/M000072.html +0 -18
  498. data/doc/classes/Dnsruby/Name.src/M000073.html +0 -20
  499. data/doc/classes/Dnsruby/Name/Label.src/M000071.html +0 -18
  500. data/doc/classes/Dnsruby/Name/Label.src/M000072.html +0 -18
  501. data/doc/classes/Dnsruby/Name/Label.src/M000073.html +0 -18
  502. data/doc/classes/Dnsruby/Name/Label.src/M000074.html +0 -18
  503. data/doc/classes/Dnsruby/Name/Label.src/M000079.html +0 -18
  504. data/doc/classes/Dnsruby/Name/Label.src/M000080.html +0 -18
  505. data/doc/classes/Dnsruby/Name/Label.src/M000081.html +0 -18
  506. data/doc/classes/Dnsruby/Name/Label.src/M000082.html +0 -18
  507. data/doc/classes/Dnsruby/RR.src/M000014.html +0 -24
  508. data/doc/classes/Dnsruby/RR.src/M000015.html +0 -18
  509. data/doc/classes/Dnsruby/RR.src/M000016.html +0 -18
  510. data/doc/classes/Dnsruby/RR.src/M000017.html +0 -22
  511. data/doc/classes/Dnsruby/RR.src/M000018.html +0 -22
  512. data/doc/classes/Dnsruby/RR.src/M000019.html +0 -18
  513. data/doc/classes/Dnsruby/RR.src/M000020.html +0 -22
  514. data/doc/classes/Dnsruby/RR.src/M000021.html +0 -24
  515. data/doc/classes/Dnsruby/RR/DomainName.src/M000058.html +0 -22
  516. data/doc/classes/Dnsruby/RR/Generic.src/M000041.html +0 -25
  517. data/doc/classes/Dnsruby/RR/Generic.src/M000048.html +0 -25
  518. data/doc/classes/Dnsruby/RR/IN/A.src/M000020.html +0 -18
  519. data/doc/classes/Dnsruby/RR/IN/A.src/M000026.html +0 -18
  520. data/doc/classes/Dnsruby/RR/IN/A.src/M000027.html +0 -18
  521. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000017.html +0 -22
  522. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000023.html +0 -26
  523. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000024.html +0 -22
  524. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000028.html +0 -20
  525. data/doc/classes/Dnsruby/RR/LOC.src/M000032.html +0 -32
  526. data/doc/classes/Dnsruby/RR/LOC.src/M000033.html +0 -23
  527. data/doc/classes/Dnsruby/RR/LOC.src/M000034.html +0 -25
  528. data/doc/classes/Dnsruby/RR/LOC.src/M000035.html +0 -21
  529. data/doc/classes/Dnsruby/RR/LOC.src/M000036.html +0 -20
  530. data/doc/classes/Dnsruby/RR/LOC.src/M000037.html +0 -23
  531. data/doc/classes/Dnsruby/RR/NSAP.src/M000056.html +0 -31
  532. data/doc/classes/Dnsruby/RR/NSAP.src/M000061.html +0 -19
  533. data/doc/classes/Dnsruby/RR/NSAP.src/M000062.html +0 -22
  534. data/doc/classes/Dnsruby/RR/NSAP.src/M000063.html +0 -31
  535. data/doc/classes/Dnsruby/RR/RP.src/M000057.html +0 -19
  536. data/doc/classes/Dnsruby/RR/SOA.src/M000046.html +0 -24
  537. data/doc/classes/Dnsruby/RR/SOA.src/M000047.html +0 -27
  538. data/doc/classes/Dnsruby/RR/TKEY.src/M000030.html +0 -29
  539. data/doc/classes/Dnsruby/RR/TKEY.src/M000031.html +0 -30
  540. data/doc/classes/Dnsruby/RR/TSIG.src/M000049.html +0 -29
  541. data/doc/classes/Dnsruby/RR/TSIG.src/M000050.html +0 -71
  542. data/doc/classes/Dnsruby/RR/TSIG.src/M000051.html +0 -34
  543. data/doc/classes/Dnsruby/RR/TSIG.src/M000052.html +0 -37
  544. data/doc/classes/Dnsruby/RR/TSIG.src/M000053.html +0 -31
  545. data/doc/classes/Dnsruby/RR/TSIG.src/M000054.html +0 -34
  546. data/doc/classes/Dnsruby/RR/TSIG.src/M000055.html +0 -22
  547. data/doc/classes/Dnsruby/RR/TSIG.src/M000056.html +0 -29
  548. data/doc/classes/Dnsruby/RR/TXT.src/M000041.html +0 -18
  549. data/doc/classes/Dnsruby/RR/TXT.src/M000042.html +0 -18
  550. data/doc/classes/Dnsruby/RR/TXT.src/M000043.html +0 -20
  551. data/doc/classes/Dnsruby/RR/TXT.src/M000044.html +0 -27
  552. data/doc/classes/Dnsruby/RR/TXT.src/M000045.html +0 -25
  553. data/doc/classes/Dnsruby/RR/X25.src/M000038.html +0 -18
  554. data/doc/classes/Dnsruby/RR/X25.src/M000039.html +0 -18
  555. data/doc/classes/Dnsruby/RR/X25.src/M000040.html +0 -22
  556. data/doc/classes/Dnsruby/RRSet.src/M000165.html +0 -18
  557. data/doc/classes/Dnsruby/RRSet.src/M000166.html +0 -18
  558. data/doc/classes/Dnsruby/RRSet.src/M000188.html +0 -44
  559. data/doc/classes/Dnsruby/RRSet.src/M000189.html +0 -18
  560. data/doc/classes/Dnsruby/RRSet.src/M000190.html +0 -20
  561. data/doc/classes/Dnsruby/RRSet.src/M000191.html +0 -18
  562. data/doc/classes/Dnsruby/RRSet.src/M000192.html +0 -18
  563. data/doc/classes/Dnsruby/RRSet.src/M000193.html +0 -18
  564. data/doc/classes/Dnsruby/Resolv.src/M000121.html +0 -25
  565. data/doc/classes/Dnsruby/Resolv.src/M000137.html +0 -18
  566. data/doc/classes/Dnsruby/Resolv.src/M000138.html +0 -18
  567. data/doc/classes/Dnsruby/Resolv.src/M000139.html +0 -18
  568. data/doc/classes/Dnsruby/Resolv.src/M000140.html +0 -18
  569. data/doc/classes/Dnsruby/Resolv.src/M000141.html +0 -18
  570. data/doc/classes/Dnsruby/Resolv.src/M000142.html +0 -18
  571. data/doc/classes/Dnsruby/Resolv.src/M000143.html +0 -19
  572. data/doc/classes/Dnsruby/Resolv.src/M000144.html +0 -20
  573. data/doc/classes/Dnsruby/Resolv.src/M000145.html +0 -29
  574. data/doc/classes/Dnsruby/Resolv.src/M000146.html +0 -19
  575. data/doc/classes/Dnsruby/Resolv.src/M000147.html +0 -20
  576. data/doc/classes/Dnsruby/Resolv.src/M000148.html +0 -25
  577. data/doc/classes/Dnsruby/Resolver.src/M000230.html +0 -19
  578. data/doc/classes/Dnsruby/Resolver.src/M000231.html +0 -19
  579. data/doc/classes/Dnsruby/Resolver.src/M000232.html +0 -26
  580. data/doc/classes/Dnsruby/Resolver.src/M000233.html +0 -18
  581. data/doc/classes/Dnsruby/Resolver.src/M000234.html +0 -23
  582. data/doc/classes/Dnsruby/Resolver.src/M000235.html +0 -18
  583. data/doc/classes/Dnsruby/Resolver.src/M000236.html +0 -42
  584. data/doc/classes/Dnsruby/Resolver.src/M000244.html +0 -21
  585. data/doc/classes/Dnsruby/Resolver.src/M000245.html +0 -22
  586. data/doc/classes/Dnsruby/Resolver.src/M000246.html +0 -18
  587. data/doc/classes/Dnsruby/Resolver.src/M000247.html +0 -20
  588. data/doc/classes/Dnsruby/Resolver.src/M000248.html +0 -19
  589. data/doc/classes/Dnsruby/Resolver.src/M000249.html +0 -19
  590. data/doc/classes/Dnsruby/Resolver.src/M000250.html +0 -19
  591. data/doc/classes/Dnsruby/Resolver.src/M000251.html +0 -19
  592. data/doc/classes/Dnsruby/Resolver.src/M000252.html +0 -19
  593. data/doc/classes/Dnsruby/Resolver.src/M000253.html +0 -19
  594. data/doc/classes/Dnsruby/Resolver.src/M000254.html +0 -19
  595. data/doc/classes/Dnsruby/Resolver.src/M000255.html +0 -19
  596. data/doc/classes/Dnsruby/Resolver.src/M000256.html +0 -19
  597. data/doc/classes/Dnsruby/Resolver.src/M000257.html +0 -19
  598. data/doc/classes/Dnsruby/Resolver.src/M000258.html +0 -19
  599. data/doc/classes/Dnsruby/Resolver.src/M000259.html +0 -26
  600. data/doc/classes/Dnsruby/Resolver.src/M000260.html +0 -18
  601. data/doc/classes/Dnsruby/Resolver.src/M000261.html +0 -23
  602. data/doc/classes/Dnsruby/Resolver.src/M000262.html +0 -18
  603. data/doc/classes/Dnsruby/Resolver.src/M000263.html +0 -42
  604. data/doc/classes/Dnsruby/SelectInterface.html +0 -236
  605. data/doc/classes/Dnsruby/SelectInterface.src/M000001.html +0 -19
  606. data/doc/classes/Dnsruby/SelectInterface.src/M000002.html +0 -18
  607. data/doc/classes/Dnsruby/SelectInterface.src/M000003.html +0 -18
  608. data/doc/classes/Dnsruby/SelectInterface.src/M000004.html +0 -18
  609. data/doc/classes/Dnsruby/SelectInterface.src/M000005.html +0 -21
  610. data/doc/classes/Dnsruby/SelectInterface.src/M000006.html +0 -19
  611. data/doc/classes/Dnsruby/SelectInterface.src/M000007.html +0 -18
  612. data/doc/classes/Dnsruby/SingleResolver.src/M000150.html +0 -19
  613. data/doc/classes/Dnsruby/SingleResolver.src/M000151.html +0 -49
  614. data/doc/classes/Dnsruby/SingleResolver.src/M000155.html +0 -51
  615. data/doc/classes/Dnsruby/SingleResolver.src/M000156.html +0 -26
  616. data/doc/classes/Dnsruby/TheLog.src/M000216.html +0 -20
  617. data/doc/classes/Dnsruby/Update.src/M000195.html +0 -41
  618. data/doc/classes/Dnsruby/Update.src/M000196.html +0 -34
  619. data/doc/classes/Dnsruby/Update.src/M000222.html +0 -41
  620. data/doc/classes/Dnsruby/Update.src/M000223.html +0 -34
  621. data/doc/classes/Dnsruby/ZoneTransfer.src/M000096.html +0 -35
  622. data/doc/classes/Dnsruby/ZoneTransfer.src/M000102.html +0 -22
  623. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000097.html +0 -19
  624. data/doc/files/lib/Dnsruby/SelectInterface_rb.html +0 -108
data/lib/Dnsruby/ipv4.rb CHANGED
@@ -14,19 +14,8 @@
14
14
  #limitations under the License.
15
15
  #++
16
16
  module Dnsruby
17
- #== Dnsruby::IPv4 class
18
- #=== class methods
19
- #* Dnsruby::IPv4.create(address)
20
- #
21
- #=== methods
22
- #* Dnsruby::IPv4#to_s
23
- #* Dnsruby::IPv4#to_name
24
- #
25
- #=== constants
26
- #* Dnsruby::IPv4::Regex
27
- # regular expression for IPv4 address.
28
- #
29
17
  class IPv4
18
+ # Regular expression IPv4 addresses must match
30
19
  Regex = /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/
31
20
 
32
21
  def self.create(arg)
@@ -47,19 +36,21 @@ module Dnsruby
47
36
  end
48
37
  end
49
38
 
50
- def initialize(address)
39
+ def initialize(address) #:nodoc:
51
40
  unless address.kind_of?(String) && address.length == 4
52
41
  raise ArgumentError.new('IPv4 address must be 4 bytes')
53
42
  end
54
43
  @address = address
55
44
  end
45
+
46
+ # A String representation of thi IPv4 address.
56
47
  attr_reader :address
57
48
 
58
- def to_s
49
+ def to_s #:nodoc:
59
50
  return sprintf("%d.%d.%d.%d", *@address.unpack("CCCC"))
60
51
  end
61
52
 
62
- def inspect
53
+ def inspect #:nodoc:
63
54
  return "#<#{self.class} #{self.to_s}>"
64
55
  end
65
56
 
data/lib/Dnsruby/ipv6.rb CHANGED
@@ -14,47 +14,45 @@
14
14
  #limitations under the License.
15
15
  #++
16
16
  module Dnsruby
17
- #== Dnsruby::IPv6 class
18
- #=== class methods
19
- #* Dnsruby::IPv6.create(address)
20
- #
21
- #=== methods
22
- #* Dnsruby::IPv6#to_s
23
- #* Dnsruby::IPv6#to_name
24
- #
25
- #=== constants
26
- #* Dnsruby::IPv6::Regex
27
- # regular expression for IPv6 address.
28
- #
17
+ #Dnsruby::IPv6 class
29
18
  class IPv6
19
+ #IPv6 address format a:b:c:d:e:f:g:h
30
20
  Regex_8Hex = /\A
31
21
  (?:[0-9A-Fa-f]{1,4}:){7}
32
22
  [0-9A-Fa-f]{1,4}
33
23
  \z/x
34
24
 
25
+ #Compresses IPv6 format a::b
35
26
  Regex_CompressedHex = /\A
36
27
  ((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::
37
28
  ((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)
38
29
  \z/x
39
30
 
31
+ # IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z
40
32
  Regex_6Hex4Dec = /\A
41
33
  ((?:[0-9A-Fa-f]{1,4}:){6,6})
42
34
  (\d+)\.(\d+)\.(\d+)\.(\d+)
43
35
  \z/x
44
36
 
37
+ # Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z
45
38
  Regex_CompressedHex4Dec = /\A
46
39
  ((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::
47
40
  ((?:[0-9A-Fa-f]{1,4}:)*)
48
41
  (\d+)\.(\d+)\.(\d+)\.(\d+)
49
42
  \z/x
50
43
 
44
+ # A composite IPv6 address RegExp
51
45
  Regex = /
52
46
  (?:#{Regex_8Hex}) |
53
47
  (?:#{Regex_CompressedHex}) |
54
48
  (?:#{Regex_6Hex4Dec}) |
55
49
  (?:#{Regex_CompressedHex4Dec})/x
56
50
 
57
- def self.create(arg)
51
+ # Created a new IPv6 address from +arg+ which may be:
52
+ #
53
+ #* IPv6:: returns +arg+
54
+ #* String:: +arg+ must match one of the IPv6::Regex* constants
55
+ def self.create(arg)
58
56
  case arg
59
57
  when IPv6
60
58
  return arg
@@ -100,12 +98,14 @@ module Dnsruby
100
98
  end
101
99
  end
102
100
 
103
- def initialize(address)
101
+ def initialize(address) #:nodoc:
104
102
  unless address.kind_of?(String) && address.length == 16
105
103
  raise ArgumentError.new('IPv6 address must be 16 bytes')
106
104
  end
107
105
  @address = address
108
106
  end
107
+
108
+ # The raw IPv6 address as a String
109
109
  attr_reader :address
110
110
 
111
111
  def to_s
@@ -116,22 +116,24 @@ module Dnsruby
116
116
  return address
117
117
  end
118
118
 
119
- def inspect
119
+ def inspect #:nodoc:
120
120
  return "#<#{self.class} #{self.to_s}>"
121
121
  end
122
-
122
+
123
+ #Turns this IPv6 address into a Dnsruby::Name
124
+ #--
125
+ # ip6.arpa should be searched too. [RFC3152]
123
126
  def to_name
124
- # ip6.arpa should be searched too. [RFC3152]
125
127
  return Name.create(
126
- # @address.unpack("H32")[0].split(//).reverse + ['ip6', 'arpa'])
127
- @address.unpack("H32")[0].split(//).reverse.join(".") + ".ip6.arpa")
128
+ # @address.unpack("H32")[0].split(//).reverse + ['ip6', 'arpa'])
129
+ @address.unpack("H32")[0].split(//).reverse.join(".") + ".ip6.arpa")
128
130
  end
129
131
 
130
- def ==(other)
132
+ def ==(other) #:nodoc:
131
133
  return @address == other.address
132
134
  end
133
135
 
134
- def eql?(other)
136
+ def eql?(other) #:nodoc:
135
137
  return self == other
136
138
  end
137
139
 
@@ -59,13 +59,13 @@ module Dnsruby
59
59
  # Dnsruby::Message#encode
60
60
  # Dnsruby::Message::decode(data)
61
61
  class Message
62
- # Create a new Message. Takes optional name, type and class
62
+ #Create a new Message. Takes optional name, type and class
63
63
  #
64
- # type defaults to A, and klass defaults to IN
64
+ #type defaults to A, and klass defaults to IN
65
65
  #
66
- # Dnsruby::Message.new("example.com") # defaults to A, IN
67
- # Dnsruby::Message.new("example.com", 'AAAA')
68
- # Dnsruby::Message.new("example.com", Dnsruby::Types.PTR, "HS")
66
+ #* Dnsruby::Message.new("example.com") # defaults to A, IN
67
+ #* Dnsruby::Message.new("example.com", 'AAAA')
68
+ #* Dnsruby::Message.new("example.com", Dnsruby::Types.PTR, "HS")
69
69
  #
70
70
  def initialize(*args)
71
71
  @header = Header.new()
@@ -73,6 +73,10 @@ module Dnsruby
73
73
  @answer = []
74
74
  @authority = []
75
75
  @additional = []
76
+ @tsigstate = :Unsigned
77
+ @signing = false
78
+ @tsigkey = nil
79
+ @answerfrom = nil
76
80
  type = Types.A
77
81
  klass = Classes.IN
78
82
  if (args.length > 0)
@@ -87,31 +91,41 @@ module Dnsruby
87
91
  end
88
92
  end
89
93
 
90
- # The question section, an array of Dnsruby::Question objects.
94
+ #The question section, an array of Dnsruby::Question objects.
91
95
  attr_reader :question
92
96
 
93
- # The answer section, an array of Dnsruby::RR objects.
97
+ #The answer section, an array of Dnsruby::RR objects.
94
98
  attr_reader :answer
95
- # The authority section, an array of Dnsruby::RR objects.
99
+ #The authority section, an array of Dnsruby::RR objects.
96
100
  attr_reader :authority
97
- # The additional section, an array of Dnsruby::RR objects.
101
+ #The additional section, an array of Dnsruby::RR objects.
98
102
  attr_reader :additional
99
- # The header section, a Dnsruby::Header object.
103
+ #The header section, a Dnsruby::Header object.
100
104
  attr_accessor :header
101
105
 
102
- # If this Message is a response from a server, then answerfrom contains the address of the server
106
+ #If this Message is a response from a server, then answerfrom contains the address of the server
103
107
  attr_accessor :answerfrom
104
108
 
105
- # If this Message is a response from a server, then answersize contains the size of the response
109
+ #If this Message is a response from a server, then answersize contains the size of the response
106
110
  attr_accessor :answersize
107
111
 
108
- attr_accessor :tsigkey
109
- attr_reader :querytsig
110
- attr_reader :tsigerror
111
-
112
- attr_accessor :tsigstart
112
+ #If this message has been verified using a TSIG RR then tsigerror contains
113
+ #the error code returned by the TSIG verification. The error will be an RCode
114
+ attr_accessor :tsigerror
115
+
116
+ #Can be
117
+ #* :Unsigned - the default state
118
+ #* :Signed - the outgoing message has been signed
119
+ #* :Verified - the incoming message has been verified
120
+ #* :Intermediate - the incoming message is an intermediate envelope in a TCP session
121
+ #in which only every 100th envelope must be signed
122
+ #* :Failed - the incoming response failed verification
113
123
  attr_accessor :tsigstate
114
124
 
125
+ #--
126
+ attr_accessor :tsigstart
127
+ #++
128
+
115
129
  def ==(other)
116
130
  ret = false
117
131
  if (other.kind_of?Message)
@@ -124,12 +138,12 @@ module Dnsruby
124
138
  return ret
125
139
  end
126
140
 
127
- # Add a new Question to the Message. Takes either a Question,
128
- # or a name, and an optional type and class.
141
+ #Add a new Question to the Message. Takes either a Question,
142
+ #or a name, and an optional type and class.
129
143
  #
130
- # msg.add_question(Question.new("example.com", 'MX'))
131
- # msg.add_question("example.com") # defaults to Types.A, Classes.IN
132
- # msg.add_question("example.com", Types.LOC)
144
+ #* msg.add_question(Question.new("example.com", 'MX'))
145
+ #* msg.add_question("example.com") # defaults to Types.A, Classes.IN
146
+ #* msg.add_question("example.com", Types.LOC)
133
147
  def add_question(question, type=Types.A, klass=Classes.IN)
134
148
  if (!question.kind_of?Question)
135
149
  question = Question.new(question, type, klass)
@@ -193,22 +207,43 @@ module Dnsruby
193
207
 
194
208
  # Returns the TSIG record from the ADDITIONAL section, if one is present.
195
209
  def tsig
196
- if (@additional.last.type == Types.TSIG)
197
- return @additional.last
210
+ if (@additional.last)
211
+ if (@additional.last.rr_type == Types.TSIG)
212
+ return @additional.last
213
+ end
198
214
  end
199
215
  return nil
200
216
  end
201
217
 
202
- # Was this message signed by a TSIG?
203
- def is_signed
204
- return (tsigstate == :Signed ||
205
- tsigstate == :Verified ||
206
- tsigstate == :Failed)
218
+ #Sets the TSIG to sign this message with. Can either be a Dnsruby::RR::TSIG
219
+ #object, or it can be a (name, key) tuple, or it can be a hash which takes
220
+ #Dnsruby::RR::TSIG attributes (e.g. name, key, fudge, etc.)
221
+ def set_tsig(*args)
222
+ if (args.length == 1)
223
+ if (args[0].instance_of?RR::TSIG)
224
+ @tsigkey = args[0]
225
+ elsif (args[0].instance_of?Hash)
226
+ @tsigkey = RR.create({:type=>'TSIG', :klass=>'ANY'}.merge(args[0]))
227
+ else
228
+ raise ArgumentError.new("Wrong type of argument to Dnsruby::Message#set_tsig - should be TSIG or Hash")
229
+ end
230
+ elsif (args.length == 2)
231
+ @tsigkey = RR.create({:type=>'TSIG', :klass=>'ANY', :name=>args[0], :key=>args[1]})
232
+ else
233
+ raise ArgumentError.new("Wrong number of arguments to Dnsruby::Message#set_tsig")
234
+ end
207
235
  end
208
236
 
209
- # If this message was signed by a TSIG, was the TSIG verified?
210
- def is_verified
211
- return (tsigstate == :Verified)
237
+ #Was this message signed by a TSIG?
238
+ def signed?
239
+ return (@tsigstate == :Signed ||
240
+ @tsigstate == :Verified ||
241
+ @tsigstate == :Failed)
242
+ end
243
+
244
+ #If this message was signed by a TSIG, was the TSIG verified?
245
+ def verified?
246
+ return (@tsigstate == :Verified)
212
247
  end
213
248
 
214
249
  def to_s
@@ -251,13 +286,32 @@ module Dnsruby
251
286
  return retval;
252
287
  end
253
288
 
289
+ #Signs the message. If used with no arguments, then the message must have already
290
+ #been set (set_tsig). Otherwise, the arguments can either be a Dnsruby::RR::TSIG
291
+ #object, or a (name, key) tuple, or a hash which takes
292
+ #Dnsruby::RR::TSIG attributes (e.g. name, key, fudge, etc.)
293
+ def sign!(*args)
294
+ if (args.length > 0)
295
+ set_tsig(*args)
296
+ sign!
297
+ else
298
+ if ((@tsigkey) && @tsigstate == :Unsigned)
299
+ @tsigkey.apply(self)
300
+ end
301
+ end
302
+ end
303
+
254
304
  #Return the encoded form of the message
305
+ # If there is a TSIG record present and the record has not been signed
306
+ # then sign it
255
307
  def encode
308
+ if ((@tsigkey) && @tsigstate == :Unsigned && !@signing)
309
+ @signing = true
310
+ sign!
311
+ @signing = false
312
+ end
256
313
  return MessageEncoder.new {|msg|
257
314
  header = @header
258
- if (@tsigkey)
259
- header.arcount += 1
260
- end
261
315
  header.encode(msg)
262
316
  @question.each {|q|
263
317
  msg.put_name(q.qname)
@@ -265,18 +319,17 @@ module Dnsruby
265
319
  }
266
320
  [@answer, @authority, @additional].each {|rr|
267
321
  rr.each {|r|
268
- # name, ttl, data = r
269
322
  name = r.name
270
323
  ttl = r.ttl
271
- msg.put_name(name)
324
+ if (r.type == Types.TSIG)
325
+ msg.put_name(name, true)
326
+ else
327
+ msg.put_name(name)
328
+ end
272
329
  msg.put_pack('nnN', r.type.code, r.klass.code, ttl)
273
330
  msg.put_length16 {r.encode_rdata(msg)}
274
331
  }
275
332
  }
276
- if (@tsigkey)
277
- tsigrec = @tsigkey.generate(this, msg, tsigerror, querytsig)
278
- tsigrec.encode(msg, Section.ADDITIONAL, c)
279
- end
280
333
  }.to_s
281
334
  end
282
335
 
@@ -298,13 +351,14 @@ module Dnsruby
298
351
  o.authority << rr
299
352
  }
300
353
  o.header.arcount.times { |count|
354
+ start = msg.index
301
355
  rr = msg.get_rr
302
356
  if (rr.type == Types.TSIG)
303
357
  if (count!=o.header.arcount-1)
304
358
  TheLog.Error("Incoming message has TSIG record before last record")
359
+ raise DecodeError.new("TSIG record present before last record")
305
360
  end
306
- # @TODO@ Sort TSIG stuff out!
307
- # o.tsigstart = pos
361
+ o.tsigstart = start # needed for TSIG verification
308
362
  end
309
363
  o.additional << rr
310
364
  }
@@ -341,7 +395,6 @@ module Dnsruby
341
395
  #
342
396
  #RFC 1035 Section 4.1.1
343
397
  class Header
344
- @@identifier = -1
345
398
  MAX_ID = 65535
346
399
 
347
400
  # The header ID
@@ -415,7 +468,7 @@ module Dnsruby
415
468
  end
416
469
 
417
470
  def opcode=(op)
418
- @opcode = Opcode.new(op)
471
+ @opcode = OpCode.new(op)
419
472
  end
420
473
 
421
474
  def rcode=(rcode)
@@ -453,6 +506,19 @@ module Dnsruby
453
506
  @arcount)
454
507
  end
455
508
 
509
+ def Header.decrement_arcount_encoded(bytes)
510
+ header = Header.new
511
+ header_end = 0
512
+ MessageDecoder.new(bytes) {|msg|
513
+ header.decode(msg)
514
+ header_end = msg.index
515
+ }
516
+ header.arcount = header.arcount - 1
517
+ bytes[0,header_end]=MessageEncoder.new {|msg|
518
+ header.encode(msg)}.to_s
519
+ return bytes
520
+ end
521
+
456
522
  def ==(other)
457
523
  return @qr == other.qr &&
458
524
  @opcode == other.opcode &&
@@ -512,14 +578,6 @@ module Dnsruby
512
578
  @rcode = RCode.new(flag & 15)
513
579
  end
514
580
 
515
- def rcode=(newcode)
516
- @rcode = RCode.new(newcode)
517
- end
518
-
519
- def opcode=(newcode)
520
- @opcode = OpCode.new(newcode)
521
- end
522
-
523
581
  def get_exception
524
582
  exception = nil
525
583
  if (@rcode==RCode.NXDOMAIN)
@@ -551,6 +609,7 @@ module Dnsruby
551
609
  end
552
610
 
553
611
  class MessageDecoder #:nodoc: all
612
+ attr_reader :index
554
613
  def initialize(data)
555
614
  @data = data
556
615
  @index = 0
@@ -660,12 +719,12 @@ module Dnsruby
660
719
  type, klass = self.get_unpack("nn")
661
720
  q = Question.new(name, type, klass)
662
721
  return q
663
- # return name, RR.get_class(type, klass)
664
722
  end
665
723
 
666
724
  def get_rr
667
725
  name = self.get_name
668
726
  type, klass, ttl = self.get_unpack('nnN')
727
+ klass = Classes.new(klass)
669
728
  typeclass = RR.get_class(type, klass)
670
729
  # @TODO@ Trap decode errors here, and somehow mark the record as bad.
671
730
  # Need some way to represent raw data only
@@ -745,7 +804,7 @@ module Dnsruby
745
804
 
746
805
  def put_label(d)
747
806
  s, = Name.encode(d)
748
- raise RuntimeError, "length of #{s} is #{s.string.length} (larger than 63 octets)" if s.string.length > 63 # @todo@ Error type
807
+ raise RuntimeError, "length of #{s} is #{s.string.length} (larger than 63 octets)" if s.string.length > 63
749
808
  self.put_string(s.string)
750
809
  end
751
810
  end
@@ -753,7 +812,7 @@ module Dnsruby
753
812
  class EncodeError < StandardError
754
813
  end
755
814
 
756
- #A Net::DNS::Question object represents a record in the
815
+ #A Dnsruby::Question object represents a record in the
757
816
  #question section of a DNS packet.
758
817
  #
759
818
  #RFC 1035 Section 4.1.2
@@ -804,6 +863,32 @@ module Dnsruby
804
863
  end
805
864
  end
806
865
 
866
+ def qtype=(qtype)
867
+ @qtype = Types.new(qtype)
868
+ end
869
+
870
+ def qclass=(qclass)
871
+ @qclass = Classes.new(qclass)
872
+ end
873
+
874
+ def qname=(qname)
875
+ case qname
876
+ when IPv4::Regex
877
+ @qname = IPv4.create(qname).to_name
878
+ @qtype = Types.PTR
879
+ when IPv6::Regex
880
+ @qname = IPv6.create(qname).to_name
881
+ @qtype = Types.PTR
882
+ when Name
883
+ when IPv6
884
+ @qtype = Types.PTR
885
+ when IPv4
886
+ @qtype = Types.PTR
887
+ else
888
+ @qname = Name.create(qname)
889
+ end
890
+ end
891
+
807
892
  #Returns a string representation of the question record.
808
893
  def to_s
809
894
  return "#{@qname}.\t#{@qclass.string}\t#{@qtype.string}";