class SPF::Mod::SPF::Mod::Redirect
Constants
- NAME
Attributes
domain_spec[R]
Public Instance Methods
init(options = {})
click to toggle source
Calls superclass method
# File lib/spf/model.rb, line 781 def init(options = {}) super(options) @nested_record = nil end
nested_record(server=nil, request=nil)
click to toggle source
# File lib/spf/model.rb, line 820 def nested_record(server=nil, request=nil) return @nested_record if @nested_record return nil unless server and request server.count_dns_interactive_term(request) authority_domain = self.domain(server, request) sub_request = request.new_sub_request({:authority_domain => authority_domain}) return @nested_record = server.select_record(sub_request) end
params()
click to toggle source
# File lib/spf/model.rb, line 791 def params return @domain_spec end
parse_params(required = true)
click to toggle source
# File lib/spf/model.rb, line 786 def parse_params(required = true) @raw_params = @parse_text.dup self.parse_domain_spec(required) end
precedence()
click to toggle source
# File lib/spf/model.rb, line 779 def precedence; 0.8; end
process(server, request, result)
click to toggle source
# File lib/spf/model.rb, line 795 def process(server, request, result) server.count_dns_interactive_term(request) # Only perform redirection if no mechanism matched (RFC 4408, 6.1/1): return unless SPF::Result::NeutralByDefault === result # Create sub-request with mutated authorithy domain: sub_request = request.new_sub_request({:authority_domain => @domain_spec}) # Process sub-request: result = server.process(sub_request) @nested_record = sub_request.record # Translate result of sub-request (RFC 4408, 6.1/4): if SPF::Result::None === result server.throw_result(:permerror, request, "Redirect domain '#{authority_domain}' has no applicable sender policy") end # Propagate any other results as-is: raise result end