async-dns 1.2.0 → 1.2.1
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/.editorconfig +6 -0
 - data/.travis.yml +8 -7
 - data/async-dns.gemspec +3 -4
 - data/examples/cloudflare.rb +0 -2
 - data/lib/async/dns.rb +0 -1
 - data/lib/async/dns/handler.rb +1 -1
 - data/lib/async/dns/message.rb +0 -22
 - data/lib/async/dns/resolver.rb +1 -1
 - data/lib/async/dns/server.rb +5 -7
 - data/lib/async/dns/version.rb +1 -1
 - data/spec/async/dns/resolver_performance_spec.rb +0 -2
 - data/spec/async/dns/server/million.rb +0 -2
 - data/spec/async/dns/server_performance_spec.rb +0 -2
 - metadata +10 -11
 - data/lib/async/dns/logger.rb +0 -31
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: fe06cb348414e96cabc7ad81a08d8c030d36d4f95cec538a2a1ca457123d6b58
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 76e5664c2582c7ebac250e7ae2c0680864ea85f4896eaca76b1f5050f517c934
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d5770a6b12241696f5930240913a15740a6950b94d8be0e0b64a83bc8f86da75c6c26d044e754590a1b8915e5f997c134d07653eaa64ee2177147edefa5f33ef
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 34916a1a687ecf6fac55bf52a860529e29642043c5e8a35b44a9931ce37c6fc26edab43b6edc664eae5052649bbf133f92a24597f9b757a14feb81deb493c010
         
     | 
    
        data/.editorconfig
    ADDED
    
    
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -1,7 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            language: ruby
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
            dist: xenial
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
       4 
4 
     | 
    
         
             
            cache: bundler
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       5 
6 
     | 
    
         
             
            addons:
         
     | 
| 
       6 
7 
     | 
    
         
             
              apt:
         
     | 
| 
       7 
8 
     | 
    
         
             
                packages:
         
     | 
| 
         @@ -9,18 +10,18 @@ addons: 
     | 
|
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
            before_script:
         
     | 
| 
       11 
12 
     | 
    
         
             
              - sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
         
     | 
| 
       12 
     | 
    
         
            -
              - gem update --system
         
     | 
| 
       13 
     | 
    
         
            -
              - gem install bundler
         
     | 
| 
       14 
13 
     | 
    
         | 
| 
       15 
14 
     | 
    
         
             
            matrix:
         
     | 
| 
       16 
15 
     | 
    
         
             
              include:
         
     | 
| 
       17 
16 
     | 
    
         
             
                - rvm: 2.3
         
     | 
| 
       18 
17 
     | 
    
         
             
                - rvm: 2.4
         
     | 
| 
       19 
18 
     | 
    
         
             
                - rvm: 2.5
         
     | 
| 
       20 
     | 
    
         
            -
                - rvm:  
     | 
| 
      
 19 
     | 
    
         
            +
                - rvm: 2.6
         
     | 
| 
      
 20 
     | 
    
         
            +
                - rvm: truffleruby
         
     | 
| 
       21 
21 
     | 
    
         
             
                - rvm: jruby-head
         
     | 
| 
       22 
     | 
    
         
            -
                  env:
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
                  env: JRUBY_OPTS="--debug -X+O"
         
     | 
| 
      
 23 
     | 
    
         
            +
                - rvm: ruby-head
         
     | 
| 
       24 
24 
     | 
    
         
             
              allow_failures:
         
     | 
| 
       25 
25 
     | 
    
         
             
                - rvm: ruby-head
         
     | 
| 
      
 26 
     | 
    
         
            +
                - rvm: truffleruby
         
     | 
| 
       26 
27 
     | 
    
         
             
                - rvm: jruby-head
         
     | 
    
        data/async-dns.gemspec
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
       2 
2 
     | 
    
         
             
            require_relative 'lib/async/dns/version'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            Gem::Specification.new do |spec|
         
     | 
| 
         @@ -19,14 +19,13 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       19 
19 
     | 
    
         
             
            	spec.executables   = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         
     | 
| 
       20 
20 
     | 
    
         
             
            	spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
       21 
21 
     | 
    
         
             
            	spec.require_paths = ["lib"]
         
     | 
| 
       22 
     | 
    
         
            -
            	spec.has_rdoc      = "yard"
         
     | 
| 
       23 
22 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
            	spec.add_dependency("async-io", "~> 1. 
     | 
| 
      
 23 
     | 
    
         
            +
            	spec.add_dependency("async-io", "~> 1.15")
         
     | 
| 
       25 
24 
     | 
    
         | 
| 
       26 
25 
     | 
    
         
             
            	spec.add_development_dependency "async-rspec", "~> 1.0"
         
     | 
| 
       27 
26 
     | 
    
         
             
            	spec.add_development_dependency "process-daemon", "~> 1.0"
         
     | 
| 
       28 
27 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            	spec.add_development_dependency "bundler" 
     | 
| 
      
 28 
     | 
    
         
            +
            	spec.add_development_dependency "bundler"
         
     | 
| 
       30 
29 
     | 
    
         
             
            	spec.add_development_dependency "rspec", "~> 3.6"
         
     | 
| 
       31 
30 
     | 
    
         
             
            	spec.add_development_dependency "rake"
         
     | 
| 
       32 
31 
     | 
    
         
             
            end
         
     | 
    
        data/examples/cloudflare.rb
    CHANGED
    
    
    
        data/lib/async/dns.rb
    CHANGED
    
    
    
        data/lib/async/dns/handler.rb
    CHANGED
    
    | 
         @@ -85,7 +85,7 @@ module Async::DNS 
     | 
|
| 
       85 
85 
     | 
    
         
             
            			@logger.debug "<#{response.id}> Writing #{output_data.bytesize} bytes response to client via UDP..."
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
       87 
87 
     | 
    
         
             
            			if output_data.bytesize > UDP_TRUNCATION_SIZE
         
     | 
| 
       88 
     | 
    
         
            -
            				@logger.warn "<#{response.id}>Response via UDP was larger than #{UDP_TRUNCATION_SIZE}!"
         
     | 
| 
      
 88 
     | 
    
         
            +
            				@logger.warn "<#{response.id}> Response via UDP was larger than #{UDP_TRUNCATION_SIZE}!"
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
90 
     | 
    
         
             
            				# Reencode data with truncation flag marked as true:
         
     | 
| 
       91 
91 
     | 
    
         
             
            				truncation_error = Resolv::DNS::Message.new(response.id)
         
     | 
    
        data/lib/async/dns/message.rb
    CHANGED
    
    | 
         @@ -23,7 +23,6 @@ require 'resolv' 
     | 
|
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
            require 'base64'
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
            require_relative 'logger'
         
     | 
| 
       27 
26 
     | 
    
         
             
            require_relative 'extensions/resolv'
         
     | 
| 
       28 
27 
     | 
    
         | 
| 
       29 
28 
     | 
    
         
             
            module Async::DNS
         
     | 
| 
         @@ -32,19 +31,6 @@ module Async::DNS 
     | 
|
| 
       32 
31 
     | 
    
         
             
            	# The DNS message container.
         
     | 
| 
       33 
32 
     | 
    
         
             
            	Message = ::Resolv::DNS::Message
         
     | 
| 
       34 
33 
     | 
    
         
             
            	DecodeError = ::Resolv::DNS::DecodeError
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            	@dump_bad_message = nil
         
     | 
| 
       37 
     | 
    
         
            -
            	
         
     | 
| 
       38 
     | 
    
         
            -
            	# Call this function with a path where bad messages will be saved. Any message that causes an exception to be thrown while decoding the binary will be saved in base64 for later inspection. The log file could grow quickly so be careful - not designed for long term use.
         
     | 
| 
       39 
     | 
    
         
            -
            	def self.log_bad_messages!(log_path)
         
     | 
| 
       40 
     | 
    
         
            -
            		bad_messages_log = Logger.new(log_path, 10, 1024*100)
         
     | 
| 
       41 
     | 
    
         
            -
            		bad_messages_log.level = Logger::DEBUG
         
     | 
| 
       42 
     | 
    
         
            -
            		
         
     | 
| 
       43 
     | 
    
         
            -
            		@dump_bad_message = lambda do |error, data|
         
     | 
| 
       44 
     | 
    
         
            -
            			bad_messages_log.debug("Bad message: #{Base64.encode64(data)}")
         
     | 
| 
       45 
     | 
    
         
            -
            			Async::DNS.log_exception(bad_messages_log, error)
         
     | 
| 
       46 
     | 
    
         
            -
            		end
         
     | 
| 
       47 
     | 
    
         
            -
            	end
         
     | 
| 
       48 
34 
     | 
    
         | 
| 
       49 
35 
     | 
    
         
             
            	# Decodes binary data into a {Message}.
         
     | 
| 
       50 
36 
     | 
    
         
             
            	def self.decode_message(data)
         
     | 
| 
         @@ -63,13 +49,5 @@ module Async::DNS 
     | 
|
| 
       63 
49 
     | 
    
         | 
| 
       64 
50 
     | 
    
         
             
            			raise new_error
         
     | 
| 
       65 
51 
     | 
    
         
             
            		end
         
     | 
| 
       66 
     | 
    
         
            -
            		
         
     | 
| 
       67 
     | 
    
         
            -
            	rescue => error
         
     | 
| 
       68 
     | 
    
         
            -
            		# Log the bad messsage if required:
         
     | 
| 
       69 
     | 
    
         
            -
            		if @dump_bad_message
         
     | 
| 
       70 
     | 
    
         
            -
            			@dump_bad_message.call(error, data)
         
     | 
| 
       71 
     | 
    
         
            -
            		end
         
     | 
| 
       72 
     | 
    
         
            -
            		
         
     | 
| 
       73 
     | 
    
         
            -
            		raise
         
     | 
| 
       74 
52 
     | 
    
         
             
            	end
         
     | 
| 
       75 
53 
     | 
    
         
             
            end
         
     | 
    
        data/lib/async/dns/resolver.rb
    CHANGED
    
    | 
         @@ -142,7 +142,7 @@ module Async::DNS 
     | 
|
| 
       142 
142 
     | 
    
         
             
            				begin
         
     | 
| 
       143 
143 
     | 
    
         
             
            					response = nil
         
     | 
| 
       144 
144 
     | 
    
         | 
| 
       145 
     | 
    
         
            -
            					task. 
     | 
| 
      
 145 
     | 
    
         
            +
            					task.with_timeout(@timeout) do
         
     | 
| 
       146 
146 
     | 
    
         
             
            						@logger.debug "[#{message.id}] -> Try address #{endpoint}" if @logger
         
     | 
| 
       147 
147 
     | 
    
         
             
            						response = try_server(request, endpoint)
         
     | 
| 
       148 
148 
     | 
    
         
             
            						@logger.debug "[#{message.id}] <- Try address #{endpoint} = #{response}" if @logger
         
     | 
    
        data/lib/async/dns/server.rb
    CHANGED
    
    | 
         @@ -22,7 +22,6 @@ require 'async' 
     | 
|
| 
       22 
22 
     | 
    
         
             
            require 'async/io'
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
            require_relative 'transaction'
         
     | 
| 
       25 
     | 
    
         
            -
            require_relative 'logger'
         
     | 
| 
       26 
25 
     | 
    
         | 
| 
       27 
26 
     | 
    
         
             
            module Async::DNS
         
     | 
| 
       28 
27 
     | 
    
         
             
            	class Server
         
     | 
| 
         @@ -77,25 +76,24 @@ module Async::DNS 
     | 
|
| 
       77 
76 
     | 
    
         
             
            					begin
         
     | 
| 
       78 
77 
     | 
    
         
             
            						question = question.without_origin(@origin)
         
     | 
| 
       79 
78 
     | 
    
         | 
| 
       80 
     | 
    
         
            -
            						@logger.debug {" 
     | 
| 
      
 79 
     | 
    
         
            +
            						@logger.debug(query) {"Processing question #{question} #{resource_class}..."}
         
     | 
| 
       81 
80 
     | 
    
         | 
| 
       82 
81 
     | 
    
         
             
            						transaction = Transaction.new(self, query, question, resource_class, response, options)
         
     | 
| 
       83 
82 
     | 
    
         | 
| 
       84 
83 
     | 
    
         
             
            						transaction.process
         
     | 
| 
       85 
84 
     | 
    
         
             
            					rescue Resolv::DNS::OriginError
         
     | 
| 
       86 
85 
     | 
    
         
             
            						# This is triggered if the question is not part of the specified @origin:
         
     | 
| 
       87 
     | 
    
         
            -
            						@logger.debug {" 
     | 
| 
      
 86 
     | 
    
         
            +
            						@logger.debug(query) {"Skipping question #{question} #{resource_class} because #{$!}"}
         
     | 
| 
       88 
87 
     | 
    
         
             
            					end
         
     | 
| 
       89 
88 
     | 
    
         
             
            				end
         
     | 
| 
       90 
89 
     | 
    
         
             
            			rescue StandardError => error
         
     | 
| 
       91 
     | 
    
         
            -
            				@logger.error 
     | 
| 
       92 
     | 
    
         
            -
            				 
     | 
| 
       93 
     | 
    
         
            -
            			
         
     | 
| 
      
 90 
     | 
    
         
            +
            				@logger.error(query) {error}
         
     | 
| 
      
 91 
     | 
    
         
            +
            				
         
     | 
| 
       94 
92 
     | 
    
         
             
            				response.rcode = Resolv::DNS::RCode::ServFail
         
     | 
| 
       95 
93 
     | 
    
         
             
            			end
         
     | 
| 
       96 
94 
     | 
    
         | 
| 
       97 
95 
     | 
    
         
             
            			end_time = Time.now
         
     | 
| 
       98 
     | 
    
         
            -
            			@logger.debug {" 
     | 
| 
      
 96 
     | 
    
         
            +
            			@logger.debug(query) {"Time to process request: #{end_time - start_time}s"}
         
     | 
| 
       99 
97 
     | 
    
         | 
| 
       100 
98 
     | 
    
         
             
            			return response
         
     | 
| 
       101 
99 
     | 
    
         
             
            		end
         
     | 
    
        data/lib/async/dns/version.rb
    CHANGED
    
    
| 
         @@ -84,8 +84,6 @@ module Async::DNS::ResolverPerformanceSpec 
     | 
|
| 
       84 
84 
     | 
    
         
             
            			include_context Async::RSpec::Reactor
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
            			it 'should be faster than native resolver' do
         
     | 
| 
       87 
     | 
    
         
            -
            				# Async.logger.level = Logger::ERROR
         
     | 
| 
       88 
     | 
    
         
            -
            			
         
     | 
| 
       89 
87 
     | 
    
         
             
            				Benchmark.bm(30) do |x|
         
     | 
| 
       90 
88 
     | 
    
         
             
            					a = x.report("Async::DNS::Resolver") do
         
     | 
| 
       91 
89 
     | 
    
         
             
            						resolver = Async::DNS::Resolver.new([[:udp, "8.8.8.8", 53], [:tcp, "8.8.8.8", 53]])
         
     | 
| 
         @@ -46,8 +46,6 @@ end 
     | 
|
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
            StackProf.run(mode: :cpu, out: 'async/dns.stackprof') do
         
     | 
| 
       48 
48 
     | 
    
         
             
            	Async::DNS::run_server(:listen => [[:udp, '0.0.0.0', 5300]]) do
         
     | 
| 
       49 
     | 
    
         
            -
            		@logger.level = Logger::WARN
         
     | 
| 
       50 
     | 
    
         
            -
            	
         
     | 
| 
       51 
49 
     | 
    
         
             
            		match(//, IN::A) do |transaction|
         
     | 
| 
       52 
50 
     | 
    
         
             
            			transaction.respond!(million[transaction.name])
         
     | 
| 
       53 
51 
     | 
    
         
             
            		end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: async-dns
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Samuel Williams
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-01-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: async-io
         
     | 
| 
         @@ -16,14 +16,14 @@ dependencies: 
     | 
|
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
17 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: '1. 
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '1.15'
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       21 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       22 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       24 
24 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
     | 
    
         
            -
                    version: '1. 
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '1.15'
         
     | 
| 
       27 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
28 
     | 
    
         
             
              name: async-rspec
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -56,16 +56,16 @@ dependencies: 
     | 
|
| 
       56 
56 
     | 
    
         
             
              name: bundler
         
     | 
| 
       57 
57 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       58 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - - " 
     | 
| 
      
 59 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       62 
62 
     | 
    
         
             
              type: :development
         
     | 
| 
       63 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
     | 
    
         
            -
                - - " 
     | 
| 
      
 66 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       67 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 68 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       69 
69 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
70 
     | 
    
         
             
              name: rspec
         
     | 
| 
       71 
71 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -102,6 +102,7 @@ executables: [] 
     | 
|
| 
       102 
102 
     | 
    
         
             
            extensions: []
         
     | 
| 
       103 
103 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       104 
104 
     | 
    
         
             
            files:
         
     | 
| 
      
 105 
     | 
    
         
            +
            - ".editorconfig"
         
     | 
| 
       105 
106 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       106 
107 
     | 
    
         
             
            - ".rspec"
         
     | 
| 
       107 
108 
     | 
    
         
             
            - ".travis.yml"
         
     | 
| 
         @@ -115,7 +116,6 @@ files: 
     | 
|
| 
       115 
116 
     | 
    
         
             
            - lib/async/dns/extensions/resolv.rb
         
     | 
| 
       116 
117 
     | 
    
         
             
            - lib/async/dns/extensions/string.rb
         
     | 
| 
       117 
118 
     | 
    
         
             
            - lib/async/dns/handler.rb
         
     | 
| 
       118 
     | 
    
         
            -
            - lib/async/dns/logger.rb
         
     | 
| 
       119 
119 
     | 
    
         
             
            - lib/async/dns/message.rb
         
     | 
| 
       120 
120 
     | 
    
         
             
            - lib/async/dns/replace.rb
         
     | 
| 
       121 
121 
     | 
    
         
             
            - lib/async/dns/resolver.rb
         
     | 
| 
         @@ -164,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       164 
164 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       165 
165 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       166 
166 
     | 
    
         
             
            requirements: []
         
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
            rubygems_version: 2.7.6
         
     | 
| 
      
 167 
     | 
    
         
            +
            rubygems_version: 3.0.1
         
     | 
| 
       169 
168 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       170 
169 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       171 
170 
     | 
    
         
             
            summary: An easy to use DNS client resolver and server for Ruby.
         
     | 
    
        data/lib/async/dns/logger.rb
    DELETED
    
    | 
         @@ -1,31 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright, 2009, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
         
     | 
| 
       2 
     | 
    
         
            -
            # 
         
     | 
| 
       3 
     | 
    
         
            -
            # Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
       4 
     | 
    
         
            -
            # of this software and associated documentation files (the "Software"), to deal
         
     | 
| 
       5 
     | 
    
         
            -
            # in the Software without restriction, including without limitation the rights
         
     | 
| 
       6 
     | 
    
         
            -
            # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         
     | 
| 
       7 
     | 
    
         
            -
            # copies of the Software, and to permit persons to whom the Software is
         
     | 
| 
       8 
     | 
    
         
            -
            # furnished to do so, subject to the following conditions:
         
     | 
| 
       9 
     | 
    
         
            -
            # 
         
     | 
| 
       10 
     | 
    
         
            -
            # The above copyright notice and this permission notice shall be included in
         
     | 
| 
       11 
     | 
    
         
            -
            # all copies or substantial portions of the Software.
         
     | 
| 
       12 
     | 
    
         
            -
            # 
         
     | 
| 
       13 
     | 
    
         
            -
            # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         
     | 
| 
       14 
     | 
    
         
            -
            # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         
     | 
| 
       15 
     | 
    
         
            -
            # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         
     | 
| 
       16 
     | 
    
         
            -
            # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         
     | 
| 
       17 
     | 
    
         
            -
            # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         
     | 
| 
       18 
     | 
    
         
            -
            # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
         
     | 
| 
       19 
     | 
    
         
            -
            # THE SOFTWARE.
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            require 'logger'
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            module Async::DNS
         
     | 
| 
       24 
     | 
    
         
            -
            	# Logs an exception nicely to a standard `Logger`.
         
     | 
| 
       25 
     | 
    
         
            -
            	def self.log_exception(logger, exception)
         
     | 
| 
       26 
     | 
    
         
            -
            		logger.error "#{exception.class}: #{exception.message}"
         
     | 
| 
       27 
     | 
    
         
            -
            		if exception.backtrace
         
     | 
| 
       28 
     | 
    
         
            -
            			Array(exception.backtrace).each { |at| logger.error at }
         
     | 
| 
       29 
     | 
    
         
            -
            		end
         
     | 
| 
       30 
     | 
    
         
            -
            	end
         
     | 
| 
       31 
     | 
    
         
            -
            end
         
     |