<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/lib/banzai, branch scripts-differences</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Initial commit of WIP code for consideration</title>
<updated>2019-08-07T15:13:13+00:00</updated>
<author>
<name>Kerri Miller</name>
<email>kerrizor@kerrizor.com</email>
</author>
<published>2019-08-07T15:13:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=336d3ccc65d522633162b1f6b5fc54591c588221'/>
<id>336d3ccc65d522633162b1f6b5fc54591c588221</id>
<content type='text'>
Squash this commit and reword before merging..
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Squash this commit and reword before merging..
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq</title>
<updated>2019-07-29T18:19:50+00:00</updated>
<author>
<name>Robert Speicher</name>
<email>rspeicher@gmail.com</email>
</author>
<published>2019-07-29T18:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=fe22704a203111ab2146143a4ff9d2e1256aecc7'/>
<id>fe22704a203111ab2146143a4ff9d2e1256aecc7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix whitespace in wiki link filtering specs</title>
<updated>2019-07-29T11:54:16+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2019-07-25T14:55:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=701b6fce64f3dd31e2050da09b1f9fdb35706904'/>
<id>701b6fce64f3dd31e2050da09b1f9fdb35706904</id>
<content type='text'>
This ensures this spec is the same in both CE and EE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures this spec is the same in both CE and EE.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'frozen_string_spec_lib' into 'master'</title>
<updated>2019-07-26T20:37:26+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2019-07-26T20:37:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ef3e6785a2ac1ac1a950c30184f31e2f96ac45c4'/>
<id>ef3e6785a2ac1ac1a950c30184f31e2f96ac45c4</id>
<content type='text'>
Add frozen_string_literal to spec/lib (part 1)

See merge request gitlab-org/gitlab-ce!31130</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add frozen_string_literal to spec/lib (part 1)

See merge request gitlab-org/gitlab-ce!31130</pre>
</div>
</content>
</entry>
<entry>
<title>Extract SanitizeNodeLink and apply to WikiLinkFilter</title>
<updated>2019-07-26T13:41:11+00:00</updated>
<author>
<name>Kerri Miller</name>
<email>kerrizor@kerrizor.com</email>
</author>
<published>2019-07-26T13:41:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=acc694ead6f8a7428efab126aa6b8a29b132db43'/>
<id>acc694ead6f8a7428efab126aa6b8a29b132db43</id>
<content type='text'>
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: https://gitlab.com/gitlab-org/gitlab-ee/commit/7bc971915bbeadb950bb0e1f13510bf3038229a4
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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: https://gitlab.com/gitlab-org/gitlab-ee/commit/7bc971915bbeadb950bb0e1f13510bf3038229a4
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cannot modify frozen string</title>
<updated>2019-07-26T01:25:07+00:00</updated>
<author>
<name>Thong Kuah</name>
<email>tkuah@gitlab.com</email>
</author>
<published>2019-07-25T10:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d9db8d85b321a64d2f0b3108d40e66968218835a'/>
<id>d9db8d85b321a64d2f0b3108d40e66968218835a</id>
<content type='text'>
Note that Performance/UnfreezeString recommends unary plus over
"".dup, but unary plus has lower precedence so we have to use
parenthesis
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note that Performance/UnfreezeString recommends unary plus over
"".dup, but unary plus has lower precedence so we have to use
parenthesis
</pre>
</div>
</content>
</entry>
<entry>
<title>Add frozen_string_literal to spec/lib (part 1)</title>
<updated>2019-07-26T01:25:07+00:00</updated>
<author>
<name>Thong Kuah</name>
<email>tkuah@gitlab.com</email>
</author>
<published>2019-07-25T05:21:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f540ffcef6a278b3465dec43b99a6baaf51eeb51'/>
<id>f540ffcef6a278b3465dec43b99a6baaf51eeb51</id>
<content type='text'>
Using the sed script from
https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the sed script from
https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove code related to object hierarchy in MySQL</title>
<updated>2019-07-25T07:35:06+00:00</updated>
<author>
<name>Heinrich Lee Yu</name>
<email>heinrich@gitlab.com</email>
</author>
<published>2019-07-24T09:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=1ce5bcacdbf56682e05fa63875203bf4d10584bc'/>
<id>1ce5bcacdbf56682e05fa63875203bf4d10584bc</id>
<content type='text'>
These are not required because MySQL is not
supported anymore
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are not required because MySQL is not
supported anymore
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename Redactor classes to ReferenceRedactor</title>
<updated>2019-07-16T20:19:08+00:00</updated>
<author>
<name>Sarah Yasonik</name>
<email>syasonik@gitlab.com</email>
</author>
<published>2019-07-16T20:19:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=cea7ba513c6d623ef921fba07910e98cca71435b'/>
<id>cea7ba513c6d623ef921fba07910e98cca71435b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify factories for services</title>
<updated>2019-07-16T08:04:54+00:00</updated>
<author>
<name>Jarka Košanová</name>
<email>jarka@gitlab.com</email>
</author>
<published>2019-07-11T09:53:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c8e24280c55b5678bc2c01435ab26781bbbb6cd2'/>
<id>c8e24280c55b5678bc2c01435ab26781bbbb6cd2</id>
<content type='text'>
- use predefined factories when creating
projects with services
- remove unnecessary arguments
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- use predefined factories when creating
projects with services
- remove unnecessary arguments
</pre>
</div>
</content>
</entry>
</feed>
