net-dns2 0.8.6 → 0.8.7
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.
- 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: []
|