Skip to content

Commit eed1e6e

Browse files
authored
Merge pull request #11766 from Birkenstab/feature/allow-same-origin-referrer-policy
Allow "same-origin" as "Referrer-Policy"
2 parents 6e56a7b + b68661e commit eed1e6e

2 files changed

Lines changed: 10 additions & 13 deletions

File tree

core/js/setupchecks.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,15 +447,17 @@
447447
(xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'no-referrer' &&
448448
xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'no-referrer-when-downgrade' &&
449449
xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'strict-origin' &&
450-
xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'strict-origin-when-cross-origin')) {
450+
xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'strict-origin-when-cross-origin' &&
451+
xhr.getResponseHeader('Referrer-Policy').toLowerCase() !== 'same-origin')) {
451452
messages.push({
452-
msg: t('core', 'The "{header}" HTTP header is not set to "{val1}", "{val2}", "{val3}" or "{val4}". This can leak referer information. See the <a target="_blank" rel="noreferrer noopener" href="{link}">W3C Recommendation ↗</a>.',
453+
msg: t('core', 'The "{header}" HTTP header is not set to "{val1}", "{val2}", "{val3}", "{val4}" or "{val5}". This can leak referer information. See the <a target="_blank" rel="noreferrer noopener" href="{link}">W3C Recommendation ↗</a>.',
453454
{
454455
header: 'Referrer-Policy',
455456
val1: 'no-referrer',
456457
val2: 'no-referrer-when-downgrade',
457458
val3: 'strict-origin',
458459
val4: 'strict-origin-when-cross-origin',
460+
val5: 'same-origin',
459461
link: 'https://www.w3.org/TR/referrer-policy/'
460462
}),
461463
type: OC.SetupChecks.MESSAGE_TYPE_INFO

core/js/tests/specs/setupchecksSpec.js

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ describe('OC.SetupChecks tests', function() {
830830
msg: 'The "X-Permitted-Cross-Domain-Policies" HTTP header is not set to "none". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.',
831831
type: OC.SetupChecks.MESSAGE_TYPE_WARNING
832832
}, {
833-
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin" or "strict-origin-when-cross-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
833+
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin", "strict-origin-when-cross-origin" or "same-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
834834
type: OC.SetupChecks.MESSAGE_TYPE_INFO
835835
}
836836
]);
@@ -975,7 +975,7 @@ describe('OC.SetupChecks tests', function() {
975975
});
976976
});
977977

978-
it('should return a message if Referrer-Policy is set to same-origin', function(done) {
978+
it('should return no message if Referrer-Policy is set to same-origin', function(done) {
979979
protocolStub.returns('https');
980980
var result = OC.SetupChecks.checkGeneric();
981981

@@ -991,12 +991,7 @@ describe('OC.SetupChecks tests', function() {
991991
});
992992

993993
result.done(function( data, s, x ){
994-
expect(data).toEqual([
995-
{
996-
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin" or "strict-origin-when-cross-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
997-
type: OC.SetupChecks.MESSAGE_TYPE_INFO
998-
}
999-
]);
994+
expect(data).toEqual([]);
1000995
done();
1001996
});
1002997
});
@@ -1019,7 +1014,7 @@ describe('OC.SetupChecks tests', function() {
10191014
result.done(function( data, s, x ){
10201015
expect(data).toEqual([
10211016
{
1022-
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin" or "strict-origin-when-cross-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
1017+
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin", "strict-origin-when-cross-origin" or "same-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
10231018
type: OC.SetupChecks.MESSAGE_TYPE_INFO
10241019
}
10251020
]);
@@ -1045,7 +1040,7 @@ describe('OC.SetupChecks tests', function() {
10451040
result.done(function( data, s, x ){
10461041
expect(data).toEqual([
10471042
{
1048-
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin" or "strict-origin-when-cross-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
1043+
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin", "strict-origin-when-cross-origin" or "same-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
10491044
type: OC.SetupChecks.MESSAGE_TYPE_INFO
10501045
}
10511046
]);
@@ -1071,7 +1066,7 @@ describe('OC.SetupChecks tests', function() {
10711066
result.done(function( data, s, x ){
10721067
expect(data).toEqual([
10731068
{
1074-
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin" or "strict-origin-when-cross-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
1069+
msg: 'The "Referrer-Policy" HTTP header is not set to "no-referrer", "no-referrer-when-downgrade", "strict-origin", "strict-origin-when-cross-origin" or "same-origin". This can leak referer information. See the <a href="https://www.w3.org/TR/referrer-policy/" rel="noreferrer noopener">W3C Recommendation ↗</a>.',
10751070
type: OC.SetupChecks.MESSAGE_TYPE_INFO
10761071
}
10771072
]);

0 commit comments

Comments
 (0)