Dnsruby 0.6.0 → 1.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 (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
@@ -3,7 +3,7 @@ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
3
3
  require 'rubygems'
4
4
  require 'test/unit'
5
5
  require 'eventmachine'
6
- require 'Dnsruby'
6
+ require 'dnsruby'
7
7
 
8
8
  class EventMachineTestSingleResolver < Test::Unit::TestCase
9
9
  Dnsruby::Resolver.use_eventmachine(true)
@@ -11,6 +11,7 @@ class EventMachineTestSingleResolver < Test::Unit::TestCase
11
11
  # Dnsruby::TheLog.level=Logger::DEBUG
12
12
  Dnsruby::Resolver.use_eventmachine(true)
13
13
  Dnsruby::Resolver.start_eventmachine_loop(true)
14
+ sleep(0.01)
14
15
  end
15
16
  def teardown
16
17
  Dnsruby::Resolver.use_eventmachine(false)
@@ -31,7 +32,6 @@ class EventMachineTestSingleResolver < Test::Unit::TestCase
31
32
  assert(item[0] <= id)
32
33
  assert(item[0] >= 0)
33
34
  end
34
- Dnsruby::TheLog.level=Logger::ERROR
35
35
  end
36
36
 
37
37
  def test_tcp
@@ -67,7 +67,7 @@ class EventMachineTestSingleResolver < Test::Unit::TestCase
67
67
  assert(id==1)
68
68
  assert(ret==nil)
69
69
  assert(error.class == Dnsruby::ResolvTimeout)
70
- p "Difference = #{end_time-start}"
70
+ # p "Difference = #{end_time-start}"
71
71
  assert(end_time - start >= 1.9)
72
72
  assert(end_time - start <= 2.2)
73
73
  end
@@ -84,7 +84,7 @@ class EventMachineTestSingleResolver < Test::Unit::TestCase
84
84
  end_time = Time.now
85
85
  assert(id==1)
86
86
  assert(ret==nil)
87
- p "Difference = #{end_time-start}"
87
+ # p "Difference = #{end_time-start}"
88
88
  assert(error.class == Dnsruby::ResolvTimeout)
89
89
  assert(end_time - start >= 1.9)
90
90
  assert(end_time - start <= 2.2)
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'eventmachine'
4
- require 'Dnsruby'
4
+ require 'dnsruby'
5
5
  begin
6
6
  require 'test/tc_soak_base'
7
7
  rescue Exception
@@ -48,7 +48,7 @@ class TestPacketUniquePush < Test::Unit::TestCase
48
48
  RR.create('bar.example.com 60 IN A 10.0.0.1'),
49
49
  ],
50
50
  [
51
- 2,
51
+ 1, # RFC 2136 section 1.1
52
52
  RR.create('foo.example.com 60 IN A 10.0.0.1'),
53
53
  RR.create('foo.example.com 60 IN A 10.0.0.1'),
54
54
  RR.create('foo.example.com 90 IN A 10.0.0.1'),
data/test/tc_question.rb CHANGED
@@ -29,24 +29,23 @@ class TestQuestion < Test::Unit::TestCase
29
29
  assert_equal(type, q.qtype, "qType()")
30
30
  assert_equal(klass, q.qclass, "qClass()")
31
31
 
32
- # #
33
- # # Check the aliases
34
- # #
35
- # assert_equal(q.zname, domain, 'zName()' );
36
- # assert_equal(q.ztype, type, 'zType()' );
37
- # assert_equal(q.zclass, klass, 'zClass()' );
38
- # @todo@ !!
32
+ #
33
+ # Check the aliases
34
+ #
35
+ assert_equal(q.zname.to_s, domain, 'zName()' );
36
+ assert_equal(q.ztype, type, 'zType()' );
37
+ assert_equal(q.zclass, klass, 'zClass()' );
39
38
 
40
- # #
41
- # # Check that we can change stuff
42
- # #
43
- # q.qname=('example.net');
44
- # q.qtype=('A');
45
- # q.qclass=('CH');
46
- #
47
- # assert_equal('example.net', q.qname.to_s, 'qName()' );
48
- # assert_equal(q.qtype, Types.A, 'qType()' );
49
- # assert_equal(q.qclass, Classes.CH, 'qClass()' );
39
+ #
40
+ # Check that we can change stuff
41
+ #
42
+ q.qname=('example.net');
43
+ q.qtype=('A');
44
+ q.qclass=('CH');
45
+
46
+ assert_equal('example.net', q.qname.to_s, 'qName()' );
47
+ assert_equal(q.qtype, Types.A, 'qType()' );
48
+ assert_equal(q.qclass, Classes.CH, 'qClass()' );
50
49
 
51
50
  end
52
51
  end
@@ -15,7 +15,7 @@
15
15
  #++
16
16
  require 'rubygems'
17
17
  require 'test/unit'
18
- require 'Dnsruby'
18
+ require 'dnsruby'
19
19
  class TestResolverConfig < Test::Unit::TestCase
20
20
  def setup
21
21
  Dnsruby::Config.reset
data/test/tc_res_opt.rb CHANGED
@@ -47,6 +47,7 @@ class TestResOpt < Test::Unit::TestCase
47
47
  end
48
48
 
49
49
  def test_no_file
50
+ Dnsruby::TheLog.level=Logger::FATAL
50
51
  res=nil
51
52
  begin
52
53
  res = DNS.new('nosuch.txt')
@@ -58,6 +59,7 @@ class TestResOpt < Test::Unit::TestCase
58
59
  assert_equal(["0.0.0.0"], res.nameserver,"No nameservers should be set for #{test} = #{input}")
59
60
  rescue Exception
60
61
  end
62
+ # Dnsruby::TheLog.level=Logger::ERROR
61
63
  end
62
64
 
63
65
  def test_config_hash_singleresolver
@@ -141,6 +143,7 @@ class TestResOpt < Test::Unit::TestCase
141
143
 
142
144
  def test_bad_config
143
145
  res=nil
146
+ Dnsruby::TheLog.level=Logger::FATAL
144
147
 
145
148
  bad_input = {
146
149
  :tsig_rr => 'set',
@@ -180,6 +183,7 @@ class TestResOpt < Test::Unit::TestCase
180
183
  rescue Exception
181
184
  end
182
185
  end
186
+ # Dnsruby::TheLog.level=Logger::ERROR
183
187
  end
184
188
  end
185
189
  end
data/test/tc_resolver.rb CHANGED
@@ -96,7 +96,6 @@ class TestResolver < Test::Unit::TestCase
96
96
  id, m, err = q.pop
97
97
  assert(id==q)
98
98
  assert(m == nil)
99
- print err.class
100
99
  assert(err.kind_of?(OtherResolvError) || err.kind_of?(IOError), "OtherResolvError or IOError expected : got #{err.class}")
101
100
  end
102
101
 
data/test/tc_rr-opt.rb CHANGED
@@ -16,17 +16,15 @@
16
16
  require 'rubygems'
17
17
  require 'test/unit'
18
18
  require 'dnsruby'
19
+ require 'socket.so'
19
20
  include Dnsruby
20
21
  class TestRrOpt < Test::Unit::TestCase
21
- def test_RrOpt
22
+ def test_rropt
22
23
  size=2048;
23
24
  ednsflags=0x9e22;
24
25
 
25
- optrr = RR::OPT.new(
26
- :name => '',
27
- :class => size, # Decimal UDPpayload
28
- :flags => ednsflags # first bit set see RFC 3225
29
- )
26
+ optrr = RR::OPT.new(size, ednsflags)
27
+
30
28
  assert(optrr.d_o,"DO bit set")
31
29
  optrr.d_o=false
32
30
  assert_equal(optrr.flags,0x1e22,"Clearing do, leaving the other bits ");
@@ -39,4 +37,45 @@ class TestRrOpt < Test::Unit::TestCase
39
37
  assert_equal(optrr.payloadsize=(1498),1498,"Size set")
40
38
 
41
39
  end
40
+
41
+ def test_resolver_opt_application
42
+ # Set up a server running on localhost. Get the resolver to send a
43
+ # query to it with the UDP size set to 4096. Make sure that it is received
44
+ # correctly.
45
+ socket = UDPSocket.new
46
+ socket.bind("127.0.0.1", 0)
47
+ port = socket.addr[1]
48
+ q = Queue.new
49
+ Thread.new {
50
+ s = socket.recvfrom(65536)
51
+ print s.length
52
+ received_query = s[0]
53
+ socket.connect(s[1][2], s[1][1])
54
+ q.push(Message.decode(received_query))
55
+ socket.send(received_query,0)
56
+ }
57
+
58
+ # Now send query
59
+ res = Resolver.new("127.0.0.1")
60
+ res.port = port
61
+ res.udp_size = 4096
62
+ assert(res.udp_size == 4096)
63
+ res.query("example.com")
64
+
65
+ # Now get received query from the server
66
+ p = q.pop
67
+ # Now check the query was what we expected
68
+ assert(p.header.arcount == 1)
69
+ assert(p.additional()[0].type = Types.OPT)
70
+ assert(p.additional()[0].klass.code == 4096)
71
+ end
72
+
73
+ def test_large_packet
74
+ # Query TXT for overflow.dnsruby.validation-test-servers.nominet.org.uk
75
+ # with a large udp_size
76
+ res = SingleResolver.new
77
+ res.udp_size = 4096
78
+ ret = res.query("overflow.dnsruby.validation-test-servers.nominet.org.uk", Types.TXT)
79
+ assert(ret.header.rcode == RCode.NoError)
80
+ end
42
81
  end
@@ -15,10 +15,9 @@
15
15
  #++
16
16
  require 'rubygems'
17
17
  require 'test/unit'
18
- require 'Dnsruby'
18
+ require 'dnsruby'
19
19
  include Dnsruby
20
20
  class TestSingleResolver < Test::Unit::TestCase
21
- # @todo@ Test udppacketsize
22
21
  Thread::abort_on_exception = true
23
22
  # Dnsruby::TheLog.level=Logger::DEBUG
24
23
 
@@ -81,7 +80,6 @@ class TestSingleResolver < Test::Unit::TestCase
81
80
  id,ret, error = q.pop
82
81
  assert(id==msg)
83
82
  assert(ret==nil)
84
- p error
85
83
  assert(error.class == ResolvTimeout)
86
84
  end
87
85
  end
data/test/tc_soak.rb CHANGED
@@ -15,7 +15,7 @@
15
15
  #++
16
16
  require 'rubygems'
17
17
  require 'test/unit'
18
- require 'Dnsruby'
18
+ require 'dnsruby'
19
19
  begin
20
20
  require 'test/tc_single_resolver'
21
21
  rescue LoadError
@@ -77,7 +77,6 @@ class TestSingleResolverSoak < Test::Unit::TestCase
77
77
  end
78
78
  query_count.times do |i|
79
79
  id,ret, error = q.pop
80
- # p "Got response #{i}"
81
80
  if (error.class == ResolvTimeout)
82
81
  timed_out+=1
83
82
  elsif (ret.class != Message)
@@ -120,7 +119,6 @@ class TestSingleResolverSoak < Test::Unit::TestCase
120
119
  begin
121
120
  packet = res.query(data[:name], data[:type])
122
121
  rescue ResolvTimeout
123
- # p "TIMEOUT for Thread #{i}, reply #{j}, type #{data[:type]}"
124
122
  mutex.synchronize {
125
123
  timed_out+=1
126
124
  }
@@ -180,7 +178,6 @@ class TestSingleResolverSoak < Test::Unit::TestCase
180
178
  res.send_async(Message.new(data[:name], data[:type]), q, [i,j])
181
179
  id, packet, error = q.pop
182
180
  if (error.class == ResolvTimeout)
183
- # p "TIMEOUT for Thread #{i}, reply #{j}, type #{data[:type]}"
184
181
  mutex.synchronize {
185
182
  timed_out+=1
186
183
  }
@@ -189,7 +186,6 @@ class TestSingleResolverSoak < Test::Unit::TestCase
189
186
  p "ERROR! #{error}"
190
187
  end
191
188
 
192
- # p packet.to_s
193
189
  assert(packet)
194
190
  assert_equal(packet.question[0].qclass, 'IN', 'Class correct' )
195
191
  end
data/test/tc_soak_base.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
- require 'Dnsruby'
3
+ require 'dnsruby'
4
4
 
5
5
  class TestSoakBase # < Test::Unit::TestCase
6
6
  include Dnsruby
data/test/tc_tcp.rb CHANGED
@@ -15,7 +15,7 @@
15
15
  #++
16
16
  require 'rubygems'
17
17
  require 'test/unit'
18
- require 'Dnsruby'
18
+ require 'dnsruby'
19
19
  class TestTcp < Test::Unit::TestCase
20
20
  def test_TCP
21
21
  res = Dnsruby::Resolver.new()
data/test/tc_tkey.rb CHANGED
@@ -69,38 +69,7 @@ class TestTKey < Test::Unit::TestCase
69
69
  assert_equal(Dnsruby::Classes.IN, z.zclass, 'zclass correct') #5
70
70
  assert_equal(Dnsruby::Types.TKEY, z.ztype, 'ztype correct') #6
71
71
 
72
+ #@TODO@ Test TKEY against server!
72
73
 
73
74
  end
74
-
75
- def test_tsig
76
-
77
- name="example.com."
78
- key = "1234"
79
- print key.to_s + "\n"
80
- tsig = Dnsruby::RR.create({
81
- :name => name,
82
- :type => "TSIG",
83
- :ttl => 0,
84
- :klass => "ANY",
85
- :algorithm => "HMAC-MD5.SIG-ALG.REG.INT.",
86
- :time_signed => 1189686346,
87
- :fudge => 300,
88
- :key => key,
89
- :error => 0
90
- })
91
-
92
-
93
- message = Dnsruby::Message.new
94
- message.header.id=(1234)
95
- tsig.apply(message)
96
-
97
- mac_string = Base64.encode64(message.additional[0].mac)
98
- print mac_string + "\n"
99
-
100
- assert_equal("S8w22c0nlOhC9wNwwHPY7g==", mac_string, "MAC wrong")
101
-
102
- res = Dnsruby::Resolver.new
103
- response = res.send_message(message)
104
- print response+"\n"
105
75
  end
106
- end
data/test/tc_tsig.rb ADDED
@@ -0,0 +1,196 @@
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
+ require 'rubygems'
17
+ require 'test/unit'
18
+ require 'dnsruby'
19
+ require "digest/md5"
20
+ class TestTSig < Test::Unit::TestCase
21
+ KEY_NAME="rubytsig"
22
+ KEY = "8n6gugn4aJ7MazyNlMccGKH1WxD2B3UvN/O/RA6iBupO2/03u9CTa3Ewz3gBWTSBCH3crY4Kk+tigNdeJBAvrw=="
23
+ def is_empty(string)
24
+ return (string == "; no data" || string == "; rdlength = 0")
25
+ end
26
+ def test_signed_update
27
+ Dnsruby::Resolver::use_eventmachine(false)
28
+ run_test_client_signs
29
+ run_test_resolver_signs
30
+ end
31
+ def test_signed_update_em
32
+ begin
33
+ Dnsruby::Resolver::use_eventmachine(true)
34
+ rescue RuntimeError
35
+ Dnsruby::TheLog.error("EventMachine not installed - not running tsig EM tests")
36
+ return
37
+ end
38
+ run_test_client_signs
39
+ run_test_resolver_signs
40
+ Dnsruby::Resolver::use_eventmachine(false)
41
+ end
42
+
43
+ def run_test_client_signs
44
+ tsig = Dnsruby::RR.create({
45
+ :name => KEY_NAME,
46
+ :type => "TSIG",
47
+ :ttl => 0,
48
+ :klass => "ANY",
49
+ :algorithm => "hmac-md5",
50
+ :fudge => 300,
51
+ :key => KEY,
52
+ :error => 0
53
+ })
54
+
55
+ update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk")
56
+ # Generate update record name, and test it has been made. Then delete it and check it has been deleted
57
+ update_name = generate_update_name
58
+ update.absent(update_name)
59
+ update.add(update_name, 'TXT', 100, "test signed update")
60
+ tsig.apply(update)
61
+ assert(update.signed?, "Update has not been signed")
62
+
63
+ res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk")
64
+ res.recurse=false
65
+ res.query_timeout = 10
66
+ response = res.send_message(update)
67
+
68
+ assert_equal( Dnsruby::RCode.NOERROR, response.header.rcode)
69
+ assert(response.verified?, "Response has not been verified")
70
+
71
+ # Now check the record exists
72
+ rr = res.query(update_name, 'TXT')
73
+ assert_equal("test signed update", rr.answer()[0].strings.join(" "), "TXT record has not been created in zone")
74
+
75
+ # Now delete the record
76
+ update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk")
77
+ update.present(update_name, 'TXT')
78
+ update.delete(update_name)
79
+ tsig.apply(update)
80
+ assert(update.signed?, "Update has not been signed")
81
+ response = res.send_message(update)
82
+ assert_equal( Dnsruby::RCode.NOERROR, response.header.rcode)
83
+ assert(response.verified?, "Response has not been verified")
84
+
85
+ # Now check the record does not exist
86
+ begin
87
+ rr = res.query(update_name, 'TXT')
88
+ assert(false)
89
+ rescue Dnsruby::NXDomain
90
+ end
91
+ end
92
+
93
+ @@fudge = 0
94
+ def generate_update_name
95
+ update_name = Time.now.to_i.to_s + @@fudge.to_s
96
+ @@fudge+=1
97
+ update_name += ".update.validation-test-servers.nominet.org.uk"
98
+ return update_name
99
+ end
100
+
101
+ def run_test_resolver_signs
102
+ res = Dnsruby::Resolver.new("ns0.validation-test-servers.nominet.org.uk")
103
+ res.query_timeout=10
104
+ res.tsig=KEY_NAME, KEY
105
+
106
+ update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk")
107
+ # Generate update record name, and test it has been made. Then delete it and check it has been deleted
108
+ update_name = generate_update_name
109
+ update.absent(update_name)
110
+ update.add(update_name, 'TXT', 100, "test signed update")
111
+ assert(!update.signed?, "Update has been signed")
112
+
113
+ response = res.send_message(update)
114
+
115
+ assert_equal( Dnsruby::RCode.NOERROR, response.header.rcode)
116
+ assert(response.verified?, "Response has not been verified")
117
+
118
+ # Now check the record exists
119
+ rr = res.query(update_name, 'TXT')
120
+ assert_equal("test signed update", rr.answer()[0].strings.join(" "), "TXT record has not been created in zone")
121
+
122
+ # Now delete the record
123
+ update = Dnsruby::Update.new("validation-test-servers.nominet.org.uk")
124
+ update.present(update_name, 'TXT')
125
+ update.delete(update_name)
126
+ tsig = Dnsruby::RR.create({
127
+ :type => 'TSIG', :klass => 'ANY',
128
+ :name => KEY_NAME,
129
+ :key => KEY
130
+ })
131
+ tsig.apply(update)
132
+ assert(update.signed?, "Update has not been signed")
133
+ response = res.send_message(update)
134
+ assert_equal( Dnsruby::RCode.NOERROR, response.header.rcode)
135
+ assert(response.verified?, "Response has not been verified")
136
+
137
+ # Now check the record does not exist
138
+ begin
139
+ rr = res.query(update_name, 'TXT')
140
+ assert(false)
141
+ rescue Dnsruby::NXDomain
142
+ end
143
+ end
144
+
145
+ def test_message_signing
146
+ m = Dnsruby::Message.new("example.com")
147
+ m.set_tsig("name", "key")
148
+ assert(!m.signed?)
149
+ m.encode
150
+ assert(m.signed?)
151
+
152
+ m = Dnsruby::Message.new("example.com")
153
+ m.set_tsig("name", "key")
154
+ assert(!m.signed?)
155
+ m.sign!
156
+ assert(m.signed?)
157
+
158
+ m = Dnsruby::Message.new("example.com")
159
+ assert(!m.signed?)
160
+ m.sign!("name", "key")
161
+ assert(m.signed?)
162
+ end
163
+
164
+ def test_signed_zone_transfer
165
+ # test TSIG over TCP session
166
+ axfr
167
+ ixfr
168
+ end
169
+
170
+ def axfr
171
+ zt = Dnsruby::ZoneTransfer.new
172
+ zt.transfer_type = Dnsruby::Types.AXFR
173
+ zt.tsig=KEY_NAME, KEY
174
+ zt.server = "ns0.validation-test-servers.nominet.org.uk"
175
+ zone = zt.transfer("validation-test-servers.nominet.org.uk")
176
+ assert(zone.length > 0)
177
+ assert(zt.last_tsigstate==:Verified)
178
+ end
179
+
180
+ def ixfr
181
+ zt = Dnsruby::ZoneTransfer.new
182
+ zt.transfer_type = Dnsruby::Types.IXFR
183
+ zt.server = "ns0.validation-test-servers.nominet.org.uk"
184
+ zt.tsig = Dnsruby::RR.create({
185
+ :type => 'TSIG', :klass => 'ANY',
186
+ :name => KEY_NAME,
187
+ :key => KEY
188
+ })
189
+ zt.serial = 2007090401
190
+ deltas = zt.transfer("validation-test-servers.nominet.org.uk")
191
+ assert(deltas.length > 0)
192
+ assert(deltas[0].class == Dnsruby::ZoneTransfer::Delta)
193
+ assert_equal("Should show up in transfer", deltas[0].adds[1].data)
194
+ assert(zt.last_tsigstate==:Verified)
195
+ end
196
+ end