dnsruby 1.1 → 1.2

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 (452) hide show
  1. data/README +3 -3
  2. data/lib/Dnsruby/Config.rb +3 -3
  3. data/lib/Dnsruby/DNS.rb +4 -2
  4. data/lib/Dnsruby/Resolver.rb +42 -38
  5. data/lib/Dnsruby/SingleResolver.rb +29 -21
  6. data/lib/Dnsruby/TheLog.rb +5 -21
  7. data/lib/Dnsruby/dnssec.rb +1 -1
  8. data/lib/Dnsruby/event_machine_interface.rb +23 -22
  9. data/lib/Dnsruby/message.rb +1 -1
  10. data/lib/Dnsruby/name.rb +1 -0
  11. data/lib/Dnsruby/resource/TKEY.rb +1 -1
  12. data/lib/Dnsruby/resource/TSIG.rb +8 -8
  13. data/lib/Dnsruby/select_thread.rb +19 -17
  14. data/lib/Dnsruby/zone_transfer.rb +6 -6
  15. data/lib/dnsruby.rb +10 -1
  16. data/test/tc_dns.rb +5 -1
  17. data/test/tc_event_machine_deferrable.rb +1 -1
  18. data/test/tc_event_machine_res.rb +1 -1
  19. data/test/tc_event_machine_single_res.rb +1 -1
  20. data/test/tc_event_machine_soak.rb +4 -4
  21. data/test/tc_res_opt.rb +4 -4
  22. data/test/tc_single_resolver.rb +1 -6
  23. data/test/tc_soak_base.rb +2 -2
  24. data/test/tc_tsig.rb +3 -3
  25. data/test/ts_offline.rb +1 -1
  26. data/test/ts_online.rb +1 -1
  27. metadata +2 -480
  28. data/doc/classes/Dnsruby/Algorithms.html +0 -171
  29. data/doc/classes/Dnsruby/Classes.html +0 -197
  30. data/doc/classes/Dnsruby/Classes.src/M000209.html +0 -23
  31. data/doc/classes/Dnsruby/Classes.src/M000210.html +0 -19
  32. data/doc/classes/Dnsruby/CodeMapper.html +0 -375
  33. data/doc/classes/Dnsruby/CodeMapper.src/M000186.html +0 -18
  34. data/doc/classes/Dnsruby/CodeMapper.src/M000187.html +0 -33
  35. data/doc/classes/Dnsruby/CodeMapper.src/M000188.html +0 -21
  36. data/doc/classes/Dnsruby/CodeMapper.src/M000189.html +0 -19
  37. data/doc/classes/Dnsruby/CodeMapper.src/M000190.html +0 -19
  38. data/doc/classes/Dnsruby/CodeMapper.src/M000191.html +0 -18
  39. data/doc/classes/Dnsruby/CodeMapper.src/M000192.html +0 -22
  40. data/doc/classes/Dnsruby/CodeMapper.src/M000193.html +0 -22
  41. data/doc/classes/Dnsruby/CodeMapper.src/M000194.html +0 -22
  42. data/doc/classes/Dnsruby/CodeMapper.src/M000195.html +0 -31
  43. data/doc/classes/Dnsruby/CodeMapper.src/M000196.html +0 -19
  44. data/doc/classes/Dnsruby/Config.html +0 -413
  45. data/doc/classes/Dnsruby/Config.src/M000148.html +0 -18
  46. data/doc/classes/Dnsruby/Config.src/M000149.html +0 -19
  47. data/doc/classes/Dnsruby/Config.src/M000150.html +0 -19
  48. data/doc/classes/Dnsruby/Config.src/M000151.html +0 -25
  49. data/doc/classes/Dnsruby/Config.src/M000152.html +0 -21
  50. data/doc/classes/Dnsruby/Config.src/M000153.html +0 -38
  51. data/doc/classes/Dnsruby/Config.src/M000154.html +0 -26
  52. data/doc/classes/Dnsruby/Config.src/M000155.html +0 -22
  53. data/doc/classes/Dnsruby/Config.src/M000156.html +0 -27
  54. data/doc/classes/Dnsruby/Config.src/M000157.html +0 -22
  55. data/doc/classes/Dnsruby/Config.src/M000158.html +0 -21
  56. data/doc/classes/Dnsruby/DNS.html +0 -571
  57. data/doc/classes/Dnsruby/DNS.src/M000258.html +0 -24
  58. data/doc/classes/Dnsruby/DNS.src/M000259.html +0 -18
  59. data/doc/classes/Dnsruby/DNS.src/M000260.html +0 -18
  60. data/doc/classes/Dnsruby/DNS.src/M000261.html +0 -20
  61. data/doc/classes/Dnsruby/DNS.src/M000262.html +0 -19
  62. data/doc/classes/Dnsruby/DNS.src/M000263.html +0 -20
  63. data/doc/classes/Dnsruby/DNS.src/M000264.html +0 -18
  64. data/doc/classes/Dnsruby/DNS.src/M000265.html +0 -19
  65. data/doc/classes/Dnsruby/DNS.src/M000266.html +0 -20
  66. data/doc/classes/Dnsruby/DNS.src/M000267.html +0 -28
  67. data/doc/classes/Dnsruby/DNS.src/M000268.html +0 -19
  68. data/doc/classes/Dnsruby/DNS.src/M000269.html +0 -20
  69. data/doc/classes/Dnsruby/DNS.src/M000270.html +0 -31
  70. data/doc/classes/Dnsruby/DecodeError.html +0 -120
  71. data/doc/classes/Dnsruby/Dnssec.html +0 -287
  72. data/doc/classes/Dnsruby/Dnssec.src/M000249.html +0 -23
  73. data/doc/classes/Dnsruby/Dnssec.src/M000250.html +0 -19
  74. data/doc/classes/Dnsruby/Dnssec.src/M000251.html +0 -90
  75. data/doc/classes/Dnsruby/Dnssec.src/M000252.html +0 -76
  76. data/doc/classes/Dnsruby/EncodeError.html +0 -120
  77. data/doc/classes/Dnsruby/FormErr.html +0 -119
  78. data/doc/classes/Dnsruby/Header.html +0 -501
  79. data/doc/classes/Dnsruby/Header.src/M000231.html +0 -35
  80. data/doc/classes/Dnsruby/Header.src/M000232.html +0 -18
  81. data/doc/classes/Dnsruby/Header.src/M000233.html +0 -18
  82. data/doc/classes/Dnsruby/Header.src/M000234.html +0 -21
  83. data/doc/classes/Dnsruby/Header.src/M000235.html +0 -20
  84. data/doc/classes/Dnsruby/Header.src/M000236.html +0 -32
  85. data/doc/classes/Dnsruby/Header.src/M000237.html +0 -27
  86. data/doc/classes/Dnsruby/Header.src/M000238.html +0 -26
  87. data/doc/classes/Dnsruby/Header.src/M000239.html +0 -47
  88. data/doc/classes/Dnsruby/Header.src/M000240.html +0 -28
  89. data/doc/classes/Dnsruby/Header.src/M000241.html +0 -30
  90. data/doc/classes/Dnsruby/Hosts.html +0 -316
  91. data/doc/classes/Dnsruby/Hosts.src/M000197.html +0 -20
  92. data/doc/classes/Dnsruby/Hosts.src/M000198.html +0 -19
  93. data/doc/classes/Dnsruby/Hosts.src/M000199.html +0 -20
  94. data/doc/classes/Dnsruby/Hosts.src/M000200.html +0 -21
  95. data/doc/classes/Dnsruby/Hosts.src/M000201.html +0 -19
  96. data/doc/classes/Dnsruby/Hosts.src/M000202.html +0 -20
  97. data/doc/classes/Dnsruby/Hosts.src/M000203.html +0 -21
  98. data/doc/classes/Dnsruby/IPv4.html +0 -233
  99. data/doc/classes/Dnsruby/IPv4.src/M000204.html +0 -32
  100. data/doc/classes/Dnsruby/IPv4.src/M000205.html +0 -19
  101. data/doc/classes/Dnsruby/IPv4.src/M000206.html +0 -18
  102. data/doc/classes/Dnsruby/IPv4.src/M000207.html +0 -18
  103. data/doc/classes/Dnsruby/IPv4.src/M000208.html +0 -18
  104. data/doc/classes/Dnsruby/IPv6.html +0 -281
  105. data/doc/classes/Dnsruby/IPv6.src/M000242.html +0 -60
  106. data/doc/classes/Dnsruby/IPv6.src/M000243.html +0 -22
  107. data/doc/classes/Dnsruby/IPv6.src/M000244.html +0 -20
  108. data/doc/classes/Dnsruby/IPv6.src/M000245.html +0 -18
  109. data/doc/classes/Dnsruby/Message/Section.html +0 -160
  110. data/doc/classes/Dnsruby/Message/Section.src/M000141.html +0 -29
  111. data/doc/classes/Dnsruby/Message/Section.src/M000142.html +0 -30
  112. data/doc/classes/Dnsruby/Message.html +0 -803
  113. data/doc/classes/Dnsruby/Message.src/M000119.html +0 -38
  114. data/doc/classes/Dnsruby/Message.src/M000120.html +0 -26
  115. data/doc/classes/Dnsruby/Message.src/M000121.html +0 -22
  116. data/doc/classes/Dnsruby/Message.src/M000122.html +0 -22
  117. data/doc/classes/Dnsruby/Message.src/M000123.html +0 -20
  118. data/doc/classes/Dnsruby/Message.src/M000124.html +0 -20
  119. data/doc/classes/Dnsruby/Message.src/M000125.html +0 -20
  120. data/doc/classes/Dnsruby/Message.src/M000126.html +0 -20
  121. data/doc/classes/Dnsruby/Message.src/M000127.html +0 -18
  122. data/doc/classes/Dnsruby/Message.src/M000128.html +0 -20
  123. data/doc/classes/Dnsruby/Message.src/M000129.html +0 -23
  124. data/doc/classes/Dnsruby/Message.src/M000130.html +0 -30
  125. data/doc/classes/Dnsruby/Message.src/M000131.html +0 -20
  126. data/doc/classes/Dnsruby/Message.src/M000132.html +0 -18
  127. data/doc/classes/Dnsruby/Message.src/M000133.html +0 -56
  128. data/doc/classes/Dnsruby/Message.src/M000134.html +0 -35
  129. data/doc/classes/Dnsruby/Message.src/M000135.html +0 -46
  130. data/doc/classes/Dnsruby/MetaTypes.html +0 -136
  131. data/doc/classes/Dnsruby/Modes.html +0 -171
  132. data/doc/classes/Dnsruby/NXDomain.html +0 -119
  133. data/doc/classes/Dnsruby/Name/Label.html +0 -300
  134. data/doc/classes/Dnsruby/Name/Label.src/M000110.html +0 -21
  135. data/doc/classes/Dnsruby/Name/Label.src/M000111.html +0 -18
  136. data/doc/classes/Dnsruby/Name/Label.src/M000112.html +0 -22
  137. data/doc/classes/Dnsruby/Name/Label.src/M000113.html +0 -18
  138. data/doc/classes/Dnsruby/Name/Label.src/M000114.html +0 -18
  139. data/doc/classes/Dnsruby/Name/Label.src/M000115.html +0 -18
  140. data/doc/classes/Dnsruby/Name/Label.src/M000116.html +0 -18
  141. data/doc/classes/Dnsruby/Name/Label.src/M000117.html +0 -18
  142. data/doc/classes/Dnsruby/Name/Label.src/M000118.html +0 -18
  143. data/doc/classes/Dnsruby/Name.html +0 -330
  144. data/doc/classes/Dnsruby/Name.src/M000104.html +0 -28
  145. data/doc/classes/Dnsruby/Name.src/M000105.html +0 -20
  146. data/doc/classes/Dnsruby/Name.src/M000106.html +0 -18
  147. data/doc/classes/Dnsruby/Name.src/M000107.html +0 -21
  148. data/doc/classes/Dnsruby/Name.src/M000108.html +0 -22
  149. data/doc/classes/Dnsruby/Name.src/M000109.html +0 -18
  150. data/doc/classes/Dnsruby/NotImp.html +0 -119
  151. data/doc/classes/Dnsruby/OpCode.html +0 -146
  152. data/doc/classes/Dnsruby/OtherResolvError.html +0 -119
  153. data/doc/classes/Dnsruby/QTypes.html +0 -146
  154. data/doc/classes/Dnsruby/Question.html +0 -301
  155. data/doc/classes/Dnsruby/Question.src/M000226.html +0 -47
  156. data/doc/classes/Dnsruby/Question.src/M000227.html +0 -18
  157. data/doc/classes/Dnsruby/Question.src/M000228.html +0 -18
  158. data/doc/classes/Dnsruby/Question.src/M000229.html +0 -32
  159. data/doc/classes/Dnsruby/Question.src/M000230.html +0 -18
  160. data/doc/classes/Dnsruby/RCode.html +0 -211
  161. data/doc/classes/Dnsruby/RR/ANY.html +0 -133
  162. data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +0 -169
  163. data/doc/classes/Dnsruby/RR/CERT.html +0 -180
  164. data/doc/classes/Dnsruby/RR/CNAME.html +0 -151
  165. data/doc/classes/Dnsruby/RR/DNAME.html +0 -150
  166. data/doc/classes/Dnsruby/RR/DNSKEY.html +0 -422
  167. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000044.html +0 -20
  168. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000045.html +0 -21
  169. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000046.html +0 -28
  170. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000047.html +0 -22
  171. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000048.html +0 -18
  172. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000049.html +0 -22
  173. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000050.html +0 -18
  174. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000051.html +0 -26
  175. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000052.html +0 -38
  176. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000053.html +0 -45
  177. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000054.html +0 -21
  178. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000055.html +0 -24
  179. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000056.html +0 -32
  180. data/doc/classes/Dnsruby/RR/DNSKEY.src/M000057.html +0 -24
  181. data/doc/classes/Dnsruby/RR/DS.html +0 -286
  182. data/doc/classes/Dnsruby/RR/DS.src/M000039.html +0 -22
  183. data/doc/classes/Dnsruby/RR/DS.src/M000040.html +0 -28
  184. data/doc/classes/Dnsruby/RR/DS.src/M000041.html +0 -24
  185. data/doc/classes/Dnsruby/RR/DS.src/M000042.html +0 -28
  186. data/doc/classes/Dnsruby/RR/DS.src/M000043.html +0 -36
  187. data/doc/classes/Dnsruby/RR/DomainName.html +0 -175
  188. data/doc/classes/Dnsruby/RR/DomainName.src/M000083.html +0 -18
  189. data/doc/classes/Dnsruby/RR/Generic.html +0 -133
  190. data/doc/classes/Dnsruby/RR/HINFO.html +0 -155
  191. data/doc/classes/Dnsruby/RR/IN/A.html +0 -200
  192. data/doc/classes/Dnsruby/RR/IN/A.src/M000017.html +0 -18
  193. data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +0 -18
  194. data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +0 -18
  195. data/doc/classes/Dnsruby/RR/IN/AAAA.html +0 -139
  196. data/doc/classes/Dnsruby/RR/IN/AFSDB.html +0 -145
  197. data/doc/classes/Dnsruby/RR/IN/PX.html +0 -143
  198. data/doc/classes/Dnsruby/RR/IN/SRV.html +0 -238
  199. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000014.html +0 -29
  200. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +0 -26
  201. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +0 -22
  202. data/doc/classes/Dnsruby/RR/IN/WKS.html +0 -166
  203. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000020.html +0 -20
  204. data/doc/classes/Dnsruby/RR/IN.html +0 -155
  205. data/doc/classes/Dnsruby/RR/ISDN.html +0 -155
  206. data/doc/classes/Dnsruby/RR/LOC.html +0 -395
  207. data/doc/classes/Dnsruby/RR/LOC.src/M000025.html +0 -32
  208. data/doc/classes/Dnsruby/RR/LOC.src/M000026.html +0 -23
  209. data/doc/classes/Dnsruby/RR/LOC.src/M000027.html +0 -25
  210. data/doc/classes/Dnsruby/RR/LOC.src/M000028.html +0 -21
  211. data/doc/classes/Dnsruby/RR/LOC.src/M000029.html +0 -20
  212. data/doc/classes/Dnsruby/RR/LOC.src/M000030.html +0 -23
  213. data/doc/classes/Dnsruby/RR/MB.html +0 -150
  214. data/doc/classes/Dnsruby/RR/MG.html +0 -150
  215. data/doc/classes/Dnsruby/RR/MINFO.html +0 -156
  216. data/doc/classes/Dnsruby/RR/MR.html +0 -150
  217. data/doc/classes/Dnsruby/RR/MX.html +0 -155
  218. data/doc/classes/Dnsruby/RR/NAPTR.html +0 -190
  219. data/doc/classes/Dnsruby/RR/NS.html +0 -151
  220. data/doc/classes/Dnsruby/RR/NSAP.html +0 -293
  221. data/doc/classes/Dnsruby/RR/NSAP.src/M000093.html +0 -19
  222. data/doc/classes/Dnsruby/RR/NSAP.src/M000094.html +0 -19
  223. data/doc/classes/Dnsruby/RR/NSAP.src/M000095.html +0 -22
  224. data/doc/classes/Dnsruby/RR/NSAP.src/M000096.html +0 -31
  225. data/doc/classes/Dnsruby/RR/NSEC.html +0 -301
  226. data/doc/classes/Dnsruby/RR/NSEC.src/M000031.html +0 -19
  227. data/doc/classes/Dnsruby/RR/NSEC.src/M000032.html +0 -18
  228. data/doc/classes/Dnsruby/RR/NSEC.src/M000033.html +0 -34
  229. data/doc/classes/Dnsruby/RR/NSEC.src/M000034.html +0 -18
  230. data/doc/classes/Dnsruby/RR/NSEC.src/M000035.html +0 -71
  231. data/doc/classes/Dnsruby/RR/NSEC.src/M000036.html +0 -18
  232. data/doc/classes/Dnsruby/RR/NSEC.src/M000037.html +0 -80
  233. data/doc/classes/Dnsruby/RR/NSEC.src/M000038.html +0 -23
  234. data/doc/classes/Dnsruby/RR/NSEC3.html +0 -366
  235. data/doc/classes/Dnsruby/RR/NSEC3.src/M000085.html +0 -28
  236. data/doc/classes/Dnsruby/RR/NSEC3.src/M000086.html +0 -18
  237. data/doc/classes/Dnsruby/RR/NSEC3.src/M000087.html +0 -18
  238. data/doc/classes/Dnsruby/RR/NSEC3.src/M000088.html +0 -22
  239. data/doc/classes/Dnsruby/RR/NSEC3.src/M000089.html +0 -18
  240. data/doc/classes/Dnsruby/RR/NSEC3.src/M000090.html +0 -21
  241. data/doc/classes/Dnsruby/RR/NSEC3.src/M000091.html +0 -21
  242. data/doc/classes/Dnsruby/RR/NSEC3.src/M000092.html +0 -29
  243. data/doc/classes/Dnsruby/RR/NSEC3PARAM.html +0 -279
  244. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000077.html +0 -28
  245. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000078.html +0 -18
  246. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000079.html +0 -22
  247. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000080.html +0 -21
  248. data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000081.html +0 -25
  249. data/doc/classes/Dnsruby/RR/PTR.html +0 -132
  250. data/doc/classes/Dnsruby/RR/RP.html +0 -183
  251. data/doc/classes/Dnsruby/RR/RP.src/M000082.html +0 -19
  252. data/doc/classes/Dnsruby/RR/RRSIG.html +0 -357
  253. data/doc/classes/Dnsruby/RR/RRSIG.src/M000097.html +0 -26
  254. data/doc/classes/Dnsruby/RR/RRSIG.src/M000098.html +0 -28
  255. data/doc/classes/Dnsruby/RR/RRSIG.src/M000099.html +0 -23
  256. data/doc/classes/Dnsruby/RR/RRSIG.src/M000100.html +0 -23
  257. data/doc/classes/Dnsruby/RR/RRSIG.src/M000101.html +0 -46
  258. data/doc/classes/Dnsruby/RR/RRSIG.src/M000102.html +0 -50
  259. data/doc/classes/Dnsruby/RR/RRSIG.src/M000103.html +0 -27
  260. data/doc/classes/Dnsruby/RR/RT.html +0 -155
  261. data/doc/classes/Dnsruby/RR/SOA.html +0 -233
  262. data/doc/classes/Dnsruby/RR/SOA.src/M000066.html +0 -24
  263. data/doc/classes/Dnsruby/RR/SOA.src/M000067.html +0 -27
  264. data/doc/classes/Dnsruby/RR/SPF.html +0 -138
  265. data/doc/classes/Dnsruby/RR/TKEY.html +0 -313
  266. data/doc/classes/Dnsruby/RR/TKEY.src/M000021.html +0 -19
  267. data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +0 -29
  268. data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +0 -21
  269. data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +0 -29
  270. data/doc/classes/Dnsruby/RR/TSIG.html +0 -524
  271. data/doc/classes/Dnsruby/RR/TSIG.src/M000068.html +0 -24
  272. data/doc/classes/Dnsruby/RR/TSIG.src/M000069.html +0 -32
  273. data/doc/classes/Dnsruby/RR/TSIG.src/M000070.html +0 -54
  274. data/doc/classes/Dnsruby/RR/TSIG.src/M000071.html +0 -121
  275. data/doc/classes/Dnsruby/RR/TSIG.src/M000072.html +0 -33
  276. data/doc/classes/Dnsruby/RR/TSIG.src/M000073.html +0 -25
  277. data/doc/classes/Dnsruby/RR/TSIG.src/M000074.html +0 -36
  278. data/doc/classes/Dnsruby/RR/TSIG.src/M000075.html +0 -22
  279. data/doc/classes/Dnsruby/RR/TSIG.src/M000076.html +0 -29
  280. data/doc/classes/Dnsruby/RR/TXT.html +0 -233
  281. data/doc/classes/Dnsruby/RR/TXT.src/M000061.html +0 -18
  282. data/doc/classes/Dnsruby/RR/TXT.src/M000062.html +0 -18
  283. data/doc/classes/Dnsruby/RR/TXT.src/M000063.html +0 -20
  284. data/doc/classes/Dnsruby/RR/TXT.src/M000064.html +0 -27
  285. data/doc/classes/Dnsruby/RR/TXT.src/M000065.html +0 -25
  286. data/doc/classes/Dnsruby/RR/X25.html +0 -203
  287. data/doc/classes/Dnsruby/RR/X25.src/M000058.html +0 -18
  288. data/doc/classes/Dnsruby/RR/X25.src/M000059.html +0 -18
  289. data/doc/classes/Dnsruby/RR/X25.src/M000060.html +0 -22
  290. data/doc/classes/Dnsruby/RR.html +0 -648
  291. data/doc/classes/Dnsruby/RR.src/M000001.html +0 -18
  292. data/doc/classes/Dnsruby/RR.src/M000002.html +0 -22
  293. data/doc/classes/Dnsruby/RR.src/M000003.html +0 -18
  294. data/doc/classes/Dnsruby/RR.src/M000004.html +0 -18
  295. data/doc/classes/Dnsruby/RR.src/M000005.html +0 -26
  296. data/doc/classes/Dnsruby/RR.src/M000006.html +0 -18
  297. data/doc/classes/Dnsruby/RR.src/M000007.html +0 -36
  298. data/doc/classes/Dnsruby/RR.src/M000008.html +0 -100
  299. data/doc/classes/Dnsruby/RR.src/M000009.html +0 -18
  300. data/doc/classes/Dnsruby/RR.src/M000010.html +0 -18
  301. data/doc/classes/Dnsruby/RR.src/M000011.html +0 -22
  302. data/doc/classes/Dnsruby/RR.src/M000012.html +0 -29
  303. data/doc/classes/Dnsruby/RR.src/M000013.html +0 -24
  304. data/doc/classes/Dnsruby/RRSet.html +0 -404
  305. data/doc/classes/Dnsruby/RRSet.src/M000211.html +0 -23
  306. data/doc/classes/Dnsruby/RRSet.src/M000212.html +0 -18
  307. data/doc/classes/Dnsruby/RRSet.src/M000213.html +0 -18
  308. data/doc/classes/Dnsruby/RRSet.src/M000214.html +0 -47
  309. data/doc/classes/Dnsruby/RRSet.src/M000215.html +0 -42
  310. data/doc/classes/Dnsruby/RRSet.src/M000216.html +0 -18
  311. data/doc/classes/Dnsruby/RRSet.src/M000217.html +0 -20
  312. data/doc/classes/Dnsruby/RRSet.src/M000218.html +0 -18
  313. data/doc/classes/Dnsruby/RRSet.src/M000219.html +0 -18
  314. data/doc/classes/Dnsruby/RRSet.src/M000220.html +0 -18
  315. data/doc/classes/Dnsruby/RRSet.src/M000221.html +0 -18
  316. data/doc/classes/Dnsruby/RRSet.src/M000222.html +0 -22
  317. data/doc/classes/Dnsruby/RRSet.src/M000223.html +0 -18
  318. data/doc/classes/Dnsruby/RRSet.src/M000224.html +0 -22
  319. data/doc/classes/Dnsruby/RRSet.src/M000225.html +0 -18
  320. data/doc/classes/Dnsruby/Refused.html +0 -119
  321. data/doc/classes/Dnsruby/Resolv.html +0 -401
  322. data/doc/classes/Dnsruby/Resolv.src/M000159.html +0 -18
  323. data/doc/classes/Dnsruby/Resolv.src/M000160.html +0 -18
  324. data/doc/classes/Dnsruby/Resolv.src/M000161.html +0 -18
  325. data/doc/classes/Dnsruby/Resolv.src/M000162.html +0 -18
  326. data/doc/classes/Dnsruby/Resolv.src/M000163.html +0 -18
  327. data/doc/classes/Dnsruby/Resolv.src/M000164.html +0 -18
  328. data/doc/classes/Dnsruby/Resolv.src/M000165.html +0 -18
  329. data/doc/classes/Dnsruby/Resolv.src/M000166.html +0 -19
  330. data/doc/classes/Dnsruby/Resolv.src/M000167.html +0 -20
  331. data/doc/classes/Dnsruby/Resolv.src/M000168.html +0 -29
  332. data/doc/classes/Dnsruby/Resolv.src/M000169.html +0 -19
  333. data/doc/classes/Dnsruby/Resolv.src/M000170.html +0 -20
  334. data/doc/classes/Dnsruby/Resolv.src/M000171.html +0 -25
  335. data/doc/classes/Dnsruby/ResolvError.html +0 -117
  336. data/doc/classes/Dnsruby/ResolvTimeout.html +0 -117
  337. data/doc/classes/Dnsruby/Resolver.html +0 -1055
  338. data/doc/classes/Dnsruby/Resolver.src/M000271.html +0 -21
  339. data/doc/classes/Dnsruby/Resolver.src/M000272.html +0 -27
  340. data/doc/classes/Dnsruby/Resolver.src/M000273.html +0 -28
  341. data/doc/classes/Dnsruby/Resolver.src/M000274.html +0 -18
  342. data/doc/classes/Dnsruby/Resolver.src/M000275.html +0 -51
  343. data/doc/classes/Dnsruby/Resolver.src/M000276.html +0 -21
  344. data/doc/classes/Dnsruby/Resolver.src/M000277.html +0 -22
  345. data/doc/classes/Dnsruby/Resolver.src/M000278.html +0 -18
  346. data/doc/classes/Dnsruby/Resolver.src/M000279.html +0 -20
  347. data/doc/classes/Dnsruby/Resolver.src/M000280.html +0 -19
  348. data/doc/classes/Dnsruby/Resolver.src/M000281.html +0 -19
  349. data/doc/classes/Dnsruby/Resolver.src/M000282.html +0 -19
  350. data/doc/classes/Dnsruby/Resolver.src/M000283.html +0 -19
  351. data/doc/classes/Dnsruby/Resolver.src/M000284.html +0 -19
  352. data/doc/classes/Dnsruby/Resolver.src/M000285.html +0 -19
  353. data/doc/classes/Dnsruby/Resolver.src/M000286.html +0 -19
  354. data/doc/classes/Dnsruby/Resolver.src/M000287.html +0 -19
  355. data/doc/classes/Dnsruby/Resolver.src/M000288.html +0 -19
  356. data/doc/classes/Dnsruby/Resolver.src/M000289.html +0 -19
  357. data/doc/classes/Dnsruby/Resolver.src/M000290.html +0 -19
  358. data/doc/classes/Dnsruby/Resolver.src/M000291.html +0 -19
  359. data/doc/classes/Dnsruby/Resolver.src/M000292.html +0 -26
  360. data/doc/classes/Dnsruby/Resolver.src/M000293.html +0 -18
  361. data/doc/classes/Dnsruby/Resolver.src/M000294.html +0 -23
  362. data/doc/classes/Dnsruby/Resolver.src/M000295.html +0 -18
  363. data/doc/classes/Dnsruby/ServFail.html +0 -119
  364. data/doc/classes/Dnsruby/SingleResolver.html +0 -674
  365. data/doc/classes/Dnsruby/SingleResolver.src/M000172.html +0 -18
  366. data/doc/classes/Dnsruby/SingleResolver.src/M000173.html +0 -24
  367. data/doc/classes/Dnsruby/SingleResolver.src/M000174.html +0 -36
  368. data/doc/classes/Dnsruby/SingleResolver.src/M000175.html +0 -18
  369. data/doc/classes/Dnsruby/SingleResolver.src/M000176.html +0 -19
  370. data/doc/classes/Dnsruby/SingleResolver.src/M000177.html +0 -50
  371. data/doc/classes/Dnsruby/SingleResolver.src/M000178.html +0 -19
  372. data/doc/classes/Dnsruby/SingleResolver.src/M000179.html +0 -21
  373. data/doc/classes/Dnsruby/SingleResolver.src/M000180.html +0 -25
  374. data/doc/classes/Dnsruby/SingleResolver.src/M000181.html +0 -54
  375. data/doc/classes/Dnsruby/SingleResolver.src/M000182.html +0 -27
  376. data/doc/classes/Dnsruby/SingleResolver.src/M000183.html +0 -27
  377. data/doc/classes/Dnsruby/SingleResolver.src/M000184.html +0 -35
  378. data/doc/classes/Dnsruby/SingleResolver.src/M000185.html +0 -21
  379. data/doc/classes/Dnsruby/TheLog.html +0 -196
  380. data/doc/classes/Dnsruby/TheLog.src/M000246.html +0 -20
  381. data/doc/classes/Dnsruby/TheLog.src/M000247.html +0 -20
  382. data/doc/classes/Dnsruby/TheLog.src/M000248.html +0 -20
  383. data/doc/classes/Dnsruby/Types.html +0 -436
  384. data/doc/classes/Dnsruby/Update.html +0 -368
  385. data/doc/classes/Dnsruby/Update.src/M000253.html +0 -32
  386. data/doc/classes/Dnsruby/Update.src/M000254.html +0 -36
  387. data/doc/classes/Dnsruby/Update.src/M000255.html +0 -32
  388. data/doc/classes/Dnsruby/Update.src/M000256.html +0 -41
  389. data/doc/classes/Dnsruby/Update.src/M000257.html +0 -34
  390. data/doc/classes/Dnsruby/VerifyError.html +0 -119
  391. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +0 -200
  392. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000146.html +0 -19
  393. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000147.html +0 -19
  394. data/doc/classes/Dnsruby/ZoneTransfer.html +0 -300
  395. data/doc/classes/Dnsruby/ZoneTransfer.src/M000143.html +0 -18
  396. data/doc/classes/Dnsruby/ZoneTransfer.src/M000144.html +0 -24
  397. data/doc/classes/Dnsruby/ZoneTransfer.src/M000145.html +0 -35
  398. data/doc/classes/Dnsruby.html +0 -463
  399. data/doc/created.rid +0 -1
  400. data/doc/files/lib/Dnsruby/Config_rb.html +0 -101
  401. data/doc/files/lib/Dnsruby/DNS_rb.html +0 -110
  402. data/doc/files/lib/Dnsruby/Hosts_rb.html +0 -108
  403. data/doc/files/lib/Dnsruby/Resolver_rb.html +0 -109
  404. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +0 -108
  405. data/doc/files/lib/Dnsruby/TheLog_rb.html +0 -110
  406. data/doc/files/lib/Dnsruby/code_mapper_rb.html +0 -101
  407. data/doc/files/lib/Dnsruby/dnssec_rb.html +0 -107
  408. data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +0 -108
  409. data/doc/files/lib/Dnsruby/ipv4_rb.html +0 -101
  410. data/doc/files/lib/Dnsruby/ipv6_rb.html +0 -101
  411. data/doc/files/lib/Dnsruby/message_rb.html +0 -109
  412. data/doc/files/lib/Dnsruby/name_rb.html +0 -101
  413. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +0 -101
  414. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +0 -101
  415. data/doc/files/lib/Dnsruby/resource/A_rb.html +0 -101
  416. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +0 -101
  417. data/doc/files/lib/Dnsruby/resource/DNSKEY_rb.html +0 -101
  418. data/doc/files/lib/Dnsruby/resource/DS_rb.html +0 -101
  419. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +0 -101
  420. data/doc/files/lib/Dnsruby/resource/IN_rb.html +0 -112
  421. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +0 -101
  422. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +0 -101
  423. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +0 -101
  424. data/doc/files/lib/Dnsruby/resource/MX_rb.html +0 -101
  425. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +0 -101
  426. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +0 -101
  427. data/doc/files/lib/Dnsruby/resource/NSEC3PARAM_rb.html +0 -101
  428. data/doc/files/lib/Dnsruby/resource/NSEC3_rb.html +0 -101
  429. data/doc/files/lib/Dnsruby/resource/NSEC_rb.html +0 -101
  430. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +0 -101
  431. data/doc/files/lib/Dnsruby/resource/PX_rb.html +0 -101
  432. data/doc/files/lib/Dnsruby/resource/RP_rb.html +0 -101
  433. data/doc/files/lib/Dnsruby/resource/RRSIG_rb.html +0 -101
  434. data/doc/files/lib/Dnsruby/resource/RT_rb.html +0 -101
  435. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +0 -101
  436. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +0 -101
  437. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +0 -101
  438. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +0 -101
  439. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +0 -114
  440. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +0 -108
  441. data/doc/files/lib/Dnsruby/resource/X25_rb.html +0 -101
  442. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +0 -101
  443. data/doc/files/lib/Dnsruby/resource/generic_rb.html +0 -131
  444. data/doc/files/lib/Dnsruby/resource/resource_rb.html +0 -110
  445. data/doc/files/lib/Dnsruby/select_thread_rb.html +0 -111
  446. data/doc/files/lib/Dnsruby/update_rb.html +0 -101
  447. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +0 -101
  448. data/doc/files/lib/dnsruby_rb.html +0 -118
  449. data/doc/fr_class_index.html +0 -108
  450. data/doc/fr_file_index.html +0 -75
  451. data/doc/fr_method_index.html +0 -321
  452. data/doc/index.html +0 -24
data/README CHANGED
@@ -10,8 +10,7 @@ resolv.rb Resolv API, but has been much extended to provide a
10
10
  complete DNS implementation.
11
11
 
12
12
  Dnsruby runs a single I/O thread to handle all concurrent
13
- queries. It is also able to use EventMachine if it is installed.
14
- It is therefore suitable for high volume DNS applications.
13
+ queries. It is therefore suitable for high volume DNS applications.
15
14
 
16
15
  The following is a (non-exhaustive) list of features :
17
16
 
@@ -47,7 +46,8 @@ Demo code
47
46
  =========
48
47
 
49
48
  The demo folder contains some example programs using Dnsruby.
50
- These examples include
49
+ These examples include a basic dig tool (rubydig) and a tool to
50
+ concurrently resolve many names, amongst others.
51
51
 
52
52
  Online tests
53
53
  ============
@@ -115,7 +115,7 @@ module Dnsruby
115
115
  send("ndots=",nd)
116
116
  send("domain=",dom)
117
117
  }
118
- TheLog.info(to_s)
118
+ Dnsruby.log.info{to_s}
119
119
  end
120
120
 
121
121
  # Set the default domain
@@ -195,7 +195,7 @@ module Dnsruby
195
195
  # @nameserver = ['0.0.0.0'] if (@nameserver.class != Array || @nameserver.empty?)
196
196
  # Now go through and ensure that all ns point to IP addresses, not domain names
197
197
  @nameserver=ns
198
- TheLog.debug("Nameservers = #{@nameserver.join(", ")}")
198
+ Dnsruby.log.debug{"Nameservers = #{@nameserver.join(", ")}"}
199
199
  end
200
200
 
201
201
  def Config.resolve_server(ns) #:nodoc: all
@@ -216,7 +216,7 @@ module Dnsruby
216
216
  addr = TCPSocket.gethostbyname(ns)[3] # @TODO@ Replace this with Dnsruby call when lookups work
217
217
  server = addr
218
218
  rescue Exception => e
219
- TheLog.error("Can't make sense of nameserver : #{server}, exception : #{e}")
219
+ Dnsruby.log.error{"Can't make sense of nameserver : #{server}, exception : #{e}"}
220
220
  raise ArgumentError.new("Can't make sense of nameserver : #{server}, exception : #{e}")
221
221
  end
222
222
  end
data/lib/Dnsruby/DNS.rb CHANGED
@@ -175,6 +175,8 @@ module Dnsruby
175
175
  case address
176
176
  when Name
177
177
  ptr = address
178
+ when IPv4, IPv6
179
+ ptr = address.to_name
178
180
  when IPv4::Regex
179
181
  ptr = IPv4.create(address).to_name
180
182
  when IPv6::Regex
@@ -226,10 +228,10 @@ module Dnsruby
226
228
  extract_resources(reply, reply_name, type, klass, &proc)
227
229
  return
228
230
  # when RCode::NXDomain
229
- # TheLog.debug("RCode::NXDomain returned - raising error")
231
+ # Dnsruby.log.debug("RCode::NXDomain returned - raising error")
230
232
  # raise Config::NXDomain.new(reply_name.to_s)
231
233
  else
232
- TheLog.error("Unexpected rcode : #{reply.header.rcode.string}")
234
+ Dnsruby.log.error{"Unexpected rcode : #{reply.header.rcode.string}"}
233
235
  raise Config::OtherResolvError.new(reply_name.to_s)
234
236
  end
235
237
  end
@@ -58,9 +58,9 @@ module Dnsruby
58
58
  begin
59
59
  require 'Dnsruby/event_machine_interface'
60
60
  @@event_machine_available=true
61
- TheLog.debug("EventMachine loaded")
61
+ Dnsruby.log.debug{"EventMachine loaded"}
62
62
  rescue LoadError
63
- TheLog.error("EventMachine not found")
63
+ Dnsruby.log.error{"EventMachine not found"}
64
64
  end
65
65
  DefaultQueryTimeout = 0
66
66
  DefaultPacketTimeout = 10
@@ -161,11 +161,11 @@ module Dnsruby
161
161
  # # ...
162
162
  # end
163
163
  def send_message(message)
164
- TheLog.debug("Resolver : sending message")
164
+ Dnsruby.log.debug{"Resolver : sending message"}
165
165
  q = Queue.new
166
166
  send_async(message, q)
167
167
  id, result, error = q.pop
168
- TheLog.debug("Resolver : result received")
168
+ Dnsruby.log.debug{"Resolver : result received"}
169
169
  if (error != nil)
170
170
  raise error
171
171
  else
@@ -328,7 +328,7 @@ module Dnsruby
328
328
  send(key.to_s+"=", args[0][key])
329
329
  end
330
330
  rescue Exception
331
- TheLog.error("Argument #{key} not valid\n")
331
+ Dnsruby.log.error{"Argument #{key} not valid\n"}
332
332
  end
333
333
  end
334
334
  elsif (args[0].class == String)
@@ -349,7 +349,11 @@ module Dnsruby
349
349
  def add_config_nameservers
350
350
  # Add the Config nameservers
351
351
  @config.nameserver.each do |ns|
352
- @single_resolvers.push(SingleResolver.new({:server=>ns}))
352
+ @single_resolvers.push(SingleResolver.new({:server=>ns, :dnssec=>@dnssec,
353
+ :use_tcp=>@use_tcp, :packet_timeout=>@packet_timeout,
354
+ :tsig => @tsig, :ignore_truncation=>@ignore_truncation,
355
+ :src_address=>@src_address, :src_port=>@src_port,
356
+ :recurse=>@recurse, :udp_size=>@udp_size}))
353
357
  end
354
358
  end
355
359
 
@@ -497,9 +501,9 @@ module Dnsruby
497
501
  end
498
502
  @@use_eventmachine = on
499
503
  if (on)
500
- TheLog.info("EventMachine will be used for IO")
504
+ Dnsruby.log.info{"EventMachine will be used for IO"}
501
505
  else
502
- TheLog.info("EventMachine will not be used for IO")
506
+ Dnsruby.log.info{"EventMachine will not be used for IO"}
503
507
  end
504
508
  end
505
509
  #Check whether EventMachine will be used by Dnsruby
@@ -518,9 +522,9 @@ module Dnsruby
518
522
  def Resolver.start_eventmachine_loop(on=true)
519
523
  @@start_eventmachine_loop=on
520
524
  if (on)
521
- TheLog.info("EventMachine loop will be started by Dnsruby")
525
+ Dnsruby.log.info{"EventMachine loop will be started by Dnsruby"}
522
526
  else
523
- TheLog.info("EventMachine loop will not be started by Dnsruby")
527
+ Dnsruby.log.info{"EventMachine loop will not be started by Dnsruby"}
524
528
  end
525
529
  end
526
530
  #Checks whether Dnsruby will start the EventMachine loop when required.
@@ -545,7 +549,7 @@ module Dnsruby
545
549
  timeouts[base+offset]=[res, retry_count]
546
550
  else
547
551
  if (timeouts.has_key?(base+retry_delay+offset))
548
- TheLog.error("Duplicate timeout key!")
552
+ Dnsruby.log.error{"Duplicate timeout key!"}
549
553
  raise RuntimeError.new("Duplicate timeout key!")
550
554
  end
551
555
  timeouts[base+retry_delay+offset]=[res, retry_count]
@@ -601,13 +605,13 @@ module Dnsruby
601
605
  df = nil
602
606
  if (timeout == 0)
603
607
  # Send immediately
604
- TheLog.debug("Sending first EM query")
608
+ Dnsruby.log.debug{"Sending first EM query"}
605
609
  df = send_new_em_query(single_resolver, msg, client_queue, client_query_id, persistent_data)
606
610
  persistent_data.outstanding.push(df)
607
611
  else
608
612
  # Send later
609
613
  persistent_data.timer_procs[timeout]=Proc.new{
610
- TheLog.debug("Sending #{timeout} delayed EM query")
614
+ Dnsruby.log.debug{"Sending #{timeout} delayed EM query"}
611
615
  df = send_new_em_query(single_resolver, msg, client_queue, client_query_id, persistent_data)
612
616
  persistent_data.outstanding.push(df)
613
617
  }
@@ -650,13 +654,13 @@ module Dnsruby
650
654
  df = single_resolver.send_async(msg) # client_queue, client_query_id)
651
655
  persistent_data.to_send-=1
652
656
  df.callback { |answer|
653
- TheLog.debug("Response returned")
657
+ Dnsruby.log.debug{"Response returned"}
654
658
  persistent_data.outstanding.delete(df)
655
659
  cancel_queries(persistent_data)
656
660
  return_to_client(persistent_data.deferrable, client_queue, client_query_id, answer, nil)
657
661
  }
658
662
  df.errback { |response, error|
659
- TheLog.debug("Error #{error} returned")
663
+ Dnsruby.log.debug{"Error #{error} returned"}
660
664
  persistent_data.outstanding.delete(df)
661
665
  if (response!="cancelling")
662
666
 
@@ -666,17 +670,17 @@ module Dnsruby
666
670
  # - otherwise, continue
667
671
  # Do we have any more packets to send to this resolver?
668
672
  if (persistent_data.outstanding.empty? && persistent_data.to_send==0)
669
- TheLog.debug("Sending timeout to client")
673
+ Dnsruby.log.debug{"Sending timeout to client"}
670
674
  return_to_client(persistent_data.deferrable, client_queue, client_query_id, response, error)
671
675
  end
672
676
  elsif (error.kind_of?NXDomain)
673
677
  # - if it was an NXDomain, then return that to the client, and stop all new queries (and clean up)
674
- TheLog.debug("NXDomain - returning to client")
678
+ Dnsruby.log.debug{"NXDomain - returning to client"}
675
679
  cancel_queries(persistent_data)
676
680
  return_to_client(persistent_data.deferrable, client_queue, client_query_id, response, error)
677
681
  elsif (error.kind_of?FormErr)
678
682
  # - if it was a FormErr, then return that to the client, and stop all new queries (and clean up)
679
- TheLog.debug("FormErr - returning to client")
683
+ Dnsruby.log.debug{"FormErr - returning to client"}
680
684
  cancel_queries(persistent_data)
681
685
  return_to_client(persistent_data.deferrable, client_queue, client_query_id, response, error)
682
686
  else
@@ -684,14 +688,14 @@ module Dnsruby
684
688
  # If a Too Many Open Files error, then don't remove, but let retry work.
685
689
  if (!(error.to_s=~/Errno::EMFILE/))
686
690
  remove_server(single_resolver, persistent_data)
687
- TheLog.debug("Removing #{single_resolver.server} from resolver list for this query")
691
+ Dnsruby.log.debug{"Removing #{single_resolver.server} from resolver list for this query"}
688
692
  else
689
- TheLog.debug("NOT Removing #{single_resolver.server} due to Errno::EMFILE")
693
+ Dnsruby.log.debug{"NOT Removing #{single_resolver.server} due to Errno::EMFILE"}
690
694
  end
691
695
  # - if it was the last server, then return an error to the client (and clean up)
692
696
  if (persistent_data.outstanding.empty? && persistent_data.to_send==0)
693
697
  # if (outstanding.empty?)
694
- TheLog.debug("Sending error to client")
698
+ Dnsruby.log.debug{"Sending error to client"}
695
699
  return_to_client(persistent_data.deferrable, client_queue, client_query_id, response, error)
696
700
  end
697
701
  end
@@ -712,7 +716,7 @@ module Dnsruby
712
716
  end
713
717
 
714
718
  def cancel_queries(persistent_data)
715
- TheLog.debug("Cancelling EM queries")
719
+ Dnsruby.log.debug{"Cancelling EM queries"}
716
720
  persistent_data.outstanding.each do |df|
717
721
  df.set_deferred_status :failed, "cancelling", "cancelling"
718
722
  end
@@ -771,13 +775,13 @@ module Dnsruby
771
775
  end
772
776
 
773
777
  if (!client_queue.kind_of?Queue)
774
- TheLog.error("Wrong type for client_queue in Resolver#send_async")
778
+ Dnsruby.log.error{"Wrong type for client_queue in Resolver#send_async"}
775
779
  client_queue.push([client_query_id, ArgumentError.new("Wrong type of client_queue passed to Dnsruby::Resolver#send_async - should have been Queue, was #{client_queue.class}")])
776
780
  return
777
781
  end
778
782
 
779
783
  if (!msg.kind_of?Message)
780
- TheLog.error("Wrong type for msg in Resolver#send_async")
784
+ Dnsruby.log.error{"Wrong type for msg in Resolver#send_async"}
781
785
  client_queue.push([client_query_id, ArgumentError.new("Wrong type of msg passed to Dnsruby::Resolver#send_async - should have been Message, was #{msg.class}")])
782
786
  return
783
787
  end
@@ -787,7 +791,7 @@ module Dnsruby
787
791
  @mutex.synchronize{
788
792
  tick_needed = true if @query_list.empty?
789
793
  if (@query_list.has_key?client_query_id)
790
- TheLog.error("Duplicate query id requested (#{client_query_id}")
794
+ Dnsruby.log.error{"Duplicate query id requested (#{client_query_id}"}
791
795
  client_queue.push([client_query_id, ArgumentError.new("Client query ID already in use")])
792
796
  return
793
797
  end
@@ -870,7 +874,7 @@ module Dnsruby
870
874
  # Send the next query
871
875
  res, retry_count = timeouts[timeout]
872
876
  id = [res, msg, client_query_id, retry_count]
873
- TheLog.debug("Sending msg to #{res.server}")
877
+ Dnsruby.log.debug{"Sending msg to #{res.server}"}
874
878
  # We should keep a list of the queries which are outstanding
875
879
  outstanding.push(id)
876
880
  timeouts_done.push(timeout)
@@ -903,24 +907,24 @@ module Dnsruby
903
907
  # @TODO@ Currently, tick and handle_queue_event called from select_thread - could have thread chuck events in to tick_queue. But then, clients would have to call in on other thread!
904
908
  #
905
909
  if (queue.empty?)
906
- TheLog.fatal("Queue empty in handle_queue_event!")
910
+ Dnsruby.log.fatal{"Queue empty in handle_queue_event!"}
907
911
  raise RuntimeError.new("Severe internal error - Queue empty in handle_queue_event")
908
912
  end
909
913
  event_id, response, error = queue.pop
910
914
  # We should remove this packet from the list of outstanding packets for this query
911
915
  resolver, msg, client_query_id, retry_count = id
912
916
  if (id != event_id)
913
- TheLog.error("Serious internal error!! #{id} expected, #{event_id} received")
917
+ Dnsruby.log.error{"Serious internal error!! #{id} expected, #{event_id} received"}
914
918
  raise RuntimeError.new("Serious internal error!! #{id} expected, #{event_id} received")
915
919
  end
916
920
  @mutex.synchronize{
917
921
  if (@query_list[client_query_id]==nil)
918
- TheLog.debug("Ignoring response for dead query")
922
+ Dnsruby.log.debug{"Ignoring response for dead query"}
919
923
  return
920
924
  end
921
925
  msg, client_queue, select_queue, outstanding = @query_list[client_query_id]
922
926
  if (!outstanding.include?id)
923
- TheLog.error("Query id not on outstanding list! #{outstanding.length} items. #{id} not on #{outstanding}")
927
+ Dnsruby.log.error{"Query id not on outstanding list! #{outstanding.length} items. #{id} not on #{outstanding}"}
924
928
  raise RuntimeError.new("Query id not on outstanding!")
925
929
  end
926
930
  outstanding.delete(id)
@@ -931,14 +935,14 @@ module Dnsruby
931
935
  else # if (event.kind_of?(Message))
932
936
  handle_response(queue, event_id, response)
933
937
  # else
934
- # TheLog.error("Random object #{event.class} returned through queue to Resolver")
938
+ # Dnsruby.log.error("Random object #{event.class} returned through queue to Resolver")
935
939
  end
936
940
  end
937
941
 
938
942
  def handle_error_response(select_queue, query_id, error, response) #:nodoc: all
939
943
  #Handle an error
940
944
  @mutex.synchronize{
941
- TheLog.debug("handling error #{error.class}, #{error}")
945
+ Dnsruby.log.debug{"handling error #{error.class}, #{error}"}
942
946
  # Check what sort of error it was :
943
947
  resolver, msg, client_query_id, retry_count = query_id
944
948
  msg, client_queue, select_queue, outstanding = @query_list[client_query_id]
@@ -949,7 +953,7 @@ module Dnsruby
949
953
  # Do we have any more packets to send to this resolver?
950
954
  timeouts = @timeouts[client_query_id]
951
955
  if (outstanding.empty? && timeouts[1].values.empty?)
952
- TheLog.debug("Sending timeout to client")
956
+ Dnsruby.log.debug{"Sending timeout to client"}
953
957
  send_result_and_close(client_queue, client_query_id, select_queue, response, error)
954
958
  end
955
959
  elsif (error.kind_of?NXDomain)
@@ -960,7 +964,7 @@ module Dnsruby
960
964
  # If a Too Many Open Files error, then don't remove, but let retry work.
961
965
  timeouts = @timeouts[client_query_id]
962
966
  if (!(error.to_s=~/Errno::EMFILE/))
963
- TheLog.debug("Removing #{resolver.server} from resolver list for this query")
967
+ Dnsruby.log.debug{"Removing #{resolver.server} from resolver list for this query"}
964
968
  timeouts[1].each do |key, value|
965
969
  res = value[0]
966
970
  if (res == resolver)
@@ -968,12 +972,12 @@ module Dnsruby
968
972
  end
969
973
  end
970
974
  else
971
- TheLog.debug("NOT Removing #{resolver.server} due to Errno::EMFILE")
975
+ Dnsruby.log.debug{"NOT Removing #{resolver.server} due to Errno::EMFILE"}
972
976
  end
973
977
  # - if it was the last server, then return an error to the client (and clean up)
974
978
  if (outstanding.empty? && timeouts[1].values.empty?)
975
979
  # if (outstanding.empty?)
976
- TheLog.debug("Sending error to client")
980
+ Dnsruby.log.debug{"Sending error to client"}
977
981
  send_result_and_close(client_queue, client_query_id, select_queue, response, error)
978
982
  end
979
983
  end
@@ -984,12 +988,12 @@ module Dnsruby
984
988
 
985
989
  def handle_response(select_queue, query_id, response) #:nodoc: all
986
990
  # Handle a good response
987
- TheLog.debug("Handling good response")
991
+ Dnsruby.log.debug{"Handling good response"}
988
992
  resolver, msg, client_query_id, retry_count = query_id
989
993
  @mutex.synchronize{
990
994
  query, client_queue, s_queue, outstanding = @query_list[client_query_id]
991
995
  if (s_queue != select_queue)
992
- TheLog.error("Serious internal error : expected select queue #{s_queue}, got #{select_queue}")
996
+ Dnsruby.log.error{"Serious internal error : expected select queue #{s_queue}, got #{select_queue}"}
993
997
  raise RuntimeError.new("Serious internal error : expected select queue #{s_queue}, got #{select_queue}")
994
998
  end
995
999
  send_result_and_close(client_queue, client_query_id, select_queue, response, nil)
@@ -129,7 +129,7 @@ module Dnsruby
129
129
  tsig = RR.new_from_hash({:type => Types.TSIG, :klass => Classes.ANY, :name => args[0][0], :key => args[0][1]})
130
130
  end
131
131
  else
132
- TheLog.info("TSIG signing switched off")
132
+ Dnsruby.log.info{"TSIG signing switched off"}
133
133
  return nil
134
134
  end
135
135
  elsif (args.length ==2)
@@ -137,7 +137,7 @@ module Dnsruby
137
137
  else
138
138
  raise ArgumentError.new("Wrong number of arguments to tsig=")
139
139
  end
140
- TheLog.info("TSIG signing now using #{tsig.name}, key=#{tsig.key}")
140
+ Dnsruby.log.info{"TSIG signing now using #{tsig.name}, key=#{tsig.key}"}
141
141
  return tsig
142
142
  end
143
143
 
@@ -146,7 +146,7 @@ module Dnsruby
146
146
  end
147
147
 
148
148
  def server=(server)
149
- TheLog.debug("SingleResolver setting server to #{server}")
149
+ Dnsruby.log.debug{"SingleResolver setting server to #{server}"}
150
150
  @server=Config.resolve_server(server)
151
151
  end
152
152
 
@@ -177,7 +177,9 @@ module Dnsruby
177
177
  @recurse = true
178
178
  @persistent_udp = false
179
179
  @persistent_tcp = false
180
- self.dnssec = true
180
+ @dnssec = true
181
+
182
+ seen_dnssec = false
181
183
 
182
184
  if (arg==nil)
183
185
  # Get default config
@@ -189,12 +191,18 @@ module Dnsruby
189
191
  arg.keys.each do |attr|
190
192
  begin
191
193
  send(attr.to_s+"=", arg[attr])
194
+ if (attr.to_s == "dnssec")
195
+ seen_dnssec = true
196
+ end
192
197
  rescue Exception
193
- TheLog.error("Argument #{attr} not valid\n")
198
+ Dnsruby.log.error{"Argument #{attr} not valid\n"}
194
199
  end
195
- # end
200
+ # end
196
201
  end
197
202
  end
203
+ if (!seen_dnssec)
204
+ @dnssec = true
205
+ end
198
206
  #Check server is IP
199
207
  @server=Config.resolve_server(@server)
200
208
 
@@ -224,11 +232,11 @@ module Dnsruby
224
232
  def send_message(msg, use_tcp=@use_tcp)
225
233
  q = Queue.new
226
234
  send_async(msg, q, Time.now + rand(1000000), use_tcp)
227
- id, msg, error = q.pop
235
+ id, reply, error = q.pop
228
236
  if (error != nil)
229
237
  raise error
230
238
  else
231
- return msg
239
+ return reply
232
240
  end
233
241
  end
234
242
 
@@ -287,7 +295,7 @@ module Dnsruby
287
295
  end
288
296
  query_packet = make_query_packet(msg, use_tcp)
289
297
  if (udp_packet_size < query_packet.length)
290
- TheLog.debug("Query packet length exceeds max UDP packet size - using TCP")
298
+ Dnsruby.log.debug{"Query packet length exceeds max UDP packet size - using TCP"}
291
299
  use_tcp = true
292
300
  end
293
301
  if (args.length > 1)
@@ -309,7 +317,7 @@ module Dnsruby
309
317
  return send_eventmachine(query_packet, msg, client_query_id, client_queue, use_tcp)
310
318
  else
311
319
  if (!client_query_id)
312
- client_query_id = Time.now + rand(10000)
320
+ client_query_id = Time.now + rand(10000) # is this safe?!
313
321
  end
314
322
  send_dnsruby(query_packet, msg, client_query_id, client_queue, use_tcp)
315
323
  return client_query_id
@@ -327,7 +335,7 @@ module Dnsruby
327
335
  ret = true
328
336
  if (response.header.tc && !use_tcp && !@ignore_truncation)
329
337
  # Try to resend over tcp
330
- TheLog.debug("Truncated - resending over TCP")
338
+ Dnsruby.log.debug{"Truncated - resending over TCP"}
331
339
  send_eventmachine(msg_bytes, msg, client_query_id, client_queue, true, client_deferrable, packet_timeout - (Time.now-start_time))
332
340
  else
333
341
  if (!check_tsig(msg, response, response_bytes))
@@ -370,17 +378,17 @@ module Dnsruby
370
378
  socket.close
371
379
  end
372
380
  err=IOError.new("dnsruby can't connect to #{@server}:#{@port} from #{@src_addr}:#{src_port}, use_tcp=#{use_tcp}, exception = #{e.class}, #{e}")
373
- TheLog.error("#{err}")
381
+ Dnsruby.log.error{"#{err}"}
374
382
  st.push_exception_to_select(client_query_id, client_queue, err, nil) # @TODO Do we still need this? Can we not just send it from here?
375
383
  return
376
384
  end
377
385
  if (socket==nil)
378
386
  err=IOError.new("dnsruby can't connect to #{@server}:#{@port} from #{@src_addr}:#{src_port}, use_tcp=#{use_tcp}")
379
- TheLog.error("#{err}")
387
+ Dnsruby.log.error{"#{err}"}
380
388
  st.push_exception_to_select(client_query_id, client_queue, err, nil) # @TODO Do we still need this? Can we not just send it from here?
381
389
  return
382
390
  end
383
- TheLog.debug("Sending packet to #{@server}:#{@port} from #{@src_addr}:#{src_port}, use_tcp=#{use_tcp}")
391
+ Dnsruby.log.debug{"Sending packet to #{@server}:#{@port} from #{@src_addr}:#{src_port}, use_tcp=#{use_tcp}"}
384
392
  begin
385
393
  if (use_tcp)
386
394
  lenmsg = [query_bytes.length].pack('n')
@@ -390,7 +398,7 @@ module Dnsruby
390
398
  rescue Exception => e
391
399
  socket.close
392
400
  err=IOError.new("Send failed to #{@server}:#{@port} from #{@src_addr}:#{src_port}, use_tcp=#{use_tcp}, exception : #{e}")
393
- TheLog.error("#{err}")
401
+ Dnsruby.log.error{"#{err}"}
394
402
  st.push_exception_to_select(client_query_id, client_queue, err, nil)
395
403
  return
396
404
  end
@@ -421,7 +429,7 @@ module Dnsruby
421
429
  end
422
430
  if (response.header.tc && !tcp)
423
431
  # Try to resend over tcp
424
- TheLog.debug("Truncated - resending over TCP")
432
+ Dnsruby.log.debug{"Truncated - resending over TCP"}
425
433
  send_async(query, client_queue, client_query_id, true)
426
434
  return false
427
435
  end
@@ -433,17 +441,17 @@ module Dnsruby
433
441
  if (response.tsig)
434
442
  if !query.tsig.verify(query, response, response_bytes)
435
443
  # Discard packet and wait for correctly signed response
436
- TheLog.error("TSIG authentication failed!")
444
+ Dnsruby.log.error{"TSIG authentication failed!"}
437
445
  return false
438
446
  end
439
447
  else
440
448
  # Treated as having format error and discarded (RFC2845, 4.6)
441
- TheLog.error("Expecting TSIG signed response, but got unsigned response - discarding")
449
+ Dnsruby.log.error{"Expecting TSIG signed response, but got unsigned response - discarding"}
442
450
  return false
443
451
  end
444
452
  elsif (response.tsig)
445
453
  # Error - signed response to unsigned query
446
- TheLog.error("Signed response to unsigned query")
454
+ Dnsruby.log.error{"Signed response to unsigned query"}
447
455
  return false
448
456
  end
449
457
  return true
@@ -457,7 +465,7 @@ module Dnsruby
457
465
 
458
466
  if (@dnssec)
459
467
  # RFC 4035
460
- TheLog.debug(";; Adding EDNS extention with UDP packetsize #{udp_packet_size} and DNS OK bit set\n")
468
+ Dnsruby.log.debug{";; Adding EDNS extention with UDP packetsize #{udp_packet_size} and DNS OK bit set\n"}
461
469
  optrr = RR::OPT.new(udp_packet_size) # Decimal UDPpayload
462
470
  optrr.dnssec_ok=true
463
471
 
@@ -469,7 +477,7 @@ module Dnsruby
469
477
 
470
478
  elsif ((udp_packet_size > Resolver::DefaultUDPSize) && !use_tcp)
471
479
  # if ((udp_packet_size > Resolver::DefaultUDPSize) && !use_tcp)
472
- TheLog.debug(";; Adding EDNS extention with UDP packetsize #{udp_packet_size}.\n")
480
+ Dnsruby.log.debug{";; Adding EDNS extention with UDP packetsize #{udp_packet_size}.\n"}
473
481
  # RFC 3225
474
482
  optrr = RR::OPT.new(udp_packet_size)
475
483
 
@@ -17,7 +17,7 @@ require 'logger'
17
17
  require 'singleton'
18
18
  require 'thread'
19
19
  module Dnsruby
20
- #This singleton class holds a reference to the Logger object used by the whole of the Dnsruby project.
20
+ #This class exists for backwards compatibility.
21
21
  #
22
22
  #It's Logger (which defaults to STDOUT, level FATAL) can be configured, or a new Logger can be supplied.
23
23
  #
@@ -25,36 +25,20 @@ module Dnsruby
25
25
  # Dnsruby::TheLog.debug("Debug message")
26
26
  #
27
27
  class TheLog
28
- include Singleton
29
- def initialize() #:nodoc: all
30
- @@mutex=Mutex.new
31
- @@logger = Logger.new(STDOUT)
32
- @@logger.level = Logger::FATAL
33
- end
34
28
  # Set a new Logger for use by Dnsruby
35
29
  def set_logger(logger)
36
- @@mutex.synchronize{
37
- @@logger = logger
38
- }
30
+ Dnsruby.log = logger
39
31
  end
40
32
  # Change the Logger level.
41
33
  def level=(level)
42
- @@mutex.synchronize{
43
- @@logger.level = level
44
- }
34
+ Dnsruby.log.level = level
45
35
  end
46
36
  def level
47
- @@mutex.synchronize{
48
- return @@logger.level
49
- }
37
+ return Dnsruby.log.level
50
38
  end
51
39
 
52
40
  def self.method_missing(symbol, *args) #:nodoc: all
53
- @@mutex.synchronize{
54
- now = Time.now
55
- @@logger.send(symbol, *args)
56
- }
41
+ Dnsruby.log.send(symbol, *args)
57
42
  end
58
- log = TheLog.instance
59
43
  end
60
44
  end
@@ -313,7 +313,7 @@ module Dnsruby
313
313
  #3.1.8.1. Signature Calculation
314
314
 
315
315
  if (keyrec.sep_key? && !keyrec.zone_key?)
316
- TheLog.error("DNSKEY with with SEP flag set and Zone Key flag not set was used to verify RRSIG over RRSET - this is not allowed by RFC4034 section 2.1.1")
316
+ Dnsruby.log.error("DNSKEY with with SEP flag set and Zone Key flag not set was used to verify RRSIG over RRSET - this is not allowed by RFC4034 section 2.1.1")
317
317
  return false
318
318
  end
319
319