Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Release Tools Bot <robert+release-tools@gitlab.com>2019-08-26 10:42:35 +0300
committerGitLab Release Tools Bot <robert+release-tools@gitlab.com>2019-08-26 10:42:35 +0300
commitf3853daceca5061e41d0351d0dff2938ba374bfa (patch)
tree7a673860260cc66a4b8cd0c062387cf8a657d65c /app
parent61ba82ab35a1a8b553e05036b88fd5b959d9a7f0 (diff)
parent47dcc36b0b5aaa289e109ac1a456dcbc2a263337 (diff)
Merge branch 'security-ci-metrics-permissions-12-1' into '12-1-stable'
Restrict MergeRequests#test_reports to authenticated users with read-access on Builds See merge request gitlab/gitlabhq!3355
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/merge_requests_controller.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index f4d381244d9..c9a1f28f87e 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -12,6 +12,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
skip_before_action :merge_request, only: [:index, :bulk_update]
before_action :whitelist_query_limiting, only: [:assign_related_issues, :update]
before_action :authorize_update_issuable!, only: [:close, :edit, :update, :remove_wip, :sort]
+ before_action :authorize_test_reports!, only: [:test_reports]
before_action :set_issuables_index, only: [:index]
before_action :authenticate_user!, only: [:assign_related_issues]
before_action :check_user_can_push_to_source_branch!, only: [:rebase]
@@ -336,4 +337,9 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
render json: { status_reason: 'Unknown error' }, status: :internal_server_error
end
end
+
+ def authorize_test_reports!
+ # MergeRequest#actual_head_pipeline is the pipeline accessed in MergeRequest#compare_reports.
+ return render_404 unless can?(current_user, :read_build, merge_request.actual_head_pipeline)
+ end
end