<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros, branch 0.21.1</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.21.1</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.21.1'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2024-02-19T15:06:34+00:00</updated>
<entry>
<title>lib: Fix CRC32 hashing</title>
<updated>2024-02-19T15:06:34+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-19T15:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=c58cc09cf50a18058efb59e1b4fb73ab1e3a45a2'/>
<id>urn:sha1:c58cc09cf50a18058efb59e1b4fb73ab1e3a45a2</id>
<content type='text'>
I assumed that all hashes were stored in Big Endian, but apparently
the CRC32 was still in machine endianness when calculated by the
rhash implementation. Fixed and updated hash tests a bit.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>include: Fix wstatus check for assertion tests</title>
<updated>2024-02-19T13:10:46+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-19T12:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=d2556ebc3fbc59736863e53f5b2c35e72eb09ae8'/>
<id>urn:sha1:d2556ebc3fbc59736863e53f5b2c35e72eb09ae8</id>
<content type='text'>
The macro checks tests for exit code 134 (interrupted by SIGABRT) but
not for exit code 6.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd: Fix free of uninitialized ptr</title>
<updated>2024-02-19T13:09:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-19T11:54:07+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=52f4d6f7b72de7308b4200b5c4b6c3ccddf617a3'/>
<id>urn:sha1:52f4d6f7b72de7308b4200b5c4b6c3ccddf617a3</id>
<content type='text'>
The reg_list_ipcps function left *ipcps uninitialized when there were
no IPCPs in the system. This caused a free to SEGV in the IRMd when
trying to allocate a flow.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Fix missing newlines at end of file</title>
<updated>2024-02-19T13:09:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-19T11:54:06+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=a23b29ea4c1bd9d0407b2b070eb2dc9ad15e71cc'/>
<id>urn:sha1:a23b29ea4c1bd9d0407b2b070eb2dc9ad15e71cc</id>
<content type='text'>
Some files had a newline at the end, others didn't. Now they all do.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd: Revise IRMd internals</title>
<updated>2024-02-19T10:49:07+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-17T09:19:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=06ee3370998f965b469d1c2859e3e34159c71e20'/>
<id>urn:sha1:06ee3370998f965b469d1c2859e3e34159c71e20</id>
<content type='text'>
This is a full revision of the IRMd internal implementation.

The registry is now a proper subcomponent managing its own internal
lock (a single mutex). Some tests are added for the registry and its
data structures. Some macros for tests are added in &lt;ouroboros/test.h&gt;.

Flow allocation is now more symmetric between the client side (alloc)
and server size (accept). Each will create a flow in pending state
(ALLOC_PENDING/ACCEPT_PENDING) that is potentially fulfilled by an
IPCP using respond_alloc and respond_accept primitives. Deallocation
is split in flow_dealloc (application side) and ipcp_flow_dealloc
(IPCP side) to get the flow in DEALLOC_PENDING and DEALLOCATED state.

Cleanup of failed flow allocation is now properly handled instead of
relying on the sanitizer thread. The new sanitizer only needs to
monitor crashed processes.

On shutdown, the IRMd will now detect hanging processes and SIGKILL
them and clean up their fuse mountpoints if needed.

A lot of other things have been cleaned up and shuffled around a bit.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix hash conversion in ipcpd-udp</title>
<updated>2024-01-31T09:27:57+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T17:03:01+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=7bb8aed15c7f29de4d9719acf8db7fdf73731af5'/>
<id>urn:sha1:7bb8aed15c7f29de4d9719acf8db7fdf73731af5</id>
<content type='text'>
The bootstrap function was not returning the correct hash. Bug
introduced in 99545fa2.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix memleak in rib_readdir</title>
<updated>2024-01-31T09:27:57+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T11:19:35+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=467a04de7d615dac943c051c27b851316c198bde'/>
<id>urn:sha1:467a04de7d615dac943c051c27b851316c198bde</id>
<content type='text'>
On fail_dup, the last element (0) was not free'd.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>cmake: Use execute_process in newer CMake versions</title>
<updated>2024-01-31T09:27:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T10:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=db09a1406e8165dc607a900b719852e2275cf717'/>
<id>urn:sha1:db09a1406e8165dc607a900b719852e2275cf717</id>
<content type='text'>
Fixes warnings in CMake 3.28 and newer related to CMP0153.

https://cmake.org/cmake/help/latest/policy/CMP0153.html

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>include: Use common definition between lib and IRMd</title>
<updated>2024-01-31T09:27:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T09:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=02f68ff5ccc637b2177f832a4f7ddf4f9f737d22'/>
<id>urn:sha1:02f68ff5ccc637b2177f832a4f7ddf4f9f737d22</id>
<content type='text'>
Some definitions/enums were different between the library and IRMd
(flow_state, ipcp_state). This moves them to common ground.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Make list empty on delete</title>
<updated>2024-01-31T09:27:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T09:33:31+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=396c311842ae7d138c13a6d054e1978d95af4c63'/>
<id>urn:sha1:396c311842ae7d138c13a6d054e1978d95af4c63</id>
<content type='text'>
The list_del operation now lets nxt and prv point to the element itself, so
that list_is_empty(e) is true after list_del(e).

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
</feed>
