summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Create and use project path helpers that only need a project, no namespaceDouwe Maan2017-07-0522-63/+33
|
* Revert "Merge branch '18000-remember-me-for-oauth-login' into 'master'"revert-6df61942Sean McGivern2017-07-051-1/+2
| | | This reverts merge request !11963
* Merge branch '33580-fix-api-scoping' into 'master'Douwe Maan2017-07-057-23/+70
|\ | | | | | | | | | | | | Fix API Scoping Closes #33580 and #33022 See merge request !12300
| * Merge branch 'master' into '33580-fix-api-scoping'Douwe Maan2017-07-0440-160/+1605
| |\ | | | | | | | | | # Conflicts: # lib/api/users.rb
| * | `AccessTokenValidationService` accepts `String` or `API::Scope` scopes.Timothy Andrew2017-06-302-2/+1
| | | | | | | | | | | | | | | - There's no need to use `API::Scope` for scopes that don't have `if` conditions, such as in `lib/gitlab/auth.rb`.
| * | Extract a `Gitlab::Scope` class.Timothy Andrew2017-06-293-3/+26
| | | | | | | | | | | | | | | - To represent an authorization scope, such as `api` or `read_user` - This is a better abstraction than the hash we were previously using.
| * | Implement review comments from @DouweM for !12300.Timothy Andrew2017-06-282-3/+4
| | | | | | | | | | | | | | | | | | | | | - Use a struct for scopes, so we can call `scope.if` instead of `scope[:if]` - Refactor the "remove scopes whose :if condition returns false" logic to use a `select` rather than a `reject`.
| * | Implement review comments from @dbalexandre for !12300.Timothy Andrew2017-06-282-9/+7
| | |
| * | Fix remaining spec failures for !12300.Timothy Andrew2017-06-282-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Get the spec for `lib/gitlab/auth.rb` passing. - Make the `request` argument to `AccessTokenValidationService` optional - `auth.rb` doesn't need to pass in a request. - Pass in scopes in the format `[{ name: 'api' }]` rather than `['api']`, which is what `AccessTokenValidationService` now expects. 2. Get the spec for `API::V3::Users` passing 2. Get the spec for `AccessTokenValidationService` passing
| * | When verifying scopes, manually include scopes from `API::API`.Timothy Andrew2017-06-282-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | - They are not included automatically since `API::Users` does not inherit from `API::API`, as I initially assumed. - Scopes declared in `API::API` are considered global (to the API), and need to be included in all cases.
| * | Allow API scope declarations to be applied conditionally.Timothy Andrew2017-06-282-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Scope declarations of the form: allow_access_with_scope :read_user, if: -> (request) { request.get? } will only apply for `GET` requests - Add a negative test to a `POST` endpoint in the `users` API to test this. Also test for this case in the `AccessTokenValidationService` unit tests.
| * | Initial attempt at refactoring API scope declarations.Timothy Andrew2017-06-285-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Declaring an endpoint's scopes in a `before` block has proved to be unreliable. For example, if we're accessing the `API::Users` endpoint - code in a `before` block in `API::API` wouldn't be able to see the scopes set in `API::Users` since the `API::API` `before` block runs first. - This commit moves these declarations to the class level, since they don't need to change once set.
* | | Merge branch '18000-remember-me-for-oauth-login' into 'master'Sean McGivern2017-07-051-2/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Honor the "Remember me" parameter for OAuth-based login Closes #18000 See merge request !11963
| * | | Implement review comments for !11963 from @adamniedzielski.Timothy Andrew2017-07-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Change double quotes to single quotes. - Why is `OmniAuth.config.full_host` being reassigned in the integration test? - Use `map` over `map!` to avoid `dup` in the `gitlab:info` rake task - Other minor changes
| * | | Don't allow the `gitlab:env:info` rake task to mutate the list of omniauth ↵Timothy Andrew2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | providers. - The test for `rake gitlab:env:info` executed the rake task, which mutated the list of omniauth providers, breaking subsequent tests relying on this list. - I've changed the rake task to duplicate the providers list before modifying it.
* | | | Merge branch 'sh-fix-bad-rails-logger' into 'master'Rémy Coutable2017-07-051-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix invalid Rails.logger call in lib/gitlab/health_checks/fs_shards_check.rb See merge request !12641
| * | | | Fix invalid Rails.logger call in lib/gitlab/health_checks/fs_shards_check.rbsh-fix-bad-rails-loggerStan Hu2017-07-041-1/+1
| | | | |
* | | | | Merge branch 'gitaly-submodule-url-for' into 'master'Sean McGivern2017-07-051-5/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Migrate #submodule_url_for to Gitaly See merge request !12629
| * | | | | Migrate #submodule_url_for to GitalyJacob Vosmaer2017-07-051-5/+20
| | | | | |
* | | | | | Merge branch 'dm-encode-tree-and-blob-paths' into 'master'Rémy Coutable2017-07-052-0/+8
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix issues with non-UTF8 filenames by always fixing the encoding of tree and blob paths Closes #34529 See merge request !12636
| * | | | | Fix issues with non-UTF8 filenames by always fixing the encoding of tree and ↵dm-encode-tree-and-blob-pathsDouwe Maan2017-07-042-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | blob paths
* | | | | | Merge branch '34544_add_italian_translation_of_i18n' into 'master'34621-add-subgroups-limitations-to-pages-docsDouwe Maan2017-07-041-1/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Italian translation of Cycle Analytics Page & Project Page & Repository Page Closes #34544 See merge request !12578
| * | | | | add Italian translation to I18N黄涛2017-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | translated of Cycle Analytics Page translated of Project Page translated of Repository Page add Changelog Closes #34544
* | | | | | Instrument Unicorn with Ruby exporterPaweł Chojnacki2017-07-045-38/+193
| |_|_|_|/ |/| | | |
* | | | | Merge branch '34141-allow-unauthenticated-access-to-the-users-api' into 'master'Rémy Coutable2017-07-041-6/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow unauthenticated access to the `/api/v4/users` API Closes #34141 See merge request !12445
| * | | | | Simplify authentication logic in the v4 users API for !12445.Timothy Andrew2017-07-042-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rather than using an explicit check to turn off authentication for the `/users` endpoint, simply call `authenticate_non_get!`. - All `GET` endpoints we wish to restrict already call `authenticated_as_admin!`, and so remain inacessible to anonymous users. - This _does_ open up the `/users/:id` endpoint to anonymous access. It contains the same access check that `/users` users, and so is safe for use here. - More context: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12445#note_34031323
| * | | | | Merge remote-tracking branch 'origin/master' into ↵Timothy Andrew2017-06-3044-190/+1672
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 34141-allow-unauthenticated-access-to-the-users-api - Modify policy code to work with the `DeclarativePolicy` refactor in 37c401433b76170f0150d70865f1f4584db01fa8.
| * | | | | | Implement review comments for !12445 from @godfat and @rymai.Timothy Andrew2017-06-302-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use `GlobalPolicy` to authorize the users that a non-authenticated user can fetch from `/api/v4/users`. We allow access if the `Gitlab::VisibilityLevel::PUBLIC` visibility level is not restricted. - Further, as before, `/api/v4/users` is only accessible to unauthenticated users if the `username` parameter is passed. - Turn off `authenticate!` for the `/api/v4/users` endpoint by matching on the actual route + method, rather than the description. - Change the type of `current_user` check in `UsersFinder` to be more compatible with EE.
| * | | | | | Allow unauthenticated access to the `/api/v4/users` API.Timothy Andrew2017-06-262-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The issue filtering frontend code needs access to this API for non-logged-in users + public projects. It uses the API to fetch information for a user by username. - We don't authenticate this API anymore, but instead - if the `current_user` is not present: - Verify that the `username` parameter has been passed. This disallows an unauthenticated user from grabbing a list of all users on the instance. The `UsersFinder` class performs an exact match on the `username`, so we are guaranteed to get 0 or 1 users. - Verify that the resulting user (if any) is accessible to be viewed publicly by calling `can?(current_user, :read_user, user)`
* | | | | | | Merge branch 'gitaly-clean-up-tests' into 'master'Sean McGivern2017-07-041-1/+1
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | Clean up Gitaly tests See merge request !12526
| * | | | | | Add test for GitalyClient::Ref#find_ref_nameJacob Vosmaer2017-07-041-1/+1
| | |/ / / / | |/| | | |
* | | | | | Optimize creation of commit API by using Repository#commit instead of ↵sh-optimize-project-commit-apiStan Hu2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repository#commits Repository#commits is expensive because it has to use Rugged to walk the Git tree as opposed to doing a direct ref lookup. Improves performance in #34533
* | | | | | Speed up operations performed by gitlab-shellStan Hu2017-07-031-21/+48
| |_|_|/ / |/| | | |
* | | | | Merge branch 'change-extended-docker-configuration-syntax' into 'master'Grzegorz Bizon2017-07-022-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make entrypoint and command keys to be array of strings See merge request !12536
| * | | | | Make entrypoint and command keys to be array of stringsTomasz Maczukin2017-07-022-3/+3
| | | | | |
* | | | | | Merge branch 'enable-webpack-code-splitting' into 'master'Jacob Schatz2017-06-301-0/+3
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable webpack code splitting Closes #32989 See merge request !12032
| * | | | | configure webpack publicPath dynamically to account for CDN or relative path ↵Mike Greiling2017-06-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | settings
* | | | | | Improve support for external issue referencesadam-external-issue-references-spikeAdam Niedzielski2017-06-304-49/+5
| |/ / / / |/| | | |
* | | | | Merge branch ↵Dmitriy Zaporozhets2017-06-301-3/+5
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '34502-gitlab-git-hook-should-set-the-gl_repository-environment-variable' into 'master' Set the GL_REPOSITORY env variable on Gitlab::Git::Hook Closes #34502 See merge request !12572
| * | | | Set the GL_REPOSITORY env variable on Gitlab::Git::Hook34502-gitlab-git-hook-should-set-the-gl_repository-environment-variableAlejandro Rodríguez2017-06-291-3/+5
| | | | |
* | | | | bugfix: use `require_dependency` to bring in DeclarativePolicybugfix/declarative-policy-reloadinghttp://jneen.net/2017-06-291-1/+1
|/ / / /
* | | | Merge branch '34078-allow-to-enable-feature-flags-with-more-granularity' ↵Robert Speicher2017-06-292-11/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into 'master' Allow the feature flags to be enabled/disabled with more granularity Closes #34078 See merge request !12357
| * | | | Rename flipper_group to feature_group34078-allow-to-enable-feature-flags-with-more-granularityRémy Coutable2017-06-281-4/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
| * | | | Rename FLippable to FeatureGate and make `flipper_group` and `user` mutually ↵Rémy Coutable2017-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exclusive Signed-off-by: Rémy Coutable <remy@rymai.me>
| * | | | Allow the feature flags to be enabled/disabled with more granularityRémy Coutable2017-06-272-11/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to enable/disable a feature flag for a given user, or a given Flipper group (must be declared statically in the `flipper.rb` initializer beforehand). Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | | | Merge branch 'sha-attributes-for-postgresql-and-mysql' into 'master'Sean McGivern2017-06-291-0/+34
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Added code for defining SHA attributes See merge request !12555
| * | | | | Added code for defining SHA attributesYorick Peterse2017-06-291-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These attributes are stored in binary in the database, but exposed as strings. This allows one to query/create data using plain SHA1 hashes as Strings, while storing them more efficiently as binary.
* | | | | | Merge branch 'zj-usage-ping-only-gl-pipelines' into 'master'Kamil Trzciński2017-06-291-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only count GL pipelines in usage data ping Closes #33172 See merge request !12277
| * | | | | | Split pipelines by origin on usage datazj-usage-ping-only-gl-pipelinesZ.J. van de Weg2017-06-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When sending the usage data, it now includes all pipelines. This commit will split the pipelines in two; internal and external. This will lead to historical data being incorrectly marked this way. Fixes gitlab-org/gitlab-ce#33172
* | | | | | | Merge branch 'refactor/declarative-policy' into 'master'Sean McGivern2017-06-2912-3/+1230
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor/declarative policy See merge request !10515