spf 0.0.36 → 0.0.37
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/spf/eval.rb +2 -2
- data/lib/spf/model.rb +2 -1
- data/lib/spf/version.rb +1 -1
- data/spf.gemspec +1 -1
- metadata +1 -1
data/lib/spf/eval.rb
CHANGED
@@ -127,7 +127,7 @@ class SPF::Server
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
def dns_lookup(domain, rr_type)
|
130
|
+
def dns_lookup(domain, rr_type, &block)
|
131
131
|
if SPF::MacroString === domain
|
132
132
|
domain = domain.expand
|
133
133
|
# Truncate overlong labels at 63 bytes (RFC 4408, 8.1/27)
|
@@ -142,7 +142,7 @@ class SPF::Server
|
|
142
142
|
|
143
143
|
packet = nil
|
144
144
|
begin
|
145
|
-
packet = @dns_resolver.getresources(domain, rr_type)
|
145
|
+
packet = block_given? ? yield(domain, rr_type) : @dns_resolver.getresources(domain, rr_type)
|
146
146
|
rescue Resolv::TimeoutError => e
|
147
147
|
raise SPF::DNSTimeoutError.new(
|
148
148
|
"Time-out on DNS '#{rr_type}' lookup of '#{domain}'")
|
data/lib/spf/model.rb
CHANGED
@@ -567,8 +567,8 @@ class SPF::Mech < SPF::Term
|
|
567
567
|
|
568
568
|
def nested_record(server=nil, request=nil, loose_match = false)
|
569
569
|
return @nested_record if @nested_record
|
570
|
+
return nil unless server and request
|
570
571
|
authority_domain = self.domain(server, request)
|
571
|
-
return nil unless request
|
572
572
|
sub_request = request.new_sub_request({:authority_domain => authority_domain})
|
573
573
|
return @nested_record = server.select_record(sub_request, loose_match)
|
574
574
|
end
|
@@ -810,6 +810,7 @@ class SPF::Mod < SPF::Term
|
|
810
810
|
|
811
811
|
def nested_record(server=nil, request=nil)
|
812
812
|
return @nested_record if @nested_record
|
813
|
+
return nil unless server and request
|
813
814
|
server.count_dns_interactive_term(request)
|
814
815
|
authority_domain = self.domain(server, request)
|
815
816
|
sub_request = request.new_sub_request({:authority_domain => authority_domain})
|
data/lib/spf/version.rb
CHANGED
data/spf.gemspec
CHANGED