<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/lib, branch be</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=be</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=be'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2026-05-06T07:06:04+00:00</updated>
<entry>
<title>lib: Rename ssm_pk_buff_get_idx to ssm_pk_buff_get_off</title>
<updated>2026-05-06T07:06:04+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-05-01T10:39:03+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=cc6d6663956d1ed5becb1f5f3cd53d3cd899fdf0'/>
<id>urn:sha1:cc6d6663956d1ed5becb1f5f3cd53d3cd899fdf0</id>
<content type='text'>
The shared memory pool is now offset based instead of block
index-based like the old shm_rdrbuff allocator. This renames the API
more consistently. Also changes variables names to off instead of idx
for consistency.

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: Fix pool_copy_spb and np1_flow_write</title>
<updated>2026-05-06T07:05:58+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-05-01T10:25:37+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=c83fa890a0ac583959d9b7791333739b055c932c'/>
<id>urn:sha1:c83fa890a0ac583959d9b7791333739b055c932c</id>
<content type='text'>
The pool_copy_spb function was consuming the packet buffer on error,
causing double free errors.

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: Fix and clean up crc implementation</title>
<updated>2026-05-06T07:05:08+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-29T20:23:09+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=146ba945e23c2266d5e31035135b5d158d1256e8'/>
<id>urn:sha1:146ba945e23c2266d5e31035135b5d158d1256e8</id>
<content type='text'>
Fixes detection of PMULL on aarch64 without crypto extensions. Adds a
crc64_nvme_step helper function in CRC64 to avoid code
duplication and cleans up the comments.

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: Move CRC implementations to a subfolder</title>
<updated>2026-05-06T07:05:02+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-26T05:56:38+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=4cfc607ebbff840991d893a8c0fa3a004caeb416'/>
<id>urn:sha1:4cfc607ebbff840991d893a8c0fa3a004caeb416</id>
<content type='text'>
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: Add CRC-8 and CRC-16 checksums</title>
<updated>2026-05-06T07:04:48+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-26T05:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=964c26eb326dc26c032a3ccba10cb6d376bb3cf4'/>
<id>urn:sha1:964c26eb326dc26c032a3ccba10cb6d376bb3cf4</id>
<content type='text'>
These checksum will be handy for header checksums.

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: Add CRC-64/NVMe checksum</title>
<updated>2026-05-06T07:04:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-25T20:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=20d4a472800cbc9338f0c6c9c3dfce8eb13663c7'/>
<id>urn:sha1:20d4a472800cbc9338f0c6c9c3dfce8eb13663c7</id>
<content type='text'>
Add CRC-64/NVMe implementation with compile-time hardware backend
selection:

  x86 PCLMUL+SSE4.1 fold-by-16 (HAVE_PCLMUL)
  aarch64 PMULL fold-by-16 when (HAVE_PMULL)

and a byte-table fallback.

It's added as HASH_CRC64 to enum hash_algo (in the internal-use-only
section after HASH_MD5). Both mem_hash() and hash_len() early-return
for HASH_CRC64 because libgcrypt has no CRC-64/NVMe.

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: Add CPU feature detection helper</title>
<updated>2026-05-06T07:04:22+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-25T20:21:49+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=77fdc9f1d162b2307d7752d56930710858f702b4'/>
<id>urn:sha1:77fdc9f1d162b2307d7752d56930710858f702b4</id>
<content type='text'>
Add cmake/utils/CPUUtils.cmake providing detect_cpu_feature() plus
detect_pclmul() and detect_pmull() that compile-test for x86
PCLMULQDQ+SSE4.1 and aarch64 FEAT_PMULL respectively.

This will be useful for hardware accelerated CRC64/NVMe integrity
checks.

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: Fix certificate DER encoding and key buffers</title>
<updated>2026-03-14T10:23:59+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-07T19:54:31+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=044da08973957b32703fe338eb95c5171ce471ba'/>
<id>urn:sha1:044da08973957b32703fe338eb95c5171ce471ba</id>
<content type='text'>
i2d_X509() allocated buf-&gt;data via OPENSSL_malloc(), but callers free
it with freebuf() which uses free(). Fix by allocating with malloc()
and encoding directly into the buffer. Also replaces MSGBUFSZ with
CRYPT_KEY_BUFSZ (4096) for key material buffers and removes leftover
debug logging.

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: Fix initialization when listing names</title>
<updated>2026-03-14T10:23:52+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-07T12:24:34+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=4b76e15279792331f886cf756b825fb1e7a1c9ba'/>
<id>urn:sha1:4b76e15279792331f886cf756b825fb1e7a1c9ba</id>
<content type='text'>
Now uses calloc to zero the previously uninitialized security path
fields. Also fixes a check in protobuf.c

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: Fix missing cleanup in authentication path</title>
<updated>2026-03-14T10:23:24+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-03T08:00:18+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=369d1c90453be23270a30229cbf4f731e4080407'/>
<id>urn:sha1:369d1c90453be23270a30229cbf4f731e4080407</id>
<content type='text'>
When auth_verify_crt fails (e.g., missing root CA),
crypt_get_pubkey_crt has already allocated pk but only crt was freed.

Adds a crypt_cleanup() function to wrap OpenSSL_cleanup(), as OpenSSL
lazily initializes a global decoder/provider registry the first time
PEM_read_bio or OSSL_DECODER_CTX_new_for_pkey is called, and this
leaves some memory owned by OpenSSL that triggers the leak sanitizer.

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