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
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>apply (Dnsruby::RR::TSIG)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 46</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apply</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">original_request</span>=<span class="ruby-keyword kw">nil</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">signed?</span>)
16
+ <span class="ruby-identifier">tsig_rr</span> = <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">original_request</span>)
17
+ <span class="ruby-identifier">message</span>.<span class="ruby-identifier">add_additional</span>(<span class="ruby-identifier">tsig_rr</span>)
18
+ <span class="ruby-identifier">message</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Signed</span>
19
+ <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">message</span>
20
+ <span class="ruby-identifier">tsig_rr</span>.<span class="ruby-identifier">query</span> = <span class="ruby-identifier">message</span>
21
+ <span class="ruby-keyword kw">end</span>
22
+ <span class="ruby-keyword kw">end</span></pre>
23
+ </body>
24
+ </html>
@@ -5,17 +5,49 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>apply (Dnsruby::RR::TSIG)</title>
8
+ <title>verify (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 32</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apply</span>(<span class="ruby-identifier">message</span>)
15
- <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">is_signed</span>)
16
- <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">message</span>)
17
- <span class="ruby-identifier">message</span>.<span class="ruby-identifier">add_additional</span>(<span class="ruby-keyword kw">self</span>)
18
- <span class="ruby-identifier">message</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Signed</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 160</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>, <span class="ruby-identifier">buf</span>=<span class="ruby-value str">&quot;&quot;</span>)
15
+ <span class="ruby-comment cmt"># 4.6. Client processing of answer</span>
16
+ <span class="ruby-comment cmt">#</span>
17
+ <span class="ruby-comment cmt"># When a client receives a response from a server and expects to see a</span>
18
+ <span class="ruby-comment cmt"># TSIG, it first checks if the TSIG RR is present in the response.</span>
19
+ <span class="ruby-comment cmt"># Otherwise, the response is treated as having a format error and</span>
20
+ <span class="ruby-comment cmt"># discarded. The client then extracts the TSIG, adjusts the ARCOUNT,</span>
21
+ <span class="ruby-comment cmt"># and calculates the keyed digest in the same way as the server. If</span>
22
+ <span class="ruby-comment cmt"># the TSIG does not validate, that response MUST be discarded, unless</span>
23
+ <span class="ruby-comment cmt"># the RCODE is 9 (NOTAUTH), in which case the client SHOULD attempt to</span>
24
+ <span class="ruby-comment cmt"># verify the response as if it were a TSIG Error response, as specified</span>
25
+ <span class="ruby-comment cmt"># in [4.3]. A message containing an unsigned TSIG record or a TSIG</span>
26
+ <span class="ruby-comment cmt"># record which fails verification SHOULD not be considered an</span>
27
+ <span class="ruby-comment cmt"># acceptable response; the client SHOULD log an error and continue to</span>
28
+ <span class="ruby-comment cmt"># wait for a signed response until the request times out.</span>
29
+
30
+ <span class="ruby-comment cmt"># So, this verify method should simply remove the TSIG RR and calculate</span>
31
+ <span class="ruby-comment cmt"># the MAC (using original request MAC if required).</span>
32
+ <span class="ruby-comment cmt"># Should set tsigstate on packet appropriately, and return error.</span>
33
+ <span class="ruby-comment cmt"># Side effect is packet is stripped of TSIG.</span>
34
+ <span class="ruby-comment cmt"># Resolver (or client) can then decide what to do...</span>
35
+
36
+ <span class="ruby-identifier">msg_tsig_rr</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>
37
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">verify_common</span>(<span class="ruby-identifier">response</span>))
38
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
39
+ <span class="ruby-keyword kw">end</span>
40
+
41
+ <span class="ruby-identifier">new_msg_tsig_rr</span> = <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">buf</span>, <span class="ruby-identifier">response_bytes</span>, <span class="ruby-identifier">msg_tsig_rr</span>)
42
+
43
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">msg_tsig_rr</span>.<span class="ruby-identifier">mac</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">new_msg_tsig_rr</span>.<span class="ruby-identifier">mac</span>)
44
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Verified</span>
45
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
46
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
47
+ <span class="ruby-keyword kw">else</span>
48
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
49
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">BADSIG</span>
50
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
19
51
  <span class="ruby-keyword kw">end</span>
20
52
  <span class="ruby-keyword kw">end</span></pre>
21
53
  </body>
@@ -5,67 +5,129 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>generate (Dnsruby::RR::TSIG)</title>
8
+ <title>verify_envelope (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 41</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">m</span>)
15
- <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-ivar">@time_signed</span>)
16
- <span class="ruby-identifier">time_signed</span>=<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
17
- <span class="ruby-keyword kw">end</span>
18
- <span class="ruby-identifier">hmac</span> = <span class="ruby-keyword kw">nil</span>
19
- <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_MD5</span>)
20
- <span class="ruby-identifier">hmac</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">new</span>
21
- <span class="ruby-keyword kw">elsif</span> (<span class="ruby-ivar">@algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA1</span>)
22
- <span class="ruby-identifier">hmac</span>=<span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">new</span>
23
- <span class="ruby-keyword kw">elsif</span> (<span class="ruby-ivar">@algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA256</span>)
24
- <span class="ruby-identifier">hmac</span>=<span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA256</span>.<span class="ruby-identifier">new</span>
25
- <span class="ruby-keyword kw">end</span>
26
- <span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">update</span>(<span class="ruby-ivar">@key</span>)
27
-
28
- <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
29
- <span class="ruby-ivar">@key</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
30
- <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@key</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;,&quot;</span>
31
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 248</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verify_envelope</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>)
15
+ <span class="ruby-comment cmt">#RFC2845 Section 4.4</span>
16
+ <span class="ruby-comment cmt">#-----</span>
17
+ <span class="ruby-comment cmt">#A DNS TCP session can include multiple DNS envelopes. This is, for</span>
18
+ <span class="ruby-comment cmt">#example, commonly used by zone transfer. Using TSIG on such a</span>
19
+ <span class="ruby-comment cmt">#connection can protect the connection from hijacking and provide data</span>
20
+ <span class="ruby-comment cmt">#integrity. The TSIG MUST be included on the first and last DNS</span>
21
+ <span class="ruby-comment cmt">#envelopes. It can be optionally placed on any intermediary</span>
22
+ <span class="ruby-comment cmt">#envelopes. It is expensive to include it on every envelopes, but it</span>
23
+ <span class="ruby-comment cmt">#MUST be placed on at least every 100'th envelope. The first envelope</span>
24
+ <span class="ruby-comment cmt">#is processed as a standard answer, and subsequent messages have the</span>
25
+ <span class="ruby-comment cmt">#following digest components:</span>
26
+ <span class="ruby-comment cmt">#</span>
27
+ <span class="ruby-comment cmt">#* Prior Digest (running)</span>
28
+ <span class="ruby-comment cmt">#* DNS Messages (any unsigned messages since the last TSIG)</span>
29
+ <span class="ruby-comment cmt">#* TSIG Timers (current message)</span>
30
+ <span class="ruby-comment cmt">#</span>
31
+ <span class="ruby-comment cmt">#This allows the client to rapidly detect when the session has been</span>
32
+ <span class="ruby-comment cmt">#altered; at which point it can close the connection and retry. If a</span>
33
+ <span class="ruby-comment cmt">#client TSIG verification fails, the client MUST close the connection.</span>
34
+ <span class="ruby-comment cmt">#If the client does not receive TSIG records frequently enough (as</span>
35
+ <span class="ruby-comment cmt">#specified above) it SHOULD assume the connection has been hijacked</span>
36
+ <span class="ruby-comment cmt">#and it SHOULD close the connection. The client SHOULD treat this the</span>
37
+ <span class="ruby-comment cmt">#same way as they would any other interrupted transfer (although the</span>
38
+ <span class="ruby-comment cmt">#exact behavior is not specified).</span>
39
+ <span class="ruby-comment cmt">#-----</span>
40
+ <span class="ruby-comment cmt">#</span>
41
+ <span class="ruby-comment cmt"># Each time a new envelope comes in, this method is called on the QUERY TSIG RR.</span>
42
+ <span class="ruby-comment cmt"># It will set the response tsigstate to :Verified :Intermediate or :Failed</span>
43
+ <span class="ruby-comment cmt"># as appropriate.</span>
32
44
 
33
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;key : #{s}\n&quot;</span>
34
-
35
- <span class="ruby-identifier">b</span> = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">encode</span>
36
- <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
37
- <span class="ruby-identifier">b</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
38
- <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">b</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;,&quot;</span>
45
+ <span class="ruby-comment cmt"># Keep digest going of messages as they come in (and mark them intermediate)</span>
46
+ <span class="ruby-comment cmt"># When TSIG comes in, work out what key should be and check. If OK, mark </span>
47
+ <span class="ruby-comment cmt"># verified. Can reset digest then.</span>
48
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-ivar">@buf</span>)
49
+ <span class="ruby-ivar">@num_envelopes</span> = <span class="ruby-value">0</span>
50
+ <span class="ruby-ivar">@last_signed</span> = <span class="ruby-value">0</span>
39
51
  <span class="ruby-keyword kw">end</span>
40
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;encoded message : #{s}\n&quot;</span>
41
-
42
- <span class="ruby-comment cmt"># Digest the message</span>
43
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">hmac</span>)
44
- <span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">b</span>) <span class="ruby-comment cmt"># @TODO@ b is RENDERED MESSAGE!! NOT m.encode!</span>
45
- <span class="ruby-comment cmt"># Dnsjava has render method for messages</span>
46
- <span class="ruby-comment cmt"># pnet-dns signs message during encoding process.</span>
52
+ <span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
53
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>)
54
+ <span class="ruby-keyword kw">if</span> ((<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_signed</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">100</span>))
55
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Receiving intermediate envelope in TSIG TCP session&quot;</span>)
56
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Intermediate</span>
57
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
58
+ <span class="ruby-ivar">@buf</span> = <span class="ruby-ivar">@buf</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">response_bytes</span>
59
+ <span class="ruby-keyword kw">return</span>
60
+ <span class="ruby-keyword kw">else</span>
61
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
62
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">&quot;Expecting signed packet&quot;</span>)
63
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
64
+ <span class="ruby-keyword kw">end</span>
47
65
  <span class="ruby-keyword kw">end</span>
66
+ <span class="ruby-ivar">@last_signed</span> = <span class="ruby-ivar">@num_envelopes</span>
48
67
 
49
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">sig_data</span>
50
- <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
51
-
52
- <span class="ruby-identifier">data</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
53
- <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;,&quot;</span>
68
+ <span class="ruby-comment cmt"># We have a TSIG - process it!</span>
69
+ <span class="ruby-identifier">tsig</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>
70
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>)
71
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;First response in TSIG TCP session - verifying normally&quot;</span>)
72
+ <span class="ruby-comment cmt"># Process it as a standard answer</span>
73
+ <span class="ruby-identifier">ok</span> = <span class="ruby-identifier">verify</span>(<span class="ruby-ivar">@query</span>, <span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>)
74
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span>)
75
+ <span class="ruby-identifier">mac_bytes</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
76
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac_size</span>)
77
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_bytes</span>(<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac</span>)
78
+ }.<span class="ruby-identifier">to_s</span>
79
+ <span class="ruby-ivar">@buf</span> = <span class="ruby-identifier">mac_bytes</span>
80
+ <span class="ruby-keyword kw">else</span>
81
+ <span class="ruby-keyword kw">end</span>
82
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ok</span>
83
+ <span class="ruby-keyword kw">end</span>
84
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Processing TSIG on TSIG TCP session&quot;</span>)
85
+
86
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">verify_common</span>(<span class="ruby-identifier">response</span>))
87
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
54
88
  <span class="ruby-keyword kw">end</span>
55
89
 
56
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;encoded TSIG : #{s}\n&quot;</span>
57
- <span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">data</span>)
58
-
59
- <span class="ruby-ivar">@mac</span> = <span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>
60
- <span class="ruby-ivar">@mac_size</span> = <span class="ruby-ivar">@mac</span>.<span class="ruby-identifier">length</span>
90
+ <span class="ruby-comment cmt"># Now add the current message data - remember to frig the arcount</span>
91
+ <span class="ruby-identifier">response_bytes</span> = <span class="ruby-constant">Header</span>.<span class="ruby-identifier">decrement_arcount_encoded</span>(<span class="ruby-identifier">response_bytes</span>)
92
+ <span class="ruby-ivar">@buf</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">response_bytes</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstart</span>]
61
93
 
62
- <span class="ruby-identifier">s</span>=<span class="ruby-value str">&quot;&quot;</span>
94
+ <span class="ruby-comment cmt"># Let's add the timers</span>
95
+ <span class="ruby-identifier">timers_data</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">msg</span><span class="ruby-operator">|</span>
96
+ <span class="ruby-identifier">time_high</span> = (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">time_signed</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">32</span>)
97
+ <span class="ruby-identifier">time_low</span> = (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">time_signed</span> <span class="ruby-operator">&amp;</span> <span class="ruby-value">0x</span><span class="ruby-constant">FFFFFFFF</span>)
98
+ <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'nN'</span>, <span class="ruby-identifier">time_high</span>, <span class="ruby-identifier">time_low</span>)
99
+ <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">fudge</span>)
100
+ }.<span class="ruby-identifier">to_s</span>
101
+ <span class="ruby-ivar">@buf</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">timers_data</span>
63
102
 
64
- <span class="ruby-ivar">@mac</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
65
- <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@mac</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;,&quot;</span>
103
+ <span class="ruby-identifier">mac</span> = <span class="ruby-keyword kw">nil</span>
104
+ <span class="ruby-identifier">key</span> = <span class="ruby-ivar">@key</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">&quot; &quot;</span>, <span class="ruby-value str">&quot;&quot;</span>)
105
+ <span class="ruby-identifier">key</span> = <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">decode64</span>(<span class="ruby-identifier">key</span>)
106
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_MD5</span>)
107
+ <span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
108
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA1</span>)
109
+ <span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
110
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA256</span>)
111
+ <span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA256</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
112
+ <span class="ruby-keyword kw">else</span>
113
+ <span class="ruby-comment cmt"># Should we allow client to pass in their own signing function?</span>
114
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Algorithm #{tsig.algorithm} unsupported by TSIG&quot;</span>)
66
115
  <span class="ruby-keyword kw">end</span>
67
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;hmac : #{s}\n&quot;</span>
68
-
116
+
117
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">mac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac</span>)
118
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">&quot;TSIG Verify error on TSIG TCP session&quot;</span>)
119
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
120
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
121
+ <span class="ruby-keyword kw">end</span>
122
+ <span class="ruby-identifier">mac_bytes</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
123
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">mac</span>.<span class="ruby-identifier">length</span>)
124
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_bytes</span>(<span class="ruby-identifier">mac</span>)
125
+ }.<span class="ruby-identifier">to_s</span>
126
+ <span class="ruby-ivar">@buf</span>=<span class="ruby-identifier">mac_bytes</span>
127
+
128
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Verified</span>
129
+ <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
130
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
69
131
  <span class="ruby-keyword kw">end</span></pre>
70
132
  </body>
71
133
  </html>
@@ -5,30 +5,29 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>sig_data (Dnsruby::RR::TSIG)</title>
8
+ <title>init_defaults (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 98</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sig_data</span>
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">msg</span><span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_name</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">downcase</span>)
17
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'nN'</span>, <span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">code</span>, <span class="ruby-ivar">@ttl</span>)
18
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Alg : #{@algorithm}\n&quot;</span>
19
- <span class="ruby-comment cmt">#@TODO@ ALGORITHM IS GOING TO LOWER-CASE!!!</span>
20
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_name</span>(<span class="ruby-ivar">@algorithm</span>.<span class="ruby-identifier">downcase</span>)
21
-
22
- <span class="ruby-identifier">time_high</span> = (<span class="ruby-ivar">@time_signed</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">32</span>)
23
- <span class="ruby-identifier">time_low</span> = (<span class="ruby-ivar">@time_signed</span> <span class="ruby-operator">&amp;</span> <span class="ruby-value">0x</span><span class="ruby-constant">FFFFFFFF</span>)
24
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;time_signed : #{@time_signed}, high : #{time_high}, low : #{time_low}\n&quot;</span>
25
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'nN'</span>, <span class="ruby-identifier">time_high</span>, <span class="ruby-identifier">time_low</span>)
26
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-ivar">@fudge</span>)
27
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Fudge : #{@fudge}\n&quot;</span>
28
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-ivar">@error</span>)
29
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Error : #{@error}\n&quot;</span>
30
- <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-value">0</span>) <span class="ruby-comment cmt"># no other data</span>
31
- }.<span class="ruby-identifier">to_s</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 448</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_defaults</span>
15
+ <span class="ruby-comment cmt"># @TODO@ Have new() method which takes key_name and key?</span>
16
+ <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">DEFAULT_ALGORITHM</span>
17
+ <span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
18
+ <span class="ruby-ivar">@mac_size</span> = <span class="ruby-value">0</span>
19
+ <span class="ruby-ivar">@mac</span> = <span class="ruby-value str">&quot;&quot;</span>
20
+ <span class="ruby-ivar">@original_id</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-value">65536</span>)
21
+ <span class="ruby-ivar">@error</span> = <span class="ruby-value">0</span>
22
+ <span class="ruby-ivar">@other_size</span> = <span class="ruby-value">0</span>
23
+ <span class="ruby-ivar">@other_data</span> = <span class="ruby-value str">&quot;&quot;</span>
24
+ <span class="ruby-ivar">@time_signed</span> = <span class="ruby-keyword kw">nil</span>
25
+ <span class="ruby-ivar">@buf</span> = <span class="ruby-keyword kw">nil</span>
26
+
27
+ <span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
28
+ <span class="ruby-ivar">@klass</span> = <span class="ruby-value str">&quot;ANY&quot;</span>
29
+
30
+ <span class="ruby-ivar">@ttl</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
32
31
  <span class="ruby-keyword kw">end</span></pre>
33
32
  </body>
34
33
  </html>
@@ -5,33 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>verify (Dnsruby::RR::TSIG)</title>
8
+ <title>name= (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 118</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">verify</span>()
15
- <span class="ruby-comment cmt"># 3.2. TSIG processing on incoming messages</span>
16
- <span class="ruby-comment cmt">#</span>
17
- <span class="ruby-comment cmt"># If an incoming message contains a TSIG record, it MUST be the last</span>
18
- <span class="ruby-comment cmt"># record in the additional section. Multiple TSIG records are not</span>
19
- <span class="ruby-comment cmt"># allowed. If a TSIG record is present in any other position, the</span>
20
- <span class="ruby-comment cmt"># packet is dropped and a response with RCODE 1 (FORMERR) MUST be</span>
21
- <span class="ruby-comment cmt"># returned. Upon receipt of a message with a correctly placed TSIG RR,</span>
22
- <span class="ruby-comment cmt"># the TSIG RR is copied to a safe location, removed from the DNS</span>
23
- <span class="ruby-comment cmt"># Message, and decremented out of the DNS message header's ARCOUNT. At</span>
24
- <span class="ruby-comment cmt"># this point the keyed message digest operation is performed. If the</span>
25
- <span class="ruby-comment cmt"># algorithm name or key name is unknown to the recipient, or if the</span>
26
- <span class="ruby-comment cmt"># message digests do not match, the whole DNS message MUST be</span>
27
- <span class="ruby-comment cmt"># discarded. If the message is a query, a response with RCODE 9</span>
28
- <span class="ruby-comment cmt"># (NOTAUTH) MUST be sent back to the originator with TSIG ERROR 17</span>
29
- <span class="ruby-comment cmt"># (BADKEY) or TSIG ERROR 16 (BADSIG). If no key is available to sign</span>
30
- <span class="ruby-comment cmt"># this message it MUST be sent unsigned (MAC size == 0 and empty MAC).</span>
31
- <span class="ruby-comment cmt"># A message to the system operations log SHOULD be generated, to warn</span>
32
- <span class="ruby-comment cmt"># the operations staff of a possible security incident in progress.</span>
33
- <span class="ruby-comment cmt"># Care should be taken to ensure that logging of this type of event</span>
34
- <span class="ruby-comment cmt"># does not open the system to a denial of service attack. </span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 471</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">n</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span>.<span class="ruby-identifier">instance_of?</span><span class="ruby-constant">String</span>)
16
+ <span class="ruby-identifier">n</span> = <span class="ruby-constant">Name</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">n</span>)
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">n</span>.<span class="ruby-identifier">absolute?</span>)
19
+ <span class="ruby-ivar">@name</span> = <span class="ruby-constant">Name</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;.&quot;</span>)
20
+ <span class="ruby-keyword kw">else</span>
21
+ <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">n</span>
22
+ <span class="ruby-keyword kw">end</span>
35
23
  <span class="ruby-keyword kw">end</span></pre>
36
24
  </body>
37
25
  </html>
@@ -5,27 +5,32 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>new (Dnsruby::RR::TSIG)</title>
8
+ <title>algorithm= (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 217</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
15
- <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">DEFAULT_ALGORITHM</span>
16
- <span class="ruby-ivar">@time_signed</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span>
17
- <span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
18
- <span class="ruby-ivar">@mac_size</span> = <span class="ruby-value">0</span>
19
- <span class="ruby-ivar">@mac</span> = <span class="ruby-value str">&quot;&quot;</span>
20
- <span class="ruby-ivar">@original_id</span> = <span class="ruby-value">0</span>
21
- <span class="ruby-ivar">@error</span> = <span class="ruby-value">0</span>
22
- <span class="ruby-ivar">@other_size</span> = <span class="ruby-value">0</span>
23
- <span class="ruby-ivar">@other_data</span> = <span class="ruby-keyword kw">nil</span>
24
-
25
- <span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
26
- <span class="ruby-ivar">@klass</span> = <span class="ruby-value str">&quot;ANY&quot;</span>
27
-
28
- <span class="ruby-ivar">@ttl</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 500</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">algorithm=</span>(<span class="ruby-identifier">alg</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>)
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-md5&quot;</span>)
17
+ <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_MD5</span>;
18
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-sha1&quot;</span>)
19
+ <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA1</span>;
20
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-sha256&quot;</span>)
21
+ <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA256</span>;
22
+ <span class="ruby-keyword kw">else</span>
23
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Invalid TSIG algorithm&quot;</span>)
24
+ <span class="ruby-keyword kw">end</span>
25
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Name</span>)
26
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_MD5</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA256</span>)
27
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Invalid TSIG algorithm&quot;</span>)
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-ivar">@algorithm</span>=<span class="ruby-identifier">alg</span>
30
+ <span class="ruby-keyword kw">else</span>
31
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{alg.class} not valid type for Dnsruby::RR::TSIG#algorithm= - use String or Name&quot;</span>)
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Using #{@algorithm.to_s} algorithm&quot;</span>)
29
34
  <span class="ruby-keyword kw">end</span></pre>
30
35
  </body>
31
36
  </html>
@@ -5,29 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>algorithm= (Dnsruby::RR::TSIG)</title>
8
+ <title>fudge= (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 251</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">algorithm=</span>(<span class="ruby-identifier">alg</span>)
15
- <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">alg</span>.<span class="ruby-identifier">class</span>
16
- <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
17
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-md5&quot;</span>)
18
- <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_MD5</span>;
19
- <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">algorithm</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-sha1&quot;</span>)
20
- <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA1</span>;
21
- <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">algorithm</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;hmac-sha256&quot;</span>)
22
- <span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA256</span>;
23
- <span class="ruby-keyword kw">else</span>
24
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Invalid TSIG algorithm&quot;</span>)
25
- <span class="ruby-keyword kw">end</span>
26
- <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Name</span>
27
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_MD5</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA256</span>)
28
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Invalid TSIG algorithm&quot;</span>)
29
- <span class="ruby-keyword kw">end</span>
30
- <span class="ruby-ivar">@algorithm</span>=<span class="ruby-identifier">alg</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 522</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fudge=</span>(<span class="ruby-identifier">f</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">f</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0x7</span><span class="ruby-constant">FFF</span>)
16
+ <span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
17
+ <span class="ruby-keyword kw">else</span>
18
+ <span class="ruby-ivar">@fudge</span> = <span class="ruby-identifier">f</span>
31
19
  <span class="ruby-keyword kw">end</span>
32
20
  <span class="ruby-keyword kw">end</span></pre>
33
21
  </body>
@@ -5,18 +5,25 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>fudge= (Dnsruby::RR::TSIG)</title>
8
+ <title>rdata_to_string (Dnsruby::RR::TSIG)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 271</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fudge=</span>(<span class="ruby-identifier">f</span>)
15
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">f</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0x7</span><span class="ruby-constant">FFF</span>)
16
- <span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
17
- <span class="ruby-keyword kw">else</span>
18
- <span class="ruby-ivar">@fudge</span> = <span class="ruby-identifier">f</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 530</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rdata_to_string</span>
15
+ <span class="ruby-identifier">rdatastr</span>=<span class="ruby-value str">&quot;&quot;</span>
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@algorithm!</span>=<span class="ruby-keyword kw">nil</span>)
17
+ <span class="ruby-identifier">error</span> = <span class="ruby-ivar">@error</span>
18
+ <span class="ruby-identifier">error</span> = <span class="ruby-value str">&quot;UNDEFINED&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">error!</span>=<span class="ruby-keyword kw">nil</span>
19
+ <span class="ruby-identifier">rdatastr</span> = <span class="ruby-node">&quot;#{@original_id} #{@time_signed} #{@algorithm}. #{error}&quot;</span>;
20
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@other_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@other_data!</span>=<span class="ruby-keyword kw">nil</span>)
21
+ <span class="ruby-identifier">rdatastr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot; #{@other_data}&quot;</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-identifier">rdatastr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">&quot;H*&quot;</span>).<span class="ruby-identifier">to_s</span>
19
24
  <span class="ruby-keyword kw">end</span>
25
+
26
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rdatastr</span>
20
27
  <span class="ruby-keyword kw">end</span></pre>
21
28
  </body>
22
29
  </html>