spf 0.0.14 → 0.0.15

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.
data/lib/spf/model.rb CHANGED
@@ -307,7 +307,7 @@ class SPF::Mech < SPF::Term
307
307
 
308
308
  ipv4_prefix_length = @ipv4_prefix_length || self.default_ipv4_prefix_length
309
309
  ipv6_prefix_length = @ipv6_prefix_length || self.default_ipv6_prefix_length
310
- packet = server.dns_lookup(domain, 'ANY')
310
+ packet = server.dns_lookup(domain.to_s, 'ANY')
311
311
  server.count_void_dns_lookup(request) unless (rrs = packet)
312
312
 
313
313
  rrs.each do |rr|
@@ -411,7 +411,7 @@ class SPF::Mech < SPF::Term
411
411
 
412
412
  domain = self.domain(server, request)
413
413
  packet = server.dns_lookup(domain, 'A')
414
- rrs = (packet.answer or server.count_void_dns_lookup(request))
414
+ rrs = (packet.exchange or server.count_void_dns_lookup(request))
415
415
  rrs.each do |rr|
416
416
  return true if rr.type == 'A'
417
417
  end
@@ -555,18 +555,18 @@ class SPF::Mech < SPF::Term
555
555
 
556
556
  target_domain = self.domain(server, request)
557
557
  mx_packet = server.dns_lookup(target_domain, 'MX')
558
- mx_rrs = (mx_packet[0].answer or server.count_void_dns_lookup(request))
558
+ mx_rrs = (mx_packet or server.count_void_dns_lookup(request))
559
559
 
560
560
  # Respect the MX mechanism lookups limit (RFC 4408, 5.4/3/4):
561
561
  if server.max_name_lookups_per_mx_mech
562
- mx_rrs = max_rrs[0, server.max_name_lookups_per_mx_mech]
562
+ mx_rrs = mx_rrs[0, server.max_name_lookups_per_mx_mech]
563
563
  end
564
564
 
565
565
  # TODO: Use A records from packet's "additional" section? Probably not.
566
566
 
567
567
  # Check MX records:
568
568
  mx_rrs.each do |rr|
569
- if rr.type == 'MX'
569
+ if Resolv::DNS::Resource::IN::MX === rr
570
570
  return true if
571
571
  self.match_in_domain(server, request, rr.exchange)
572
572
  else
@@ -664,6 +664,7 @@ class SPF::Mod < SPF::Term
664
664
  end
665
665
 
666
666
  class SPF::UnknownMod < SPF::Mod
667
+ NAME = 'uknown'
667
668
  end
668
669
 
669
670
  class SPF::Mod::Exp < SPF::Mod
@@ -872,7 +873,7 @@ class SPF::Record
872
873
  # Looks like a modifier:
873
874
  mod_text = $1
874
875
  mod_name = $2.downcase
875
- mod_class = self.class::MOD_CLASSES[mod_name.to_sym] || SPF::Mod
876
+ mod_class = self.class::MOD_CLASSES[mod_name.to_sym] || SPF::UnknownMod
876
877
  if mod_class
877
878
  # Known modifier.
878
879
  term = mod = mod_class.new_from_string(mod_text, {:raise_exceptions => @raise_exceptions})
@@ -957,7 +958,7 @@ class SPF::Record
957
958
 
958
959
  MOD_CLASSES = {
959
960
  :redirect => SPF::Mod::Redirect,
960
- :exp => SPF::Mod::Exp
961
+ :exp => SPF::Mod::Exp,
961
962
  }
962
963
 
963
964
 
data/lib/spf/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module SPF
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.15'
3
3
  end
4
4
 
5
5
  # vim:sw=2 sts=2
data/spf.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "spf"
8
- s.version = "0.0.14"
8
+ s.version = "0.0.15"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Flury", "Julian Mehnle"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: