net-dns2 0.8.6 → 0.8.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/CHANGELOG.md +6 -0
- data/demo/check_soa.rb +1 -1
- data/lib/net/dns/resolver.rb +3 -40
- data/lib/net/dns/rr/srv.rb +28 -8
- data/net-dns.gemspec +1 -1
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzQ0YjdkMThjNjZkNWQ0ZWQzMTdhZjY2NjNiNmE3ZDZmZmU1MzM0OQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 43529e7b548591225e478f668740d725a0d8781e
|
4
|
+
data.tar.gz: 0d093b1f57066d4a07c4efec7c487c93203827b4
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MzJkOGRhNDVmYWUxYWYzNzkyN2NjN2JhNmIyMGI4ODYzM2YzNjU2ZDQ0YjIz
|
11
|
-
ZjdjNjM5MGU1Nzk5MTJmZmU2NDJhMWU5ODA5Mzk0OTdjY2JmYWU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZGYzYjRlZjk3MTk2Y2I1ZDg0YzAxZTBmY2I2NzJiYTM2NzZiMjRjMDYxNTI2
|
14
|
-
YWZjMjI0YjFmMGFlYWUzODk3ZTk3YTdiYmExZWE5ZWUzNTc2MGQ2MzcxYTU1
|
15
|
-
Y2Q1ZTg0NGNjNjQ2NDdhMjY4NzM1N2YyZmM4ZWI1MGM0ZDZjYTQ=
|
6
|
+
metadata.gz: 503ff6e0b74d1d09ee3615b0e709abc1e226ac38e8c76dda84325431e33d8f03bac8c3cdbf9d21cf80e19e707eeb9004dda5557d7adf99038ef7a4c165e18acd
|
7
|
+
data.tar.gz: 00541384e0aff4ffba8ad541dc5c5c552ac18ef32a772359d35cf8b9e9ea999a1cd758bd7b8f104b64265e43739845c8f3cca5486a3f46a615d664e88ba82822
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Release 0.8.7
|
4
|
+
- MERGED: Pull Request #32 Use query instead of send in demo code
|
5
|
+
- MERGED: Pull Request #36 Fix invalid usage logger.fatal
|
6
|
+
- MERGED: Pull Request #37 Fix crashes for DNS::RR and fix DNS::Packet missing methods.
|
7
|
+
- MERGED: Pull Request #38 Remove duplicate def of query
|
8
|
+
|
3
9
|
## Release 0.8.6
|
4
10
|
- FIXED: Removed lookup of desitination mac address from send_raw* queries.
|
5
11
|
|
data/demo/check_soa.rb
CHANGED
@@ -68,7 +68,7 @@ ns_req.each_nameserver do |ns|
|
|
68
68
|
# Get the SOA record.
|
69
69
|
#----------------------------------------------------------------------
|
70
70
|
|
71
|
-
soa_req = res.
|
71
|
+
soa_req = res.query(domain, Net::DNS::SOA, Net::DNS::IN)
|
72
72
|
|
73
73
|
if soa_req == nil
|
74
74
|
puts res.errorstring, "\n"
|
data/lib/net/dns/resolver.rb
CHANGED
@@ -843,45 +843,6 @@ module Net
|
|
843
843
|
|
844
844
|
end
|
845
845
|
|
846
|
-
# Performs a DNS query for the given name; the search list
|
847
|
-
# is not applied. If the name doesn't contain any dots and
|
848
|
-
# +defname+ is true then the default domain will be appended.
|
849
|
-
#
|
850
|
-
# The record type and class can be omitted; they default to +A+
|
851
|
-
# and +IN+. If the name looks like an IP address (IPv4 or IPv6),
|
852
|
-
# then an appropriate PTR query will be performed.
|
853
|
-
#
|
854
|
-
# packet = res.query('mailhost')
|
855
|
-
# packet = res.query('mailhost.example.com')
|
856
|
-
# packet = res.query('example.com', Net::DNS::MX)
|
857
|
-
# packet = res.query('user.passwd.example.com', Net::DNS::TXT, Net::DNS::HS)
|
858
|
-
#
|
859
|
-
# If the name is an IP address (Ipv4 or IPv6), in the form of a string
|
860
|
-
# or a +IPAddr+ object, then an appropriate PTR query will be performed:
|
861
|
-
#
|
862
|
-
# ip = IPAddr.new("172.16.100.2")
|
863
|
-
# packet = res.query(ip)
|
864
|
-
# packet = res.query("192.168.10.254")
|
865
|
-
#
|
866
|
-
# Returns a Net::DNS::Packet object. If you need to examine the response
|
867
|
-
# packet whether it contains any answers or not, use the Resolver#query
|
868
|
-
# method instead.
|
869
|
-
#
|
870
|
-
def query(name,type=Net::DNS::A,cls=Net::DNS::IN)
|
871
|
-
|
872
|
-
return send(name,type,cls) if name.class == IPAddr
|
873
|
-
|
874
|
-
# If the name doesn't contain any dots then append the default domain.
|
875
|
-
if name !~ /\./ and name !~ /:/ and @config[:defname]
|
876
|
-
name += "." + @config[:domain]
|
877
|
-
end
|
878
|
-
|
879
|
-
debug "Query(#{name},#{Net::DNS::RR::Types.new(type)},#{Net::DNS::RR::Classes.new(cls)})"
|
880
|
-
|
881
|
-
send(name,type,cls)
|
882
|
-
|
883
|
-
end
|
884
|
-
|
885
846
|
# Performs a DNS query for the given name. Neither the
|
886
847
|
# searchlist nor the default domain will be appended.
|
887
848
|
#
|
@@ -970,7 +931,9 @@ module Net
|
|
970
931
|
|
971
932
|
if not ans
|
972
933
|
message = "No response from nameservers list"
|
973
|
-
|
934
|
+
# NoMethodError: undefined method `fatal' for nil:NilClass
|
935
|
+
#@logger.fatal(message)
|
936
|
+
warn(message)
|
974
937
|
raise NoResponseError, message
|
975
938
|
end
|
976
939
|
|
data/lib/net/dns/rr/srv.rb
CHANGED
@@ -3,18 +3,32 @@ module Net # :nodoc:
|
|
3
3
|
class RR
|
4
4
|
|
5
5
|
#------------------------------------------------------------
|
6
|
-
# RR type SRV
|
6
|
+
# RR type SRV (RFC2052)
|
7
|
+
# A DNS RR for specifying the location of services (DNS SRV),
|
8
|
+
# contains the location of the server(s) for a specific
|
9
|
+
# protocol and domain (like a more general form of MX).
|
7
10
|
#------------------------------------------------------------
|
8
11
|
class SRV < RR
|
9
12
|
|
10
13
|
attr_reader :priority, :weight, :port, :host
|
11
14
|
|
15
|
+
# Gets the standardized value for this record,
|
16
|
+
# represented by the value of <tt>port</tt>, <tt>priority</tt>,
|
17
|
+
# <tt>weight</tt>, and <tt>host</tt>.
|
18
|
+
#
|
19
|
+
# Returns a String.
|
20
|
+
def value
|
21
|
+
"#{port} #{priority} #{weight} #{host}"
|
22
|
+
end
|
23
|
+
|
12
24
|
private
|
13
25
|
|
14
26
|
def build_pack
|
15
|
-
|
27
|
+
@srv_pack = [@port, @priority, @weight].pack("n n n")
|
28
|
+
@srv_pack += pack_name(@host)
|
29
|
+
@rdlength = @srv_pack.size
|
16
30
|
end
|
17
|
-
|
31
|
+
|
18
32
|
def subclass_new_from_binary(data,offset)
|
19
33
|
off_end = offset + @rdlength
|
20
34
|
@priority, @weight, @port = data.unpack("@#{offset} n n n")
|
@@ -32,11 +46,17 @@ module Net # :nodoc:
|
|
32
46
|
offset
|
33
47
|
end
|
34
48
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
49
|
+
def set_type
|
50
|
+
@type = Net::DNS::RR::Types.new("SRV")
|
51
|
+
end
|
52
|
+
|
53
|
+
def get_inspect
|
54
|
+
value
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_data
|
58
|
+
@srv_pack
|
59
|
+
end
|
40
60
|
|
41
61
|
end
|
42
62
|
end
|
data/net-dns.gemspec
CHANGED
@@ -4,7 +4,7 @@ require 'date'
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "net-dns2"
|
7
|
-
s.version = "0.8.
|
7
|
+
s.version = "0.8.7"
|
8
8
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
10
10
|
s.authors = ["Marco Ceresa", "Simone Carletti", "Christopher Carpenter"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-dns2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Ceresa
|
@@ -10,62 +10,62 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-05-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - ~>
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '10.0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - ~>
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '10.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: yard
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '0'
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: rspec
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0'
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: packetfu
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
description: Net::DNS is a pure Ruby DNS library, with a clean OO interface and an
|
@@ -76,8 +76,8 @@ executables: []
|
|
76
76
|
extensions: []
|
77
77
|
extra_rdoc_files: []
|
78
78
|
files:
|
79
|
-
- .gitignore
|
80
|
-
- .travis.yml
|
79
|
+
- ".gitignore"
|
80
|
+
- ".travis.yml"
|
81
81
|
- CHANGELOG.md
|
82
82
|
- Gemfile
|
83
83
|
- README.md
|
@@ -122,12 +122,12 @@ require_paths:
|
|
122
122
|
- lib
|
123
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- -
|
125
|
+
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: 1.9.2
|
128
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|