Skip to content

Commit e6e25a5

Browse files
committed
clean up deprecation warnings
1 parent b4b2192 commit e6e25a5

File tree

5 files changed

+28
-28
lines changed

5 files changed

+28
-28
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ This configuration will likely work for most applications without modification.
165165

166166
# Auction site wants to allow images from anywhere, plugin content from a list of trusted media providers (including a content distribution network), and scripts only from its server hosting sanitized JavaScript
167167
:csp => {
168-
:default_src => 'self',
168+
:default_src => "'self'",
169169
:img_src => '*',
170170
:object_src => ['media1.com', 'media2.com', '*.cdn.com'],
171171
# alternatively (NOT csv) :object_src => 'media1.com media2.com *.cdn.com'
@@ -204,8 +204,8 @@ Setting a nonce will also set 'unsafe-inline' for browsers that don't support no
204204

205205
```ruby
206206
:csp => {
207-
:default_src => 'self',
208-
:script_src => 'self nonce'
207+
:default_src => "'self'",
208+
:script_src => "'self' nonce"
209209
}
210210
```
211211

@@ -251,7 +251,7 @@ If you only have a few hashes, you can hardcode them for the entire app:
251251
```ruby
252252
config.csp = {
253253
:default_src => "https:",
254-
:script_src => 'self'
254+
:script_src => "'self'"
255255
:script_hashes => ['sha1-abc', 'sha1-qwe']
256256
}
257257
```
@@ -261,7 +261,7 @@ The following will work as well, but may not be as clear:
261261
```ruby
262262
config.csp = {
263263
:default_src => "https:",
264-
:script_src => "self 'sha1-qwe'"
264+
:script_src => "'self' 'sha1-qwe'"
265265
}
266266
```
267267

@@ -276,7 +276,7 @@ use ::SecureHeaders::ContentSecurityPolicy::ScriptHashMiddleware
276276
```ruby
277277
config.csp = {
278278
:default_src => "https:",
279-
:script_src => 'self',
279+
:script_src => "'self'",
280280
:script_hash_middleware => true
281281
}
282282
```

fixtures/rails_3_2_22/config/initializers/secure_headers.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
config.x_xss_protection = {:value => 1, :mode => 'block'}
66
config.x_permitted_cross_domain_policies = 'none'
77
csp = {
8-
:default_src => "self",
9-
:script_src => "self nonce",
8+
:default_src => "'self'",
9+
:script_src => "'self' nonce",
1010
:report_uri => 'somewhere',
1111
:script_hash_middleware => true,
1212
:enforce => false # false means warnings only

fixtures/rails_3_2_22_no_init/app/controllers/other_things_controller.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class OtherThingsController < ApplicationController
2-
ensure_security_headers :csp => {:default_src => 'self'}
2+
ensure_security_headers :csp => {:default_src => "'self'"}
33
def index
44

55
end
@@ -11,7 +11,7 @@ def other_action
1111
def secure_header_options_for(header, options)
1212
if params[:action] == "other_action"
1313
if header == :csp
14-
options.merge(:style_src => 'self')
14+
options.merge(:style_src => "'self'")
1515
end
1616
else
1717
options

fixtures/rails_4_1_8/config/initializers/secure_headers.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
config.x_xss_protection = {:value => 0}
66
config.x_permitted_cross_domain_policies = 'none'
77
csp = {
8-
:default_src => "self",
9-
:script_src => "self nonce",
8+
:default_src => "'self'",
9+
:script_src => "'self' nonce",
1010
:report_uri => 'somewhere',
1111
:script_hash_middleware => true,
1212
:enforce => false # false means warnings only

spec/lib/secure_headers/headers/content_security_policy_spec.rb

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
8282

8383
describe "#normalize_csp_options" do
8484
before(:each) do
85-
default_opts[:script_src] << ' self none'
85+
default_opts[:script_src] << " 'self' 'none'"
8686
@opts = default_opts
8787
end
8888

@@ -106,7 +106,7 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
106106

107107
it "accepts procs for report-uris" do
108108
opts = {
109-
:default_src => 'self',
109+
:default_src => "'self'",
110110
:report_uri => proc { "http://lambda/result" }
111111
}
112112

@@ -131,7 +131,7 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
131131

132132
allow(controller).to receive(:current_user).and_return(user)
133133
opts = {
134-
:default_src => "self",
134+
:default_src => "'self'",
135135
:enforce => lambda { |c| c.current_user.beta_testing? }
136136
}
137137
csp = ContentSecurityPolicy.new(opts, :controller => controller)
@@ -150,22 +150,22 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
150150

151151
context "auto-whitelists data: uris for img-src" do
152152
it "sets the value if no img-src specified" do
153-
csp = ContentSecurityPolicy.new({:default_src => 'self'}, :request => request_for(CHROME))
153+
csp = ContentSecurityPolicy.new({:default_src => "'self'"}, :request => request_for(CHROME))
154154
expect(csp.value).to eq("default-src 'self'; img-src 'self' data:;")
155155
end
156156

157157
it "appends the value if img-src is specified" do
158-
csp = ContentSecurityPolicy.new({:default_src => 'self', :img_src => 'self'}, :request => request_for(CHROME))
158+
csp = ContentSecurityPolicy.new({:default_src => "'self'", :img_src => "'self'"}, :request => request_for(CHROME))
159159
expect(csp.value).to eq("default-src 'self'; img-src 'self' data:;")
160160
end
161161

162162
it "doesn't add a duplicate data uri if img-src specifies it already" do
163-
csp = ContentSecurityPolicy.new({:default_src => 'self', :img_src => 'self data:'}, :request => request_for(CHROME))
163+
csp = ContentSecurityPolicy.new({:default_src => "'self'", :img_src => "'self' data:"}, :request => request_for(CHROME))
164164
expect(csp.value).to eq("default-src 'self'; img-src 'self' data:;")
165165
end
166166

167167
it "allows the user to disable img-src data: uris auto-whitelisting" do
168-
csp = ContentSecurityPolicy.new({:default_src => 'self', :img_src => 'self', :disable_img_src_data_uri => true}, :request => request_for(CHROME))
168+
csp = ContentSecurityPolicy.new({:default_src => "'self'", :img_src => "'self'", :disable_img_src_data_uri => true}, :request => request_for(CHROME))
169169
expect(csp.value).to eq("default-src 'self'; img-src 'self';")
170170
end
171171
end
@@ -191,47 +191,47 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
191191

192192
context "when using a nonce" do
193193
it "adds a nonce and unsafe-inline to the script-src value when using chrome" do
194-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce"), :request => request_for(CHROME), :controller => controller)
194+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce"), :request => request_for(CHROME), :controller => controller)
195195
expect(header.value).to include("script-src 'self' 'nonce-#{header.nonce}' 'unsafe-inline'")
196196
end
197197

198198
it "adds a nonce and unsafe-inline to the script-src value when using firefox" do
199-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce"), :request => request_for(FIREFOX), :controller => controller)
199+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce"), :request => request_for(FIREFOX), :controller => controller)
200200
expect(header.value).to include("script-src 'self' 'nonce-#{header.nonce}' 'unsafe-inline'")
201201
end
202202

203203
it "adds a nonce and unsafe-inline to the script-src value when using opera" do
204-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce"), :request => request_for(OPERA), :controller => controller)
204+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce"), :request => request_for(OPERA), :controller => controller)
205205
expect(header.value).to include("script-src 'self' 'nonce-#{header.nonce}' 'unsafe-inline'")
206206
end
207207

208208
it "does not add a nonce and unsafe-inline to the script-src value when using Safari" do
209-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce"), :request => request_for(SAFARI), :controller => controller)
209+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce"), :request => request_for(SAFARI), :controller => controller)
210210
expect(header.value).to include("script-src 'self' 'unsafe-inline'")
211211
expect(header.value).not_to include("nonce")
212212
end
213213

214214
it "does not add a nonce and unsafe-inline to the script-src value when using IE" do
215-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce"), :request => request_for(IE), :controller => controller)
215+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce"), :request => request_for(IE), :controller => controller)
216216
expect(header.value).to include("script-src 'self' 'unsafe-inline'")
217217
expect(header.value).not_to include("nonce")
218218
end
219219

220220
it "adds a nonce and unsafe-inline to the style-src value" do
221-
header = ContentSecurityPolicy.new(default_opts.merge(:style_src => "self nonce"), :request => request_for(CHROME), :controller => controller)
221+
header = ContentSecurityPolicy.new(default_opts.merge(:style_src => "'self' nonce"), :request => request_for(CHROME), :controller => controller)
222222
expect(header.value).to include("style-src 'self' 'nonce-#{header.nonce}' 'unsafe-inline'")
223223
end
224224

225225
it "adds an identical nonce to the style and script-src directives" do
226-
header = ContentSecurityPolicy.new(default_opts.merge(:style_src => "self nonce", :script_src => "self nonce"), :request => request_for(CHROME), :controller => controller)
226+
header = ContentSecurityPolicy.new(default_opts.merge(:style_src => "'self' nonce", :script_src => "'self' nonce"), :request => request_for(CHROME), :controller => controller)
227227
nonce = header.nonce
228228
value = header.value
229229
expect(value).to include("style-src 'self' 'nonce-#{nonce}' 'unsafe-inline'")
230230
expect(value).to include("script-src 'self' 'nonce-#{nonce}' 'unsafe-inline'")
231231
end
232232

233233
it "does not add 'unsafe-inline' twice" do
234-
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "self nonce 'unsafe-inline'"), :request => request_for(CHROME), :controller => controller)
234+
header = ContentSecurityPolicy.new(default_opts.merge(:script_src => "'self' nonce 'unsafe-inline'"), :request => request_for(CHROME), :controller => controller)
235235
expect(header.value).to include("script-src 'self' 'nonce-#{header.nonce}' 'unsafe-inline';")
236236
end
237237
end
@@ -279,7 +279,7 @@ def request_for user_agent, request_uri=nil, options={:ssl => false}
279279

280280
describe ".add_to_env" do
281281
let(:controller) { double }
282-
let(:config) { {:default_src => 'self'} }
282+
let(:config) { {:default_src => "'self'"} }
283283
let(:options) { {:controller => controller} }
284284

285285
it "adds metadata to env" do

0 commit comments

Comments
 (0)