d1c94f034b
Exclude requesters from Project#members, Group#members and User#members ## What does this MR do? It excludes requesters from the `Project#members`, `Group#members` and `User#members` associations, and adds new `Project#requesters` and `Group#requesters` associations. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? Without this, if you call `project.members`, requesters are included in the results! This is at best misleading, and at worst can lead to security issues. By excluding requesters from the `#members` associations, we avoid introducing security inadvertently since you have to call the `#requesters` association explicitly to get requesters. ## What are the relevant issue numbers? This is something I realized while fixing the security issue #19102. ## Does this MR meet the acceptance criteria? - [x] I don't think this needs a CHANGELOG since this is an internal change - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4946 |
||
---|---|---|
.. | ||
avatars_controller_spec.rb | ||
blame_controller_spec.rb | ||
blob_controller_spec.rb | ||
branches_controller_spec.rb | ||
commit_controller_spec.rb | ||
commits_controller_spec.rb | ||
compare_controller_spec.rb | ||
find_file_controller_spec.rb | ||
forks_controller_spec.rb | ||
group_links_controller_spec.rb | ||
imports_controller_spec.rb | ||
issues_controller_spec.rb | ||
labels_controller_spec.rb | ||
merge_requests_controller_spec.rb | ||
milestones_controller_spec.rb | ||
notes_controller_spec.rb | ||
project_members_controller_spec.rb | ||
protected_branches_controller_spec.rb | ||
raw_controller_spec.rb | ||
refs_controller_spec.rb | ||
repositories_controller_spec.rb | ||
services_controller_spec.rb | ||
snippets_controller_spec.rb | ||
todo_controller_spec.rb | ||
tree_controller_spec.rb | ||
uploads_controller_spec.rb |