<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/gitweb, branch v2.27.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.27.0</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.27.0'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2020-05-01T20:39:56Z</updated>
<entry>
<title>Merge branch 'eb/gitweb-more-trailers'</title>
<updated>2020-05-01T20:39:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-01T20:39:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=49349e988318d4bdf89b8c9a03916533bede4b8b'/>
<id>urn:sha1:49349e988318d4bdf89b8c9a03916533bede4b8b</id>
<content type='text'>
Gitweb updates.

* eb/gitweb-more-trailers:
  gitweb: Recognize *-to and Closes/Fixes trailers
</content>
</entry>
<entry>
<title>gitweb: Recognize *-to and Closes/Fixes trailers</title>
<updated>2020-04-25T05:19:04Z</updated>
<author>
<name>Emma Brooks</name>
<email>me@pluvano.com</email>
</author>
<published>2020-04-25T02:17:23Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=4d9378bfad4a283d5e06fbbeba80b5db6be73bc4'/>
<id>urn:sha1:4d9378bfad4a283d5e06fbbeba80b5db6be73bc4</id>
<content type='text'>
Commit trailers like "Thanks-to:", "Fixes:", and "Closes:" are fairly
common, but gitweb didn't highlight them like other trailers.

Signed-off-by: Emma Brooks &lt;me@pluvano.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: fix UTF-8 encoding when using CGI::Fast</title>
<updated>2020-03-29T16:06:51Z</updated>
<author>
<name>Julien Moutinho</name>
<email>julm+git@sourcephile.fr</email>
</author>
<published>2020-03-29T00:20:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=2ecfcdecc612505291cfdffb886b5d7615c3e581'/>
<id>urn:sha1:2ecfcdecc612505291cfdffb886b5d7615c3e581</id>
<content type='text'>
FCGI streams are implemented using the older stream API: TIEHANDLE,
therefore applying PerlIO layers using binmode() has no effect to them.
The solution in this patch is to redefine the FCGI::Stream::PRINT function
to use UTF-8 as output encoding, except within git_blob_plain() and git_snapshot()
which must still output in raw binary mode.

This problem and solution were previously reported back in 2012:
- http://git.661346.n2.nabble.com/Gitweb-running-as-FCGI-does-not-print-its-output-in-UTF-8-td7573415.html
- http://stackoverflow.com/questions/5005104

Signed-off-by: Julien Moutinho &lt;julm+git@sourcephile.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'do/gitweb-typofix-in-comments'</title>
<updated>2020-01-08T20:44:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-01-08T20:44:11Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c5dc20638baf54c43092ee676e0692cba954b194'/>
<id>urn:sha1:c5dc20638baf54c43092ee676e0692cba954b194</id>
<content type='text'>
Typofix.

* do/gitweb-typofix-in-comments:
  gitweb: fix a couple spelling errors in comments
</content>
</entry>
<entry>
<title>gitweb: fix a couple spelling errors in comments</title>
<updated>2020-01-04T23:09:33Z</updated>
<author>
<name>Denis Ovsienko</name>
<email>denis@ovsienko.info</email>
</author>
<published>2020-01-04T17:39:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=4e2c4c0d4f0e44909a7e38caadbb79ef9534f3e2'/>
<id>urn:sha1:4e2c4c0d4f0e44909a7e38caadbb79ef9534f3e2</id>
<content type='text'>
Signed-off-by: Denis Ovsienko &lt;denis@ovsienko.info&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/gitweb-anti-xss'</title>
<updated>2019-12-01T17:04:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-12-01T17:04:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6c630f237e72d3adef8a089bdf984ec1e47b2708'/>
<id>urn:sha1:6c630f237e72d3adef8a089bdf984ec1e47b2708</id>
<content type='text'>
Some codepaths in "gitweb" that forgot to escape URLs generated
based on end-user input have been corrected.

* jk/gitweb-anti-xss:
  gitweb: escape URLs generated by href()
  t/gitweb-lib.sh: set $REQUEST_URI
  t/gitweb-lib.sh: drop confusing quotes
  t9502: pass along all arguments in xss helper
</content>
</entry>
<entry>
<title>Merge branch 'en/doc-typofix'</title>
<updated>2019-12-01T17:04:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-12-01T17:04:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d3096d2ba68aa6814d531317433f1cdcd76ba55c'/>
<id>urn:sha1:d3096d2ba68aa6814d531317433f1cdcd76ba55c</id>
<content type='text'>
Docfix.

* en/doc-typofix:
  Fix spelling errors in no-longer-updated-from-upstream modules
  multimail: fix a few simple spelling errors
  sha1dc: fix trivial comment spelling error
  Fix spelling errors in test commands
  Fix spelling errors in messages shown to users
  Fix spelling errors in names of tests
  Fix spelling errors in comments of testcases
  Fix spelling errors in code comments
  Fix spelling errors in documentation outside of Documentation/
  Documentation: fix a bunch of typos, both old and new
</content>
</entry>
<entry>
<title>gitweb: escape URLs generated by href()</title>
<updated>2019-11-18T01:46:56Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2019-11-15T09:06:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a376e37b2c418b8f630741552d76a5b18c87c133'/>
<id>urn:sha1:a376e37b2c418b8f630741552d76a5b18c87c133</id>
<content type='text'>
There's a cross-site scripting problem in gitweb, where it will print
URLs generated by its href() helper without further quoting. This allows
an attacker to point a victim to a specially crafted gitweb URL and
inject arbitrary HTML into the resulting page (which the victim sees as
coming from gitweb).

The base of the URL comes from evaluate_uri(), which pulls the value of
$REQUEST_URI via the CGI module. It tries to strip off $PATH_INFO, but
fails to do so in some cases (including ones that contain special
characters, like "+"). Most of the uses of the URL end up being passed
to "$cgi-&gt;a(-href = href())", which will get quoted properly by the CGI
module. But in a few places, we output them ourselves as part of
manually-generated HTML, and whatever was in the original URL will
appear unquoted in the output.

Given that all of the nearby variables placed into this manual HTML
_are_ quoted, it seems like the authors assumed that these URLs would
not need quoting. So it's possible that the bug is actually in
evaluate_uri(), which should be doing a more careful job of stripping
$PATH_INFO. There's some discussion in a comment in that function, as
well as the commit message in 81d3fe9f48 (gitweb: fix wrong base URL
when non-root DirectoryIndex, 2009-02-15). But I'm not sure I understand
it.

Regardless, it's a good idea to quote these values at the point of
insertion into the HTML output:

  1. Even if there is a bug in evaluate_uri(), this would give us
     belt-and-suspenders protection.

  2. evaluate_uri() is only handling the base. Some generated URLs will
     also mention arbitrary refs or filenames in the repositories, and
     these should be quoted anyway.

  3. It should never _hurt_ to quote (and that's what all of the
     $cgi-&gt;a() calls are doing already).

So there may be further work here, but this patch at least prevents the
XSS vulnerability, and shouldn't make anything worse.

The test here covers the calls in print_feed_meta(), but I manually
audited every call to href() to see how its output was used, and quoted
appropriately. Most of them are esc_attr(), as they're used in tag
attributes, but I used esc_html() when the URLs were printed bare. The
distinction is largely academic, as one is implemented as a wrapper for
the other.

Reported-by: NAKAYAMA DAISUKE &lt;nakyamad@icloud.com&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix spelling errors in code comments</title>
<updated>2019-11-10T07:00:54Z</updated>
<author>
<name>Elijah Newren</name>
<email>newren@gmail.com</email>
</author>
<published>2019-11-05T17:07:23Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=15beaaa3d1f6b555900446deb5e376b4f806d734'/>
<id>urn:sha1:15beaaa3d1f6b555900446deb5e376b4f806d734</id>
<content type='text'>
Reported-by: Jens Schleusener &lt;Jens.Schleusener@fossies.org&gt;
Signed-off-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: correctly store previous rev in javascript-actions mode</title>
<updated>2019-10-28T02:06:57Z</updated>
<author>
<name>Robert Luberda</name>
<email>robert@debian.org</email>
</author>
<published>2019-10-27T09:14:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=52bd3e46574baecf06562d4da857ba445981beb9'/>
<id>urn:sha1:52bd3e46574baecf06562d4da857ba445981beb9</id>
<content type='text'>
Without this change, the setting

 $feature{'javascript-actions'}{'default'} = [1];

in gitweb.conf breaks gitweb's blame page: clicking on line numbers
displayed in the second column on the page has no effect.

For comparison, with javascript-actions disabled, clicking on line
numbers loads the previous version of the line.

Addresses https://bugs.debian.org/741883.

Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Robert Luberda &lt;robert@debian.org&gt;
Acked-by: Jakub Narębski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
