em-resolv-replace 1.1.2 → 1.1.3

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.
@@ -1,3 +1,7 @@
1
+ = 1.1.3
2
+
3
+ Fix use on Windows (stakach)
4
+
1
5
  = 1.1.2
2
6
 
3
7
  Gracefully handle whitespace in /etc/resolv.conf (troy)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.1.3
@@ -6,6 +6,8 @@ module EventMachine
6
6
  ##
7
7
  # Global interface
8
8
  ##
9
+
10
+ Port = 53
9
11
 
10
12
  def self.resolve(hostname)
11
13
  type = Resolv::DNS::Resource::IN::A
@@ -37,18 +39,19 @@ module EventMachine
37
39
  end
38
40
  end
39
41
 
40
- def self.nameserver=(ns)
41
- @nameserver = ns
42
+ def self.nameserver_port= (ns_p)
43
+ @nameserver_port = ns_p
42
44
  end
43
- def self.nameserver
44
- unless defined?(@nameserver)
45
- IO::readlines('/etc/resolv.conf').each do |line|
46
- if line =~ /^nameserver\s+(.+)$/
47
- @nameserver = $1.split(/\s+/).first
48
- end
49
- end
45
+ def self.nameserver_port
46
+ return @nameserver_port if defined? @nameserver_port
47
+ config_hash = ::Resolv::DNS::Config.default_config_hash
48
+ @nameserver_port = if config_hash.include? :nameserver
49
+ [ config_hash[:nameserver].first, Port ]
50
+ elsif config_hash.include? :nameserver_port
51
+ config_hash[:nameserver_port].first
52
+ else
53
+ [ '0.0.0.0', Port ]
50
54
  end
51
- @nameserver
52
55
  end
53
56
 
54
57
  ##
@@ -81,13 +84,13 @@ module EventMachine
81
84
  end
82
85
  end
83
86
  def send_packet(pkt)
84
- send_datagram(pkt, nameserver, 53)
87
+ send_datagram pkt, *nameserver_port
85
88
  end
86
- def nameserver=(ns)
87
- @nameserver = ns
89
+ def nameserver_port= (ns_p)
90
+ @nameserver_port = ns_p
88
91
  end
89
- def nameserver
90
- @nameserver ||= DnsResolver.nameserver
92
+ def nameserver_port
93
+ @nameserver_port ||= DnsResolver.nameserver_port
91
94
  end
92
95
  # Decodes the packet, looks for the request and passes the
93
96
  # response over to the requester
@@ -1,6 +1,6 @@
1
- # Standard libc DNS resolution
1
+ # Pure Ruby DNS resolution
2
2
  require 'resolv'
3
- # Override with pure Ruby DNS resolution
3
+ # Override sockets to use Ruby DNS resolution
4
4
  require 'resolv-replace'
5
5
 
6
6
  require 'em-dns-resolver'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-resolv-replace
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-11 00:00:00.000000000 Z
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shoulda
16
- requirement: &70315159083700 !ruby/object:Gem::Requirement
16
+ requirement: &70139192111000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70315159083700
24
+ version_requirements: *70139192111000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mocha
27
- requirement: &70315159083140 !ruby/object:Gem::Requirement
27
+ requirement: &70139192110520 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70315159083140
35
+ version_requirements: *70139192110520
36
36
  description:
37
37
  email: mperham@gmail.com
38
38
  executables: []
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  version: '0'
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 1.8.10
77
+ rubygems_version: 1.8.15
78
78
  signing_key:
79
79
  specification_version: 3
80
80
  summary: EventMachine-aware DNS lookup for Ruby