rack-ketai 0.2.1 → 0.2.2

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -141,7 +141,7 @@ module Rack::Ketai::Carrier
141
141
 
142
142
  # キャリアのIPアドレス帯を利用しているか
143
143
  def valid_addr?
144
- self.class.valid_ip? @env['HTTP_X_FORWARDED_FOR'] || @env['REMOTE_ADDR']
144
+ self.class.valid_ip? @env['HTTP_X_FORWARDED_FOR'] ? @env['HTTP_X_FORWARDED_FOR'].sub(/,.+$/, '') : @env['REMOTE_ADDR']
145
145
  end
146
146
  alias :valid_ip? :valid_addr?
147
147
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rack-ketai}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Yuichi Takeuchi"]
12
- s.date = %q{2010-11-16}
12
+ s.date = %q{2010-11-22}
13
13
  s.email = %q{info@takeyu-web.com}
14
14
  s.extra_rdoc_files = [
15
15
  "README.rdoc"
@@ -58,6 +58,7 @@ Gem::Specification.new do |s|
58
58
  "spec/unit/docomo_spec.rb",
59
59
  "spec/unit/emoticon_filter_spec.rb",
60
60
  "spec/unit/filter_spec.rb",
61
+ "spec/unit/general_spec.rb",
61
62
  "spec/unit/gps_spec.rb",
62
63
  "spec/unit/iphone_spec.rb",
63
64
  "spec/unit/middleware_spec.rb",
@@ -2,6 +2,15 @@
2
2
  require 'rack/ketai/carrier/docomo'
3
3
  describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
4
4
 
5
+ def proxy_from(proxy_addr, carrier, addr)
6
+ env = Rack::MockRequest.env_for('http://hoge.com/dummy',
7
+ 'HTTP_USER_AGENT' => 'DoCoMo/1.0/N505i/c20/TB/W24H12',
8
+ 'HTTP_X_DCMGUID' => '0123abC',
9
+ 'REMOTE_ADDR' => proxy_addr,
10
+ 'HTTP_X_FORWARDED_FOR' => [addr, proxy_addr].join(', '))
11
+ carrier.new(env)
12
+ end
13
+
5
14
  def from(carrier, addr)
6
15
  env = Rack::MockRequest.env_for('http://hoge.com/dummy',
7
16
  'HTTP_USER_AGENT' => 'DoCoMo/1.0/N505i/c20/TB/W24H12',
@@ -64,6 +73,7 @@ describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
64
73
  from(klass, addrs.first.to_s).should be_valid_addr
65
74
  from(klass, addrs[(addrs.size - 1)/2].to_s).should be_valid_addr
66
75
  from(klass, addrs.last.to_s).should be_valid_addr
76
+ proxy_from('192.168.1.1', klass, addrs.first.to_s).should be_valid_addr # プロキシ越し
67
77
  end
68
78
  end
69
79
  end
@@ -78,6 +88,7 @@ describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
78
88
  from(klass, addrs.first.to_s).should_not be_valid_addr
79
89
  from(klass, addrs[(addrs.size - 1)/2].to_s).should_not be_valid_addr
80
90
  from(klass, addrs.last.to_s).should_not be_valid_addr
91
+ proxy_from('192.168.1.1', klass, addrs.first.to_s).should_not be_valid_addr # プロキシ越し
81
92
  end
82
93
  end
83
94
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-ketai
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 2
9
- - 1
10
- version: 0.2.1
8
+ - 2
9
+ version: 0.2.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Yuichi Takeuchi
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-11-16 00:00:00 +09:00
17
+ date: 2010-11-22 00:00:00 +09:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -26,7 +25,6 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 23
30
28
  segments:
31
29
  - 1
32
30
  - 0
@@ -86,6 +84,7 @@ files:
86
84
  - spec/unit/docomo_spec.rb
87
85
  - spec/unit/emoticon_filter_spec.rb
88
86
  - spec/unit/filter_spec.rb
87
+ - spec/unit/general_spec.rb
89
88
  - spec/unit/gps_spec.rb
90
89
  - spec/unit/iphone_spec.rb
91
90
  - spec/unit/middleware_spec.rb
@@ -98,7 +97,6 @@ files:
98
97
  - tools/update_speclist.rb
99
98
  - vendor/datum_conv/MIT-LICENSE
100
99
  - vendor/datum_conv/lib/datum_conv.rb
101
- - spec/unit/general_spec.rb
102
100
  has_rdoc: true
103
101
  homepage: http://github.com/take-yu/rack-ketai
104
102
  licenses: []
@@ -113,7 +111,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
111
  requirements:
114
112
  - - ">="
115
113
  - !ruby/object:Gem::Version
116
- hash: 3
117
114
  segments:
118
115
  - 0
119
116
  version: "0"
@@ -122,7 +119,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
119
  requirements:
123
120
  - - ">="
124
121
  - !ruby/object:Gem::Version
125
- hash: 3
126
122
  segments:
127
123
  - 0
128
124
  version: "0"