spf 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
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: