rack-ketai 0.2.1 → 0.2.2

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