<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl/libweb, branch test-multiform</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=test-multiform</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=test-multiform'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2024-01-20T00:20:20+00:00</updated>
<entry>
<title>WIP bump libweb</title>
<updated>2024-01-20T00:20:20+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-01-20T00:13:44+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=efc274cb2b97d4691ecae1b50d4caab99643594c'/>
<id>urn:sha1:efc274cb2b97d4691ecae1b50d4caab99643594c</id>
<content type='text'>
</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>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>
<entry>
<title>Bump libweb</title>
<updated>2023-11-12T22:36:17+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-12T22:36:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=0854bc0030c145bebc9fcbc24ea9a4f3a7a67b3a'/>
<id>urn:sha1:0854bc0030c145bebc9fcbc24ea9a4f3a7a67b3a</id>
<content type='text'>
More bugfixes related to partial boundary parsing were provided by this
commit:

commit b71a6174e12b4709acaf8bc151938ba12d2a54f6
Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Sun Nov 12 23:31:57 2023 +0100

    http.c: Fix more issues with partial boundaries

    - http_memmem must not check strlen(a) &gt; n because, in case of a partial
    boundary, it would wrongfully return NULL.
    - If one or more characters from a partial boundary are found at the end
    of a buffer, but the next buffer does not start with the rest of the
    boundary, the accumulated boundary must be reset, and then look for a
    new boundary.
</content>
</entry>
<entry>
<title>Bump libweb</title>
<updated>2023-11-12T05:54:56+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-12T05:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=34d00e10af698ea0f71e9cdcf6563eb3eec4afa9'/>
<id>urn:sha1:34d00e10af698ea0f71e9cdcf6563eb3eec4afa9</id>
<content type='text'>
Several bugfixes related to partial boundary parsing were provided by
this commit:

commit 7d02b225fe11fb0c7233cd2ea576485ee920f203
Author: Xavier Del Campo Romero &lt;xavi.dcr@tutanota.com&gt;
Date:   Sun Nov 12 06:16:26 2023 +0100

    http.c: Fix several issues with partial boundaries

    - Writing to m-&gt;boundary[len] did not make any sense, as len is not
    meant to change between calls to read_mf_boundary_byte.
    - For the same reason, memset(3)ing "len + 1" did not make any sense.
    - When a partial boundary is found, http_memmem must still return st.
    - Calling reset_boundary with prev == 0 did not make sense, since that
    case typically means a partial boundary was found on a previous
    iteration, so m-&gt;blen must not be reset.
</content>
</entry>
<entry>
<title>libweb: Bump new signature for http_decode_url</title>
<updated>2023-11-12T00:30:43+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-11-11T23:01:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=8dff21942ef7815d04eb03b822ab49d1c8651ad4'/>
<id>urn:sha1:8dff21942ef7815d04eb03b822ab49d1c8651ad4</id>
<content type='text'>
The new signature allows callers to distinguish decoding errors from
fatal errors. This is important for slcl to avoid crashing when
ill-formed data is received from a client.
</content>
</entry>
<entry>
<title>Bump libweb to v0.1.0-rc6</title>
<updated>2023-10-25T20:13:23+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-10-25T13:59:46+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=4956df1891fade445e6ef5aac47ee94f1d21da24'/>
<id>urn:sha1:4956df1891fade445e6ef5aac47ee94f1d21da24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump libweb to v0.1.0-rc5</title>
<updated>2023-10-25T20:13:23+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-10-15T22:43:38+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=fe59dacc14c064c3cb0336bf05771dffa5385275'/>
<id>urn:sha1:fe59dacc14c064c3cb0336bf05771dffa5385275</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Apply slweb renaming to libweb</title>
<updated>2023-10-10T22:08:40+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-10-10T21:43:47+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=28ae865e5ecad9b398ac21fa148fc4b93c987226'/>
<id>urn:sha1:28ae865e5ecad9b398ac21fa148fc4b93c987226</id>
<content type='text'>
</content>
</entry>
</feed>
