<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit/cgit.c, branch v0.10.2</title>
<subtitle>A hyperfast web frontend for git repositories written in C.</subtitle>
<id>https://git.zx2c4.com/cgit/atom/cgit.c?h=v0.10.2</id>
<link rel='self' href='https://git.zx2c4.com/cgit/atom/cgit.c?h=v0.10.2'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/'/>
<updated>2014-06-28T13:14:56Z</updated>
<entry>
<title>git: update for git 2.0</title>
<updated>2014-06-28T13:14:56Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2014-05-29T15:35:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=79c985e13c10b498c3ea62f4607c2e2a460c3b10'/>
<id>urn:sha1:79c985e13c10b498c3ea62f4607c2e2a460c3b10</id>
<content type='text'>
prefixcmp() and suffixcmp() have been remove, functionality is now
provided by starts_with() and ends_with(). Retrurn values have been
changed, so instead of just renaming we have to fix logic.
Everything else looks just fine.
</content>
</entry>
<entry>
<title>Add a cache-snapshot-ttl configuration variable</title>
<updated>2014-02-20T18:56:44Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2014-02-05T09:23:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=a3722ec3c6660ace9fe637d617a0ca225acfacbc'/>
<id>urn:sha1:a3722ec3c6660ace9fe637d617a0ca225acfacbc</id>
<content type='text'>
This can be used to specify the TTL for snapshots. Snapshots are usually
static and do not ever change. On the other hand, tarball generation is
CPU intensive.

One use case of this setting (apart from increasing the lifetime of
snapshot cache slots) is caching of snapshots while disabling the cache
for static/dynamic HTML pages (by setting TTL to zero for everything
except for snapshot requests).

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>cgit: add --version argument for printing info</title>
<updated>2014-01-20T12:05:08Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-20T12:05:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=6a1563343c48f9e38b85f39f4a95c89ea0f46a60'/>
<id>urn:sha1:6a1563343c48f9e38b85f39f4a95c89ea0f46a60</id>
<content type='text'>
We need this to do runtime tests for make test.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>cgit.c: free tmp variable</title>
<updated>2014-01-16T23:48:17Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-16T23:48:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=9999b0a3e915c76a52be433830660e803ef71cb0'/>
<id>urn:sha1:9999b0a3e915c76a52be433830660e803ef71cb0</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>Switch to exclusively using global ctx</title>
<updated>2014-01-16T23:44:54Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2014-01-15T20:53:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=f60ffa143cca61e9729ac71033e1a556cf422871'/>
<id>urn:sha1:f60ffa143cca61e9729ac71033e1a556cf422871</id>
<content type='text'>
Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:

* cgit_print_http_headers()
* cgit_print_docstart()
* cgit_print_pageheader()

Remove context parameter from all commands

Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:

* cgit_get_cmd()
* All cgit command functions.
* cgit_clone_info()
* cgit_clone_objects()
* cgit_clone_head()
* cgit_print_plain()
* cgit_show_stats()

In initialization routines, use the global context variable instead of
passing a pointer around locally.

Remove callback data parameter for cache slots

This is no longer needed since the context is always read from the
global context variable.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>auth: have cgit calculate login address</title>
<updated>2014-01-16T22:21:54Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-16T22:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=a431326e8fab8153905fbde036dd3c9fb4cc8eaa'/>
<id>urn:sha1:a431326e8fab8153905fbde036dd3c9fb4cc8eaa</id>
<content type='text'>
This way we're sure to use virtual root, or any other strangeness
encountered.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>authentication: use hidden form instead of referer</title>
<updated>2014-01-16T11:13:39Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-16T10:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=b826537cb4aa2358027ffcb1dd6a87274734e962'/>
<id>urn:sha1:b826537cb4aa2358027ffcb1dd6a87274734e962</id>
<content type='text'>
This also gives us some CSRF protection. Note that we make use of the
hmac to protect the redirect value.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>auth: add basic authentication filter framework</title>
<updated>2014-01-16T01:28:12Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-14T20:49:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=d6e9200cc35411f3f27426b608bcfdef9348e6d3'/>
<id>urn:sha1:d6e9200cc35411f3f27426b608bcfdef9348e6d3</id>
<content type='text'>
This leverages the new lua support. See
filters/simple-authentication.lua for explaination of how this works.
There is also additional documentation in cgitrc.5.txt.

Though this is a cookie-based approach, cgit's caching mechanism is
preserved for authenticated pages.

Very plugable and extendable depending on user needs.

The sample script uses an HMAC-SHA1 based cookie to store the
currently logged in user, with an expiration date.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>filter: add support for email filter</title>
<updated>2014-01-14T01:00:07Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-13T03:04:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=a5e15537268410e268c7b26aa69d03b347c326c8'/>
<id>urn:sha1:a5e15537268410e268c7b26aa69d03b347c326c8</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>filter: basic write hooking infrastructure</title>
<updated>2014-01-14T01:00:07Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-01-13T13:16:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/cgit/commit/?id=e83b51b4f6bd53efea0c772e6ecdf1c5605ca611'/>
<id>urn:sha1:e83b51b4f6bd53efea0c772e6ecdf1c5605ca611</id>
<content type='text'>
Filters can now call hook_write and unhook_write if they want to
redirect writing to stdout to a different function. This saves us from
potential file descriptor pipes and other less efficient mechanisms.

We do this instead of replacing the call in html_raw because some places
stdlib's printf functions are used (ui-patch or within git itself),
which has its own internal buffering, which makes it difficult to
interlace our function calls. So, we dlsym libc's write and then
override it in the link stage.

While we're at it, we move considerations of argument count into the
generic new filter handler.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
