<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl, branch v0.2.0</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.2.0</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=v0.2.0'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2024-02-12T22:15:15+00:00</updated>
<entry>
<title>CMakeLists.txt: Bump version to 0.2.0</title>
<updated>2024-02-12T22:15:15+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-12T20:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=c198199a8196913b452461bea1a06438d667f1a2'/>
<id>urn:sha1:c198199a8196913b452461bea1a06438d667f1a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump libweb to 0.2.0</title>
<updated>2024-02-12T22:15:14+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-02-12T20:23:25+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=69c9f975ba6bd52ec58338dad68d2c7499781761'/>
<id>urn:sha1:69c9f975ba6bd52ec58338dad68d2c7499781761</id>
<content type='text'>
</content>
</entry>
<entry>
<title>usergen: Fix password generation</title>
<updated>2024-01-26T19:32:28+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-01-26T19:32:28+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6d6c350479685da0310b11037b9b680242120923'/>
<id>urn:sha1:6d6c350479685da0310b11037b9b680242120923</id>
<content type='text'>
For longer passwords, od(1) might introduce a newline character, causing
printf(1) to interpret its input string incorrectly.
</content>
</entry>
<entry>
<title>Bump libweb</title>
<updated>2024-01-26T19:31:34+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-01-26T19:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=8ebefdb9abf22b2277caae63aa83b8241e621e6c'/>
<id>urn:sha1:8ebefdb9abf22b2277caae63aa83b8241e621e6c</id>
<content type='text'>
The following commits introduced performance improvements and bugfixes:

Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Sat Jan 20 01:09:18 2024 +0100

    server.c: Fix wrong priority for do_exit

    Under some specific circumstances, poll(2) would return a positive
    integer, but do_exit might had been previously set. This caused libweb
    to ignore SIGTERM, with the potential risk for an endless loop.

Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Sat Jan 20 01:05:05 2024 +0100

    http.c: Solve performance issues on POST uploads

    Profiling showed that reading multipart/form POST uploads byte-by-byte
    was too slow and typically led to maximum CPU usage. Therefore, the
    older approach (as done up to commit 7efc2b3a) was more efficient, even
    if the resulting code was a bit uglier.
</content>
</entry>
<entry>
<title>configure: Avoid file extension conversion</title>
<updated>2024-01-26T19:31:18+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-01-26T19:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=974d263b7e4776e9bad36adc2b611abfc6a34b1c'/>
<id>urn:sha1:974d263b7e4776e9bad36adc2b611abfc6a34b1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>configure: Fix typo</title>
<updated>2023-11-24T00:52:52+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-24T00:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=d9d1811f8922f0509d922943efb3c487ace3de9f'/>
<id>urn:sha1:d9d1811f8922f0509d922943efb3c487ace3de9f</id>
<content type='text'>
slweb was renamed to libweb some time ago:

commit 28ae865e5ecad9b398ac21fa148fc4b93c987226
Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Tue Oct 10 23:43:47 2023 +0200

    Apply slweb renaming to libweb
</content>
</entry>
<entry>
<title>.gitignore: Ignore only ./Makefile</title>
<updated>2023-11-24T00:52:00+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-24T00:52:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=3062a63e14585dc30c34ec60ef6016d1b9d82721'/>
<id>urn:sha1:3062a63e14585dc30c34ec60ef6016d1b9d82721</id>
<content type='text'>
Future commits might introduce Makefiles on other directories that
should not be ignored.
</content>
</entry>
<entry>
<title>Bump libweb</title>
<updated>2023-11-24T00:38:51+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-24T00:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=f0368253d113e0639468a6b482988fae791d67f6'/>
<id>urn:sha1:f0368253d113e0639468a6b482988fae791d67f6</id>
<content type='text'>
The following commit should increase performance for slcl:

commit b0accd099fa8c5110d4c3c68830ad6fd810ca3ec
Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Fri Nov 24 00:52:50 2023 +0100

    http.c: Unify read operations

    So far, libweb would perform different read operations depending on its
    state:

    - For HTTP headers or request bodies, one byte at a time was read.
    - For multipart/form-data, up to BUFSIZ bytes at a time were read.

    However, this caused a significant extra number of syscalls for no
    reason and would increase code complexity, specially when parsing
    multiform/form-data boundaries.

    Now, http_read always reads up to BUFSIZ bytes at a time and process
    them on a loop. Apart from reducing code complexity, this should
    increase performance due to the (much) lower number of syscalls
    required.
</content>
</entry>
<entry>
<title>CMakeLists.txt: Fix wrong parameters for project</title>
<updated>2023-11-22T23:07:45+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-22T23:07:45+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=c3223566708f230285bf4ba7758bc2bae7a66018'/>
<id>urn:sha1:c3223566708f230285bf4ba7758bc2bae7a66018</id>
<content type='text'>
When VERSION is given, LANGUAGES becomes mandatory.
</content>
</entry>
<entry>
<title>Upgrade to new libweb interface</title>
<updated>2023-11-22T23:06:09+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-22T23:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=1768210ea43a1a692f844f7497940ec7d3f28d3c'/>
<id>urn:sha1:1768210ea43a1a692f844f7497940ec7d3f28d3c</id>
<content type='text'>
Recent commits from libweb brought a few breaking changes. The one below
affected slcl, so it had to be updated according to the new interface:

commit 98f5f52461b0c1ab1ee3331722bd32e2db9e1d41
Author: Xavier Del Campo &lt;xavier.delcampo@midokura.com&gt;
Date:   Thu Nov 16 12:23:08 2023 +0100

    Split handler_loop from handler_listen

    Some applications might set up a struct handler object to listen on any
    port i.e., 0, but still need a way to determine which port number was
    eventually selected by the implementation.

    Therefore, handler_listen has been reduced to the server initialization
    bit, whereas the main loop has been split into its own function, namely
    handler_loop.

    Because of these changes, it no longer made sense for libweb to write
    the selected port to standard output, as this is something now
    applications can do on their own.
</content>
</entry>
</feed>
