summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'security-personal-snippets' into 'master'GitLab Release Tools Bot2019-08-292-4/+9
|\ | | | | | | | | Add direct upload support for personal snippets See merge request gitlab/gitlabhq!3226
| * Add direct upload support for personal snippetsJan Provaznik2019-08-232-4/+9
| |
* | Merge branch 'security-fix_jira_ssrf_vulnerability' into 'master'GitLab Release Tools Bot2019-08-291-0/+66
|\ \ | | | | | | | | | | | | Fix DNS rebind vulnerability for JIRA integration See merge request gitlab/gitlabhq!3266
| * | Fix DNS rebind vulnerability for JIRA integrationFelipe Artur2019-08-081-0/+66
| | | | | | | | | | | | | | | Uses Gitlab::HTTP for JIRA requests instead of Net::Http. Gitlab::Http comes with some built in SSRF protections.
* | | Merge branch 'security-61974-limit-issue-comment-size' into 'master'GitLab Release Tools Bot2019-08-292-1/+5
|\ \ \ | | | | | | | | | | | | | | | | Limit the size of issuable description and comments See merge request gitlab/gitlabhq!3267
| * | | Limit the size of issuable description and commentsAlexandru Croitor2019-08-222-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limiting the size of issuable description and comments to 1_000_000, which is close to ~1MB of ASCII characters, which represents 99.9% of all descriptions and comments we have in DB at the moment. This should help prevent DoS attacks when comments contain refference strings. Also this change updates regexp matching the namespaces paths by limiting the namespaces paths to Namespace::NUMBER_OF_ANCESTORS_ALLOWED, as we allow 20 levels deep groups. see https://gitlab.com/gitlab-org/gitlab-ce/issues/61974#note_191274234
* | | | Merge branch 'security-59549-add-capcha-for-failed-logins' into 'master'GitLab Release Tools Bot2019-08-294-1/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Require a captcha after unique failed logins from the same IP See merge request gitlab/gitlabhq!3270
| * | | | Add captcha if there are multiple failed login attemptsMałgorzata Ksionek2019-07-314-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add method to store session ids by ip Add new specs for storing session ids Add cleaning up records after login Add retrieving anonymous sessions Add login recaptcha setting Add new setting to sessions controller Add conditions for showing captcha Add sessions controller specs Add admin settings specs for login protection Add new settings to api Add stub to devise spec Add new translation key Add cr remarks Rename class call Add cr remarks Change if-clause for consistency Add cr remarks Add code review remarks Refactor AnonymousSession class Add changelog entry Move AnonymousSession class to lib Move store unauthenticated sessions to sessions controller Move link to recaptcha info Regenerate text file Improve copy on the spam page Change action filter for storing anonymous sessions Fix rubocop offences Add code review remarks
* | | | | Merge branch 'security-project-import-bypass' into 'master'GitLab Release Tools Bot2019-08-291-0/+88
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Project visibility restriction bypass See merge request gitlab/gitlabhq!3306
| * | | | | Fix project import restricted visibility bypassGeorge Koltsov2019-08-151-0/+88
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | Add Gitlab::VisibilityLevelChecker that verifies selected project visibility level (or overridden param) is not restricted when creating or importing a project
* | | | | Merge branch 'security-add-job-activity-limit-ce' into 'master'GitLab Release Tools Bot2019-08-291-0/+21
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce JobActivity limit for alive jobs Closes gitlab-ee#376 See merge request gitlab/gitlabhq!3339
| * | | | | Add active_jobs_limit to plans tableFabio Pitino2019-08-211-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a port from EE changes where we introduce a new limit for Plan model. https://dev.gitlab.org/gitlab/gitlab-ee/merge_requests/1182
* | | | | | Merge branch 'security-fix-markdown-xss' into 'master'GitLab Release Tools Bot2019-08-294-13/+35
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-escape the whole HTML content when finding HTML references See merge request gitlab/gitlabhq!3340
| * | | | | | Re-escape whole HTML content instead of only matchJan Provaznik2019-08-234-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we un-escape HTML text to find references in it, we should then re-escape the whole text again, not only found matches. Because we replace matches with milestone/label links (which contain HTML tags we don't want to escape again), we re-escape HTML text with placeholders instead of these links and then replace placeholders in the escaped text.
* | | | | | | Merge branch 'security-exposed-default-branch' into 'master'GitLab Release Tools Bot2019-08-291-0/+16
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid exposing unaccessible repo data upon GFM post processing See merge request gitlab/gitlabhq!3344
| * | | | | | | Avoid exposing unaccessible repo data upon GFM processingOswaldo Ferreira2019-08-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When post-processing relative links to absolute links RelativeLinkFilter didn't take into consideration that internal repository data could be exposed for users that do not have repository access to the project. This commit solves that by checking whether the user can `download_code` at this repository, avoiding any processing of this filter if the user can't. Additionally, if we're processing for a group ( no project was given), we check if the user can read it in order to expand the href as an extra. That doesn't seem necessarily a breach now, but an extra check doesn't hurt as after all the user needs to be able to `read_group`.
* | | | | | | | Add helper to exactly undo cleanup_concurrent_column_renameReuben Pereira2019-08-251-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Also add helper to undo rename_column_concurrently.
* | | | | | | | Drop existing trigger before creating new oneReuben Pereira2019-08-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When renaming a column concurrently, drop any existing trigger before attempting to create a new one. When running migration specs multiple times (as it happens during local development), the down method of previous migrations are called. If any of the called methods contains a call to rename_column_concurrently, a trigger will be created and not removed. So, the next time a migration spec is run, if the same down method is executed again, it will cause an error when attempting to create the trigger (since it already exists). Dropping the trigger if it already exists will prevent this problem.
* | | | | | | | Add a link to docs in project descriptionReuben Pereira2019-08-231-0/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add to the service and migration both.
* | | | | | | | Merge branch '66402-use-visual-review-tools-npm-package' into 'master'Mike Greiling2019-08-231-6/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve "Use Visual Review Tools NPM package" See merge request gitlab-org/gitlab-ce!32159
| * | | | | | | | Move visual review toolbar to NPMshampton2019-08-231-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the visual review toolbar code in favor of using the NPM package.
* | | | | | | | | Read pipelines from public projects though APIMarius Bobin2019-08-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow users to read pipelines for public projects with public builds enabled without providing an access token.
* | | | | | | | | Implement validation logic to ProjectStageAdam Hegyi2019-08-2314-0/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Introducting StageEvents to define the available events - Define the event pairing rules, since some events are not compatible - Express default Cycle Analytics stages with the event structure
* | | | | | | | | Merge branch 'jc-add-ff-for-all-lfs-pointers-go' into 'master'Stan Hu2019-08-231-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding gitaly feature flag for go implementation of get all lfs pointers See merge request gitlab-org/gitlab-ce!31696
| * | | | | | | | | Adding gitaly feature flag for go implementation of get all lfs pointersjc-add-ff-for-all-lfs-pointers-goJohn Cai2019-08-231-0/+1
| |/ / / / / / / /
* | | | | | | | | Add label_id parameter to label API for PUT and DELETEPatrick Derichs2019-08-232-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add specs for new parameter and updated documentation as well.
* | | | | | | | | Merge branch 'jc-fix-auto-rugged-detection' into 'master'Lin Jen-Shin2019-08-231-1/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle when server info doesn't have the storage in question See merge request gitlab-org/gitlab-ce!32023
| * | | | | | | | | Handle when server info doesn't have the storage in questionJohn Cai2019-08-231-1/+2
| |/ / / / / / / /
* | | | | | | | | Merge branch 'sh-eliminate-gitaly-nplus-one-notes' into 'master'Kamil Trzciński2019-08-232-6/+9
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate Gitaly N+1 queries with notes API See merge request gitlab-org/gitlab-ce!32089
| * | | | | | | | Eliminate Gitaly N+1 queries with notes APIsh-eliminate-gitaly-nplus-one-notesStan Hu2019-08-222-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31834, we see that in https://gitlab.com/gitlab-org/gitlab-ce/issues/65957 there can be hundreds, even thousands, of Gitaly requests in the `/api/:version/projects/:id/merge_requests/:noteable_id/notes` endpoint. Previously, the API to retrieve notes generated hundreds of Gitaly calls to determine whether a system note should be shown to the user. It did this by: 1. Rendering the Markdown 2. Extracting cross-references from the Markdown 3. Issuing a Gitaly `FindCommit` RPC for every reference to validate that the commit exists. The last step is unnecessary because we don't need to display a commit if the user doesn't have access to the project in the first place. `RendersNotes#prepare_notes_for_rendering` is already used in `MergeRequestsController`, which is why we don't see N+1 Gitaly calls there. We use it here to optimize the note redaction process.
* | | | | | | | | Merge branch '57402-upate-issues-list-sort-options-ce' into 'master'Jan Provaznik2019-08-232-4/+7
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CE: Update sort options for issues list See merge request gitlab-org/gitlab-ce!31849
| * | | | | | | | | Update sort options for issues list57402-upate-issues-list-sort-options-ceAlexandru Croitor2019-08-232-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase sort options for issues list from updated_at and create_at, to include more options close to what is required in actual issue list UI. This helps us to use REST API for issues list with sorting capabilities https://gitlab.com/gitlab-org/gitlab-ce/issues/57402
* | | | | | | | | | Merge branch 'frozen_string_lib_2' into 'master'Nick Thomas2019-08-232-2/+3
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add frozen_string_literal to lib part 2 See merge request gitlab-org/gitlab-ce!32094
| * | | | | | | | | Fix frozen string errorfrozen_string_lib_2Thong Kuah2019-08-231-1/+2
| | | | | | | | | |
| * | | | | | | | | Fix frozen string errorsThong Kuah2019-08-231-1/+1
| | | | | | | | | |
* | | | | | | | | | Exempt `jwt/auth` for user `gitlab-ci-token` from rate limitingMarius Bobin2019-08-231-1/+5
| |/ / / / / / / / |/| | | | | | | |
* | | | | | | | | Expose namespace storage statistics with GraphQLAlessio Caiazza2019-08-221-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Root namespaces have storage statistics. This commit allows namespace owners to get those stats via GraphQL queries like the following one { namespace(fullPath: "a_namespace_path") { rootStorageStatistics { storageSize repositorySize lfsObjectsSize buildArtifactsSize packagesSize wikiSize } } }
* | | | | | | | | Log time spent on CPU to sidekiq.logBalakumar2019-08-221-10/+36
| |_|/ / / / / / |/| | | | | | |
* | | | | | | | Merge branch 'feat/smime-signed-notification-emails' into 'master'Sean McGivern2019-08-223-0/+115
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | feat: smime signed notification emails See merge request gitlab-org/gitlab-ce!30644
| * | | | | | | feat: SMIME signed notification emailsDiego Louzán2019-08-203-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add mail interceptor the signs outgoing email with SMIME - Add lib and helpers to work with SMIME data - New configuration params for setting up SMIME key and cert files
* | | | | | | | Merge branch ↵Kushal Pandya2019-08-221-0/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'ee-2502-refactor-ee-app-assets-javascripts-approvals-components-approvers_select-vue-to-remove-approverusers' into 'master' Add a new method to `Api.js`: `projectUsers` See merge request gitlab-org/gitlab-ce!31801
| * | | | | | | | Add a skip_users filter to the project users APINick Thomas2019-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This functionality is available in the /autocomplete users pseudo-API. We're attempting to replace that with the canonical API, so it needs support for this parameter too.
* | | | | | | | | Add Gitaly info-ref cache feature flagsPaul Okstad2019-08-221-2/+4
| | | | | | | | |
* | | | | | | | | Merge branch 'sidekiq-interrupt-running-jobs-deadset' into 'master'Stan Hu2019-08-211-1/+5
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put cancelled job in DeadSet See merge request gitlab-org/gitlab-ce!32070
| * | | | | | | | | Put cancelled job in DeadSetsidekiq-interrupt-running-jobs-deadsetKamil Trzciński2019-08-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replicates Sidekiq behavior of pushing dead job into DeadSet.
* | | | | | | | | | Merge branch 'uncomment_commit_signatures_feature_flag' into 'master'Stan Hu2019-08-211-1/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade to gitaly 1.60.0 and uncomment get_commit_signatures feature flag Closes #65991 See merge request gitlab-org/gitlab-ce!31981
| * | | | | | | | | | Uncomment get_commit_signatures feature flagFelipe Artur2019-08-191-1/+1
| | |_|_|/ / / / / / | |/| | | | | | | |
* | | | | | | | | | Ensure CI matching operator receives an objectMarius Bobin2019-08-212-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure the evaluation of right-hand side expression always results in the returning of an object or an empty String
* | | | | | | | | | Merge branch 'sidekiq-interrupt-running-jobs' into 'master'Stan Hu2019-08-213-1/+202
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow to interrupt running sidekiq jobs See merge request gitlab-org/gitlab-ce!31818
| * | | | | | | | | Properly handle `sidekiq` skipsidekiq-interrupt-running-jobsKamil Trzciński2019-08-212-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Transform `CancelledError` into `JobRetry::Skip`