dnstraverse 0.0.1

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 (144) hide show
  1. data/LICENSE +674 -0
  2. data/README +4 -0
  3. data/Rakefile +19 -0
  4. data/a +44 -0
  5. data/bin/dnstraverse +300 -0
  6. data/doc.tar +0 -0
  7. data/doc/classes/DNSTraverse.html +198 -0
  8. data/doc/classes/DNSTraverse/CachingResolver.html +172 -0
  9. data/doc/classes/DNSTraverse/CachingResolver.src/M000055.html +21 -0
  10. data/doc/classes/DNSTraverse/CachingResolver.src/M000056.html +42 -0
  11. data/doc/classes/DNSTraverse/DecodedQuery.html +475 -0
  12. data/doc/classes/DNSTraverse/DecodedQuery.src/M000020.html +34 -0
  13. data/doc/classes/DNSTraverse/DecodedQuery.src/M000021.html +23 -0
  14. data/doc/classes/DNSTraverse/DecodedQuery.src/M000022.html +19 -0
  15. data/doc/classes/DNSTraverse/DecodedQuery.src/M000023.html +33 -0
  16. data/doc/classes/DNSTraverse/DecodedQuery.src/M000024.html +26 -0
  17. data/doc/classes/DNSTraverse/DecodedQuery.src/M000025.html +24 -0
  18. data/doc/classes/DNSTraverse/DecodedQuery.src/M000026.html +29 -0
  19. data/doc/classes/DNSTraverse/DecodedQuery.src/M000027.html +19 -0
  20. data/doc/classes/DNSTraverse/DecodedQuery.src/M000028.html +18 -0
  21. data/doc/classes/DNSTraverse/DecodedQuery.src/M000029.html +32 -0
  22. data/doc/classes/DNSTraverse/DecodedQuery.src/M000030.html +19 -0
  23. data/doc/classes/DNSTraverse/DecodedQuery.src/M000031.html +19 -0
  24. data/doc/classes/DNSTraverse/DecodedQuery.src/M000032.html +20 -0
  25. data/doc/classes/DNSTraverse/DecodedQuery.src/M000033.html +31 -0
  26. data/doc/classes/DNSTraverse/DecodedQueryCache.html +182 -0
  27. data/doc/classes/DNSTraverse/DecodedQueryCache.src/M000063.html +21 -0
  28. data/doc/classes/DNSTraverse/DecodedQueryCache.src/M000064.html +33 -0
  29. data/doc/classes/DNSTraverse/Fingerprint.html +277 -0
  30. data/doc/classes/DNSTraverse/Fingerprint.src/M000047.html +29 -0
  31. data/doc/classes/DNSTraverse/Fingerprint.src/M000048.html +18 -0
  32. data/doc/classes/DNSTraverse/Fingerprint.src/M000049.html +57 -0
  33. data/doc/classes/DNSTraverse/Fingerprint.src/M000050.html +28 -0
  34. data/doc/classes/DNSTraverse/Fingerprint.src/M000051.html +27 -0
  35. data/doc/classes/DNSTraverse/Fingerprint.src/M000052.html +35 -0
  36. data/doc/classes/DNSTraverse/Fingerprint.src/M000053.html +24 -0
  37. data/doc/classes/DNSTraverse/Fingerprint.src/M000054.html +29 -0
  38. data/doc/classes/DNSTraverse/InfoCache.html +235 -0
  39. data/doc/classes/DNSTraverse/InfoCache.src/M000034.html +20 -0
  40. data/doc/classes/DNSTraverse/InfoCache.src/M000035.html +23 -0
  41. data/doc/classes/DNSTraverse/InfoCache.src/M000036.html +28 -0
  42. data/doc/classes/DNSTraverse/InfoCache.src/M000037.html +25 -0
  43. data/doc/classes/DNSTraverse/InfoCache.src/M000038.html +27 -0
  44. data/doc/classes/DNSTraverse/InfoCache.src/M000039.html +33 -0
  45. data/doc/classes/DNSTraverse/MessageUtility.html +275 -0
  46. data/doc/classes/DNSTraverse/MessageUtility.src/M000011.html +35 -0
  47. data/doc/classes/DNSTraverse/MessageUtility.src/M000012.html +37 -0
  48. data/doc/classes/DNSTraverse/MessageUtility.src/M000013.html +28 -0
  49. data/doc/classes/DNSTraverse/MessageUtility.src/M000014.html +27 -0
  50. data/doc/classes/DNSTraverse/MessageUtility.src/M000015.html +30 -0
  51. data/doc/classes/DNSTraverse/MessageUtility.src/M000016.html +32 -0
  52. data/doc/classes/DNSTraverse/MessageUtility.src/M000017.html +34 -0
  53. data/doc/classes/DNSTraverse/MessageUtility.src/M000018.html +23 -0
  54. data/doc/classes/DNSTraverse/MessageUtility.src/M000019.html +36 -0
  55. data/doc/classes/DNSTraverse/Referral.html +641 -0
  56. data/doc/classes/DNSTraverse/Referral.src/M000065.html +22 -0
  57. data/doc/classes/DNSTraverse/Referral.src/M000066.html +21 -0
  58. data/doc/classes/DNSTraverse/Referral.src/M000067.html +23 -0
  59. data/doc/classes/DNSTraverse/Referral.src/M000068.html +19 -0
  60. data/doc/classes/DNSTraverse/Referral.src/M000069.html +18 -0
  61. data/doc/classes/DNSTraverse/Referral.src/M000070.html +54 -0
  62. data/doc/classes/DNSTraverse/Referral.src/M000071.html +25 -0
  63. data/doc/classes/DNSTraverse/Referral.src/M000072.html +27 -0
  64. data/doc/classes/DNSTraverse/Referral.src/M000073.html +23 -0
  65. data/doc/classes/DNSTraverse/Referral.src/M000074.html +20 -0
  66. data/doc/classes/DNSTraverse/Referral.src/M000075.html +40 -0
  67. data/doc/classes/DNSTraverse/Referral.src/M000076.html +52 -0
  68. data/doc/classes/DNSTraverse/Referral.src/M000077.html +29 -0
  69. data/doc/classes/DNSTraverse/Referral.src/M000078.html +54 -0
  70. data/doc/classes/DNSTraverse/Referral.src/M000079.html +18 -0
  71. data/doc/classes/DNSTraverse/Referral.src/M000080.html +22 -0
  72. data/doc/classes/DNSTraverse/Referral.src/M000081.html +20 -0
  73. data/doc/classes/DNSTraverse/Referral.src/M000082.html +29 -0
  74. data/doc/classes/DNSTraverse/Referral.src/M000083.html +28 -0
  75. data/doc/classes/DNSTraverse/Referral.src/M000084.html +29 -0
  76. data/doc/classes/DNSTraverse/Referral.src/M000085.html +55 -0
  77. data/doc/classes/DNSTraverse/Referral.src/M000086.html +30 -0
  78. data/doc/classes/DNSTraverse/Referral.src/M000087.html +24 -0
  79. data/doc/classes/DNSTraverse/Referral.src/M000088.html +20 -0
  80. data/doc/classes/DNSTraverse/Referral.src/M000089.html +58 -0
  81. data/doc/classes/DNSTraverse/ResolveError.html +111 -0
  82. data/doc/classes/DNSTraverse/Response.html +271 -0
  83. data/doc/classes/DNSTraverse/Response.src/M000057.html +27 -0
  84. data/doc/classes/DNSTraverse/Response.src/M000058.html +21 -0
  85. data/doc/classes/DNSTraverse/Response.src/M000059.html +19 -0
  86. data/doc/classes/DNSTraverse/Response.src/M000060.html +21 -0
  87. data/doc/classes/DNSTraverse/Response.src/M000061.html +31 -0
  88. data/doc/classes/DNSTraverse/Response.src/M000062.html +23 -0
  89. data/doc/classes/DNSTraverse/Response/NoGlue.html +222 -0
  90. data/doc/classes/DNSTraverse/Response/NoGlue.src/M000007.html +32 -0
  91. data/doc/classes/DNSTraverse/Response/NoGlue.src/M000008.html +18 -0
  92. data/doc/classes/DNSTraverse/Response/NoGlue.src/M000009.html +18 -0
  93. data/doc/classes/DNSTraverse/Response/NoGlue.src/M000010.html +18 -0
  94. data/doc/classes/DNSTraverse/Traverser.html +247 -0
  95. data/doc/classes/DNSTraverse/Traverser.src/M000040.html +17 -0
  96. data/doc/classes/DNSTraverse/Traverser.src/M000041.html +52 -0
  97. data/doc/classes/DNSTraverse/Traverser.src/M000042.html +61 -0
  98. data/doc/classes/DNSTraverse/Traverser.src/M000043.html +110 -0
  99. data/doc/classes/DNSTraverse/Traverser.src/M000044.html +63 -0
  100. data/doc/classes/DNSTraverse/Traverser.src/M000045.html +28 -0
  101. data/doc/classes/DNSTraverse/Traverser.src/M000046.html +18 -0
  102. data/doc/classes/FingerprintRules.html +175 -0
  103. data/doc/classes/Log.html +174 -0
  104. data/doc/classes/Log.src/M000002.html +18 -0
  105. data/doc/classes/Log.src/M000003.html +18 -0
  106. data/doc/classes/Log.src/M000004.html +18 -0
  107. data/doc/classes/Log/Formatter.html +165 -0
  108. data/doc/classes/Log/Formatter.src/M000005.html +22 -0
  109. data/doc/classes/Log/Formatter.src/M000006.html +24 -0
  110. data/doc/classes/TestFingerprint.html +137 -0
  111. data/doc/classes/TestFingerprint.src/M000001.html +22 -0
  112. data/doc/created.rid +1 -0
  113. data/doc/files/lib/dnstraverse/caching_resolver_rb.html +132 -0
  114. data/doc/files/lib/dnstraverse/decoded_query_cache_rb.html +132 -0
  115. data/doc/files/lib/dnstraverse/decoded_query_rb.html +132 -0
  116. data/doc/files/lib/dnstraverse/fingerprint_rb.html +134 -0
  117. data/doc/files/lib/dnstraverse/fingerprint_rules_rb.html +143 -0
  118. data/doc/files/lib/dnstraverse/info_cache_rb.html +131 -0
  119. data/doc/files/lib/dnstraverse/log_rb.html +131 -0
  120. data/doc/files/lib/dnstraverse/message_utility_rb.html +124 -0
  121. data/doc/files/lib/dnstraverse/referral_rb.html +134 -0
  122. data/doc/files/lib/dnstraverse/response_noglue_rb.html +124 -0
  123. data/doc/files/lib/dnstraverse/response_rb.html +132 -0
  124. data/doc/files/lib/dnstraverse/traverser_rb.html +137 -0
  125. data/doc/files/test/test_fingerprint_rb.html +133 -0
  126. data/doc/fr_class_index.html +43 -0
  127. data/doc/fr_file_index.html +39 -0
  128. data/doc/fr_method_index.html +115 -0
  129. data/doc/index.html +24 -0
  130. data/doc/rdoc-style.css +208 -0
  131. data/lib/dnstraverse/caching_resolver.rb +63 -0
  132. data/lib/dnstraverse/decoded_query.rb +199 -0
  133. data/lib/dnstraverse/decoded_query_cache.rb +53 -0
  134. data/lib/dnstraverse/fingerprint.rb +166 -0
  135. data/lib/dnstraverse/fingerprint_rules.rb +389 -0
  136. data/lib/dnstraverse/info_cache.rb +108 -0
  137. data/lib/dnstraverse/log.rb +55 -0
  138. data/lib/dnstraverse/message_utility.rb +199 -0
  139. data/lib/dnstraverse/referral.rb +463 -0
  140. data/lib/dnstraverse/response.rb +92 -0
  141. data/lib/dnstraverse/response_noglue.rb +54 -0
  142. data/lib/dnstraverse/traverser.rb +291 -0
  143. data/test/test_fingerprint.rb +29 -0
  144. metadata +231 -0
@@ -0,0 +1,34 @@
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>new (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 36</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">args</span>)
15
+ <span class="ruby-ivar">@message</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:message</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># skip query - use this message/exception</span>
16
+ <span class="ruby-ivar">@qname</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:qname</span>] <span class="ruby-comment cmt"># the query name</span>
17
+ <span class="ruby-ivar">@qclass</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:qclass</span>] <span class="ruby-comment cmt"># the query class</span>
18
+ <span class="ruby-ivar">@qtype</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:qtype</span>] <span class="ruby-comment cmt"># the query type</span>
19
+ <span class="ruby-ivar">@ip</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:ip</span>] <span class="ruby-comment cmt"># the nameserver to query (was queried if :message passed)</span>
20
+ <span class="ruby-ivar">@resolver</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:resolver</span>] <span class="ruby-comment cmt"># Dnsruby::Resolver / CachingResolver object</span>
21
+ <span class="ruby-ivar">@bailiwick</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:bailiwick</span>] <span class="ruby-comment cmt"># the bailiwick in force</span>
22
+ <span class="ruby-ivar">@cacheable_good</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-comment cmt"># in-bailiwick records</span>
23
+ <span class="ruby-ivar">@cacheable_bad</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-comment cmt"># out-of-bailiwick records</span>
24
+ <span class="ruby-ivar">@auth_ns</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># NS RR records in authority section</span>
25
+ <span class="ruby-ivar">@auth_soa</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># SOA RR records in authority section</span>
26
+ <span class="ruby-ivar">@auth_other</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># Other RR records in authority section</span>
27
+ <span class="ruby-ivar">@answers</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># Answers, if :answered</span>
28
+ <span class="ruby-ivar">@warnings</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># Warnings if there are any (array)</span>
29
+ <span class="ruby-identifier">query</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@message</span>
30
+ <span class="ruby-identifier">process</span>
31
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
32
+ <span class="ruby-keyword kw">end</span></pre>
33
+ </body>
34
+ </html>
@@ -0,0 +1,23 @@
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>warnings_add (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 56</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warnings_add</span>(<span class="ruby-identifier">warning</span>)
15
+ <span class="ruby-ivar">@warnings</span> = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@warnings</span>
16
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">warning</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span> <span class="ruby-keyword kw">then</span>
17
+ <span class="ruby-ivar">@warnings</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">warning</span>
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-ivar">@warnings</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">warning</span>
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-keyword kw">end</span></pre>
22
+ </body>
23
+ </html>
@@ -0,0 +1,19 @@
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>makequery_with_udpsize (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 65</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">makequery_with_udpsize</span>(<span class="ruby-identifier">udpsize</span>)
15
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">udp_size</span> = <span class="ruby-identifier">udpsize</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">query</span>(<span class="ruby-ivar">@qname</span>, <span class="ruby-ivar">@qtype</span>)
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,33 @@
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>makequery_message (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 73</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">makequery_message</span>
15
+ <span class="ruby-identifier">my_udp_size</span> = <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">udp_size</span>
16
+ <span class="ruby-identifier">message</span> = <span class="ruby-identifier">makequery_with_udpsize</span>(<span class="ruby-identifier">my_udp_size</span>)
17
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Exception</span>
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">my_udp_size</span> <span class="ruby-operator">==</span> <span class="ruby-value">512</span>
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">message</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">FORMERR</span> <span class="ruby-keyword kw">and</span>
20
+ <span class="ruby-identifier">message</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOTIMP</span> <span class="ruby-keyword kw">and</span>
21
+ <span class="ruby-identifier">message</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">SERVFAIL</span>)
22
+ <span class="ruby-constant">Log</span>.<span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot;Possible failure by nameserver to understand EDNS0 - retry&quot;</span> }
23
+ <span class="ruby-identifier">message_retry</span> = <span class="ruby-identifier">makequery_with_udpsize</span>(<span class="ruby-value">512</span>)
24
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">udp_size</span> = <span class="ruby-identifier">my_udp_size</span>
25
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message_retry</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Exception</span>
26
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">message_retry</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">FORMERR</span> <span class="ruby-keyword kw">or</span>
27
+ <span class="ruby-identifier">message_retry</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOTIMP</span> <span class="ruby-keyword kw">or</span>
28
+ <span class="ruby-identifier">message_retry</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span>.<span class="ruby-constant">SERVFAIL</span>)
29
+ <span class="ruby-identifier">warnings_add</span> <span class="ruby-node">&quot;#{message.answerfrom} doesn't seem to support EDNS0&quot;</span>
30
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">message_retry</span>
31
+ <span class="ruby-keyword kw">end</span></pre>
32
+ </body>
33
+ </html>
@@ -0,0 +1,26 @@
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>query (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 92</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query</span>
15
+ <span class="ruby-constant">Log</span>.<span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;Querying #{@ip} for #{@qname}/#{@qclass}/#{@qtype}&quot;</span> }
16
+ <span class="ruby-ivar">@resolver</span>.<span class="ruby-identifier">nameserver</span> = <span class="ruby-identifier">ip</span>
17
+ <span class="ruby-ivar">@message</span> = <span class="ruby-identifier">makequery_message</span>
18
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Exception</span> <span class="ruby-keyword kw">then</span>
19
+ <span class="ruby-identifier">msg_validate</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">:qname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@qname</span>, <span class="ruby-identifier">:qclass</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@qclass</span>,
20
+ <span class="ruby-identifier">:qtype</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@qtype</span>)
21
+ <span class="ruby-identifier">warnings_add</span> <span class="ruby-identifier">msg_comment</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">:want_recursion</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@message</span>
24
+ <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -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>inside_bailiwick? (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 111</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inside_bailiwick?</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@bailiwick</span>.<span class="ruby-identifier">nil?</span>
16
+ <span class="ruby-identifier">bwend</span> = <span class="ruby-node">&quot;.#{@bailiwick}&quot;</span>
17
+ <span class="ruby-identifier">namestr</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">namestr</span>.<span class="ruby-identifier">casecmp</span>(<span class="ruby-ivar">@bailiwick</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">namestr</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/#{bwend}$/i</span>
20
+ <span class="ruby-constant">Log</span>.<span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;#{namestr} is not inside bailiwick #{@bailiwick}&quot;</span> }
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-keyword kw">end</span></pre>
23
+ </body>
24
+ </html>
@@ -0,0 +1,29 @@
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>process (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 124</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_exception</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Exception</span>
16
+ <span class="ruby-ivar">@auth_ns</span>, <span class="ruby-ivar">@auth_soa</span>, <span class="ruby-ivar">@auth_other</span> = <span class="ruby-identifier">msg_authority</span>(<span class="ruby-ivar">@message</span>)
17
+ <span class="ruby-ivar">@cacheable_good</span>, <span class="ruby-ivar">@cacheable_bad</span> = <span class="ruby-identifier">msg_cacheable</span>(<span class="ruby-ivar">@message</span>, <span class="ruby-ivar">@bailiwick</span>)
18
+ <span class="ruby-ivar">@endname</span> = <span class="ruby-identifier">msg_follow_cnames</span>(<span class="ruby-ivar">@message</span>, <span class="ruby-identifier">:qname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@qname</span>, <span class="ruby-identifier">:qtype</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@qtype</span>,
19
+ <span class="ruby-identifier">:bailiwick</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@bailiwick</span>)
20
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_restart</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">inside_bailiwick?</span>(<span class="ruby-ivar">@endname</span>)
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_error</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">rcode</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">NOERROR</span>
22
+ <span class="ruby-ivar">@answers</span> = <span class="ruby-identifier">msg_answers?</span>(<span class="ruby-ivar">@message</span>, <span class="ruby-identifier">:qname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@endname</span>, <span class="ruby-identifier">:qtype</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">qtype</span>)
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_answered</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@answers</span>
24
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_nodata</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@auth_soa</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">or</span> <span class="ruby-ivar">@auth_ns</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
25
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_referral</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@auth_ns</span>.<span class="ruby-identifier">empty?</span>
26
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">process_restart</span>
27
+ <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -0,0 +1,19 @@
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>process_exception (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 139</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_exception</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:exception</span>
16
+ <span class="ruby-ivar">@exception_message</span> = <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">to_s</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,18 @@
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>process_restart (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 144</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_restart</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:restart</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,32 @@
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>process_error (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 148</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_error</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:error</span>
16
+ <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">rcode</span>
17
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span><span class="ruby-operator">::</span><span class="ruby-constant">FORMERR</span>
18
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-value str">&quot;Formate error (FORMERR)&quot;</span>
19
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span><span class="ruby-operator">::</span><span class="ruby-constant">SERVFAIL</span>
20
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-value str">&quot;Server failure (SERVFAIL)&quot;</span>
21
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Dnsruby</span><span class="ruby-operator">::</span><span class="ruby-constant">RCode</span><span class="ruby-operator">::</span><span class="ruby-constant">NXDOMAIN</span>
22
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-value str">&quot;No such domain (NXDOMAIN)&quot;</span>
23
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">NOTIMP</span>
24
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-value str">&quot;Not implemented (NOTIMP)&quot;</span>
25
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">REFUSED</span>
26
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-value str">&quot;Refused&quot;</span>
27
+ <span class="ruby-keyword kw">else</span>
28
+ <span class="ruby-ivar">@error_message</span> = <span class="ruby-ivar">@message</span>.<span class="ruby-identifier">rcode</span>.<span class="ruby-identifier">to_s</span>
29
+ <span class="ruby-keyword kw">end</span>
30
+ <span class="ruby-keyword kw">end</span></pre>
31
+ </body>
32
+ </html>
@@ -0,0 +1,19 @@
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>process_answered (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 166</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_answered</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:answered</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,19 @@
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>process_nodata (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 171</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_nodata</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:nodata</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,20 @@
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>process_referral (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 176</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_referral</span>
15
+ <span class="ruby-ivar">@status</span> = <span class="ruby-identifier">:referral</span>
16
+ <span class="ruby-ivar">@authoritynames</span> = <span class="ruby-ivar">@auth_ns</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">domainname</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span> }
17
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,31 @@
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>to_s (DNSTraverse::DecodedQuery)</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/dnstraverse/decoded_query.rb, line 182</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
+ <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@status</span>
16
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:error</span>
17
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;Error: #{@error_message}&quot;</span>
18
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:exception</span>
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;Exception: #{@exception_message}&quot;</span>
20
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:nodata</span>
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;No data&quot;</span>
22
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:answered</span>
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;Answered (#{@answers.size} entries)&quot;</span>
24
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:referral</span>
25
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;Referral to #{@authoritynames.join(',')}&quot;</span>
26
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:restart</span>
27
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;Query re-start with #{@endname}&quot;</span>
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-keyword kw">end</span></pre>
30
+ </body>
31
+ </html>
@@ -0,0 +1,182 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: DNSTraverse::DecodedQueryCache</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">DNSTraverse::DecodedQueryCache</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/dnstraverse/decoded_query_cache_rb.html">
59
+ lib/dnstraverse/decoded_query_cache.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000063">new</a>&nbsp;&nbsp;
90
+ <a href="#M000064">query</a>&nbsp;&nbsp;
91
+ </div>
92
+ </div>
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+ <div id="attribute-list">
106
+ <h3 class="section-bar">Attributes</h3>
107
+
108
+ <div class="name-list">
109
+ <table>
110
+ <tr class="top-aligned-row context-row">
111
+ <td class="context-item-name">cache</td>
112
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
113
+ <td class="context-item-desc"></td>
114
+ </tr>
115
+ <tr class="top-aligned-row context-row">
116
+ <td class="context-item-name">cache_hits</td>
117
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
118
+ <td class="context-item-desc"></td>
119
+ </tr>
120
+ <tr class="top-aligned-row context-row">
121
+ <td class="context-item-name">requests</td>
122
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
123
+ <td class="context-item-desc"></td>
124
+ </tr>
125
+ <tr class="top-aligned-row context-row">
126
+ <td class="context-item-name">resolver</td>
127
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
128
+ <td class="context-item-desc"></td>
129
+ </tr>
130
+ </table>
131
+ </div>
132
+ </div>
133
+
134
+
135
+
136
+ <!-- if method_list -->
137
+ <div id="methods">
138
+ <h3 class="section-bar">Public Class methods</h3>
139
+
140
+ <div id="method-M000063" class="method-detail">
141
+ <a name="M000063"></a>
142
+
143
+ <div class="method-heading">
144
+ <a href="DecodedQueryCache.src/M000063.html" target="Code" class="method-signature"
145
+ onclick="popupCode('DecodedQueryCache.src/M000063.html');return false;">
146
+ <span class="method-name">new</span><span class="method-args">(args)</span>
147
+ </a>
148
+ </div>
149
+
150
+ <div class="method-description">
151
+ </div>
152
+ </div>
153
+
154
+ <h3 class="section-bar">Public Instance methods</h3>
155
+
156
+ <div id="method-M000064" class="method-detail">
157
+ <a name="M000064"></a>
158
+
159
+ <div class="method-heading">
160
+ <a href="DecodedQueryCache.src/M000064.html" target="Code" class="method-signature"
161
+ onclick="popupCode('DecodedQueryCache.src/M000064.html');return false;">
162
+ <span class="method-name">query</span><span class="method-args">(args)</span>
163
+ </a>
164
+ </div>
165
+
166
+ <div class="method-description">
167
+ </div>
168
+ </div>
169
+
170
+
171
+ </div>
172
+
173
+
174
+ </div>
175
+
176
+
177
+ <div id="validator-badges">
178
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
179
+ </div>
180
+
181
+ </body>
182
+ </html>