dnsruby 1.57.0 → 1.58.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 +4 -4
- data/.gitignore +1 -2
- data/.travis.yml +1 -1
- data/README.md +2 -2
- data/RELEASE_NOTES.md +16 -0
- data/Rakefile +2 -0
- data/dnsruby.gemspec +2 -0
- data/lib/dnsruby.rb +5 -0
- data/lib/dnsruby/bit_mapping.rb +138 -0
- data/lib/dnsruby/bitmap.rb +108 -0
- data/lib/dnsruby/message/decoder.rb +90 -80
- data/lib/dnsruby/message/message.rb +16 -3
- data/lib/dnsruby/message/section.rb +3 -3
- data/lib/dnsruby/name.rb +2 -2
- data/lib/dnsruby/packet_sender.rb +73 -1
- data/lib/dnsruby/resolv.rb +56 -42
- data/lib/dnsruby/resolver.rb +95 -73
- data/lib/dnsruby/resource/GPOS.rb +9 -3
- data/lib/dnsruby/resource/HIP.rb +1 -1
- data/lib/dnsruby/resource/IN.rb +3 -1
- data/lib/dnsruby/resource/NAPTR.rb +2 -2
- data/lib/dnsruby/resource/NSEC3.rb +2 -2
- data/lib/dnsruby/resource/NXT.rb +302 -0
- data/lib/dnsruby/resource/OPT.rb +2 -2
- data/lib/dnsruby/resource/TXT.rb +2 -2
- data/lib/dnsruby/resource/generic.rb +1 -0
- data/lib/dnsruby/resource/type_bitmap.rb +0 -0
- data/lib/dnsruby/select_thread.rb +174 -83
- data/lib/dnsruby/single_resolver.rb +2 -2
- data/lib/dnsruby/version.rb +1 -1
- data/lib/dnsruby/zone_reader.rb +19 -9
- data/lib/dnsruby/zone_transfer.rb +1 -1
- data/test/spec_helper.rb +9 -1
- data/test/tc_axfr.rb +17 -4
- data/test/tc_gpos.rb +3 -3
- data/test/tc_message.rb +7 -1
- data/test/tc_nxt.rb +192 -0
- data/test/tc_recur.rb +2 -1
- data/test/tc_resolv.rb +73 -0
- data/test/tc_resolver.rb +22 -4
- data/test/tc_rr-opt.rb +9 -8
- data/test/tc_rr.rb +22 -0
- data/test/tc_single_resolver.rb +15 -15
- data/test/tc_soak.rb +154 -65
- data/test/tc_soak_base.rb +15 -15
- data/test/tc_tcp.rb +1 -1
- data/test/tc_tcp_pipelining.rb +203 -0
- data/test/tc_zone_reader.rb +73 -0
- data/test/test_dnsserver.rb +208 -0
- data/test/test_utils.rb +49 -0
- data/test/ts_offline.rb +59 -41
- data/test/ts_online.rb +92 -63
- metadata +40 -3
- data/test/tc_dnsruby.rb +0 -51
    
        data/test/test_utils.rb
    ADDED
    
    | @@ -0,0 +1,49 @@ | |
| 1 | 
            +
            require_relative 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Use this in tests in the tests directory with:
         | 
| 4 | 
            +
            # require_relative 'test_utils'
         | 
| 5 | 
            +
            # include TestUtils
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            module Dnsruby
         | 
| 8 | 
            +
              module TestUtils
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                module_function
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                # Asserts that all exceptions whose type are the specified exception class
         | 
| 13 | 
            +
                # or one of its subclasses are *not* raised.
         | 
| 14 | 
            +
                #
         | 
| 15 | 
            +
                # If any other kind of exception is raised, the test throws an exception
         | 
| 16 | 
            +
                # (rather than failing).
         | 
| 17 | 
            +
                #
         | 
| 18 | 
            +
                # The test passes if and only if no exceptions are raised.
         | 
| 19 | 
            +
                def assert_not_raised(exception_class, failure_message = nil)
         | 
| 20 | 
            +
                  begin
         | 
| 21 | 
            +
                    yield
         | 
| 22 | 
            +
                  rescue => e
         | 
| 23 | 
            +
                    if e.is_a?(exception_class)
         | 
| 24 | 
            +
                      flunk(failure_message || "An exception was not expected but was raised: #{e}")
         | 
| 25 | 
            +
                    else
         | 
| 26 | 
            +
                      raise e
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            =begin
         | 
| 32 | 
            +
              # This should result in a test failure:
         | 
| 33 | 
            +
              def test_target_exception
         | 
| 34 | 
            +
                assert_not_raised(ArgumentError, 'ArgumentError') { raise ArgumentError.new }
         | 
| 35 | 
            +
              end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              # This should result in a test error:
         | 
| 38 | 
            +
              def test_other_exception
         | 
| 39 | 
            +
                assert_not_raised(ArgumentError, 'RuntimeError') { raise RuntimeError.new }
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
              # This should result in a passed test:
         | 
| 43 | 
            +
              def test_no_exception
         | 
| 44 | 
            +
                assert_not_raised(ArgumentError, 'No Error') { }
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            =end
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
            end
         | 
| 49 | 
            +
             | 
    
        data/test/ts_offline.rb
    CHANGED
    
    | @@ -18,46 +18,64 @@ require_relative 'spec_helper' | |
| 18 18 |  | 
| 19 19 | 
             
            Dnsruby.log.level = Logger::FATAL
         | 
| 20 20 |  | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 21 | 
            +
            # We'll prepend 'tc_' and append '.rb' to these:
         | 
| 22 | 
            +
            TESTS = %w(
         | 
| 23 | 
            +
                dnskey
         | 
| 24 | 
            +
                escapedchars
         | 
| 25 | 
            +
                gpos
         | 
| 26 | 
            +
                hash
         | 
| 27 | 
            +
                header
         | 
| 28 | 
            +
                ipseckey
         | 
| 29 | 
            +
                message
         | 
| 30 | 
            +
                misc
         | 
| 31 | 
            +
                name
         | 
| 32 | 
            +
                naptr
         | 
| 33 | 
            +
                nsec
         | 
| 34 | 
            +
                nsec3
         | 
| 35 | 
            +
                nsec3param
         | 
| 36 | 
            +
                nxt
         | 
| 37 | 
            +
                packet
         | 
| 38 | 
            +
                packet_unique_push
         | 
| 39 | 
            +
                question
         | 
| 40 | 
            +
                res_config
         | 
| 41 | 
            +
                res_file
         | 
| 42 | 
            +
                res_opt
         | 
| 43 | 
            +
                rr
         | 
| 44 | 
            +
                rr-txt
         | 
| 45 | 
            +
                rr-unknown
         | 
| 46 | 
            +
                rrset
         | 
| 47 | 
            +
                rrsig
         | 
| 48 | 
            +
                tkey
         | 
| 49 | 
            +
                update
         | 
| 50 | 
            +
                zone_reader
         | 
| 51 | 
            +
            )
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            # Omitted:
         | 
| 54 | 
            +
            #
         | 
| 55 | 
            +
            # tc_res_env
         | 
| 56 | 
            +
             | 
| 57 | 
            +
             | 
| 58 | 
            +
            TESTS.each { |test| require_relative "tc_#{test}.rb" }
         | 
| 59 | 
            +
             | 
| 60 | 
            +
             | 
| 61 | 
            +
            def have_open_ssl?
         | 
| 62 | 
            +
              have_open_ssl = true
         | 
| 63 | 
            +
              begin
         | 
| 64 | 
            +
                require "openssl"
         | 
| 65 | 
            +
                OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data")
         | 
| 66 | 
            +
                key = OpenSSL::PKey::RSA.new
         | 
| 67 | 
            +
                key.e = 111
         | 
| 68 | 
            +
              rescue
         | 
| 69 | 
            +
                have_open_ssl = false
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
              have_open_ssl
         | 
| 60 72 | 
             
            end
         | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 73 | 
            +
             | 
| 74 | 
            +
            if have_open_ssl?
         | 
| 75 | 
            +
              require_relative 'tc_ds.rb'
         | 
| 76 | 
            +
            else
         | 
| 77 | 
            +
              puts "-----------------------------------------------------------------------"
         | 
| 78 | 
            +
              puts "OpenSSL not present (with full functionality) - skipping DS digest test"
         | 
| 79 | 
            +
              puts "-----------------------------------------------------------------------"
         | 
| 63 80 | 
             
            end
         | 
| 81 | 
            +
             | 
    
        data/test/ts_online.rb
    CHANGED
    
    | @@ -17,40 +17,69 @@ | |
| 17 17 | 
             
            require_relative 'spec_helper'
         | 
| 18 18 | 
             
            Dnsruby.log.level = Logger::FATAL
         | 
| 19 19 |  | 
| 20 | 
            -
            # Disable these tests if we're not online
         | 
| 21 20 | 
             
            require 'socket'
         | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
              online =  | 
| 28 | 
            -
               | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
               | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
            # Tells whether or not we can connect to the Internet.
         | 
| 24 | 
            +
            def online?
         | 
| 25 | 
            +
              sock = UDPSocket.new()
         | 
| 26 | 
            +
              online = false
         | 
| 27 | 
            +
              begin
         | 
| 28 | 
            +
                sock.connect('193.0.14.129', 25) # that address is k.root-servers.net
         | 
| 29 | 
            +
                online = true
         | 
| 30 | 
            +
                sock.close
         | 
| 31 | 
            +
              rescue Exception => exception
         | 
| 32 | 
            +
                puts "
         | 
| 33 | 
            +
            ------------------------------------------------------------
         | 
| 34 | 
            +
            Cannot bind to socket:
         | 
| 35 | 
            +
                    #{exception}
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            This is an indication you have network problems.
         | 
| 38 | 
            +
            No online tests will be run!!
         | 
| 39 | 
            +
            ------------------------------------------------------------
         | 
| 40 | 
            +
            "
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
              online
         | 
| 35 43 | 
             
            end
         | 
| 36 | 
            -
             | 
| 44 | 
            +
             | 
| 45 | 
            +
             | 
| 46 | 
            +
            if online?
         | 
| 47 | 
            +
              online_tests = %w(
         | 
| 48 | 
            +
                  axfr
         | 
| 49 | 
            +
                  hs
         | 
| 50 | 
            +
                  recur
         | 
| 51 | 
            +
                  resolv
         | 
| 52 | 
            +
                  resolver
         | 
| 53 | 
            +
                  tcp
         | 
| 54 | 
            +
                  tcp_pipelining
         | 
| 55 | 
            +
              )
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              # Excluded are:
         | 
| 58 | 
            +
              #
         | 
| 59 | 
            +
              # inet6
         | 
| 60 | 
            +
              # recurse
         | 
| 61 | 
            +
              # queue
         | 
| 62 | 
            +
              # soak
         | 
| 63 | 
            +
             | 
| 37 64 | 
             
              #    OK - online and ready to go
         | 
| 38 | 
            -
               | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
               | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 65 | 
            +
              puts '
         | 
| 66 | 
            +
            Running online tests. These tests send UDP packets - some may be lost.
         | 
| 67 | 
            +
            If you get the odd timeout error with these tests, try running them again.
         | 
| 68 | 
            +
            It may just be that some UDP packets got lost the first time...
         | 
| 69 | 
            +
            '
         | 
| 70 | 
            +
             | 
| 71 | 
            +
              online_tests.each { |test| require_relative("tc_#{test}.rb") }
         | 
| 72 | 
            +
            end
         | 
| 73 | 
            +
             | 
| 74 | 
            +
             | 
| 75 | 
            +
            # We have set server_up to unconditionally return false.
         | 
| 76 | 
            +
            # Therefore, to avoid any misconception that this code could run,
         | 
| 77 | 
            +
            # I'm commenting it out.
         | 
| 78 | 
            +
            =begin
         | 
| 79 | 
            +
            def server_up?
         | 
| 80 | 
            +
              false
         | 
| 81 | 
            +
            #  Check if we can contact the server - if we can't, then abort the test
         | 
| 52 82 | 
             
              #  (but tell user that test has not been run due to connectivity problems)
         | 
| 53 | 
            -
              server_up = false
         | 
| 54 83 |  | 
| 55 84 | 
             
              #  Disabling the attempt to connect to Nominet servers...
         | 
| 56 85 | 
             
              #  begin
         | 
| @@ -65,38 +94,40 @@ if (online) | |
| 65 94 | 
             
              #    puts "\n\nNo tests targetting this server will be run!!\n\n"
         | 
| 66 95 | 
             
              #    puts "----------------------------------------"
         | 
| 67 96 | 
             
              #  end
         | 
| 97 | 
            +
            end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
             | 
| 100 | 
            +
            if (server_up)
         | 
| 101 | 
            +
             | 
| 102 | 
            +
              require_relative "tc_single_resolver.rb"
         | 
| 103 | 
            +
              require_relative "tc_cache.rb"
         | 
| 104 | 
            +
              require_relative "tc_dns.rb"
         | 
| 105 | 
            +
              require_relative "tc_rr-opt.rb"
         | 
| 106 | 
            +
              require_relative "tc_res_config.rb"
         | 
| 68 107 |  | 
| 69 | 
            -
               | 
| 70 | 
            -
             | 
| 71 | 
            -
                 | 
| 72 | 
            -
                 | 
| 73 | 
            -
                 | 
| 74 | 
            -
                 | 
| 75 | 
            -
             | 
| 76 | 
            -
                 | 
| 77 | 
            -
             | 
| 78 | 
            -
                 | 
| 79 | 
            -
                 | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
                 | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
                  require_relative "tc_tsig.rb"
         | 
| 93 | 
            -
                  puts "------------------------------------------------------"
         | 
| 94 | 
            -
                  puts "Running DNSSEC test - may fail if OpenSSL not complete"
         | 
| 95 | 
            -
                  puts "------------------------------------------------------"
         | 
| 96 | 
            -
                  require_relative "tc_verifier.rb"
         | 
| 97 | 
            -
                  require_relative "tc_dlv.rb"
         | 
| 98 | 
            -
                  require_relative "tc_validator.rb"
         | 
| 99 | 
            -
                end
         | 
| 108 | 
            +
              have_openssl = false
         | 
| 109 | 
            +
              begin
         | 
| 110 | 
            +
                require "openssl"
         | 
| 111 | 
            +
                OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data")
         | 
| 112 | 
            +
                key = OpenSSL::PKey::RSA.new
         | 
| 113 | 
            +
                key.e = 111
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                have_openssl=true
         | 
| 116 | 
            +
              rescue Exception => e
         | 
| 117 | 
            +
                puts "-------------------------------------------------------------------------"
         | 
| 118 | 
            +
                puts "OpenSSL not present (with full functionality) - skipping TSIG/DNSSEC test"
         | 
| 119 | 
            +
                puts "-------------------------------------------------------------------------"
         | 
| 120 | 
            +
              end
         | 
| 121 | 
            +
              if (have_openssl)
         | 
| 122 | 
            +
                require_relative "tc_tsig.rb"
         | 
| 123 | 
            +
                puts "------------------------------------------------------"
         | 
| 124 | 
            +
                puts "Running DNSSEC test - may fail if OpenSSL not complete"
         | 
| 125 | 
            +
                puts "------------------------------------------------------"
         | 
| 126 | 
            +
                require_relative "tc_verifier.rb"
         | 
| 127 | 
            +
                require_relative "tc_dlv.rb"
         | 
| 128 | 
            +
                require_relative "tc_validator.rb"
         | 
| 129 | 
            +
              end
         | 
| 130 | 
            +
            =end
         | 
| 100 131 |  | 
| 101 132 | 
             
            #    have_em = false
         | 
| 102 133 | 
             
            #    begin
         | 
| @@ -112,5 +143,3 @@ if (online) | |
| 112 143 | 
             
            #      require 'test/tc_event_machine_res.rb'
         | 
| 113 144 | 
             
            #      require 'test/tc_event_machine_deferrable.rb'
         | 
| 114 145 | 
             
            #    end
         | 
| 115 | 
            -
              end
         | 
| 116 | 
            -
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: dnsruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.58.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alex Dalitz
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2015-03-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: pry
         | 
| @@ -72,6 +72,34 @@ dependencies: | |
| 72 72 | 
             
                - - "~>"
         | 
| 73 73 | 
             
                  - !ruby/object:Gem::Version
         | 
| 74 74 | 
             
                    version: '5.4'
         | 
| 75 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 76 | 
            +
              name: rubydns
         | 
| 77 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 | 
            +
                requirements:
         | 
| 79 | 
            +
                - - "~>"
         | 
| 80 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            +
                    version: '1.0'
         | 
| 82 | 
            +
              type: :development
         | 
| 83 | 
            +
              prerelease: false
         | 
| 84 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 85 | 
            +
                requirements:
         | 
| 86 | 
            +
                - - "~>"
         | 
| 87 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            +
                    version: '1.0'
         | 
| 89 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 90 | 
            +
              name: nio4r
         | 
| 91 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 92 | 
            +
                requirements:
         | 
| 93 | 
            +
                - - "~>"
         | 
| 94 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            +
                    version: '1.1'
         | 
| 96 | 
            +
              type: :development
         | 
| 97 | 
            +
              prerelease: false
         | 
| 98 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 99 | 
            +
                requirements:
         | 
| 100 | 
            +
                - - "~>"
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            +
                    version: '1.1'
         | 
| 75 103 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 76 104 | 
             
              name: coveralls
         | 
| 77 105 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -124,6 +152,8 @@ files: | |
| 124 152 | 
             
            - dnsruby.gemspec
         | 
| 125 153 | 
             
            - lib/dnsruby.rb
         | 
| 126 154 | 
             
            - lib/dnsruby/DNS.rb
         | 
| 155 | 
            +
            - lib/dnsruby/bit_mapping.rb
         | 
| 156 | 
            +
            - lib/dnsruby/bitmap.rb
         | 
| 127 157 | 
             
            - lib/dnsruby/cache.rb
         | 
| 128 158 | 
             
            - lib/dnsruby/code_mapper.rb
         | 
| 129 159 | 
             
            - lib/dnsruby/code_mappers.rb
         | 
| @@ -167,6 +197,7 @@ files: | |
| 167 197 | 
             
            - lib/dnsruby/resource/NSEC.rb
         | 
| 168 198 | 
             
            - lib/dnsruby/resource/NSEC3.rb
         | 
| 169 199 | 
             
            - lib/dnsruby/resource/NSEC3PARAM.rb
         | 
| 200 | 
            +
            - lib/dnsruby/resource/NXT.rb
         | 
| 170 201 | 
             
            - lib/dnsruby/resource/OPT.rb
         | 
| 171 202 | 
             
            - lib/dnsruby/resource/PX.rb
         | 
| 172 203 | 
             
            - lib/dnsruby/resource/RP.rb
         | 
| @@ -185,6 +216,7 @@ files: | |
| 185 216 | 
             
            - lib/dnsruby/resource/domain_name.rb
         | 
| 186 217 | 
             
            - lib/dnsruby/resource/generic.rb
         | 
| 187 218 | 
             
            - lib/dnsruby/resource/resource.rb
         | 
| 219 | 
            +
            - lib/dnsruby/resource/type_bitmap.rb
         | 
| 188 220 | 
             
            - lib/dnsruby/select_thread.rb
         | 
| 189 221 | 
             
            - lib/dnsruby/single_resolver.rb
         | 
| 190 222 | 
             
            - lib/dnsruby/single_verifier.rb
         | 
| @@ -202,7 +234,6 @@ files: | |
| 202 234 | 
             
            - test/tc_dlv.rb
         | 
| 203 235 | 
             
            - test/tc_dns.rb
         | 
| 204 236 | 
             
            - test/tc_dnskey.rb
         | 
| 205 | 
            -
            - test/tc_dnsruby.rb
         | 
| 206 237 | 
             
            - test/tc_ds.rb
         | 
| 207 238 | 
             
            - test/tc_escapedchars.rb
         | 
| 208 239 | 
             
            - test/tc_gpos.rb
         | 
| @@ -218,6 +249,7 @@ files: | |
| 218 249 | 
             
            - test/tc_nsec.rb
         | 
| 219 250 | 
             
            - test/tc_nsec3.rb
         | 
| 220 251 | 
             
            - test/tc_nsec3param.rb
         | 
| 252 | 
            +
            - test/tc_nxt.rb
         | 
| 221 253 | 
             
            - test/tc_packet.rb
         | 
| 222 254 | 
             
            - test/tc_packet_unique_push.rb
         | 
| 223 255 | 
             
            - test/tc_question.rb
         | 
| @@ -227,6 +259,7 @@ files: | |
| 227 259 | 
             
            - test/tc_res_env.rb
         | 
| 228 260 | 
             
            - test/tc_res_file.rb
         | 
| 229 261 | 
             
            - test/tc_res_opt.rb
         | 
| 262 | 
            +
            - test/tc_resolv.rb
         | 
| 230 263 | 
             
            - test/tc_resolver.rb
         | 
| 231 264 | 
             
            - test/tc_rr-opt.rb
         | 
| 232 265 | 
             
            - test/tc_rr-txt.rb
         | 
| @@ -239,11 +272,15 @@ files: | |
| 239 272 | 
             
            - test/tc_soak_base.rb
         | 
| 240 273 | 
             
            - test/tc_sshfp.rb
         | 
| 241 274 | 
             
            - test/tc_tcp.rb
         | 
| 275 | 
            +
            - test/tc_tcp_pipelining.rb
         | 
| 242 276 | 
             
            - test/tc_tkey.rb
         | 
| 243 277 | 
             
            - test/tc_tsig.rb
         | 
| 244 278 | 
             
            - test/tc_update.rb
         | 
| 245 279 | 
             
            - test/tc_validator.rb
         | 
| 246 280 | 
             
            - test/tc_verifier.rb
         | 
| 281 | 
            +
            - test/tc_zone_reader.rb
         | 
| 282 | 
            +
            - test/test_dnsserver.rb
         | 
| 283 | 
            +
            - test/test_utils.rb
         | 
| 247 284 | 
             
            - test/ts_dnsruby.rb
         | 
| 248 285 | 
             
            - test/ts_offline.rb
         | 
| 249 286 | 
             
            - test/ts_online.rb
         | 
    
        data/test/tc_dnsruby.rb
    DELETED
    
    | @@ -1,51 +0,0 @@ | |
| 1 | 
            -
            # --
         | 
| 2 | 
            -
            # Copyright 2007 Nominet UK
         | 
| 3 | 
            -
            # 
         | 
| 4 | 
            -
            # Licensed under the Apache License, Version 2.0 (the "License");
         | 
| 5 | 
            -
            # you may not use this file except in compliance with the License.
         | 
| 6 | 
            -
            # You may obtain a copy of the License at
         | 
| 7 | 
            -
            # 
         | 
| 8 | 
            -
            #     http://www.apache.org/licenses/LICENSE-2.0
         | 
| 9 | 
            -
            # 
         | 
| 10 | 
            -
            # Unless required by applicable law or agreed to in writing, software
         | 
| 11 | 
            -
            # distributed under the License is distributed on an "AS IS" BASIS,
         | 
| 12 | 
            -
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         | 
| 13 | 
            -
            # See the License for the specific language governing permissions and
         | 
| 14 | 
            -
            # limitations under the License.
         | 
| 15 | 
            -
            # ++
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            require_relative 'spec_helper'
         | 
| 18 | 
            -
             | 
| 19 | 
            -
            include Dnsruby
         | 
| 20 | 
            -
            class TestDnsruby < Minitest::Test
         | 
| 21 | 
            -
              def test_dnsruby
         | 
| 22 | 
            -
                a = Resolv.getaddress("google-public-dns-a.google.com.")
         | 
| 23 | 
            -
                assert_equal(a.to_s, "8.8.8.8")
         | 
| 24 | 
            -
                a = Resolv.getaddresses("google-public-dns-a.google.com.")
         | 
| 25 | 
            -
                if (a.length == 1) 
         | 
| 26 | 
            -
                  assert(a.length==1, a.to_s + " should only have one response. Had " + a.length.to_s)
         | 
| 27 | 
            -
                  assert(a.any? {|s| s.to_s == ("8.8.8.8")})
         | 
| 28 | 
            -
                  Resolv.each_address("google-public-dns-a.google.com.") {|address| assert_equal(address, "8.8.8.8")}
         | 
| 29 | 
            -
                else 
         | 
| 30 | 
            -
                  assert(a.length==2, a.to_s + " should have had two responses. Had " + a.length.to_s)
         | 
| 31 | 
            -
                  assert(a.any? {|s| s.to_s == ("8.8.8.8")})
         | 
| 32 | 
            -
                  assert(a.any? {|s| s.to_s == ("2001:4860:4860::8888")})
         | 
| 33 | 
            -
                  Resolv.each_address("google-public-dns-a.google.com.") {|address|
         | 
| 34 | 
            -
                    assert((address == "8.8.8.8") || (address = "2001:4860:4860::8888")) }
         | 
| 35 | 
            -
                end
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                n = Resolv.getname("8.8.8.8")
         | 
| 38 | 
            -
                assert_equal(n, "google-public-dns-a.google.com")
         | 
| 39 | 
            -
                begin
         | 
| 40 | 
            -
                  ret = Resolv.getname("google-public-dns-a.google.com.")
         | 
| 41 | 
            -
                  assert(false, ret)
         | 
| 42 | 
            -
                rescue Exception => e
         | 
| 43 | 
            -
            #      assert(e.kind_of?(ResolvError))
         | 
| 44 | 
            -
                  assert(e.kind_of?(Resolv::ResolvError), "Error was a #{e.class}: #{e}")
         | 
| 45 | 
            -
                end
         | 
| 46 | 
            -
                n = Resolv.getnames("8.8.8.8")
         | 
| 47 | 
            -
                assert(n.length==1)
         | 
| 48 | 
            -
                assert_equal(n[0], "google-public-dns-a.google.com")
         | 
| 49 | 
            -
                Resolv.each_name("8.8.8.8") {|name| assert_equal(name, "google-public-dns-a.google.com")}
         | 
| 50 | 
            -
              end
         | 
| 51 | 
            -
            end
         |