<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl, branch css</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=css</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=css'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2024-07-06T11:45:18+00:00</updated>
<entry>
<title>WIP css stuff</title>
<updated>2024-07-06T11:45:18+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-07-06T11:45:18+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6090bb3e0f1535e0020a9f947988d0937a6a4aa0'/>
<id>urn:sha1:6090bb3e0f1535e0020a9f947988d0937a6a4aa0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auth.c: Reject empty files</title>
<updated>2024-06-13T06:25:29+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-06-13T06:25:29+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=37c4b2967863fe5ba265a7fefad60dbd96a09f17'/>
<id>urn:sha1:37c4b2967863fe5ba265a7fefad60dbd96a09f17</id>
<content type='text'>
It makes no sense to attempt to fopen(3) an empty file and malloc(3)
zero bytes so as to dump it, as dump_db is still meant to fail on empty
files.
</content>
</entry>
<entry>
<title>usergen: Fix error on empty $QUOTA</title>
<updated>2024-06-12T15:11:17+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-06-12T15:09:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=2d6fc0f9a6a60bc96ef9c4a10e450ed6a8247435'/>
<id>urn:sha1:2d6fc0f9a6a60bc96ef9c4a10e450ed6a8247435</id>
<content type='text'>
When no quota is entered, printf(1) could fail because '%d' would expect
at least one argument. Whereas some printf(1) implementations, such as
the one by GNU coreutils, are somewhat tolerant, stricter
implementations such as Busybox would (correctly) refuse this.
</content>
</entry>
<entry>
<title>README.md: Fix CMake build instructions</title>
<updated>2024-05-04T23:07:01+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-05-04T23:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=32af8ddd3d63fe0936f9ae5b6ca09285bed1baff'/>
<id>urn:sha1:32af8ddd3d63fe0936f9ae5b6ca09285bed1baff</id>
<content type='text'>
The previous instructions were simply wrong because `cmake ..` would
attempt to configure the project from the parent directory, instead of
the build directory.
</content>
</entry>
<entry>
<title>page.c: Do not get filename on previews</title>
<updated>2024-02-29T23:06:03+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-29T23:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=b4572c6217e869a236dc779120de1b057e30c652'/>
<id>urn:sha1:b4572c6217e869a236dc779120de1b057e30c652</id>
<content type='text'>
This change should provide the same behaviour, but would avoid
unnecessary calls to dynstr_append and basename(3) when a preview is to
be served.
</content>
</entry>
<entry>
<title>README.md: Update dependencies list</title>
<updated>2024-02-24T07:39:25+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-24T07:38:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=fb8896bccd96a11d77c7328c067ce674c72c5d36'/>
<id>urn:sha1:fb8896bccd96a11d77c7328c067ce674c72c5d36</id>
<content type='text'>
- jq is required by usergen.
- Despite being part of a POSIX.1-2008 environment, m4 is not provided
by Debian or Ubuntu by default.
</content>
</entry>
<entry>
<title>usergen: Do not abort on existing directory</title>
<updated>2024-02-20T20:44:53+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-20T20:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=dd29f9096a2e364db316a8975e5f6be5a9a97023'/>
<id>urn:sha1:dd29f9096a2e364db316a8975e5f6be5a9a97023</id>
<content type='text'>
Otherwise, it would not be possible to replace user credentials if the
directory already exists.
</content>
</entry>
<entry>
<title>main.c: Improve relative path detection</title>
<updated>2024-02-20T20:24:17+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-20T20:24:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=8bcf0bf855c1cd7710aa6c04e8bf23c06248c88b'/>
<id>urn:sha1:8bcf0bf855c1cd7710aa6c04e8bf23c06248c88b</id>
<content type='text'>
Otherwise, the following resources would be considered valid:

- /user/../test
- /user/./test
- /user/a/.
- /user/a/./test
</content>
</entry>
<entry>
<title>main.c: Reject invalid /public/ requests</title>
<updated>2024-02-20T07:18:11+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-20T07:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=afc5cf0dfcb8c507315e40d71ee305fa130be6db'/>
<id>urn:sha1:afc5cf0dfcb8c507315e40d71ee305fa130be6db</id>
<content type='text'>
Otherwise:

- slcl would accept /public/ (i.e., without a file name) as a valid
resource. This would incorrectly map the public/ directory on the
database, making slcl to return -1 because public/ is not a regular
file.

- slcl would accept directory names (e.g.: /public/dir/), which is never
expected since slcl stores all public files into a single directory.
</content>
</entry>
<entry>
<title>main.c: Force valid cookie on check_length</title>
<updated>2024-02-19T23:17:40+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-19T23:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=b7f232366c03dad8afbbb8ed5ba44314e42b13fd'/>
<id>urn:sha1:b7f232366c03dad8afbbb8ed5ba44314e42b13fd</id>
<content type='text'>
Otherwise, a malicious user could send multipart/form-data requests
without a valid cookie.
</content>
</entry>
</feed>
