gitlab-net-dns 0.11.0 → 0.12.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6894aeca8ca5a877a50f79dd5960888cf153cbf33ae1f367681185ab72eeed25
4
- data.tar.gz: 6db68fc71b24701ebe82fb84e13f2a5a131a6aecba929af968b528d2e40650dd
3
+ metadata.gz: 626fddeccebd199f0753f59a1f0da00bf17c923ab59863f6dcf4f1712e565aa9
4
+ data.tar.gz: 266c1c5e8b273c3b09305cca8a96127b4d46bfe9396ceb103ef3278edef54101
5
5
  SHA512:
6
- metadata.gz: 9d3aae8c3e2868244e5cd5f4da8a89191901f440ca0a999280ee8b1f7b083f57aa10fc1aabe8fe38b13de99579bcfec4805a4ed4eb2c6c35c61d9003c5ea4076
7
- data.tar.gz: e4d8e5f5dca3b4b9c704d0c4ff8c695b86f4620b48ccfa9ca505cbc0a5ac784517f045b6257ac2e76d15f3e4ad277385814e56905167ec044bed77f543cf645e
6
+ metadata.gz: f17432960ab586b0e2d74dc9d3d8cdad69a477c050f20139038155825b4dcd116d41fa8b423203310fd88cd8510f49086db89d2fee372219eb72fe5d39a56cf1
7
+ data.tar.gz: b357ac43e0927bccd981530f026f4af77f3a1da4d2263966621a9744a62781bf44f7438f383b404d3194f5a9f1f0f16ea490ac8116ad1299683aa5a408405af9
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
+ gem "base64"
5
6
  gem "minitest"
6
7
  gem "minitest-reporters"
7
8
  gem "rspec"
data/lib/net/dns/rr.rb CHANGED
@@ -298,14 +298,8 @@ module Net
298
298
  if self.class == Net::DNS::RR
299
299
  temp = dn_expand(data, offset)[1]
300
300
  type = Net::DNS::RR::Types.new data.unpack("@#{temp} n")[0]
301
- rr_class = Net::DNS::RR.const_get(type.to_s) rescue nil
302
-
303
- if rr_class && rr_class.respond_to?(:parse_packet)
304
- rr_class.parse_packet(data, offset)
305
- else
306
- # This shouldn't happen because Net::DNS::RR::Types.new already raises an error on invalid types
307
- raise "Unknown or unsupported RR type: #{type}"
308
- end
301
+ rr_class = Net::DNS::RR.const_get(type.to_s)
302
+ rr_class.parse_packet(data, offset)
309
303
  else
310
304
  @name, offset = dn_expand(data, offset)
311
305
  rrtype, cls, @ttl, @rdlength = data.unpack("@#{offset} n2 N n")
@@ -3,6 +3,6 @@
3
3
  module Net
4
4
  module DNS
5
5
  # The current library version.
6
- VERSION = "0.11.0"
6
+ VERSION = "0.12.0"
7
7
  end
8
8
  end
data/test/unit/rr_test.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'test_helper'
2
+ require 'base64'
2
3
  require 'net/dns/rr'
3
4
 
4
5
  class RRTest < Minitest::Test
@@ -157,4 +158,12 @@ class RRTest < Minitest::Test
157
158
  # Verify the error message mentions the unknown type
158
159
  assert_match(/Unknown type number/, error.message)
159
160
  end
161
+
162
+ def test_aaaa_packet
163
+ # A response of `dig google.com AAAA` query
164
+ encoded_payload = "PA+BgAABAAEADQAbBmdvb2dsZQNjb20AABwAAcAMABwAAQAAASwAECoAFFBA\nDggKAAAAAAAAIA7AEwACAAEAAAFMABQBYgxndGxkLXNlcnZlcnMDbmV0AMAT\nAAIAAQAAAUwABAFtwEbAEwACAAEAAAFMAAQBY8BGwBMAAgABAAABTAAEAWbA\nRsATAAIAAQAAAUwABAFnwEbAEwACAAEAAAFMAAQBa8BGwBMAAgABAAABTAAE\nAWXARsATAAIAAQAAAUwABAFqwEbAEwACAAEAAAFMAAQBZMBGwBMAAgABAAAB\nTAAEAWnARsATAAIAAQAAAUwABAFhwEbAEwACAAEAAAFMAAQBbMBGwBMAAgAB\nAAABTAAEAWjARsD0AAEAAQAAAUwABMAFBh7A9AAcAAEAAAFMABAgAQUDqD4A\nAAAAAAAAAgAwwEQAAQABAAABTAAEwCEOHsBEABwAAQAAAUwAECABBQMjHQAA\nAAAAAAACADDAdAABAAEAAAFMAATAGlwewHQAHAABAAABTAAQIAEFA4PrAAAA\nAAAAAAAAMMDUAAEAAQAAAUwABMAfUB7A1AAcAAEAAAFMABAgAQUAhW4AAAAA\nAAAAAAAwwLQAAQABAAABTAAEwAxeHsC0ABwAAQAAAUwAECABBQIcoQAAAAAA\nAAAAADDAhAABAAEAAAFMAATAIzMewIQAHAABAAABTAAQIAEFA9QUAAAAAAAA\nAAAAMMCUAAEAAQAAAUwABMAqXR7AlAAcAAEAAAFMABAgAQUD7qMAAAAAAAAA\nAAAwwRQAAQABAAABTAAEwDZwHsEUABwAAQAAAUwAECABBQIIzAAAAAAAAAAA\nADDA5AABAAEAAAFMAATAK6wewOQAHAABAAABTAAQIAEFAznBAAAAAAAAAAAA\nMMDEAAEAAQAAAUwABMAwTx7AxAAcAAEAAAFMABAgAQUCcJQAAAAAAAAAAAAw\nwKQAAQABAAABTAAEwDSyHsCkABwAAQAAAUwAECABBQMNLQAAAAAAAAAAADDB\nBAABAAEAAAFMAATAKaIewQQAHAABAAABTAAQIAEFANk3AAAAAAAAAAAAMMBk\nAAEAAQAAAUwABMA3Ux7AZAAcAAEAAAFMABAgAQUBsfkAAAAAAAAAAAAwAAAp\nEAAAAAAAAAA=\n"
165
+ payload = Base64.decode64(encoded_payload)
166
+
167
+ Net::DNS::Packet.parse(payload)
168
+ end
160
169
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-net-dns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Ceresa
8
8
  - Simone Carletti
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-28 00:00:00.000000000 Z
11
+ date: 2025-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger