<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/demos, branch master</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=master</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2026-10-09T19:17:09Z</updated>
<entry>
<title>EVP_MD_demo.c, tls13secretstest.c: avoid signed-to-unsigned integer conversion</title>
<updated>2026-10-09T19:17:09Z</updated>
<author>
<name>Jan Schaumann</name>
<email>jschauma@akamai.com</email>
</author>
<published>2026-05-18T21:42:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=9f561c1c232786f8406173f4d09ccc49a33f8883'/>
<id>urn:sha1:9f561c1c232786f8406173f4d09ccc49a33f8883</id>
<content type='text'>
Should EVP_MD_size() return -1, the size_t len variable would wrap,
causing any subsequent error checks to not trigger. Change to type
int (which is what EVP_MD_size() returns).

While this is just in test/demo code, that's the kind of code that
people might copy and reuse elsewhere, and that AI vuln scanners
trigger on, so might as well try to eliminate that noise.

Fixes: 7a7fbeb924a0 "fix all the warnings in our demos and make them enableable"
Fixes: 134bfe56c4fe "Add a test for the TLS1.3 secret generation"
Reviewed-by: Paul Dale &lt;paul.dale@oracle.com&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Merge-date: Fri Oct  9 19:19:13 2026
Merged-from: https://github.com/openssl/openssl/pull/31222
</content>
</entry>
<entry>
<title>dtls: honour SSL_OP_COOKIE_EXCHANGE for DTLS 1.3</title>
<updated>2026-10-06T14:46:47Z</updated>
<author>
<name>Jakub Zelenka</name>
<email>jakub.zelenka@openssl.foundation</email>
</author>
<published>2026-10-04T13:55:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1449f02ce622d92bf8195ed76892fbebf652cf5b'/>
<id>urn:sha1:1449f02ce622d92bf8195ed76892fbebf652cf5b</id>
<content type='text'>
Setting SSL_OP_COOKIE_EXCHANGE on a server connection only ever produced
a HelloVerifyRequest, so once the peer negotiated DTLS 1.3 the option was
silently ignored and the client was accepted without any address
validation. The HelloRetryRequest cookie code was gated purely on the
internal stateless flag, which only SSL_stateless() and the DTLS
listener set, leaving no way for an application driving its own
per-peer SSL objects with SSL_accept() to get a cookie exchange.

Treat the option as "a cookie is required" for DTLS 1.3 as well. A
ClientHello without a valid cookie is answered with a HelloRetryRequest
carrying one, and the handshake continues only once it is echoed back.
The stateless cookie callbacks are used for the application part of the
cookie, falling back to the HelloVerifyRequest callbacks so existing
servers written for DTLS 1.2 keep working unchanged. A client that
repeats its ClientHello after the HelloRetryRequest and still presents
no valid cookie now gets an illegal_parameter alert rather than tripping
an internal error.

The listener is unaffected since it sets both the flag and the option.

s_server always sets the option for DTLS, so teach the TLSProxy
handshake checker that every DTLS handshake now starts with a cookie
round trip.

Add a test covering the 1.2 and 1.3 paths, the callback fallback, the
missing-callback failure and the PSK-only resumption, and make the
dtlsecho demo server validate its peer this way.

Assisted-by: Claude:claude-fable-5-1
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Reviewed-by: Mounir Idrassi &lt;mounir.idrassi@idrix.fr&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Tue Oct  6 14:46:56 2026
Merged-from: https://github.com/openssl/openssl/pull/33093
</content>
</entry>
<entry>
<title>Bring recent comments into line with the STYLE.md comment rules</title>
<updated>2026-10-02T08:05:59Z</updated>
<author>
<name>Bob Beck</name>
<email>beck@openssl.org</email>
</author>
<published>2026-09-09T23:28:18Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1234697b33694bea6e7df35704b126108d1391ea'/>
<id>urn:sha1:1234697b33694bea6e7df35704b126108d1391ea</id>
<content type='text'>
Comments added by AI-assisted commits over the last three months
often narrate the change rather than describe the code: the
behaviour being replaced, the alternative not taken, or the bug the
test was written for. STYLE.md now says that a comment states what
the code does and the constraint it satisfies, and that the
reasoning behind a change does not belong in one.

Reword those comments to that standard.

Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Merge-date: Fri Oct  2 08:06:12 2026
Merged-from: https://github.com/openssl/openssl/pull/32779
</content>
</entry>
<entry>
<title>Re-format code after TypenameMacros and ForEachMacros additions</title>
<updated>2026-09-24T09:00:53Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
<email>esyr@openssl.org</email>
</author>
<published>2026-08-11T12:59:31Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=98089e8145b2b3e6ff081b1c39558a1b97b4eb95'/>
<id>urn:sha1:98089e8145b2b3e6ff081b1c39558a1b97b4eb95</id>
<content type='text'>
Re-formatting was done using the following command:

    for i in `git grep -l 'OSSL_LIST\|PRIORITY_QUEUE_OF\|SPARSE_ARRAY_OF' \
                       -- '*.c' '*.h' '*.c.in' '*.h.in'`; do \
        clang-format-21 --style=file:.clang-format -i "$i"; \
    done

Signed-off-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Merge-date: Thu Sep 24 09:01:06 2026
Merged-from: https://github.com/openssl/openssl/pull/32304
</content>
</entry>
<entry>
<title>Copyright year updates</title>
<updated>2026-09-09T13:12:46Z</updated>
<author>
<name>openssl-machine</name>
<email>openssl-machine@openssl.org</email>
</author>
<published>2026-09-09T13:12:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=e074eab6c45587864f169a1c70bcaccae7517dc0'/>
<id>urn:sha1:e074eab6c45587864f169a1c70bcaccae7517dc0</id>
<content type='text'>
Reviewed-by: Daniel Kubec &lt;kubec@openssl.foundation&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Merge-date: Wed Sep  9 13:12:46 2026
Release: yes
</content>
</entry>
<entry>
<title>dtls: BIO_snprintf() to snprintf() in the DTLS echo demos</title>
<updated>2026-08-26T20:39:00Z</updated>
<author>
<name>Jakub Zelenka</name>
<email>jakub.zelenka@openssl.foundation</email>
</author>
<published>2026-08-26T20:36:17Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=594f5e09e733a07613d2cc88c70a160cdab3a6a9'/>
<id>urn:sha1:594f5e09e733a07613d2cc88c70a160cdab3a6a9</id>
<content type='text'>
The BIO_snprintf() deprecation series was not rebased over the DTLS
demos before merging, which breaks no-deprecated builds with an
implicit-function-declaration error. Convert the port formatting
calls to snprintf() as done for the other callers in that series.

Assisted-by: Claude:claude-fable-5

Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
Reviewed-by: Saša Nedvědický &lt;sashan@openssl.org&gt;
MergeDate: Wed Aug 26 22:21:52 2026
(Merged from https://github.com/openssl/openssl/pull/32533)
</content>
</entry>
<entry>
<title>DTLS SSL Listener default address validation</title>
<updated>2026-08-25T11:41:26Z</updated>
<author>
<name>Ryan Hooper</name>
<email>ryanh@openssl.foundation</email>
</author>
<published>2026-08-18T16:12:36Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=f6708d3f437d25c2c6855846d71ca235ae6f6b0b'/>
<id>urn:sha1:f6708d3f437d25c2c6855846d71ca235ae6f6b0b</id>
<content type='text'>
Replace SSL_LISTENER_FLAG_REQUIRE_HVR and SSL_LISTENER_FLAG_REQUIRE_HRR
with a single SSL_LISTENER_FLAG_ADDRESS_VALIDATION, and make address
validation the default. A DTLS listener now validates (HVR for DTLS
1.0/1.2, HRR cookie for DTLS 1.3) unless SSL_LISTENER_FLAG_NO_VALIDATE
is set. If both NO_VALIDATE and ADDRESS_VALIDATION are given, the
listener fails safe and validates.

Update the tests, the dtlslistenerecho demo, util/other.syms and the
listener documentation to match.

Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Reviewed-by: Jakub Zelenka &lt;jakub.zelenka@openssl.foundation&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Merge-date: Thu Aug 20 09:50:39 2026
Merged-from: https://github.com/openssl/openssl/pull/31983
</content>
</entry>
<entry>
<title>DTLS 1.3 Set the listener demo to non-blocking mode</title>
<updated>2026-08-25T11:41:26Z</updated>
<author>
<name>Ryan Hooper</name>
<email>ryanh@openssl.foundation</email>
</author>
<published>2026-08-17T14:18:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=dbc66697a36a2c2b6c025c2fd6998a40f0882f9a'/>
<id>urn:sha1:dbc66697a36a2c2b6c025c2fd6998a40f0882f9a</id>
<content type='text'>
A DTLS listener, and the connections it accepts, now default to
blocking mode. The dtlslistenerecho demo drives the listener and its
connections with SSL_poll() and uses SSL_ACCEPT_CONNECTION_NO_BLOCK,
so call SSL_set_blocking_mode() on the listener to put it back into
non-blocking mode. The accepted connections inherit that mode.

Also update the DTLS 1.3 guide (ossl-guide-dtlsv13) to mention
SSL_set_blocking_mode() and SSL_get_blocking_mode() for DTLS
listeners and to note that a listener is blocking by default.

Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Reviewed-by: Jakub Zelenka &lt;jakub.zelenka@openssl.foundation&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Merge-date: Thu Aug 20 09:50:38 2026
Merged-from: https://github.com/openssl/openssl/pull/31983
</content>
</entry>
<entry>
<title>DTLS 1.3 SSL Listener Demo</title>
<updated>2026-08-25T11:41:26Z</updated>
<author>
<name>Ryan Hooper</name>
<email>ryanh@openssl.foundation</email>
</author>
<published>2026-05-27T14:10:42Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=2d0439e8e99df35622da4f37f615c1119daf2448'/>
<id>urn:sha1:2d0439e8e99df35622da4f37f615c1119daf2448</id>
<content type='text'>
Demo utilizing the SSL Listener for DTLS. It runs in multiple
threads that will echo what a client sends.

Currently up to 10 clients can make a connection. A client can
close the connection by sending kill. If a client sends
killall the server will close all the connections and free
up all the resources being used.

Fixes: openssl/project#1957
Assisted-by: Claude:claude-opus-4-7
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Reviewed-by: Jakub Zelenka &lt;jakub.zelenka@openssl.foundation&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Merge-date: Thu Aug 20 09:50:36 2026
Merged-from: https://github.com/openssl/openssl/pull/31983
</content>
</entry>
<entry>
<title>DTLS 1.3 Fix CI failures</title>
<updated>2026-08-25T11:41:25Z</updated>
<author>
<name>Ryan Hooper</name>
<email>ryhooper@cisco.com</email>
</author>
<published>2026-07-13T15:18:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=6a703a10ce6ace61757f2c26d1a14a5c12cbd6fe'/>
<id>urn:sha1:6a703a10ce6ace61757f2c26d1a14a5c12cbd6fe</id>
<content type='text'>
Need to fix a deprecated API in dtlsecho. Also updated the sslecho
usage information since it is no longer correct.

Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
MergeDate: Thu Jul 16 07:29:15 2026
(Merged from https://github.com/openssl/openssl/pull/31935)
</content>
</entry>
</feed>
