<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/unicast/dir, branch 0.22.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.22.0</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.22.0'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2025-11-07T07:36:20+00:00</updated>
<entry>
<title>build: Include tests in 'all' target</title>
<updated>2025-11-07T07:36:20+00:00</updated>
<author>
<name>Thijs Paelman</name>
<email>thijs@ouroboros.rocks</email>
</author>
<published>2025-11-04T12:35:52+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=535fba02cd27020f9c64dcbe4e97584a145816d4'/>
<id>urn:sha1:535fba02cd27020f9c64dcbe4e97584a145816d4</id>
<content type='text'>
When BUILD_TESTING=ON, then the default 'all' target will now build also
the tests.

This behaviour could be controlled by an extra variable
(see https://stackoverflow.com/a/42235335), but this increases
complexity without many benefits.

Signed-off-by: Thijs Paelman &lt;thijs@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix missing return in DHT</title>
<updated>2025-08-24T08:23:47+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-24T08:23:47+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=e75861147fdf99509c699f47efffdb9a2966697a'/>
<id>urn:sha1:e75861147fdf99509c699f47efffdb9a2966697a</id>
<content type='text'>
The dht_kv_respond_req had a missing return statement. I'm not sure
why the double mutex_unlock() never caused havoc in testing.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Add some hints for scan-build</title>
<updated>2025-08-23T12:11:39+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-23T09:01:57+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=6292bbbd245cb64a346f5126670085e656e89a88'/>
<id>urn:sha1:6292bbbd245cb64a346f5126670085e656e89a88</id>
<content type='text'>
The scan-build tool was pointing out some potential issues that were
understood or false positives. Added some asserts so scan-build can
complete successfully without these warnings.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix printf formatting in tests on raspbian</title>
<updated>2025-08-23T08:13:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-18T19:49:47+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=047f4ed6c188de4e874895a6818c09f2460322bd'/>
<id>urn:sha1:047f4ed6c188de4e874895a6818c09f2460322bd</id>
<content type='text'>
Fixes some printf formatting, which was failing the build on raspbian.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add cleanup of DHT replication lists</title>
<updated>2025-08-23T08:13:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-16T11:02:08+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=5db139d2dc74f0d4450d3d7f45c3febc4b5dfc1f'/>
<id>urn:sha1:5db139d2dc74f0d4450d3d7f45c3febc4b5dfc1f</id>
<content type='text'>
The replication/republication lists could leak on shutdown. Added
cleanup handlers for them.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix request handling at shutdown</title>
<updated>2025-08-23T08:13:33+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-16T08:54:14+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=575adac4acacf7d02395df0322ff5f03b7b82aaf'/>
<id>urn:sha1:575adac4acacf7d02395df0322ff5f03b7b82aaf</id>
<content type='text'>
The IPCP states were not entirely correct causing some operations to
be serviced during shutdown. This caused some use-after-free in the
pff. States in the IPCP are now correctly set. IRMd states updated to
the same strategy. The IRMd registry tracks if the IPCP was ENROLLED
or BOOTSTRAPPED, the IPCP just goes to OPERATIONAL.

IPCP state diagram::

NULL -&gt; init() -&gt; INIT -&gt; start() -&gt; BOOT -&gt;
     bootstrap/enroll() -&gt; OPERATIONAL -&gt; shutdown()
     -&gt; SHUTDOWN -&gt; stop_components() -&gt; BOOT -&gt;
stop() -&gt; INIT -&gt; fini() -&gt; NULL

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix readdir() not initializing ptr</title>
<updated>2025-08-11T08:17:14+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-11T04:26:54+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=1c9f509cdaf0233ae4848c05c8bcd0de98bde89a'/>
<id>urn:sha1:1c9f509cdaf0233ae4848c05c8bcd0de98bde89a</id>
<content type='text'>
Some IPCP (sub)components returned successfully with 0 entries but did
not initialize the buf ptr when the RIB has no entries, causing a SEGV
on free() in the RIB.

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: Remove old IPCP_CONN_WAIT_DIR  build option</title>
<updated>2025-08-11T08:15:32+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-10T10:08:23+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=5c9328203b277fc36550ba06720dd13e5940121b'/>
<id>urn:sha1:5c9328203b277fc36550ba06720dd13e5940121b</id>
<content type='text'>
The IPCP_CONN_WAIT_DIR build option is not needed anymore with the
recent update to the DHT. Also cleans up some logging in the IPCP.

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 DHT test initializer compilation error</title>
<updated>2025-08-11T08:00:44+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-08T06:44:43+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=a2569cbe25e9c57d3fb9d80fe1727b71bcdadc13'/>
<id>urn:sha1:a2569cbe25e9c57d3fb9d80fe1727b71bcdadc13</id>
<content type='text'>
dht_test.c:167:48: error: initializer element is not a compile-time constant
static struct dir_dht_config test_dht_config = default_dht_config;

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: Add protocol debug option for link-state</title>
<updated>2025-08-06T10:34:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-06T10:29:03+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=c26f215a55718d31d8d0778f750325c0dcdb915d'/>
<id>urn:sha1:c26f215a55718d31d8d0778f750325c0dcdb915d</id>
<content type='text'>
The link-state routing component now has a protocol debugging option,
activated by enabling the DEBUG_PROTO_LS flag at build time in a
debug build.

Example output (sender and receiver):

LSU [81:8a:1f:9b -- 50:c6:2d:03 seq: 000000000] --&gt; 50:c6:2d:03
LSU [81:8a:1f:9b -- 50:c6:2d:03 seq: 000000000] &lt;-- 50:c6:2d:03

In larger networks, forwarded LSUs are marked as such:

LSU [ee:53:ae:f8 -- e5:33:e4:8d seq: 000000006] --&gt; e5:33:e4:8d [forwarded]

This also aligns the address printing using a similar ethernet-like
formatting such as the DHT component. Small code cleanup in the graph
component.

Note: eventually the link state dissemination should move to a
broadcast Layer instead of the link state component doing the
forwarding.

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