<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit/scan-tree.c, branch master</title>
<subtitle>A hyperfast web frontend for git repositories written in C.</subtitle>
<id>http://git.cetero.st/cgit/atom/scan-tree.c?h=master</id>
<link rel='self' href='http://git.cetero.st/cgit/atom/scan-tree.c?h=master'/>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/'/>
<updated>2026-05-04T16:28:27Z</updated>
<entry>
<title>cgit: truncate all config values at the newline</title>
<updated>2026-05-04T16:28:27Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-04T16:13:13Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=ed05b1054df10a2fbc68000cfdd429daec03a456'/>
<id>urn:sha1:ed05b1054df10a2fbc68000cfdd429daec03a456</id>
<content type='text'>
These would be largely invalid anyway (save, I suppose, for Linux file
paths that technically can contain new lines).

The actual problem is that these get printed back out into cached -- and
trusted -- cgitrc files, and if the fields have newlines, the git-config
way of less trusted users configuring repos on a shared system can be
abused to inject newlines, which then can be used to smuggle global
options (including filters, which execute code) into the cached cgitrc.

So now, only ever duplicate up to the newline, when dealing with these
inputs.

Reported-by: Adrian Denkiewicz &lt;adrian@doyensec.com&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>cgit: devirtualize repo_config</title>
<updated>2026-05-04T16:28:27Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2026-05-04T15:50:43Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=5b4e73c203f5f4484d66f043f1e9114daefeb632'/>
<id>urn:sha1:5b4e73c203f5f4484d66f043f1e9114daefeb632</id>
<content type='text'>
There's no reason to pass around function pointers. It was never used
for anything beyond one function.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>scan-tree: fix error caused by missing parameter name</title>
<updated>2026-02-23T23:39:05Z</updated>
<author>
<name>Kian Kasad</name>
<email>kian@kasad.com</email>
</author>
<published>2024-08-04T18:43:57Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=e9beaff4018c02f5c46987f8b2a2e904eba28ac4'/>
<id>urn:sha1:e9beaff4018c02f5c46987f8b2a2e904eba28ac4</id>
<content type='text'>
This fixes an error which was introduced by
2f50b47c72cbc4270bbd12ae7f520486d5f42736. Git 2.42.0 added a new argument
to config_fn_t, and it was added to gitconfig_config(), but not named.
This causes compile warnings/errors. This commit fixes that by naming the
new parameter, and marking it unused.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.42.0</title>
<updated>2023-08-21T18:56:40Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2023-08-08T23:45:58Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=2f50b47c72cbc4270bbd12ae7f520486d5f42736'/>
<id>urn:sha1:2f50b47c72cbc4270bbd12ae7f520486d5f42736</id>
<content type='text'>
Update to git version v2.42.0, this requires changes for these
upstream commits:

* bc5c5ec0446895f5c4139cd470066beb3c4ac6d5
  cache.h: remove this no-longer-used header

* aba070683295a20bdf4f49146384984961c794b2
  path: move related function to path

* a4e7e317f8f27f861321e6eb08b9c8c0f3ab570c
  config: add ctx arg to config_fn_t

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.14</title>
<updated>2017-08-10T13:58:24Z</updated>
<author>
<name>Jeff Smith</name>
<email>whydoubt@gmail.com</email>
</author>
<published>2017-08-10T00:02:56Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=86a6d358f7a6c2432fde86b9e3c5011a656f20e4'/>
<id>urn:sha1:86a6d358f7a6c2432fde86b9e3c5011a656f20e4</id>
<content type='text'>
Numerous changes were made to git functions to use an object_id
structure rather than sending sha1 hashes as raw unsigned character
arrays.  The functions that affect cgit are: parse_object,
lookup_commit_reference, lookup_tag, lookup_tree, parse_tree_indirect,
diff_root_tree_sha1, diff_tree_sha1, and format_display_notes.

Commit b2141fc (config: don't include config.h by default) made it
necessary to that config.h be explicitly included when needed.

Commit 07a3d41 (grep: remove regflags from the public grep_opt API)
removed one way of specifying the ignore-case grep option.

Signed-off-by: Jeff Smith &lt;whydoubt@gmail.com&gt;
</content>
</entry>
<entry>
<title>Use skip_prefix() to get rid of magic constants</title>
<updated>2016-10-12T12:13:10Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>lfleischer@lfos.de</email>
</author>
<published>2016-10-08T13:45:12Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=32c27e887732298da1724c0740004925fcadae39'/>
<id>urn:sha1:32c27e887732298da1724c0740004925fcadae39</id>
<content type='text'>
Signed-off-by: Lukas Fleischer &lt;lfleischer@lfos.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.8.2</title>
<updated>2016-05-12T15:23:29Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2016-04-30T14:57:51Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=86bf5b47916fbe53fe637d7181e93a34d2ad6d0c'/>
<id>urn:sha1:86bf5b47916fbe53fe637d7181e93a34d2ad6d0c</id>
<content type='text'>
Update to git version v2.8.2.

* Upstream commit 1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2 (strbuf: give
  strbuf_getline() to the "most text friendly" variant) changed API.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>ui-shared: add homepage to tabs</title>
<updated>2016-02-22T17:40:13Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2016-02-22T15:04:15Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=5f2664f13c90f083b827d8fafa6cfc01c0c4f513'/>
<id>urn:sha1:5f2664f13c90f083b827d8fafa6cfc01c0c4f513</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>scan-tree: remove useless strdup()</title>
<updated>2015-10-09T08:54:30Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2015-10-08T22:23:57Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=687cdf69689edcaff8e9035af93baf1a9e71cf32'/>
<id>urn:sha1:687cdf69689edcaff8e9035af93baf1a9e71cf32</id>
<content type='text'>
parse_configfile() takes a "const char *" and doesn't hold any
references to it after it returns; there is no reason to pass it a
duplicate.

Coverity-id: 13941
Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
<entry>
<title>scan-tree: make some variables 'static'</title>
<updated>2015-03-09T16:39:01Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2015-03-08T16:32:18Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=812cd49e3144946bbe604064abb1a442daa1eb9e'/>
<id>urn:sha1:812cd49e3144946bbe604064abb1a442daa1eb9e</id>
<content type='text'>
These are not used outside this file and are not declared.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
</feed>
