<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/irmd/oap, branch 0.24.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.24.0</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.24.0'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2026-07-19T09:44:35+00:00</updated>
<entry>
<title>irmd: Reject rekey without KEX config</title>
<updated>2026-07-19T09:44:35+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-10T19:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=8bebdf2e3e3a4ead8a728f0a594e8592457660b7'/>
<id>urn:sha1:8bebdf2e3e3a4ead8a728f0a594e8592457660b7</id>
<content type='text'>
A rekey without KEX config should be rejected rather than downgrading
to plaintext. Tests added.

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 oap_test suppression list</title>
<updated>2026-07-19T09:44:35+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-10T15:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=eeea0006825ac404e20656e148c2db47b454dd6a'/>
<id>urn:sha1:eeea0006825ac404e20656e148c2db47b454dd6a</id>
<content type='text'>
he crypto-disabled branch of the test driver referenced two tests that
were folded into test_oap_ts_reject_all() and missed newer ones.

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: Avoid in-place byteswap in OAP header</title>
<updated>2026-07-19T09:44:35+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-10T15:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=aa28f5bf5bd92e69c0e89a1a36c7c95f28b7057c'/>
<id>urn:sha1:aa28f5bf5bd92e69c0e89a1a36c7c95f28b7057c</id>
<content type='text'>
gcc 12 -fanalyzer misclassifies kex_len = hton16(kex_len) followed by
memcpy(&amp;kex_len) as a read of an uninitialized value. Write the
swapped value through the scratch variable like every other field in
write_oap_fixed().

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: Harden OAP client KEM completion</title>
<updated>2026-07-19T09:44:35+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-10T15:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=de9c30b2071e4aff8819d29c03d98767c8a3ec5b'/>
<id>urn:sha1:de9c30b2071e4aff8819d29c03d98767c8a3ec5b</id>
<content type='text'>
do_client_kex_complete_kem() filled key_buf in the server-encap
branch and returned early in the client-encap branch; any other
mode value would fall through and memcpy an uninitialized stack
buffer into the session key. The client only ever sets the two
known modes today, but nothing local enforces that and the server
derives its mode from a wire bit. Give each mode an explicit path
with no fall-through.

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: Move AUTH test macros to OAP common.h</title>
<updated>2026-07-08T09:02:24+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-02T06:09:16+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=fca717aba18850d2e32a069905f03314cd836c17'/>
<id>urn:sha1:fca717aba18850d2e32a069905f03314cd836c17</id>
<content type='text'>
The ML-DSA OAP test defined CLI_AUTH/NO_CLI_AUTH and passed them for
the srv_auth parameters of the re-key tests. Rename to the neutral
AUTH/NO_AUTH already used by oap_test.c and move the pair to the
shared common.h.

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: Test OAP KEM re-key floor</title>
<updated>2026-07-08T09:02:23+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-01T23:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=08a3828af7416326e8deb84c44da030b64fc5464'/>
<id>urn:sha1:08a3828af7416326e8deb84c44da030b64fc5464</id>
<content type='text'>
Add tests for two client-encap KEM properties the server enforces:
reject a client KDF below the server floor, and confirm a re-key
forces ephemeral server-encap.

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: Expand and parametrize OAP tests</title>
<updated>2026-07-08T09:02:23+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-01T23:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=02cc763dd69568b832516cf408b95dad47b4d9ff'/>
<id>urn:sha1:02cc763dd69568b832516cf408b95dad47b4d9ff</id>
<content type='text'>
Parametrize the re-key roundtrips over the full (srv_auth, cli_auth)
matrix. Add a KEM re-key axis, request-ID and cleartext-echo tamper
tests, and an unsupported cipher/kdf/digest NID cluster guarded by an
assertion.

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 OAP re-key header encode</title>
<updated>2026-07-08T09:02:23+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-01T23:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=4c836008dcac27e0a8258b07270a8a529b2d9167'/>
<id>urn:sha1:4c836008dcac27e0a8258b07270a8a529b2d9167</id>
<content type='text'>
The oap_hdr_encode() function validated its own output by re-decoding
with rekey hardcoded false. The case where the client signs a re-key
failed its own self-check because the cert is not sent again. Now uses
a flag on the encode() to signal the signed re-key without
certificate.

Also fixes a double free after a failed self-decode check.

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 OpenSSL version check for PQC</title>
<updated>2026-07-08T09:02:12+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-01T22:57:58+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=2f9fdfa5ae2749f10d9ebc805e388ab9962d9faa'/>
<id>urn:sha1:2f9fdfa5ae2749f10d9ebc805e388ab9962d9faa</id>
<content type='text'>
ML-KEM, ML-DSA and SLH-DSA all landed in OpenSSL 3.5.0, not 3.4.0.

ML-KEM+ML-DSA and SLH-DSA can be disabled by DISABLE_ML / DISABLE_SLH.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>oap: Rename kex_config loaders to sec_config</title>
<updated>2026-06-29T06:33:00+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-06-21T12:18:38+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=4b16f7b9ba95f7e24ff443e5b215c2823c1387f7'/>
<id>urn:sha1:4b16f7b9ba95f7e24ff443e5b215c2823c1387f7</id>
<content type='text'>
Leftover from the kex_config-&gt;enc_config-&gt;sec_config rename. Finished
by renames load_kex_config and the cli/srv variants to
load_sec_config, the kcfg variables to scfg, and fixes the "KEX
config"/"encryption config" comments.

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