spf 0.0.22 → 0.0.23
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 +15 -2
- data/lib/spf/version.rb +1 -1
- data/spf.gemspec +1 -1
- metadata +1 -1
data/lib/spf/model.rb
CHANGED
@@ -85,15 +85,17 @@ class SPF::Term
|
|
85
85
|
::
|
86
86
|
"
|
87
87
|
|
88
|
-
attr_reader :errors, :ip_netblocks, :ip_address, :ip_network, :ipv4_prefix_length, :ipv6_prefix_length, :domain_spec
|
88
|
+
attr_reader :errors, :ip_netblocks, :ip_address, :ip_network, :ipv4_prefix_length, :ipv6_prefix_length, :domain_spec, :raw_params
|
89
89
|
|
90
90
|
def initialize(options = {})
|
91
91
|
@ip_address = nil
|
92
92
|
@ip_network = nil
|
93
93
|
@ipv4_prefix_length = nil
|
94
94
|
@ipv6_prefix_length = nil
|
95
|
+
@raw_params = nil
|
95
96
|
@errors = []
|
96
97
|
@ip_netblocks = []
|
98
|
+
@text = options[:text]
|
97
99
|
@raise_exceptions = options.has_key?(:raise_exceptions) ? options[:raise_exceptions] : true
|
98
100
|
end
|
99
101
|
|
@@ -103,7 +105,6 @@ class SPF::Term
|
|
103
105
|
end
|
104
106
|
|
105
107
|
def self.new_from_string(text, options = {})
|
106
|
-
#term = SPF::Term.new(options, {:text => text})
|
107
108
|
options[:text] = text
|
108
109
|
term = self.new(options)
|
109
110
|
term.parse
|
@@ -122,6 +123,7 @@ class SPF::Term
|
|
122
123
|
end
|
123
124
|
|
124
125
|
def parse_ipv4_address(required = false)
|
126
|
+
@raw_params = @parse_text.dup
|
125
127
|
if @parse_text.sub!(/^(#{IPV4_ADDRESS_PATTERN})/x, '')
|
126
128
|
@ip_address = $1
|
127
129
|
elsif required
|
@@ -151,6 +153,7 @@ class SPF::Term
|
|
151
153
|
end
|
152
154
|
|
153
155
|
def parse_ipv4_network(required = false)
|
156
|
+
@raw_params = @parse_text.dup
|
154
157
|
self.parse_ipv4_address(required)
|
155
158
|
self.parse_ipv4_prefix_length
|
156
159
|
begin
|
@@ -189,6 +192,7 @@ class SPF::Term
|
|
189
192
|
end
|
190
193
|
|
191
194
|
def parse_ipv6_network(required = false)
|
195
|
+
@raw_params = @parse_text.dup
|
192
196
|
self.parse_ipv6_address(required)
|
193
197
|
self.parse_ipv6_prefix_length
|
194
198
|
begin
|
@@ -285,9 +289,11 @@ class SPF::Mech < SPF::Term
|
|
285
289
|
end
|
286
290
|
|
287
291
|
def parse_params(required = true)
|
292
|
+
@raw_params = @parse_text.dup
|
288
293
|
# Parse generic string of parameters text (should be overridden in sub-classes):
|
289
294
|
if @parse_text.sub!(/^(.*)/, '')
|
290
295
|
@params_text = $1
|
296
|
+
@raw_params = @params_text.dup
|
291
297
|
end
|
292
298
|
end
|
293
299
|
|
@@ -366,6 +372,7 @@ class SPF::Mech < SPF::Term
|
|
366
372
|
NAME = 'a'
|
367
373
|
|
368
374
|
def parse_params(required = true)
|
375
|
+
@raw_params = @parse_text.dup
|
369
376
|
self.parse_domain_spec
|
370
377
|
self.parse_ipv4_ipv6_prefix_lengths
|
371
378
|
end
|
@@ -410,6 +417,7 @@ class SPF::Mech < SPF::Term
|
|
410
417
|
NAME = 'exists'
|
411
418
|
|
412
419
|
def parse_params(required = true)
|
420
|
+
@raw_params = @raw_text.dup
|
413
421
|
self.parse_domain_spec(required)
|
414
422
|
# Other method of denoting "potentially ~infinite" netblocks?
|
415
423
|
@ip_netblocks << nil
|
@@ -486,6 +494,8 @@ class SPF::Mech < SPF::Term
|
|
486
494
|
params = @ip_network.to_addr
|
487
495
|
params += '/' + @ip_network.pfxlen.to_s if
|
488
496
|
@ip_network.pfxlen != self.default_ipv6_prefix_length
|
497
|
+
puts "params: #{params}"
|
498
|
+
puts self.inspect
|
489
499
|
return params
|
490
500
|
end
|
491
501
|
|
@@ -505,6 +515,7 @@ class SPF::Mech < SPF::Term
|
|
505
515
|
end
|
506
516
|
|
507
517
|
def parse_params(required = true)
|
518
|
+
@raw_params = @parse_text.dup
|
508
519
|
self.parse_domain_spec(required)
|
509
520
|
end
|
510
521
|
|
@@ -557,6 +568,7 @@ class SPF::Mech < SPF::Term
|
|
557
568
|
NAME = 'mx'
|
558
569
|
|
559
570
|
def parse_params(required = true)
|
571
|
+
@raw_params = @parse_text.dup
|
560
572
|
self.parse_domain_spec
|
561
573
|
self.parse_ipv4_ipv6_prefix_lengths
|
562
574
|
end
|
@@ -609,6 +621,7 @@ class SPF::Mech < SPF::Term
|
|
609
621
|
NAME = 'ptr'
|
610
622
|
|
611
623
|
def parse_params(required = true)
|
624
|
+
@raw_params = @parse_text.dup
|
612
625
|
self.parse_domain_spec
|
613
626
|
end
|
614
627
|
|
data/lib/spf/version.rb
CHANGED
data/spf.gemspec
CHANGED