Update upstream source from tag 'upstream/13.0.4'
Update to upstream version '13.0.4'
with Debian dir 5842ec48df
This commit is contained in:
commit
4e5a3c2e9b
7 changed files with 108 additions and 73 deletions
|
@ -1,5 +1,9 @@
|
|||
Please view this file on the master branch, on stable branches it's out of date.
|
||||
|
||||
## 13.0.3 (2020-05-29)
|
||||
|
||||
- No changes.
|
||||
|
||||
## 13.0.2 (2020-05-28)
|
||||
|
||||
- No changes.
|
||||
|
|
|
@ -2,6 +2,13 @@
|
|||
documentation](doc/development/changelog.md) for instructions on adding your own
|
||||
entry.
|
||||
|
||||
## 13.0.4 (2020-06-03)
|
||||
|
||||
### Security (1 change)
|
||||
|
||||
- Prevent fetching repository code with unauthorized ci token.
|
||||
|
||||
|
||||
## 13.0.3 (2020-05-29)
|
||||
|
||||
### Fixed (8 changes, 1 of them is from the community)
|
||||
|
|
|
@ -1 +1 @@
|
|||
13.0.3
|
||||
13.0.4
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
13.0.3
|
||||
13.0.4
|
||||
|
|
|
@ -463,6 +463,7 @@ class ProjectPolicy < BasePolicy
|
|||
rule { repository_disabled }.policy do
|
||||
prevent :push_code
|
||||
prevent :download_code
|
||||
prevent :build_download_code
|
||||
prevent :fork_project
|
||||
prevent :read_commit_status
|
||||
prevent :read_pipeline
|
||||
|
|
|
@ -114,36 +114,38 @@ lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
|
|||
+AZxAeKCINT+b72x
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
|
||||
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
|
||||
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
|
||||
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
|
||||
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
|
||||
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
|
||||
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
|
||||
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
|
||||
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
|
||||
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
|
||||
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
|
||||
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
|
||||
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
|
||||
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
|
||||
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
|
||||
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
|
||||
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
|
||||
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
|
||||
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
|
||||
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
|
||||
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
|
||||
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
|
||||
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
|
||||
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
|
||||
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
|
||||
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
|
||||
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
|
||||
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
|
||||
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
|
||||
pu/xO28QOG8=
|
||||
MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
|
||||
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
|
||||
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
|
||||
MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
|
||||
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
|
||||
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
|
||||
dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
|
||||
6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
|
||||
pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
|
||||
9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
|
||||
/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
|
||||
Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
|
||||
+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
|
||||
qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
|
||||
SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
|
||||
u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
|
||||
Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
|
||||
crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
|
||||
FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
|
||||
/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
|
||||
wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
|
||||
4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
|
||||
2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
|
||||
FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
|
||||
CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
|
||||
boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
|
||||
jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
|
||||
S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
|
||||
QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
|
||||
0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
|
||||
NVOFBkpdn627G190
|
||||
-----END CERTIFICATE-----'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,6 +5,7 @@ require 'spec_helper'
|
|||
describe ProjectPolicy do
|
||||
include ExternalAuthorizationServiceHelpers
|
||||
include_context 'ProjectPolicy context'
|
||||
let_it_be(:other_user) { create(:user) }
|
||||
let_it_be(:guest) { create(:user) }
|
||||
let_it_be(:reporter) { create(:user) }
|
||||
let_it_be(:developer) { create(:user) }
|
||||
|
@ -163,7 +164,7 @@ describe ProjectPolicy do
|
|||
subject { described_class.new(owner, project) }
|
||||
|
||||
it 'disallows all permissions when the feature is disabled' do
|
||||
project.project_feature.update(merge_requests_access_level: ProjectFeature::DISABLED)
|
||||
project.project_feature.update!(merge_requests_access_level: ProjectFeature::DISABLED)
|
||||
|
||||
mr_permissions = [:create_merge_request_from, :read_merge_request,
|
||||
:update_merge_request, :admin_merge_request,
|
||||
|
@ -215,7 +216,7 @@ describe ProjectPolicy do
|
|||
subject { described_class.new(owner, project) }
|
||||
|
||||
before do
|
||||
project.project_feature.update(builds_access_level: ProjectFeature::DISABLED)
|
||||
project.project_feature.update!(builds_access_level: ProjectFeature::DISABLED)
|
||||
end
|
||||
|
||||
context 'without metrics_dashboard_allowed' do
|
||||
|
@ -260,7 +261,7 @@ describe ProjectPolicy do
|
|||
subject { described_class.new(guest, project) }
|
||||
|
||||
before do
|
||||
project.project_feature.update(builds_access_level: ProjectFeature::PRIVATE)
|
||||
project.project_feature.update!(builds_access_level: ProjectFeature::PRIVATE)
|
||||
end
|
||||
|
||||
it 'disallows pipeline and commit_status permissions' do
|
||||
|
@ -275,50 +276,70 @@ describe ProjectPolicy do
|
|||
end
|
||||
|
||||
context 'repository feature' do
|
||||
subject { described_class.new(owner, project) }
|
||||
|
||||
before do
|
||||
project.project_feature.update(repository_access_level: ProjectFeature::DISABLED)
|
||||
let(:repository_permissions) do
|
||||
[
|
||||
:create_pipeline, :update_pipeline, :admin_pipeline, :destroy_pipeline,
|
||||
:create_build, :read_build, :update_build, :admin_build, :destroy_build,
|
||||
:create_pipeline_schedule, :read_pipeline_schedule, :update_pipeline_schedule, :admin_pipeline_schedule, :destroy_pipeline_schedule,
|
||||
:create_environment, :read_environment, :update_environment, :admin_environment, :destroy_environment,
|
||||
:create_cluster, :read_cluster, :update_cluster, :admin_cluster,
|
||||
:create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment,
|
||||
:destroy_release, :download_code, :build_download_code
|
||||
]
|
||||
end
|
||||
|
||||
context 'without metrics_dashboard_allowed' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::DISABLED)
|
||||
end
|
||||
context 'when user is a project member' do
|
||||
subject { described_class.new(owner, project) }
|
||||
|
||||
it 'disallows all permissions when the feature is disabled' do
|
||||
repository_permissions = [
|
||||
:create_pipeline, :update_pipeline, :admin_pipeline, :destroy_pipeline,
|
||||
:create_build, :read_build, :update_build, :admin_build, :destroy_build,
|
||||
:create_pipeline_schedule, :read_pipeline_schedule, :update_pipeline_schedule, :admin_pipeline_schedule, :destroy_pipeline_schedule,
|
||||
:create_environment, :read_environment, :update_environment, :admin_environment, :destroy_environment,
|
||||
:create_cluster, :read_cluster, :update_cluster, :admin_cluster,
|
||||
:create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment,
|
||||
:destroy_release
|
||||
]
|
||||
context 'when it is disabled' do
|
||||
before do
|
||||
project.project_feature.update!(
|
||||
repository_access_level: ProjectFeature::DISABLED,
|
||||
merge_requests_access_level: ProjectFeature::DISABLED,
|
||||
builds_access_level: ProjectFeature::DISABLED,
|
||||
forking_access_level: ProjectFeature::DISABLED
|
||||
)
|
||||
end
|
||||
|
||||
expect_disallowed(*repository_permissions)
|
||||
context 'without metrics_dashboard_allowed' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::DISABLED)
|
||||
end
|
||||
|
||||
it 'disallows all permissions when the feature is disabled' do
|
||||
expect_disallowed(*repository_permissions)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with metrics_dashboard_allowed' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
end
|
||||
|
||||
it 'disallows all permissions but read_environment when the feature is disabled' do
|
||||
expect_disallowed(*(repository_permissions - [:read_environment]))
|
||||
expect_allowed(:read_environment)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'with metrics_dashboard_allowed' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
end
|
||||
context 'when user is some other user' do
|
||||
subject { described_class.new(other_user, project) }
|
||||
|
||||
it 'disallows all permissions when the feature is disabled' do
|
||||
repository_permissions = [
|
||||
:create_pipeline, :update_pipeline, :admin_pipeline, :destroy_pipeline,
|
||||
:create_build, :read_build, :update_build, :admin_build, :destroy_build,
|
||||
:create_pipeline_schedule, :read_pipeline_schedule, :update_pipeline_schedule, :admin_pipeline_schedule, :destroy_pipeline_schedule,
|
||||
:create_environment, :update_environment, :admin_environment, :destroy_environment,
|
||||
:create_cluster, :read_cluster, :update_cluster, :admin_cluster,
|
||||
:create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment,
|
||||
:destroy_release
|
||||
]
|
||||
context 'when access level is private' do
|
||||
before do
|
||||
project.project_feature.update!(
|
||||
repository_access_level: ProjectFeature::PRIVATE,
|
||||
merge_requests_access_level: ProjectFeature::PRIVATE,
|
||||
builds_access_level: ProjectFeature::PRIVATE,
|
||||
forking_access_level: ProjectFeature::PRIVATE
|
||||
)
|
||||
end
|
||||
|
||||
expect_disallowed(*repository_permissions)
|
||||
expect_allowed(:read_environment)
|
||||
it 'disallows all permissions' do
|
||||
expect_disallowed(*repository_permissions)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -601,7 +622,7 @@ describe ProjectPolicy do
|
|||
|
||||
context 'feature enabled' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
project.project_feature.update!(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
end
|
||||
|
||||
context 'with reporter' do
|
||||
|
@ -665,7 +686,7 @@ describe ProjectPolicy do
|
|||
|
||||
context 'feature enabled' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
project.project_feature.update!(metrics_dashboard_access_level: ProjectFeature::ENABLED)
|
||||
end
|
||||
|
||||
context 'with reporter' do
|
||||
|
@ -750,7 +771,7 @@ describe ProjectPolicy do
|
|||
|
||||
context 'feature disabled' do
|
||||
before do
|
||||
project.project_feature.update(metrics_dashboard_access_level: ProjectFeature::DISABLED)
|
||||
project.project_feature.update!(metrics_dashboard_access_level: ProjectFeature::DISABLED)
|
||||
end
|
||||
|
||||
context 'with reporter' do
|
||||
|
|
Loading…
Reference in a new issue