Commit Graph

136 Commits

Author SHA1 Message Date
GitLab Bot c657078ecb Add latest changes from gitlab-org/gitlab@master 2021-12-03 03:14:42 +00:00
GitLab Bot 99f37f7ebd Add latest changes from gitlab-org/gitlab@master 2021-11-30 18:14:49 +00:00
GitLab Bot 89cbcca95d Add latest changes from gitlab-org/gitlab@master 2021-10-28 09:13:54 +00:00
GitLab Bot 942229d2b4 Add latest changes from gitlab-org/gitlab@master 2021-10-25 18:12:16 +00:00
GitLab Bot 6c7d90ede4 Add latest changes from gitlab-org/gitlab@master 2021-10-01 12:13:32 +00:00
GitLab Bot 63a014fe28 Add latest changes from gitlab-org/gitlab@master 2021-09-21 09:12:21 +00:00
GitLab Bot a8f5aaa708 Add latest changes from gitlab-org/gitlab@master 2021-07-21 15:08:52 +00:00
GitLab Bot ec8587780b Add latest changes from gitlab-org/gitlab@master 2021-06-23 00:07:53 +00:00
GitLab Bot c8cc2fe990 Add latest changes from gitlab-org/gitlab@master 2021-06-18 15:10:16 +00:00
GitLab Bot 0ebbf19f2d Add latest changes from gitlab-org/gitlab@master 2021-06-08 15:10:00 +00:00
GitLab Bot f7bc7dc5ea Add latest changes from gitlab-org/gitlab@master 2021-06-01 21:10:06 +00:00
GitLab Bot a880341a7b Add latest changes from gitlab-org/gitlab@master 2021-05-25 18:10:42 +00:00
GitLab Bot 5ef38f2a1d Add latest changes from gitlab-org/gitlab@master 2021-05-22 00:10:27 +00:00
GitLab Bot be4b3134a2 Add latest changes from gitlab-org/gitlab@master 2021-05-04 15:10:36 +00:00
GitLab Bot e5e0589e09 Add latest changes from gitlab-org/gitlab@master 2021-04-26 12:09:44 +00:00
GitLab Bot 9c6578ed4e Add latest changes from gitlab-org/gitlab@master 2021-04-21 15:09:35 +00:00
GitLab Bot 2af44d609e Add latest changes from gitlab-org/gitlab@master 2021-04-21 12:09:16 +00:00
GitLab Bot 760822a537 Add latest changes from gitlab-org/gitlab@master 2021-04-09 06:09:30 +00:00
GitLab Bot 807d57c18f Add latest changes from gitlab-org/gitlab@master 2021-03-25 06:09:02 +00:00
GitLab Bot ee4105895e Add latest changes from gitlab-org/gitlab@master 2021-03-12 18:09:23 +00:00
GitLab Bot 26e44c6225 Add latest changes from gitlab-org/gitlab@master 2021-03-12 12:09:33 +00:00
GitLab Bot 0179dc40d7 Add latest changes from gitlab-org/gitlab@master 2021-03-08 18:09:12 +00:00
GitLab Bot 77831d580c Add latest changes from gitlab-org/gitlab@master 2021-03-05 09:09:07 +00:00
GitLab Bot bcfab67c0f Add latest changes from gitlab-org/gitlab@master 2021-02-25 09:10:45 +00:00
GitLab Bot 91e247b531 Add latest changes from gitlab-org/gitlab@master 2021-02-24 09:11:09 +00:00
GitLab Bot 3c53fbc50b Add latest changes from gitlab-org/gitlab@master 2021-02-09 12:09:48 +00:00
GitLab Bot 4046c3447e Add latest changes from gitlab-org/gitlab@master 2021-02-05 15:09:28 +00:00
GitLab Bot 2516f0d87b Add latest changes from gitlab-org/gitlab@master 2021-01-29 18:09:17 +00:00
GitLab Bot deb09d4cc1 Add latest changes from gitlab-org/gitlab@master 2021-01-28 03:09:02 +00:00
GitLab Bot 507c0e71cd Add latest changes from gitlab-org/gitlab@master 2021-01-27 12:09:01 +00:00
GitLab Bot dafbc31897 Add latest changes from gitlab-org/gitlab@master 2021-01-26 21:09:04 +00:00
GitLab Bot d06b4740da Add latest changes from gitlab-org/gitlab@master 2021-01-08 00:10:44 +00:00
GitLab Bot a060caf3db Add latest changes from gitlab-org/gitlab@master 2021-01-05 09:10:15 +00:00
GitLab Bot 5c9f6c66fa Add latest changes from gitlab-org/gitlab@master 2020-12-23 12:10:26 +00:00
GitLab Bot ac5d39c2c4 Add latest changes from gitlab-org/gitlab@master 2020-12-06 03:09:38 +00:00
GitLab Bot bbd9e2c915 Add latest changes from gitlab-org/gitlab@master 2020-12-03 15:09:46 +00:00
GitLab Bot dce5758796 Add latest changes from gitlab-org/gitlab@master 2020-09-28 18:09:40 +00:00
GitLab Bot 27c4555a42 Add latest changes from gitlab-org/gitlab@master 2020-09-22 21:10:04 +00:00
GitLab Bot 37ea4b5fbf Add latest changes from gitlab-org/gitlab@master 2020-09-18 03:09:28 +00:00
GitLab Bot bf1600d157 Add latest changes from gitlab-org/gitlab@master 2020-09-16 18:09:47 +00:00
GitLab Bot 6b9b8a52ba Add latest changes from gitlab-org/gitlab@master 2020-09-16 06:09:24 +00:00
GitLab Bot 0f5dcf55e5 Add latest changes from gitlab-org/gitlab@master 2020-09-12 00:08:44 +00:00
GitLab Bot a66475b6be Add latest changes from gitlab-org/gitlab@master 2020-09-11 21:08:44 +00:00
GitLab Bot 5ec9ab0e8c Add latest changes from gitlab-org/gitlab@master 2020-09-10 21:08:28 +00:00
GitLab Bot a865379008 Add latest changes from gitlab-org/gitlab@master 2020-09-07 12:08:27 +00:00
GitLab Bot e28b754d23 Add latest changes from gitlab-org/gitlab@master 2020-09-02 03:10:30 +00:00
GitLab Bot 0bfb62457b Add latest changes from gitlab-org/gitlab@master 2020-08-19 06:10:04 +00:00
GitLab Bot da1962d9ac Add latest changes from gitlab-org/gitlab@master 2020-07-15 18:09:09 +00:00
GitLab Bot 8584b7d7ce Add latest changes from gitlab-org/gitlab@master 2020-07-02 00:09:51 +00:00
GitLab Bot a89912871c Add latest changes from gitlab-org/gitlab@master 2020-06-17 12:08:42 +00:00
GitLab Bot 3ef9553486 Add latest changes from gitlab-org/gitlab@master 2020-06-12 12:08:56 +00:00
GitLab Bot ead1d2523c Add latest changes from gitlab-org/gitlab@master 2020-06-04 15:08:21 +00:00
GitLab Bot 607646ef52 Add latest changes from gitlab-org/gitlab@master 2020-06-03 12:08:21 +00:00
GitLab Bot c4844aea3f Add latest changes from gitlab-org/gitlab@master 2020-06-03 00:08:38 +00:00
GitLab Bot 6985123d92 Add latest changes from gitlab-org/gitlab@master 2020-05-28 00:08:37 +00:00
GitLab Bot 21539fe9ab Add latest changes from gitlab-org/gitlab@master 2020-05-22 00:08:07 +00:00
GitLab Bot 41e8b05e8d Add latest changes from gitlab-org/gitlab@master 2020-05-13 12:07:54 +00:00
GitLab Bot 0e65189f85 Add latest changes from gitlab-org/gitlab@master 2020-05-13 09:08:37 +00:00
GitLab Bot 5c8c561ac6 Add latest changes from gitlab-org/gitlab@master 2020-04-24 12:10:16 +00:00
GitLab Bot fdd0b0fd45 Add latest changes from gitlab-org/gitlab@master 2020-04-23 18:09:46 +00:00
GitLab Bot 33aa02e7a3 Add latest changes from gitlab-org/gitlab@master 2020-04-01 18:07:56 +00:00
GitLab Bot a8de96bff5 Add latest changes from gitlab-org/gitlab@master 2020-03-05 18:08:19 +00:00
GitLab Bot c6c7437861 Add latest changes from gitlab-org/gitlab@master 2020-03-04 12:07:52 +00:00
GitLab Bot 951616a26a Add latest changes from gitlab-org/gitlab@master 2020-02-25 18:09:02 +00:00
GitLab Bot c7e385e282 Add latest changes from gitlab-org/gitlab@master 2020-02-19 15:09:09 +00:00
GitLab Bot b69f406585 Add latest changes from gitlab-org/gitlab@master 2020-02-15 00:08:48 +00:00
GitLab Bot 26384c9a61 Add latest changes from gitlab-org/gitlab@master 2020-02-05 09:08:43 +00:00
GitLab Bot 511e761b41 Add latest changes from gitlab-org/gitlab@master 2020-01-03 15:08:33 +00:00
GitLab Bot 2a65a97e12 Add latest changes from gitlab-org/gitlab@master 2019-12-18 00:08:09 +00:00
GitLab Bot 75687c79df Add latest changes from gitlab-org/gitlab@master 2019-11-12 00:06:21 +00:00
GitLab Bot 1dd77c7113 Add latest changes from gitlab-org/gitlab@master 2019-10-01 06:06:13 +00:00
GitLab Bot 98dbb0a488 Add latest changes from gitlab-org/gitlab@master 2019-09-23 00:06:29 +00:00
GitLab Bot 80f61b4035 Add latest changes from gitlab-org/gitlab@master 2019-09-18 14:02:45 +00:00
Nick Thomas 6ce21a9c17
Add a predicate to check for strong memoization 2019-09-10 13:45:21 +01:00
Kerri Miller acc694ead6 Extract SanitizeNodeLink and apply to WikiLinkFilter
The SanitizationFilter was running before the WikiFilter. Since
WikiFilter can modify links, we could see links that _should_ be stopped
by SanatizationFilter being rendered on the page. I (kerrizor) had
previously addressed the bug in: 7bc971915b
However, an additional exploit was discovered after that was merged.
Working through the issue, we couldn't simply shuffle the order of
filters, due to some implicit assumptions about the order of filters, so
instead we've extracted the logic that sanitizes a Nokogiri-generated
Node object, and applied it to the WikiLinkFilter as well.

On moving filters around:
Once we start moving around filters, we get cascading failures; fix one,
another one crops up. Many of the existing filters in the WikiPipeline
chain seem to assume that other filters have already done their work,
and thus operate on a "transform anything that's left" basis;
WikiFilter, for instance, assumes any link it finds in the markdown
should be prepended with the wiki_base_path.. but if it does that, it
also turns `href="@user"` into `href="/path/to/wiki/@user"`, which the
UserReferenceFilter doesn't see as a user reference it needs to
transform into a user profile link. This is true for all the reference
filters in the WikiPipeline.
2019-07-26 13:41:11 +00:00
Fabio Pitino abceda6cc5 Prevent Billion Laughs attack
It keeps track of the memory being used when loading the YAML file
as well as the depth of nesting.
Track exception when YAML is too big
2019-07-02 06:23:06 +00:00
Rémy Coutable 6b39f55d3f
Add cache to the 'compile-assets' and 'gitlab:assets:compile' jobs
Signed-off-by: Rémy Coutable <remy@rymai.me>
2019-02-05 14:04:54 +01:00
Jacopo d2851f41ba Extend override check to also check arity
Override now cares about parents method arity: if parents arity
doesn't match raises an error.
2018-12-22 14:10:43 +01:00
gfyoung f93f8f569d Enable even more frozen string for lib/gitlab
Enables frozen string for the following:

* lib/gitlab/patch/**/*.rb
* lib/gitlab/popen/**/*.rb
* lib/gitlab/profiler/**/*.rb
* lib/gitlab/project_authorizations/**/*.rb
* lib/gitlab/prometheus/**/*.rb
* lib/gitlab/query_limiting/**/*.rb
* lib/gitlab/quick_actions/**/*.rb
* lib/gitlab/redis/**/*.rb
* lib/gitlab/request_profiler/**/*.rb
* lib/gitlab/search/**/*.rb
* lib/gitlab/sherlock/**/*.rb
* lib/gitlab/sidekiq_middleware/**/*.rb
* lib/gitlab/slash_commands/**/*.rb
* lib/gitlab/sql/**/*.rb
* lib/gitlab/template/**/*.rb
* lib/gitlab/testing/**/*.rb
* lib/gitlab/utils/**/*.rb
* lib/gitlab/webpack/**/*.rb

Partially addresses gitlab-org/gitlab-ce#47424.
2018-11-19 18:24:22 -08:00
Lin Jen-Shin e8a455dc92 Following the feedbacks 2018-09-11 18:45:49 +08:00
Lin Jen-Shin 517ee9fd04 Fix Override. Properly define prepended
We should never be sloppy!
2018-09-11 18:45:49 +08:00
Lin Jen-Shin f71fc9328c Also verify if extending would override a class method
Since extending a class means including on the singleton class of the
class, this should now complain this:

``` ruby
module M
  extend Gitlab::Utils::Override

  override :f
  def f
    super.succ
  end
end

class C
  extend M

  def self.f
    0
  end
end
```

It should complain because `C.f` wasn't calling `M#f`.
This should pass verification:

``` ruby
module M
  extend Gitlab::Utils::Override

  override :f
  def f
    super.succ
  end
end

class B
  def self.f
    0
  end
end

class C < B
  extend M
end
```

Because `C.f` would now call `M#f`, and `M#f` does override something.
2018-06-05 13:40:52 +08:00
Lin Jen-Shin 8139895b43 Use `Gitlab::Utils::Override` over defined?(super) 2017-12-26 17:18:10 +08:00
Zeger-Jan van de Weg 3ab026b7d6
Use memoization for commits on diffs
The Gitaly CommitService is being hammered by n + 1 calls, mostly when
finding commits. This leads to this gRPC being turned of on production:
https://gitlab.com/gitlab-org/gitaly/issues/514#note_48991378

Hunting down where it came from, most of them were due to
MergeRequest#show. To prove this, I set a script to request the
MergeRequest#show page 50 times. The GDK was being scraped by
Prometheus, where we have metrics on controller#action and their Gitaly
calls performed. On both occations I've restarted the full GDK so all
caches had to be rebuild.

Current master, 806a68a81f, needed 435 requests
After this commit, 154 requests
2017-12-12 16:28:26 +01:00
Lin Jen-Shin (godfat) 258bf3e187 Add Gitlab::Utils::StrongMemoize 2017-11-13 15:27:30 +00:00
Bob Van Landuyt 06e00913f5 Move merging of Hashes out of the `GroupDescendant` concern
Since it can technically merge any hash with objects that respond to `==`
2017-10-04 22:49:42 +02:00