cf-uaa-lib 3.1.0 → 3.2.0

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/uaa/http.rb CHANGED
@@ -50,7 +50,7 @@ module Http
50
50
 
51
51
  def self.included(base)
52
52
  base.class_eval do
53
- attr_accessor :http_proxy, :https_proxy, :skip_ssl_validation
53
+ attr_accessor :http_proxy, :https_proxy, :skip_ssl_validation, :ssl_ca_file
54
54
  end
55
55
  end
56
56
 
@@ -182,7 +182,13 @@ module Http
182
182
 
183
183
  if uri.is_a?(URI::HTTPS)
184
184
  http.use_ssl = true
185
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE if skip_ssl_validation
185
+
186
+ if skip_ssl_validation
187
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
188
+ elsif ssl_ca_file
189
+ http.ca_file = File.expand_path(ssl_ca_file)
190
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
191
+ end
186
192
  end
187
193
 
188
194
  @http_cache[cache_key] = http
data/lib/uaa/info.rb CHANGED
@@ -32,6 +32,7 @@ class Info
32
32
  def initialize(target, options = {})
33
33
  self.target = target
34
34
  self.skip_ssl_validation = options[:skip_ssl_validation]
35
+ self.ssl_ca_file = options[:ssl_ca_file]
35
36
  self.symbolize_keys = options[:symbolize_keys]
36
37
  self.http_proxy = options[:http_proxy]
37
38
  self.https_proxy = options[:https_proxy]
data/lib/uaa/scim.rb CHANGED
@@ -100,6 +100,7 @@ class Scim
100
100
  @target, @auth_header = target, auth_header
101
101
  @key_style = options[:symbolize_keys] ? :downsym : :down
102
102
  self.skip_ssl_validation = options[:skip_ssl_validation]
103
+ self.ssl_ca_file = options[:ssl_ca_file]
103
104
  self.http_proxy = options[:http_proxy]
104
105
  self.https_proxy = options[:https_proxy]
105
106
  end
@@ -42,7 +42,7 @@ class InvalidAudience < AuthError; end
42
42
  class TokenCoder
43
43
 
44
44
  def self.init_digest(algo) # @private
45
- OpenSSL::Digest::Digest.new(algo.sub('HS', 'sha').sub('RS', 'sha'))
45
+ OpenSSL::Digest.new(algo.sub('HS', 'sha').sub('RS', 'sha'))
46
46
  end
47
47
 
48
48
  def self.normalize_options(opts) # @private
@@ -110,6 +110,7 @@ class TokenIssuer
110
110
  @token_target = options[:token_target] || target
111
111
  @key_style = options[:symbolize_keys] ? :sym : nil
112
112
  self.skip_ssl_validation = options[:skip_ssl_validation]
113
+ self.ssl_ca_file = options[:ssl_ca_file]
113
114
  self.http_proxy = options[:http_proxy]
114
115
  self.https_proxy = options[:https_proxy]
115
116
  end
data/lib/uaa/version.rb CHANGED
@@ -14,6 +14,6 @@
14
14
  # Cloud Foundry namespace
15
15
  module CF
16
16
  module UAA
17
- VERSION = "3.1.0"
17
+ VERSION = "3.2.0"
18
18
  end
19
19
  end
data/spec/http_spec.rb CHANGED
@@ -69,6 +69,17 @@ describe Http do
69
69
  http_instance.http_get("https://uncached.example.com")
70
70
  expect(http_double).to have_received(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE)
71
71
  end
72
+
73
+ it "passes ssl certificate file if provided" do
74
+ http_double = double('http').as_null_object
75
+ Net::HTTP.stub(:new).and_return(http_double)
76
+
77
+ http_instance.ssl_ca_file = "/fake-ca-file"
78
+ http_instance.http_get("https://uncached.example.com")
79
+
80
+ expect(http_double).to have_received(:ca_file=).with("/fake-ca-file")
81
+ expect(http_double).to have_received(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER)
82
+ end
72
83
  end
73
84
 
74
85
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf-uaa-lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Dave Syer
@@ -12,118 +13,134 @@ authors:
12
13
  autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2014-08-26 00:00:00.000000000 Z
16
+ date: 2015-03-20 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: multi_json
19
20
  requirement: !ruby/object:Gem::Requirement
21
+ none: false
20
22
  requirements:
21
- - - ">="
23
+ - - ! '>='
22
24
  - !ruby/object:Gem::Version
23
25
  version: '0'
24
26
  type: :runtime
25
27
  prerelease: false
26
28
  version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
27
30
  requirements:
28
- - - ">="
31
+ - - ! '>='
29
32
  - !ruby/object:Gem::Version
30
33
  version: '0'
31
34
  - !ruby/object:Gem::Dependency
32
35
  name: bundler
33
36
  requirement: !ruby/object:Gem::Requirement
37
+ none: false
34
38
  requirements:
35
- - - ">="
39
+ - - ! '>='
36
40
  - !ruby/object:Gem::Version
37
41
  version: '0'
38
42
  type: :development
39
43
  prerelease: false
40
44
  version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
41
46
  requirements:
42
- - - ">="
47
+ - - ! '>='
43
48
  - !ruby/object:Gem::Version
44
49
  version: '0'
45
50
  - !ruby/object:Gem::Dependency
46
51
  name: rake
47
52
  requirement: !ruby/object:Gem::Requirement
53
+ none: false
48
54
  requirements:
49
- - - "~>"
55
+ - - ~>
50
56
  - !ruby/object:Gem::Version
51
57
  version: 10.3.2
52
58
  type: :development
53
59
  prerelease: false
54
60
  version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
55
62
  requirements:
56
- - - "~>"
63
+ - - ~>
57
64
  - !ruby/object:Gem::Version
58
65
  version: 10.3.2
59
66
  - !ruby/object:Gem::Dependency
60
67
  name: rspec
61
68
  requirement: !ruby/object:Gem::Requirement
69
+ none: false
62
70
  requirements:
63
- - - "~>"
71
+ - - ~>
64
72
  - !ruby/object:Gem::Version
65
73
  version: 2.14.1
66
74
  type: :development
67
75
  prerelease: false
68
76
  version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
69
78
  requirements:
70
- - - "~>"
79
+ - - ~>
71
80
  - !ruby/object:Gem::Version
72
81
  version: 2.14.1
73
82
  - !ruby/object:Gem::Dependency
74
83
  name: simplecov
75
84
  requirement: !ruby/object:Gem::Requirement
85
+ none: false
76
86
  requirements:
77
- - - "~>"
87
+ - - ~>
78
88
  - !ruby/object:Gem::Version
79
89
  version: 0.8.2
80
90
  type: :development
81
91
  prerelease: false
82
92
  version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
83
94
  requirements:
84
- - - "~>"
95
+ - - ~>
85
96
  - !ruby/object:Gem::Version
86
97
  version: 0.8.2
87
98
  - !ruby/object:Gem::Dependency
88
99
  name: simplecov-rcov
89
100
  requirement: !ruby/object:Gem::Requirement
101
+ none: false
90
102
  requirements:
91
- - - "~>"
103
+ - - ~>
92
104
  - !ruby/object:Gem::Version
93
105
  version: 0.2.3
94
106
  type: :development
95
107
  prerelease: false
96
108
  version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
97
110
  requirements:
98
- - - "~>"
111
+ - - ~>
99
112
  - !ruby/object:Gem::Version
100
113
  version: 0.2.3
101
114
  - !ruby/object:Gem::Dependency
102
115
  name: ci_reporter
103
116
  requirement: !ruby/object:Gem::Requirement
117
+ none: false
104
118
  requirements:
105
- - - "~>"
119
+ - - ~>
106
120
  - !ruby/object:Gem::Version
107
121
  version: 1.9.2
108
122
  type: :development
109
123
  prerelease: false
110
124
  version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
111
126
  requirements:
112
- - - "~>"
127
+ - - ~>
113
128
  - !ruby/object:Gem::Version
114
129
  version: 1.9.2
115
130
  - !ruby/object:Gem::Dependency
116
131
  name: json_pure
117
132
  requirement: !ruby/object:Gem::Requirement
133
+ none: false
118
134
  requirements:
119
- - - "~>"
135
+ - - ~>
120
136
  - !ruby/object:Gem::Version
121
137
  version: 1.8.1
122
138
  type: :development
123
139
  prerelease: false
124
140
  version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
125
142
  requirements:
126
- - - "~>"
143
+ - - ~>
127
144
  - !ruby/object:Gem::Version
128
145
  version: 1.8.1
129
146
  description: Client library for interacting with the CloudFoundry User Account and
@@ -141,9 +158,9 @@ executables: []
141
158
  extensions: []
142
159
  extra_rdoc_files: []
143
160
  files:
144
- - ".gitignore"
145
- - ".travis.yml"
146
- - ".yardopts"
161
+ - .gitignore
162
+ - .travis.yml
163
+ - .yardopts
147
164
  - CHANGELOG.md
148
165
  - Gemfile
149
166
  - LICENSE.TXT
@@ -170,26 +187,27 @@ files:
170
187
  homepage: https://github.com/cloudfoundry/cf-uaa-lib
171
188
  licenses:
172
189
  - Apache 2.0
173
- metadata: {}
174
190
  post_install_message:
175
191
  rdoc_options: []
176
192
  require_paths:
177
193
  - lib
178
194
  required_ruby_version: !ruby/object:Gem::Requirement
195
+ none: false
179
196
  requirements:
180
- - - ">="
197
+ - - ! '>='
181
198
  - !ruby/object:Gem::Version
182
199
  version: '0'
183
200
  required_rubygems_version: !ruby/object:Gem::Requirement
201
+ none: false
184
202
  requirements:
185
- - - ">="
203
+ - - ! '>='
186
204
  - !ruby/object:Gem::Version
187
205
  version: '0'
188
206
  requirements: []
189
207
  rubyforge_project: cf-uaa-lib
190
- rubygems_version: 2.2.2
208
+ rubygems_version: 1.8.23.2
191
209
  signing_key:
192
- specification_version: 4
210
+ specification_version: 3
193
211
  summary: Client library for CloudFoundry UAA
194
212
  test_files:
195
213
  - spec/http_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 6b4d37f1fd550f4599f73272b8585b71000afb91
4
- data.tar.gz: 857e2c137890ee3dc1dd0b699581c1e644935885
5
- SHA512:
6
- metadata.gz: a9ab7f79ec21ae03a11c40731395eaef4ac6239277b54c9270aabad6c44a203350a0337a4d320f4aa5cdf03f0b485ec562a3fe26c9214a02838e25ba3c79300f
7
- data.tar.gz: 5c5127f173c8b05d6ec032783b40cb4c69c142e3368f2188375d1aa1448d8f71e4955cbe4eb8f1ee46100285c57e858a6bd042423142b2cfe8d68f99de26dc12