<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl, branch v0.4.2</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=v0.4.2</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=v0.4.2'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2026-02-08T21:14:37+00:00</updated>
<entry>
<title>main.c: Fix null pointer access on empty data</title>
<updated>2026-02-08T21:14:37+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-08T21:08:58+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=dd1ceb550c13d433cd26191ec3176eca0e2d70a1'/>
<id>urn:sha1:dd1ceb550c13d433cd26191ec3176eca0e2d70a1</id>
<content type='text'>
If users send no payload data to a POST request, libweb sets a null
pointer as part of the payload. Therefore, null pointers must always be
checked as a sanity check.
</content>
</entry>
<entry>
<title>configure: Add libsodium flags to USERGEN_LDFLAGS</title>
<updated>2026-02-03T15:26:19+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-03T15:25:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=0aa3102b79e327a3fb7695ded258f0cec7ad93f4'/>
<id>urn:sha1:0aa3102b79e327a3fb7695ded258f0cec7ad93f4</id>
<content type='text'>
Otherwise, usergen(1) would be built without linking against libsodium,
and thus would fail to build.
</content>
</entry>
<entry>
<title>Bump libweb</title>
<updated>2025-10-26T19:15:14+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-26T19:15:14+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=26a033847cffe607b2df4b0f0e5bd484bb0593de'/>
<id>urn:sha1:26a033847cffe607b2df4b0f0e5bd484bb0593de</id>
<content type='text'>
The following commit fixes a memory leak caused by untrusted user input:

commit 953210bd1930e1734f1acde86eadd7a1997bb7c3
Author: Xavier Del Campo Romero
Date:   Sun Oct 26 20:12:46 2025 +0100

    form.c: Fix leak on invalid form

    When one or more entries have been appended to a struct form instance,
    but then an error occurs, those valid entries must be deallocated, too.
</content>
</entry>
<entry>
<title>README.md: Replace OpenSSL with libsodium</title>
<updated>2025-10-10T23:20:02+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T23:20:02+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=a53f6b3975026aeb9f7e0a524f4dfd1cd81dff25'/>
<id>urn:sha1:a53f6b3975026aeb9f7e0a524f4dfd1cd81dff25</id>
<content type='text'>
This was a leftover from the following commit:

commit 10e42591ac72285736d5cc4ee5e7c2f68dbf1e4b
Author: Xavier Del Campo Romero
Date:   Wed Oct 8 13:50:52 2025 +0200

    Replace OpenSSL with libsodium and argon2id
</content>
</entry>
<entry>
<title>page.c: Align results to center</title>
<updated>2025-10-10T13:29:55+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T13:29:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6a3a0f45f65f9be58867f271ff2a027548789bd7'/>
<id>urn:sha1:6a3a0f45f65f9be58867f271ff2a027548789bd7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>page.c: Ensure trailing '/' on dir download URLs</title>
<updated>2025-10-10T09:20:25+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T09:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=4fa8915c8cd42b8bc30df3714e5163c4f4bece89'/>
<id>urn:sha1:4fa8915c8cd42b8bc30df3714e5163c4f4bece89</id>
<content type='text'>
Otherwise, it is not ensured web browsers would translate a relative
directory such as "dir/.." to a URL with a trailing '/'. Therefore, a
POST request to "/user?download=1" would fail because slcl only
considers "/user/" (note the trailing '/') as valid.
</content>
</entry>
<entry>
<title>zip.c: Fix endless loop on empty archives</title>
<updated>2025-10-10T07:40:34+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T07:40:34+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=942559d321551e93cd6bae0b03de03e7cc13042c'/>
<id>urn:sha1:942559d321551e93cd6bae0b03de03e7cc13042c</id>
<content type='text'>
When an empty directory is to be downloaded, z-&gt;lread would always equal
zero because read_file is never called.

Therefore, it is more sensible not to assume any number of bytes, and
just dump as much data as possible into buf.
</content>
</entry>
<entry>
<title>zip.c: Remove unused variable</title>
<updated>2025-10-10T07:40:18+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T07:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=80d179f9fe013d727f571f4730ebbe4d228c9382'/>
<id>urn:sha1:80d179f9fe013d727f571f4730ebbe4d228c9382</id>
<content type='text'>
</content>
</entry>
<entry>
<title>README.md: Add build instructions for thumbnail</title>
<updated>2025-10-09T21:03:17+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-09T21:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=f15d534796129c53f2c24bf8eb9b69d686b957b0'/>
<id>urn:sha1:f15d534796129c53f2c24bf8eb9b69d686b957b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>README.md: Update copyright notice</title>
<updated>2025-10-09T21:03:03+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-09T21:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=8f21b3e034b65fa82fbd7da8fe841fece21df357'/>
<id>urn:sha1:8f21b3e034b65fa82fbd7da8fe841fece21df357</id>
<content type='text'>
</content>
</entry>
</feed>
