e='generator' content='cgit 1.4.1'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/custom.css'/>
<link rel='alternate' title='Atom feed' href='https://git.causal.agency/cgit-pink/atom/tests/.gitignore?h=1.3.0' type='application/atom+xml'/>
<link rel='vcs-git' href='https://git.causal.agency/cgit-pink' title='cgit-pink Git repository'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='main'><a href='/'>index</a> : <a href='/cgit-pink/'>cgit-pink</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='44ccae4227060f91c60ad45de1188e728ce8af0d'/><input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'>
<option value='d3b59b863c7decca17bc39aa8023fe6f80287aee'>this commit</option>
<optgroup label='branches'><option value='master'>master</option>
<option value='wiki'>wiki</option>
</optgroup></select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>web frontend for git
</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/cgit-pink/about/?h=1.3.0'>about</a> <a href='/cgit-pink/?h=1.3.0'>summary</a> <a href='/cgit-pink/refs/?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d'>refs</a> <a class='active' href='/cgit-pink/log/tests/.gitignore?h=1.3.0&amp;showmsg=1&amp;follow=1'>log</a> <a href='/cgit-pink/tree/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d'>tree</a> <a href='/cgit-pink/commit/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;follow=1'>commit</a> <a href='/cgit-pink/diff/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;follow=1'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit-pink/log/tests/.gitignore'>
<input type='hidden' name='h' value='1.3.0'/><input type='hidden' name='id' value='44ccae4227060f91c60ad45de1188e728ce8af0d'/><input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit-pink/log/?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;showmsg=1&amp;follow=1'>root</a>/<a href='/cgit-pink/log/tests?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;showmsg=1&amp;follow=1'>tests</a>/<a href='/cgit-pink/log/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;showmsg=1&amp;follow=1'>.gitignore</a> (<a href='/cgit-pink/log/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;showmsg=1'>unfollow</a>)</div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/cgit-pink/log/tests/.gitignore?h=1.3.0&amp;id=44ccae4227060f91c60ad45de1188e728ce8af0d&amp;follow=1'>Collapse</a>)</th><th class='left'>Author</th></tr>
<tr class='logheader'><td><span title='2014-01-20 13:11:10 +0100'>2014-01-20</span></td><td class='logsubject'><a href='/cgit-pink/commit/tests/t0111-filter.sh?h=1.3.0&amp;id=f759cc0f08c195940de05d5394f7b1ad4d44365e&amp;follow=1'>tests: only do lua tests if lua is compiled-in</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-20 13:05:08 +0100'>2014-01-20</span></td><td class='logsubject'><a href='/cgit-pink/commit/cgit.c?h=1.3.0&amp;id=6a1563343c48f9e38b85f39f4a95c89ea0f46a60&amp;follow=1'>cgit: add --version argument for printing info</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
We need this to do runtime tests for make test.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-19 15:08:49 +0100'>2014-01-19</span></td><td class='logsubject'><a href='/cgit-pink/commit/cgit.mk?h=1.3.0&amp;id=d3581b58890389794de5d5222c91a0129873e95c&amp;follow=1'>cache: use sendfile() instead of a pair of read() + write()</a></td><td>Sebastian Andrzej Siewior</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
sendfile() does the same job and avoids to copy the content into userland
and back. One has to define NO_SENDFILE in case the OS (kernel / libc)
does not supported. It is disabled by default on non-linux environemnts.
According to the glibc, sendfile64() was added in Linux 2.4 (so it has
been there for a while) but after browsing over the mapage of FreeBSD's I
noticed that the prototype is little different.

Signed-off-by: Sebastian Andrzej Siewior &lt;sebastian@breakpoint.cc&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-19 15:07:56 +0100'>2014-01-19</span></td><td class='logsubject'><a href='/cgit-pink/commit/README?h=1.3.0&amp;id=ea7210bef377be4ffb088a1a8e5a9dd354f82afb&amp;follow=1'>README: document pkg-config for luajit</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 16:09:16 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/Makefile?h=1.3.0&amp;id=6952f164c10689e3c112dbef85e461a6246654be&amp;follow=1'>makefile: bump version</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 16:04:27 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/.mailmap?h=1.3.0&amp;id=bdbe03af61e884ac9a922d1b553be32284cb9d2d&amp;follow=1'>mailmap: source before lighttpd</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 15:41:41 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.c?h=1.3.0&amp;id=bb3cc0d9666553608b7c89aef84d21d3312ce488&amp;follow=1'>ui-shared: do not allow negative minutes</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Do to timestamp differences, sometimes cgit would should "-0 min", which
doesn't make any sense.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 15:34:44 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/filters/simple-authentication.lua?h=1.3.0&amp;id=9dde6d38e9fc273fc62386eeda0da2e89a2cebfc&amp;follow=1'>auth: document tweakables in lua script</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 14:01:27 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-repolist.c?h=1.3.0&amp;id=a2b6b3717567a5b57a19d19ed89af324296f39a9&amp;follow=1'>repolist: make owner clickable to search</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 13:53:37 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.c?h=1.3.0&amp;id=3cbbb8ea39d7a85cb5d3c14f81abb174a8b49b95&amp;follow=1'>ui-shared: move about tab all the way to the left</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
There were no objections (at the time of committing this):
   http://lists.zx2c4.com/pipermail/cgit/2013-May/001393.html
   http://lists.zx2c4.com/pipermail/cgit/2014-January/001904.html

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 13:53:02 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/filter.c?h=1.3.0&amp;id=9786f4613da38cb263e76263370d7816a9347149&amp;follow=1'>filter: don't forget to reap the auth filter</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 00:48:17 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/cgit.c?h=1.3.0&amp;id=9999b0a3e915c76a52be433830660e803ef71cb0&amp;follow=1'>cgit.c: free tmp variable</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-17 00:44:54 +0100'>2014-01-17</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-stats.h?h=1.3.0&amp;id=f60ffa143cca61e9729ac71033e1a556cf422871&amp;follow=1'>Switch to exclusively using global ctx</a></td><td>Lukas Fleischer</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
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;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 23:21:54 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.h?h=1.3.0&amp;id=a431326e8fab8153905fbde036dd3c9fb4cc8eaa&amp;follow=1'>auth: have cgit calculate login address</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
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;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 19:47:35 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/filters/simple-authentication.lua?h=1.3.0&amp;id=df00ab1096868b3cffe563c48de5572f78b50392&amp;follow=1'>auth: lua string comparisons are time invariant</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
By default, strings are compared by hash, so we can remove this comment.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 12:13:39 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/filters/simple-authentication.lua?h=1.3.0&amp;id=b826537cb4aa2358027ffcb1dd6a87274734e962&amp;follow=1'>authentication: use hidden form instead of referer</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
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;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 02:28:12 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.c?h=1.3.0&amp;id=d6e9200cc35411f3f27426b608bcfdef9348e6d3&amp;follow=1'>auth: add basic authentication filter framework</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
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;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 00:53:18 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/tests/t0111-filter.sh?h=1.3.0&amp;id=3741254a6989b2837cd8d20480f152f0096bcb9a&amp;follow=1'>t0111: Additions and fixes</a></td><td>Lukas Fleischer</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* Rename the capitalize-* filters to dump.* since they also dump the
  arguments.

* Add full argument validation to the email filters.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2014-01-16 00:53:08 +0100'>2014-01-16</span></td><td class='logsubject'><a href='/cgit-pink/commit/parsing.c?h=1.3.0&amp;id=2a7dd4bf67edeff2c6c4f6d6d39d2d7f954d978a&amp;follow=1'>parsing.c: Remove leading space from committer</a></td><td>Lukas Fleischer