From 90fa897e287736a662a1404509b3faa9af9d4284 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 16 Sep 2026 19:39:20 +0900 Subject: [PATCH] Revert "Do not register on-demand classes for unknown DNS types and SvcParamKeys" This reverts commit 9e331b5960a8c2fb405fc340cfd35da78d28b2dc, which contains only the same test code as previous two commits; 05185b43229f158a3044e58fcc0e8e6cca34017f and fcff0a19e401a6e75917e85a244b3a9563987d6e --- test/resolv/test_resource.rb | 61 ------------------------------------ 1 file changed, 61 deletions(-) diff --git a/test/resolv/test_resource.rb b/test/resolv/test_resource.rb index aa90a5c..c5d22ec 100644 --- a/test/resolv/test_resource.rb +++ b/test/resolv/test_resource.rb @@ -81,67 +81,6 @@ def test_generic_question_equality Resolv::DNS::Message.decode(wire).answer.first[2] end - # Decoding an unknown (type, class) pair builds a fresh class every time, so - # equality must not rest on the class identity. - def test_generic_equality - wire = generic_answer(40000, "\x01\x02\x03") - rr1 = decode_generic(wire) - rr2 = decode_generic(wire) - - assert_not_same rr1.class, rr2.class - assert_equal rr1, rr2 - assert rr1.eql?(rr2) - assert_equal rr1.hash, rr2.hash - assert_equal Resolv::DNS::Message.decode(wire), Resolv::DNS::Message.decode(wire) - end - - # Any descendant counts, not just a class create returned. - def test_generic_equality_between_descendants - generic = Resolv::DNS::Resource::Generic - direct = generic.create(40000, 60000) - descendant = Class.new(generic.create(40000, 60000)) - - assert_equal direct.new("\x01\x02\x03"), descendant.new("\x01\x02\x03") - assert_equal descendant.new("\x01\x02\x03"), direct.new("\x01\x02\x03") - assert_equal generic.new("\x01\x02\x03"), generic.new("\x01\x02\x03") - assert_not_equal direct.new("\x01\x02\x03"), - Class.new(generic.create(40001, 60000)).new("\x01\x02\x03") - end - - def test_generic_inequality - rr = decode_generic(generic_answer(40000, "\x01\x02\x03")) - - assert_not_equal rr, decode_generic(generic_answer(40001, "\x01\x02\x03")) - assert_not_equal rr, decode_generic(generic_answer(40000, "\x09\x09\x09")) - assert_not_equal rr, Resolv::DNS::Resource::IN::A.new("192.168.0.1") - end - - # A question holds the resource class itself, so it needs the same treatment. - def test_generic_question_equality - wire = generic_question(40000) - - assert_equal Resolv::DNS::Message.decode(wire), Resolv::DNS::Message.decode(wire) - assert_not_equal Resolv::DNS::Message.decode(wire), - Resolv::DNS::Message.decode(generic_question(40001)) - end - - private def header(qdcount, ancount) - "\x00\x00\x00\x00".b + [qdcount, ancount, 0, 0].pack('nnnn') - end - - private def generic_answer(type, rdata) - rdata = rdata.b - (header(0, 1) + "\x00".b + [type, 60000, 0, rdata.bytesize].pack('nnNn') + rdata).b - end - - private def generic_question(type) - (header(1, 0) + "\x07example\x03com\x00".b + [type, 60000].pack('nn')).b - end - - private def decode_generic(wire) - Resolv::DNS::Message.decode(wire).answer.first[2] - end - def test_srv_no_compress # Domain name in SRV RDATA should not be compressed issue29 = 'https://github.com/ruby/resolv/issues/29'