rubydns 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,7 +22,7 @@ module RubyDNS
22
22
  module VERSION #:nodoc:
23
23
  MAJOR = 0
24
24
  MINOR = 5
25
- TINY = 0
25
+ TINY = 1
26
26
 
27
27
  STRING = [MAJOR, MINOR, TINY].join('.')
28
28
  end
Binary file
@@ -28,23 +28,23 @@ require 'rexec/daemon'
28
28
  require 'rubygems'
29
29
  require 'rubydns'
30
30
 
31
+ require 'rubydns/resolver'
32
+ require 'rubydns/system'
33
+
31
34
  INTERFACES = [
32
35
  [:udp, "0.0.0.0", 5300]
33
36
  ]
34
37
 
35
- # Very simple XMLRPC daemon
36
- class TestDaemon < RExec::Daemon::Base
38
+ class DroppingDaemon < RExec::Daemon::Base
37
39
  # You can specify a specific directory to use for run-time information (pid, logs, etc):
38
- # @@var_directory = "/tmp/ruby-test/var"
40
+ # @@base_directory = File.expand_path("../", __FILE__)
41
+ # @@base_directory = "/var"
39
42
 
40
43
  Name = Resolv::DNS::Name
41
44
  IN = Resolv::DNS::Resource::IN
42
-
45
+ R = RubyDNS::Resolver.new(RubyDNS::System::nameservers)
46
+
43
47
  def self.run
44
- $stderr.sync = true
45
-
46
- $R = Resolv::DNS.new
47
-
48
48
  RubyDNS::run_server(:listen => INTERFACES) do
49
49
  # Fail the resolution of certain domains ;)
50
50
  match(/(m?i?c?r?o?s?o?f?t)/) do |match_data, transaction|
@@ -66,10 +66,10 @@ class TestDaemon < RExec::Daemon::Base
66
66
  # Default DNS handler
67
67
  otherwise do |transaction|
68
68
  logger.info "Passing DNS request upstream..."
69
- transaction.passthrough!($R)
69
+ transaction.passthrough!(R)
70
70
  end
71
71
  end
72
72
  end
73
73
  end
74
74
 
75
- TestDaemon.daemonize
75
+ DroppingDaemon.daemonize
@@ -29,8 +29,6 @@ require 'rexec/daemon'
29
29
  require 'rubygems'
30
30
 
31
31
  require 'rubydns'
32
-
33
- # Provides String#chunked
34
32
  require 'rubydns/extensions/string'
35
33
 
36
34
  require 'digest/md5'
@@ -0,0 +1,86 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Copyright (c) 2009, 2011 Samuel G. D. Williams. <http://www.oriontransfer.co.nz>
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+
23
+ require 'rubygems'
24
+
25
+ require 'geoip'
26
+
27
+ require 'rexec'
28
+ require 'rexec/daemon'
29
+
30
+ require 'rubygems'
31
+ require 'rubydns'
32
+
33
+ require 'rubydns/resolver'
34
+ require 'rubydns/system'
35
+
36
+ INTERFACES = [
37
+ [:udp, "0.0.0.0", 5300]
38
+ ]
39
+
40
+ # This daemon requires the file downloaded from http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
41
+ # For more information, please see http://www.maxmind.com/en/geolite and http://geoip.rubyforge.org
42
+
43
+ class GeoIPDNSDaemon < RExec::Daemon::Base
44
+ # You can specify a specific directory to use for run-time information (pid, logs, etc):
45
+ # @@base_directory = File.expand_path("../", __FILE__)
46
+ # @@base_directory = "/var"
47
+
48
+ Name = Resolv::DNS::Name
49
+ IN = Resolv::DNS::Resource::IN
50
+ R = RubyDNS::Resolver.new(RubyDNS::System::nameservers)
51
+ GEO = GeoIP.new(File.expand_path('../GeoLiteCountry.dat', __FILE__))
52
+
53
+ def self.run
54
+ RubyDNS::run_server(:listen => INTERFACES) do
55
+ match(//, IN::A) do |match_data, transaction|
56
+ location = nil
57
+ peer = transaction.options[:peer]
58
+
59
+ if peer
60
+ logger.debug "Looking up geographic information for peer #{peer}"
61
+ location = GEO.country(peer[0])
62
+ end
63
+
64
+ if location
65
+ logger.debug "Found location #{location}"
66
+ end
67
+
68
+ case location.continent_code
69
+ when "EU"
70
+ transaction.respond!("1.1.1.1")
71
+ when "CN", "JP"
72
+ transaction.respond!("1.1.2.1")
73
+ else
74
+ transaction.respond!("1.1.3.1")
75
+ end
76
+ end
77
+
78
+ # Default DNS handler
79
+ otherwise do |transaction|
80
+ transaction.passthrough!(R)
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ GeoIPDNSDaemon.daemonize
@@ -0,0 +1,107 @@
1
+ === Log Marked @ 2012-10-21 18:31:18 +1300 ===
2
+ I, [2012-10-21T18:31:18.720234 #60611] INFO -- : Starting RubyDNS server (v0.5.1)...
3
+ I, [2012-10-21T18:31:18.720934 #60611] INFO -- : Listening on udp:0.0.0.0:5300
4
+ D, [2012-10-21T18:31:27.155397 #60611] DEBUG -- : Receiving incoming query (31 bytes)...
5
+ D, [2012-10-21T18:31:27.156184 #60611] DEBUG -- : Processing question microsoft.com Resolv::DNS::Resource::IN::A...
6
+ D, [2012-10-21T18:31:27.156345 #60611] DEBUG -- : Searching for microsoft.com Resolv::DNS::Resource::IN::A
7
+ D, [2012-10-21T18:31:27.156466 #60611] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
8
+ D, [2012-10-21T18:31:27.156804 #60611] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
9
+ D, [2012-10-21T18:31:27.156907 #60611] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
10
+ D, [2012-10-21T18:31:27.157045 #60611] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
11
+ I, [2012-10-21T18:31:27.157131 #60611] INFO -- : Passing DNS request upstream...
12
+ E, [2012-10-21T18:31:27.157303 #60611] ERROR -- : Exception thrown while processing microsoft.com Resolv::DNS::Resource::IN::A!
13
+ E, [2012-10-21T18:31:27.157558 #60611] ERROR -- : NoMethodError: undefined method `cd' for #<RubyDNS::Server:0x007f9b4ba74138>
14
+ E, [2012-10-21T18:31:27.157649 #60611] ERROR -- : ./dropping_daemon.rb:69:in `block (2 levels) in run'
15
+ E, [2012-10-21T18:31:27.157731 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:165:in `call'
16
+ E, [2012-10-21T18:31:27.157855 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:165:in `process'
17
+ E, [2012-10-21T18:31:27.157981 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:71:in `process'
18
+ E, [2012-10-21T18:31:27.158149 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:227:in `block (2 levels) in process_query'
19
+ E, [2012-10-21T18:31:27.158274 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:235:in `call'
20
+ E, [2012-10-21T18:31:27.158407 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:235:in `process_query'
21
+ E, [2012-10-21T18:31:27.158535 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:36:in `process'
22
+ E, [2012-10-21T18:31:27.158659 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:59:in `receive_data'
23
+ E, [2012-10-21T18:31:27.158782 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
24
+ E, [2012-10-21T18:31:27.158905 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
25
+ E, [2012-10-21T18:31:27.159060 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns.rb:73:in `run_server'
26
+ E, [2012-10-21T18:31:27.159220 #60611] ERROR -- : ./dropping_daemon.rb:48:in `run'
27
+ E, [2012-10-21T18:31:27.159357 #60611] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rexec-1.5.1/lib/rexec/daemon/controller.rb:96:in `block (2 levels) in start'
28
+ D, [2012-10-21T18:31:27.159501 #60611] DEBUG -- : Passing answer back to caller...
29
+ D, [2012-10-21T18:31:27.159806 #60611] DEBUG -- : Writing response to client (12 bytes) via UDP...
30
+ === Daemon Stopping @ 2012-10-21 18:31:47 +1300 ===
31
+ === Log Marked @ 2012-10-21 18:31:47 +1300 ===
32
+ I, [2012-10-21T18:31:47.543182 #60772] INFO -- : Starting RubyDNS server (v0.5.1)...
33
+ I, [2012-10-21T18:31:47.544335 #60772] INFO -- : Listening on udp:0.0.0.0:5300
34
+ D, [2012-10-21T18:31:59.054685 #60772] DEBUG -- : Receiving incoming query (31 bytes)...
35
+ D, [2012-10-21T18:31:59.055672 #60772] DEBUG -- : Processing question microsoft.com Resolv::DNS::Resource::IN::A...
36
+ D, [2012-10-21T18:31:59.055824 #60772] DEBUG -- : Searching for microsoft.com Resolv::DNS::Resource::IN::A
37
+ D, [2012-10-21T18:31:59.055938 #60772] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
38
+ D, [2012-10-21T18:31:59.056131 #60772] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
39
+ D, [2012-10-21T18:31:59.056230 #60772] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
40
+ D, [2012-10-21T18:31:59.056344 #60772] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
41
+ I, [2012-10-21T18:31:59.056434 #60772] INFO -- : Passing DNS request upstream...
42
+ D, [2012-10-21T18:31:59.065495 #60772] DEBUG -- : Passing answer back to caller...
43
+ D, [2012-10-21T18:31:59.065753 #60772] DEBUG -- : Writing response to client (63 bytes) via UDP...
44
+ === Daemon Stopping @ 2012-10-21 18:49:46 +1300 ===
45
+ === Log Marked @ 2012-10-21 18:49:47 +1300 ===
46
+ I, [2012-10-21T18:49:47.103416 #61870] INFO -- : Starting RubyDNS server (v0.5.1)...
47
+ I, [2012-10-21T18:49:47.104574 #61870] INFO -- : Listening on udp:0.0.0.0:5300
48
+ === Daemon Stopping @ 2012-10-21 18:50:10 +1300 ===
49
+ === Log Marked @ 2012-10-21 18:50:11 +1300 ===
50
+ I, [2012-10-21T18:50:11.085128 #61945] INFO -- : Starting RubyDNS server (v0.5.1)...
51
+ I, [2012-10-21T18:50:11.086217 #61945] INFO -- : Listening on udp:0.0.0.0:5300
52
+ D, [2012-10-21T18:50:19.550564 #61945] DEBUG -- : Receiving incoming query (25 bytes)...
53
+ D, [2012-10-21T18:50:19.551836 #61945] DEBUG -- : Processing question sco.com Resolv::DNS::Resource::IN::A...
54
+ D, [2012-10-21T18:50:19.552066 #61945] DEBUG -- : Searching for sco.com Resolv::DNS::Resource::IN::A
55
+ D, [2012-10-21T18:50:19.552200 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
56
+ D, [2012-10-21T18:50:19.552476 #61945] DEBUG -- : No pattern matched.
57
+ D, [2012-10-21T18:50:19.552570 #61945] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
58
+ D, [2012-10-21T18:50:19.552723 #61945] DEBUG -- : Regexp pattern matched with #<MatchData "sco." 1:nil>.
59
+ I, [2012-10-21T18:50:19.552802 #61945] INFO -- : Dropping domain SCO...
60
+ D, [2012-10-21T18:50:19.552922 #61945] DEBUG -- : Passing answer back to caller...
61
+ D, [2012-10-21T18:50:19.553138 #61945] DEBUG -- : Writing response to client (25 bytes) via UDP...
62
+ D, [2012-10-21T18:50:25.812793 #61945] DEBUG -- : Receiving incoming query (29 bytes)...
63
+ D, [2012-10-21T18:50:25.813055 #61945] DEBUG -- : Processing question scooter.com Resolv::DNS::Resource::IN::A...
64
+ D, [2012-10-21T18:50:25.813164 #61945] DEBUG -- : Searching for scooter.com Resolv::DNS::Resource::IN::A
65
+ D, [2012-10-21T18:50:25.813253 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
66
+ D, [2012-10-21T18:50:25.813360 #61945] DEBUG -- : Regexp pattern matched with #<MatchData "coot" 1:"coot">.
67
+ D, [2012-10-21T18:50:25.813449 #61945] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
68
+ D, [2012-10-21T18:50:25.813532 #61945] DEBUG -- : No pattern matched.
69
+ I, [2012-10-21T18:50:25.813611 #61945] INFO -- : Passing DNS request upstream...
70
+ D, [2012-10-21T18:50:26.230932 #61945] DEBUG -- : Passing answer back to caller...
71
+ D, [2012-10-21T18:50:26.231649 #61945] DEBUG -- : Writing response to client (122 bytes) via UDP...
72
+ D, [2012-10-21T18:50:34.068495 #61945] DEBUG -- : Receiving incoming query (31 bytes)...
73
+ D, [2012-10-21T18:50:34.068840 #61945] DEBUG -- : Processing question microsoft.com Resolv::DNS::Resource::IN::A...
74
+ D, [2012-10-21T18:50:34.068957 #61945] DEBUG -- : Searching for microsoft.com Resolv::DNS::Resource::IN::A
75
+ D, [2012-10-21T18:50:34.069054 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
76
+ D, [2012-10-21T18:50:34.069161 #61945] DEBUG -- : Regexp pattern matched with #<MatchData "microsoft" 1:"microsoft">.
77
+ I, [2012-10-21T18:50:34.069278 #61945] INFO -- : Dropping domain MICROSOFT...
78
+ D, [2012-10-21T18:50:34.069377 #61945] DEBUG -- : Passing answer back to caller...
79
+ D, [2012-10-21T18:50:34.069513 #61945] DEBUG -- : Writing response to client (31 bytes) via UDP...
80
+ D, [2012-10-21T18:50:36.387575 #61945] DEBUG -- : Receiving incoming query (29 bytes)...
81
+ D, [2012-10-21T18:50:36.387877 #61945] DEBUG -- : Processing question microso.com Resolv::DNS::Resource::IN::A...
82
+ D, [2012-10-21T18:50:36.387986 #61945] DEBUG -- : Searching for microso.com Resolv::DNS::Resource::IN::A
83
+ D, [2012-10-21T18:50:36.388090 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
84
+ D, [2012-10-21T18:50:36.388193 #61945] DEBUG -- : No pattern matched.
85
+ D, [2012-10-21T18:50:36.388278 #61945] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
86
+ D, [2012-10-21T18:50:36.388364 #61945] DEBUG -- : No pattern matched.
87
+ I, [2012-10-21T18:50:36.388443 #61945] INFO -- : Passing DNS request upstream...
88
+ D, [2012-10-21T18:50:36.675166 #61945] DEBUG -- : Passing answer back to caller...
89
+ D, [2012-10-21T18:50:36.675915 #61945] DEBUG -- : Writing response to client (121 bytes) via UDP...
90
+ D, [2012-10-21T18:50:49.174460 #61945] DEBUG -- : Receiving incoming query (32 bytes)...
91
+ D, [2012-10-21T18:50:49.174717 #61945] DEBUG -- : Processing question micro-soft.com Resolv::DNS::Resource::IN::A...
92
+ D, [2012-10-21T18:50:49.174825 #61945] DEBUG -- : Searching for micro-soft.com Resolv::DNS::Resource::IN::A
93
+ D, [2012-10-21T18:50:49.174914 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
94
+ D, [2012-10-21T18:50:49.175031 #61945] DEBUG -- : Regexp pattern matched with #<MatchData "soft" 1:"soft">.
95
+ D, [2012-10-21T18:50:49.175120 #61945] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
96
+ D, [2012-10-21T18:50:49.175245 #61945] DEBUG -- : No pattern matched.
97
+ I, [2012-10-21T18:50:49.175324 #61945] INFO -- : Passing DNS request upstream...
98
+ D, [2012-10-21T18:50:49.363491 #61945] DEBUG -- : Passing answer back to caller...
99
+ D, [2012-10-21T18:50:49.364246 #61945] DEBUG -- : Writing response to client (98 bytes) via UDP...
100
+ D, [2012-10-21T18:50:52.782303 #61945] DEBUG -- : Receiving incoming query (30 bytes)...
101
+ D, [2012-10-21T18:50:52.782618 #61945] DEBUG -- : Processing question microoft.com Resolv::DNS::Resource::IN::A...
102
+ D, [2012-10-21T18:50:52.782761 #61945] DEBUG -- : Searching for microoft.com Resolv::DNS::Resource::IN::A
103
+ D, [2012-10-21T18:50:52.782879 #61945] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
104
+ D, [2012-10-21T18:50:52.783013 #61945] DEBUG -- : Regexp pattern matched with #<MatchData "microoft" 1:"microoft">.
105
+ I, [2012-10-21T18:50:52.783187 #61945] INFO -- : Dropping domain MICROSOFT...
106
+ D, [2012-10-21T18:50:52.783278 #61945] DEBUG -- : Passing answer back to caller...
107
+ D, [2012-10-21T18:50:52.783403 #61945] DEBUG -- : Writing response to client (30 bytes) via UDP...
@@ -0,0 +1,5 @@
1
+ === Log Marked @ 2012-10-21 18:25:21 +1300 ===
2
+ I, [2012-10-21T18:25:21.846681 #60081] INFO -- : Starting RubyDNS server (v0.5.1)...
3
+ I, [2012-10-21T18:25:21.847371 #60081] INFO -- : Listening on udp:0.0.0.0:53
4
+ I, [2012-10-21T18:25:21.847851 #60081] INFO -- : Listening on tcp:0.0.0.0:53
5
+ === Daemon Stopping @ 2012-10-21 18:26:13 +1300 ===
File without changes
@@ -0,0 +1,340 @@
1
+ === Log Marked @ 2012-10-21 15:06:19 +1300 ===
2
+ I, [2012-10-21T15:06:19.010746 #54960] INFO -- : Starting RubyDNS server (v0.5.1)...
3
+ I, [2012-10-21T15:06:19.011450 #54960] INFO -- : Listening on udp:0.0.0.0:5300
4
+ D, [2012-10-21T15:06:30.963951 #54960] DEBUG -- : Receiving incoming query (31 bytes)...
5
+ D, [2012-10-21T15:06:30.965603 #54960] DEBUG -- : Processing question microsoft.com Resolv::DNS::Resource::IN::A...
6
+ D, [2012-10-21T15:06:30.966108 #54960] DEBUG -- : Searching for microsoft.com Resolv::DNS::Resource::IN::A
7
+ D, [2012-10-21T15:06:30.966334 #54960] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
8
+ D, [2012-10-21T15:06:30.966984 #54960] DEBUG -- : Query microsoft.com matched (?-mix:(m?i?c?r?o?s?o?f?t)) with result #<MatchData "microsoft" 1:"microsoft">
9
+ I, [2012-10-21T15:06:30.967222 #54960] INFO -- : Dropping domain MICROSOFT...
10
+ D, [2012-10-21T15:06:30.967437 #54960] DEBUG -- : Rule returned successfully
11
+ D, [2012-10-21T15:06:30.967744 #54960] DEBUG -- : Passing answer back to caller...
12
+ D, [2012-10-21T15:06:30.968114 #54960] DEBUG -- : Writing response to client (31 bytes) via UDP...
13
+ D, [2012-10-21T15:06:37.568512 #54960] DEBUG -- : Receiving incoming query (28 bytes)...
14
+ D, [2012-10-21T15:06:37.568932 #54960] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
15
+ D, [2012-10-21T15:06:37.569093 #54960] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
16
+ D, [2012-10-21T15:06:37.569217 #54960] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
17
+ D, [2012-10-21T15:06:37.569347 #54960] DEBUG -- : Query google.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
18
+ D, [2012-10-21T15:06:37.569468 #54960] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
19
+ D, [2012-10-21T15:06:37.569645 #54960] DEBUG -- : Query google.com failed to match against (?-mix:^(.+\.)?sco\.)
20
+ I, [2012-10-21T15:06:37.569744 #54960] INFO -- : Passing DNS request upstream...
21
+ E, [2012-10-21T15:06:37.569988 #54960] ERROR -- : Exception thrown while processing google.com Resolv::DNS::Resource::IN::A!
22
+ E, [2012-10-21T15:06:37.570198 #54960] ERROR -- : NoMethodError: undefined method `query' for #<Resolv::DNS:0x007fa8b3245488>
23
+ E, [2012-10-21T15:06:37.570288 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:116:in `passthrough'
24
+ E, [2012-10-21T15:06:37.570368 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:90:in `passthrough!'
25
+ E, [2012-10-21T15:06:37.570447 #54960] ERROR -- : ./daemon1.rb:69:in `block (2 levels) in run'
26
+ E, [2012-10-21T15:06:37.570526 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:155:in `call'
27
+ E, [2012-10-21T15:06:37.570601 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:155:in `process'
28
+ E, [2012-10-21T15:06:37.570783 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:71:in `process'
29
+ E, [2012-10-21T15:06:37.570862 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:210:in `block (2 levels) in process_query'
30
+ E, [2012-10-21T15:06:37.570937 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:218:in `call'
31
+ E, [2012-10-21T15:06:37.571013 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:218:in `process_query'
32
+ E, [2012-10-21T15:06:37.571096 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:36:in `process'
33
+ E, [2012-10-21T15:06:37.571173 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:59:in `receive_data'
34
+ E, [2012-10-21T15:06:37.571258 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
35
+ E, [2012-10-21T15:06:37.571330 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
36
+ E, [2012-10-21T15:06:37.571400 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns.rb:73:in `run_server'
37
+ E, [2012-10-21T15:06:37.571485 #54960] ERROR -- : ./daemon1.rb:48:in `run'
38
+ E, [2012-10-21T15:06:37.571560 #54960] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rexec-1.5.1/lib/rexec/daemon/controller.rb:96:in `block (2 levels) in start'
39
+ D, [2012-10-21T15:06:37.571642 #54960] DEBUG -- : Passing answer back to caller...
40
+ D, [2012-10-21T15:06:37.571733 #54960] DEBUG -- : Writing response to client (12 bytes) via UDP...
41
+ === Daemon Stopping @ 2012-10-21 15:07:35 +1300 ===
42
+ === Log Marked @ 2012-10-21 15:07:35 +1300 ===
43
+ I, [2012-10-21T15:07:35.792373 #55070] INFO -- : Starting RubyDNS server (v0.5.1)...
44
+ I, [2012-10-21T15:07:35.793485 #55070] INFO -- : Listening on udp:0.0.0.0:5300
45
+ === Daemon Stopping @ 2012-10-21 15:07:44 +1300 ===
46
+ === Log Marked @ 2012-10-21 15:07:45 +1300 ===
47
+ I, [2012-10-21T15:07:45.070986 #55123] INFO -- : Starting RubyDNS server (v0.5.1)...
48
+ I, [2012-10-21T15:07:45.072101 #55123] INFO -- : Listening on udp:0.0.0.0:5300
49
+ D, [2012-10-21T15:07:48.990188 #55123] DEBUG -- : Receiving incoming query (28 bytes)...
50
+ D, [2012-10-21T15:07:48.991277 #55123] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
51
+ D, [2012-10-21T15:07:48.991435 #55123] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
52
+ D, [2012-10-21T15:07:48.991550 #55123] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
53
+ D, [2012-10-21T15:07:48.991741 #55123] DEBUG -- : Query google.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
54
+ D, [2012-10-21T15:07:48.991832 #55123] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
55
+ D, [2012-10-21T15:07:48.991952 #55123] DEBUG -- : Query google.com failed to match against (?-mix:^(.+\.)?sco\.)
56
+ I, [2012-10-21T15:07:48.992037 #55123] INFO -- : Passing DNS request upstream...
57
+ E, [2012-10-21T15:07:48.992277 #55123] ERROR -- : Exception thrown while processing google.com Resolv::DNS::Resource::IN::A!
58
+ E, [2012-10-21T15:07:48.992414 #55123] ERROR -- : NoMethodError: undefined method `query' for nil:NilClass
59
+ E, [2012-10-21T15:07:48.992494 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:116:in `passthrough'
60
+ E, [2012-10-21T15:07:48.992602 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:90:in `passthrough!'
61
+ E, [2012-10-21T15:07:48.992686 #55123] ERROR -- : ./daemon1.rb:69:in `block (2 levels) in run'
62
+ E, [2012-10-21T15:07:48.992763 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:155:in `call'
63
+ E, [2012-10-21T15:07:48.992838 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:155:in `process'
64
+ E, [2012-10-21T15:07:48.992916 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:71:in `process'
65
+ E, [2012-10-21T15:07:48.992994 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:210:in `block (2 levels) in process_query'
66
+ E, [2012-10-21T15:07:48.993067 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:218:in `call'
67
+ E, [2012-10-21T15:07:48.993147 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:218:in `process_query'
68
+ E, [2012-10-21T15:07:48.993225 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:36:in `process'
69
+ E, [2012-10-21T15:07:48.993302 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/handler.rb:59:in `receive_data'
70
+ E, [2012-10-21T15:07:48.993380 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
71
+ E, [2012-10-21T15:07:48.993458 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
72
+ E, [2012-10-21T15:07:48.993534 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns.rb:73:in `run_server'
73
+ E, [2012-10-21T15:07:48.993656 #55123] ERROR -- : ./daemon1.rb:48:in `run'
74
+ E, [2012-10-21T15:07:48.993733 #55123] ERROR -- : /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rexec-1.5.1/lib/rexec/daemon/controller.rb:96:in `block (2 levels) in start'
75
+ D, [2012-10-21T15:07:48.993818 #55123] DEBUG -- : Passing answer back to caller...
76
+ D, [2012-10-21T15:07:48.993956 #55123] DEBUG -- : Writing response to client (12 bytes) via UDP...
77
+ === Daemon Stopping @ 2012-10-21 15:07:58 +1300 ===
78
+ === Log Marked @ 2012-10-21 15:07:59 +1300 ===
79
+ I, [2012-10-21T15:07:59.070628 #55157] INFO -- : Starting RubyDNS server (v0.5.1)...
80
+ I, [2012-10-21T15:07:59.071756 #55157] INFO -- : Listening on udp:0.0.0.0:5300
81
+ D, [2012-10-21T15:08:00.798314 #55157] DEBUG -- : Receiving incoming query (28 bytes)...
82
+ D, [2012-10-21T15:08:00.799354 #55157] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
83
+ D, [2012-10-21T15:08:00.799644 #55157] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
84
+ D, [2012-10-21T15:08:00.799758 #55157] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
85
+ D, [2012-10-21T15:08:00.799951 #55157] DEBUG -- : Query google.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
86
+ D, [2012-10-21T15:08:00.800040 #55157] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
87
+ D, [2012-10-21T15:08:00.800160 #55157] DEBUG -- : Query google.com failed to match against (?-mix:^(.+\.)?sco\.)
88
+ I, [2012-10-21T15:08:00.800241 #55157] INFO -- : Passing DNS request upstream...
89
+ D, [2012-10-21T15:08:00.856568 #55157] DEBUG -- : Passing answer back to caller...
90
+ D, [2012-10-21T15:08:00.857938 #55157] DEBUG -- : Writing response to client (340 bytes) via UDP...
91
+ D, [2012-10-21T15:08:11.972959 #55157] DEBUG -- : Receiving incoming query (21 bytes)...
92
+ D, [2012-10-21T15:08:11.973262 #55157] DEBUG -- : Processing question sco Resolv::DNS::Resource::IN::A...
93
+ D, [2012-10-21T15:08:11.973420 #55157] DEBUG -- : Searching for sco Resolv::DNS::Resource::IN::A
94
+ D, [2012-10-21T15:08:11.973510 #55157] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
95
+ D, [2012-10-21T15:08:11.973602 #55157] DEBUG -- : Query sco failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
96
+ D, [2012-10-21T15:08:11.973683 #55157] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
97
+ D, [2012-10-21T15:08:11.973764 #55157] DEBUG -- : Query sco failed to match against (?-mix:^(.+\.)?sco\.)
98
+ I, [2012-10-21T15:08:11.973841 #55157] INFO -- : Passing DNS request upstream...
99
+ D, [2012-10-21T15:08:12.043339 #55157] DEBUG -- : Passing answer back to caller...
100
+ D, [2012-10-21T15:08:12.043887 #55157] DEBUG -- : Writing response to client (21 bytes) via UDP...
101
+ D, [2012-10-21T15:08:21.517189 #55157] DEBUG -- : Receiving incoming query (25 bytes)...
102
+ D, [2012-10-21T15:08:21.517456 #55157] DEBUG -- : Processing question sco.com Resolv::DNS::Resource::IN::A...
103
+ D, [2012-10-21T15:08:21.517568 #55157] DEBUG -- : Searching for sco.com Resolv::DNS::Resource::IN::A
104
+ D, [2012-10-21T15:08:21.517662 #55157] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
105
+ D, [2012-10-21T15:08:21.517755 #55157] DEBUG -- : Query sco.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
106
+ D, [2012-10-21T15:08:21.517840 #55157] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
107
+ D, [2012-10-21T15:08:21.517980 #55157] DEBUG -- : Query sco.com matched (?-mix:^(.+\.)?sco\.) with result #<MatchData "sco." 1:nil>
108
+ I, [2012-10-21T15:08:21.518061 #55157] INFO -- : Dropping domain SCO...
109
+ D, [2012-10-21T15:08:21.518252 #55157] DEBUG -- : Rule returned successfully
110
+ D, [2012-10-21T15:08:21.518348 #55157] DEBUG -- : Passing answer back to caller...
111
+ D, [2012-10-21T15:08:21.518482 #55157] DEBUG -- : Writing response to client (25 bytes) via UDP...
112
+ D, [2012-10-21T15:08:29.765041 #55157] DEBUG -- : Receiving incoming query (28 bytes)...
113
+ D, [2012-10-21T15:08:29.765434 #55157] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
114
+ D, [2012-10-21T15:08:29.765613 #55157] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
115
+ D, [2012-10-21T15:08:29.765762 #55157] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
116
+ D, [2012-10-21T15:08:29.765910 #55157] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
117
+ D, [2012-10-21T15:08:29.766068 #55157] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
118
+ D, [2012-10-21T15:08:29.766191 #55157] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
119
+ I, [2012-10-21T15:08:29.766304 #55157] INFO -- : Passing DNS request upstream...
120
+ D, [2012-10-21T15:08:36.768290 #55157] DEBUG -- : Receiving incoming query (28 bytes)...
121
+ D, [2012-10-21T15:08:36.768963 #55157] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
122
+ D, [2012-10-21T15:08:36.769250 #55157] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
123
+ D, [2012-10-21T15:08:36.769486 #55157] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
124
+ D, [2012-10-21T15:08:36.769917 #55157] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
125
+ D, [2012-10-21T15:08:36.770126 #55157] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
126
+ D, [2012-10-21T15:08:36.770304 #55157] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
127
+ I, [2012-10-21T15:08:36.770462 #55157] INFO -- : Passing DNS request upstream...
128
+ E, [2012-10-21T15:08:39.768698 #55157] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
129
+ E, [2012-10-21T15:08:39.769086 #55157] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
130
+ === Daemon Exception Backtrace @ 2012-10-21 15:08:39 +1300 ===
131
+ NoMethodError: undefined method `each' for nil:NilClass
132
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:201:in `block (3 levels) in process_query'
133
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
134
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
135
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
136
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:122:in `block in passthrough'
137
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:67:in `block in fetch'
138
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
139
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
140
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
141
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:139:in `try_next_server!'
142
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:136:in `block in try_next_server!'
143
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `call'
144
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
145
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
146
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns.rb:73:in `run_server'
147
+ ./daemon1.rb:48:in `run'
148
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rexec-1.5.1/lib/rexec/daemon/controller.rb:96:in `block (2 levels) in start'
149
+ === Daemon Crashed ===
150
+ === Daemon Stopping @ 2012-10-21 15:08:39 +1300 ===
151
+ === Log Marked @ 2012-10-21 15:12:20 +1300 ===
152
+ I, [2012-10-21T15:12:20.220153 #55473] INFO -- : Starting RubyDNS server (v0.5.1)...
153
+ I, [2012-10-21T15:12:20.220854 #55473] INFO -- : Listening on udp:0.0.0.0:5300
154
+ === Daemon Stopping @ 2012-10-21 15:12:22 +1300 ===
155
+ === Log Marked @ 2012-10-21 15:12:23 +1300 ===
156
+ I, [2012-10-21T15:12:23.027289 #55498] INFO -- : Starting RubyDNS server (v0.5.1)...
157
+ I, [2012-10-21T15:12:23.028371 #55498] INFO -- : Listening on udp:0.0.0.0:5300
158
+ D, [2012-10-21T15:12:26.392344 #55498] DEBUG -- : Receiving incoming query (28 bytes)...
159
+ D, [2012-10-21T15:12:26.393338 #55498] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
160
+ D, [2012-10-21T15:12:26.393537 #55498] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
161
+ D, [2012-10-21T15:12:26.393659 #55498] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
162
+ D, [2012-10-21T15:12:26.393893 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
163
+ D, [2012-10-21T15:12:26.393985 #55498] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
164
+ D, [2012-10-21T15:12:26.394106 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
165
+ I, [2012-10-21T15:12:26.394193 #55498] INFO -- : Passing DNS request upstream...
166
+ D, [2012-10-21T15:12:26.402404 #55498] DEBUG -- : Passing answer back to caller...
167
+ D, [2012-10-21T15:12:26.402641 #55498] DEBUG -- : Writing response to client (44 bytes) via UDP...
168
+ D, [2012-10-21T15:12:44.648155 #55498] DEBUG -- : Receiving incoming query (28 bytes)...
169
+ D, [2012-10-21T15:12:44.648530 #55498] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
170
+ D, [2012-10-21T15:12:44.648697 #55498] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
171
+ D, [2012-10-21T15:12:44.648868 #55498] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
172
+ D, [2012-10-21T15:12:44.648997 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
173
+ D, [2012-10-21T15:12:44.649113 #55498] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
174
+ D, [2012-10-21T15:12:44.649239 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
175
+ I, [2012-10-21T15:12:44.649335 #55498] INFO -- : Passing DNS request upstream...
176
+ D, [2012-10-21T15:12:51.651364 #55498] DEBUG -- : Receiving incoming query (28 bytes)...
177
+ D, [2012-10-21T15:12:51.651941 #55498] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
178
+ D, [2012-10-21T15:12:51.652164 #55498] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
179
+ D, [2012-10-21T15:12:51.652349 #55498] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
180
+ D, [2012-10-21T15:12:51.652531 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
181
+ D, [2012-10-21T15:12:51.652707 #55498] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
182
+ D, [2012-10-21T15:12:51.652881 #55498] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
183
+ I, [2012-10-21T15:12:51.653052 #55498] INFO -- : Passing DNS request upstream...
184
+ E, [2012-10-21T15:12:54.652140 #55498] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
185
+ E, [2012-10-21T15:12:54.652320 #55498] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
186
+ === Daemon Exception Backtrace @ 2012-10-21 15:12:54 +1300 ===
187
+ NoMethodError: undefined method `each' for nil:NilClass
188
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/server.rb:202:in `block (3 levels) in process_query'
189
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
190
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
191
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
192
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/transaction.rb:122:in `block in passthrough'
193
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:67:in `block in fetch'
194
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
195
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
196
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
197
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:139:in `try_next_server!'
198
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns/resolver.rb:136:in `block in try_next_server!'
199
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `call'
200
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
201
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
202
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rubydns-0.5.1/lib/rubydns.rb:73:in `run_server'
203
+ ./daemon1.rb:48:in `run'
204
+ /Users/samuel/.rvm/gems/ruby-1.9.3-p286/gems/rexec-1.5.1/lib/rexec/daemon/controller.rb:96:in `block (2 levels) in start'
205
+ === Daemon Crashed ===
206
+ === Daemon Stopping @ 2012-10-21 15:12:54 +1300 ===
207
+ === Log Marked @ 2012-10-21 15:15:19 +1300 ===
208
+ I, [2012-10-21T15:15:19.307873 #56178] INFO -- : Starting RubyDNS server (v0.5.1)...
209
+ I, [2012-10-21T15:15:19.308581 #56178] INFO -- : Listening on udp:0.0.0.0:5300
210
+ === Daemon Stopping @ 2012-10-21 15:15:20 +1300 ===
211
+ === Log Marked @ 2012-10-21 15:15:20 +1300 ===
212
+ I, [2012-10-21T15:15:20.793129 #56207] INFO -- : Starting RubyDNS server (v0.5.1)...
213
+ I, [2012-10-21T15:15:20.793845 #56207] INFO -- : Listening on udp:0.0.0.0:5300
214
+ D, [2012-10-21T15:15:22.995649 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
215
+ D, [2012-10-21T15:15:22.996502 #56207] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
216
+ D, [2012-10-21T15:15:22.996676 #56207] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
217
+ D, [2012-10-21T15:15:22.996955 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
218
+ D, [2012-10-21T15:15:22.997152 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
219
+ D, [2012-10-21T15:15:22.997245 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
220
+ D, [2012-10-21T15:15:22.997367 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
221
+ I, [2012-10-21T15:15:22.997450 #56207] INFO -- : Passing DNS request upstream...
222
+ E, [2012-10-21T15:15:22.997978 #56207] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
223
+ E, [2012-10-21T15:15:22.998078 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
224
+ D, [2012-10-21T15:15:22.998168 #56207] DEBUG -- : Passing answer back to caller...
225
+ D, [2012-10-21T15:15:22.998289 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
226
+ D, [2012-10-21T15:15:26.107570 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
227
+ D, [2012-10-21T15:15:26.107855 #56207] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
228
+ D, [2012-10-21T15:15:26.107979 #56207] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
229
+ D, [2012-10-21T15:15:26.108082 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
230
+ D, [2012-10-21T15:15:26.108193 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
231
+ D, [2012-10-21T15:15:26.108292 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
232
+ D, [2012-10-21T15:15:26.108397 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
233
+ I, [2012-10-21T15:15:26.108477 #56207] INFO -- : Passing DNS request upstream...
234
+ E, [2012-10-21T15:15:26.108727 #56207] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
235
+ E, [2012-10-21T15:15:26.108813 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
236
+ D, [2012-10-21T15:15:26.108898 #56207] DEBUG -- : Passing answer back to caller...
237
+ D, [2012-10-21T15:15:26.108989 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
238
+ D, [2012-10-21T15:15:27.560058 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
239
+ D, [2012-10-21T15:15:27.560317 #56207] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
240
+ D, [2012-10-21T15:15:27.560426 #56207] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
241
+ D, [2012-10-21T15:15:27.560520 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
242
+ D, [2012-10-21T15:15:27.560642 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
243
+ D, [2012-10-21T15:15:27.560725 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
244
+ D, [2012-10-21T15:15:27.560807 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
245
+ I, [2012-10-21T15:15:27.560892 #56207] INFO -- : Passing DNS request upstream...
246
+ E, [2012-10-21T15:15:27.561096 #56207] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
247
+ E, [2012-10-21T15:15:27.561181 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
248
+ D, [2012-10-21T15:15:27.561260 #56207] DEBUG -- : Passing answer back to caller...
249
+ D, [2012-10-21T15:15:27.561350 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
250
+ D, [2012-10-21T15:15:32.391960 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
251
+ D, [2012-10-21T15:15:32.392271 #56207] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
252
+ D, [2012-10-21T15:15:32.392383 #56207] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
253
+ D, [2012-10-21T15:15:32.392472 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
254
+ D, [2012-10-21T15:15:32.392564 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
255
+ D, [2012-10-21T15:15:32.392650 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
256
+ D, [2012-10-21T15:15:32.392737 #56207] DEBUG -- : Query soccer.com failed to match against (?-mix:^(.+\.)?sco\.)
257
+ I, [2012-10-21T15:15:32.392815 #56207] INFO -- : Passing DNS request upstream...
258
+ E, [2012-10-21T15:15:32.393013 #56207] ERROR -- : Exception thrown while processing soccer.com Resolv::DNS::Resource::IN::A!
259
+ E, [2012-10-21T15:15:32.393138 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
260
+ D, [2012-10-21T15:15:32.393219 #56207] DEBUG -- : Passing answer back to caller...
261
+ D, [2012-10-21T15:15:32.393308 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
262
+ D, [2012-10-21T18:27:11.494357 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
263
+ D, [2012-10-21T18:27:11.494740 #56207] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
264
+ D, [2012-10-21T18:27:11.494911 #56207] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
265
+ D, [2012-10-21T18:27:11.495047 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
266
+ D, [2012-10-21T18:27:11.495187 #56207] DEBUG -- : Query google.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
267
+ D, [2012-10-21T18:27:11.495327 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
268
+ D, [2012-10-21T18:27:11.495496 #56207] DEBUG -- : Query google.com failed to match against (?-mix:^(.+\.)?sco\.)
269
+ I, [2012-10-21T18:27:11.495621 #56207] INFO -- : Passing DNS request upstream...
270
+ E, [2012-10-21T18:27:11.495951 #56207] ERROR -- : Exception thrown while processing google.com Resolv::DNS::Resource::IN::A!
271
+ E, [2012-10-21T18:27:11.496084 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
272
+ D, [2012-10-21T18:27:11.496211 #56207] DEBUG -- : Passing answer back to caller...
273
+ D, [2012-10-21T18:27:11.496360 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
274
+ D, [2012-10-21T18:27:47.563079 #56207] DEBUG -- : Receiving incoming query (28 bytes)...
275
+ D, [2012-10-21T18:27:47.563348 #56207] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
276
+ D, [2012-10-21T18:27:47.563550 #56207] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
277
+ D, [2012-10-21T18:27:47.563641 #56207] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
278
+ D, [2012-10-21T18:27:47.563737 #56207] DEBUG -- : Query google.com failed to match against (?-mix:(m?i?c?r?o?s?o?f?t))
279
+ D, [2012-10-21T18:27:47.563824 #56207] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
280
+ D, [2012-10-21T18:27:47.563920 #56207] DEBUG -- : Query google.com failed to match against (?-mix:^(.+\.)?sco\.)
281
+ I, [2012-10-21T18:27:47.564000 #56207] INFO -- : Passing DNS request upstream...
282
+ E, [2012-10-21T18:27:47.564209 #56207] ERROR -- : Exception thrown while processing google.com Resolv::DNS::Resource::IN::A!
283
+ E, [2012-10-21T18:27:47.564301 #56207] ERROR -- : RubyDNS::ResolutionFailure: No available servers responded to the request.
284
+ D, [2012-10-21T18:27:47.564384 #56207] DEBUG -- : Passing answer back to caller...
285
+ D, [2012-10-21T18:27:47.564514 #56207] DEBUG -- : Writing response to client (12 bytes) via UDP...
286
+ === Daemon Stopping @ 2012-10-21 18:28:20 +1300 ===
287
+ === Log Marked @ 2012-10-21 18:28:23 +1300 ===
288
+ I, [2012-10-21T18:28:23.493079 #60311] INFO -- : Starting RubyDNS server (v0.5.1)...
289
+ I, [2012-10-21T18:28:23.493856 #60311] INFO -- : Listening on udp:0.0.0.0:5300
290
+ D, [2012-10-21T18:28:53.002564 #60311] DEBUG -- : Receiving incoming query (28 bytes)...
291
+ D, [2012-10-21T18:28:53.003518 #60311] DEBUG -- : Processing question soccer.com Resolv::DNS::Resource::IN::A...
292
+ D, [2012-10-21T18:28:53.003689 #60311] DEBUG -- : Searching for soccer.com Resolv::DNS::Resource::IN::A
293
+ D, [2012-10-21T18:28:53.003808 #60311] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
294
+ D, [2012-10-21T18:28:53.004020 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
295
+ D, [2012-10-21T18:28:53.004252 #60311] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
296
+ D, [2012-10-21T18:28:53.004392 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
297
+ I, [2012-10-21T18:28:53.004482 #60311] INFO -- : Passing DNS request upstream...
298
+ D, [2012-10-21T18:28:53.241888 #60311] DEBUG -- : Passing answer back to caller...
299
+ D, [2012-10-21T18:28:53.242829 #60311] DEBUG -- : Writing response to client (174 bytes) via UDP...
300
+ D, [2012-10-21T18:28:56.788432 #60311] DEBUG -- : Receiving incoming query (28 bytes)...
301
+ D, [2012-10-21T18:28:56.788845 #60311] DEBUG -- : Processing question google.com Resolv::DNS::Resource::IN::A...
302
+ D, [2012-10-21T18:28:56.789084 #60311] DEBUG -- : Searching for google.com Resolv::DNS::Resource::IN::A
303
+ D, [2012-10-21T18:28:56.789230 #60311] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
304
+ D, [2012-10-21T18:28:56.789447 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
305
+ D, [2012-10-21T18:28:56.789582 #60311] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
306
+ D, [2012-10-21T18:28:56.789767 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
307
+ I, [2012-10-21T18:28:56.789893 #60311] INFO -- : Passing DNS request upstream...
308
+ D, [2012-10-21T18:28:56.797011 #60311] DEBUG -- : Passing answer back to caller...
309
+ D, [2012-10-21T18:28:56.797428 #60311] DEBUG -- : Writing response to client (156 bytes) via UDP...
310
+ D, [2012-10-21T18:29:01.541661 #60311] DEBUG -- : Receiving incoming query (25 bytes)...
311
+ D, [2012-10-21T18:29:01.542052 #60311] DEBUG -- : Processing question sco.com Resolv::DNS::Resource::IN::A...
312
+ D, [2012-10-21T18:29:01.542197 #60311] DEBUG -- : Searching for sco.com Resolv::DNS::Resource::IN::A
313
+ D, [2012-10-21T18:29:01.542350 #60311] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
314
+ D, [2012-10-21T18:29:01.542535 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
315
+ D, [2012-10-21T18:29:01.542650 #60311] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
316
+ D, [2012-10-21T18:29:01.542798 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
317
+ I, [2012-10-21T18:29:01.542889 #60311] INFO -- : Passing DNS request upstream...
318
+ D, [2012-10-21T18:29:01.796615 #60311] DEBUG -- : Passing answer back to caller...
319
+ D, [2012-10-21T18:29:01.797297 #60311] DEBUG -- : Writing response to client (76 bytes) via UDP...
320
+ D, [2012-10-21T18:29:12.087045 #60311] DEBUG -- : Receiving incoming query (29 bytes)...
321
+ D, [2012-10-21T18:29:12.087336 #60311] DEBUG -- : Processing question www.sco.com Resolv::DNS::Resource::IN::A...
322
+ D, [2012-10-21T18:29:12.087448 #60311] DEBUG -- : Searching for www.sco.com Resolv::DNS::Resource::IN::A
323
+ D, [2012-10-21T18:29:12.087541 #60311] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
324
+ D, [2012-10-21T18:29:12.087682 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
325
+ D, [2012-10-21T18:29:12.087768 #60311] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
326
+ D, [2012-10-21T18:29:12.087886 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
327
+ I, [2012-10-21T18:29:12.087966 #60311] INFO -- : Passing DNS request upstream...
328
+ D, [2012-10-21T18:29:12.115301 #60311] DEBUG -- : Passing answer back to caller...
329
+ D, [2012-10-21T18:29:12.115698 #60311] DEBUG -- : Writing response to client (80 bytes) via UDP...
330
+ D, [2012-10-21T18:29:29.724037 #60311] DEBUG -- : Receiving incoming query (31 bytes)...
331
+ D, [2012-10-21T18:29:29.724301 #60311] DEBUG -- : Processing question microsoft.com Resolv::DNS::Resource::IN::A...
332
+ D, [2012-10-21T18:29:29.724439 #60311] DEBUG -- : Searching for microsoft.com Resolv::DNS::Resource::IN::A
333
+ D, [2012-10-21T18:29:29.724555 #60311] DEBUG -- : Checking rule [/(m?i?c?r?o?s?o?f?t)/]...
334
+ D, [2012-10-21T18:29:29.724695 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
335
+ D, [2012-10-21T18:29:29.724788 #60311] DEBUG -- : Checking rule [/^(.+\.)?sco\./]...
336
+ D, [2012-10-21T18:29:29.724961 #60311] DEBUG -- : Resource class Resolv::DNS::Resource::IN::A failed to match nil!
337
+ I, [2012-10-21T18:29:29.725044 #60311] INFO -- : Passing DNS request upstream...
338
+ D, [2012-10-21T18:29:29.760144 #60311] DEBUG -- : Passing answer back to caller...
339
+ D, [2012-10-21T18:29:29.760738 #60311] DEBUG -- : Writing response to client (381 bytes) via UDP...
340
+ === Daemon Stopping @ 2012-10-21 18:30:12 +1300 ===