em-resolv-replace 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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