<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/util, 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-09T18:33:37Z</updated>
<entry>
<title>util/libcrypto.num, doc/man3/X509_dup.pod: fix version for IPAddrBlock functions</title>
<updated>2026-10-09T18:33:37Z</updated>
<author>
<name>Eugene Syromiatnikov</name>
<email>esyr@openssl.org</email>
</author>
<published>2026-09-23T14:00:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=3cb2a38a12965fd929c0b2ad8f2b5879c26c6527'/>
<id>urn:sha1:3cb2a38a12965fd929c0b2ad8f2b5879c26c6527</id>
<content type='text'>
These have ultimately been introduced during OpenSSL 4.2 development time
frame.

Fixes: f08174e91476 "Add public API for IPAddrBlocks (RFC 3779)"
Signed-off-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Reviewed-by: Daniel Kubec &lt;kubec@openssl.foundation&gt;
Merge-date: Fri Oct  9 18:33:51 2026
Merged-from: https://github.com/openssl/openssl/pull/32956
</content>
</entry>
<entry>
<title>util/libcrypto.num: add function number assignments from openssl-4.1</title>
<updated>2026-10-09T18:33:37Z</updated>
<author>
<name>openssl-machine</name>
<email>openssl-machine@openssl.org</email>
</author>
<published>2026-09-23T13:15:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=562cf1bc1b514ca78014d08c2686b2b39ab98dd6'/>
<id>urn:sha1:562cf1bc1b514ca78014d08c2686b2b39ab98dd6</id>
<content type='text'>
This is a partial forward-port of commit d5772c7954d7 "make update"
from openssl-4.1 branch, that assigns function numbers to the new
functions introduced during 4.1 development time frame in libcrypto.

Original-Commit: d5772c7954d7 "make update"
Original-PR: https://github.com/openssl/openssl/pull/32953
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Reviewed-by: Daniel Kubec &lt;kubec@openssl.foundation&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Merge-date: Fri Oct  9 18:33:50 2026
Merged-from: https://github.com/openssl/openssl/pull/32956
</content>
</entry>
<entry>
<title>Revert "Don't let stderr block when filling up."</title>
<updated>2026-10-06T16:03:53Z</updated>
<author>
<name>Mounir IDRASSI</name>
<email>mounir.idrassi@idrix.fr</email>
</author>
<published>2026-10-02T11:40:45Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=6e03d305580a57160466cdf4a22e2a59c1dd3aa5'/>
<id>urn:sha1:6e03d305580a57160466cdf4a22e2a59c1dd3aa5</id>
<content type='text'>
This reverts commit 0fff0090507a205e6d37072d6ea151b68d0f74b6.

That commit discarded command stderr without an explicit redirection
under the default non-verbose harness. This hides diagnostics, including
LeakSanitizer reports from failing commands in sanitizer CI jobs.

Restore command stderr to the harness's existing reporting path, retaining
the VMS-only null-device redirection and explicit recipe redirections.
The harness can then show diagnostics for failed assertions, including
when a command succeeds but an assertion about its captured stdout fails.
Passing full-suite runs produced no additional diagnostic output.

This depends on the preceding callback fix. Without it, restoring stderr
also restores quadratic processing of that output. On Linux, the fix
removes a slowdown with the blocked-writer signature reported in #32128.
Native OpenBSD and macOS confirmation remains outstanding.

Assisted-by: Claude Code:claude-opus-5-5
Assisted-by: Codex:gpt-6-astra
Reviewed-by: Jakub Zelenka &lt;jakub.zelenka@openssl.foundation&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Tue Oct  6 16:04:02 2026
Merged-from: https://github.com/openssl/openssl/pull/33078
</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>Deprecate X509_OBJECT_up_ref_count()</title>
<updated>2026-10-02T08:08:58Z</updated>
<author>
<name>Daniel Kubec</name>
<email>kubec@openssl.foundation</email>
</author>
<published>2026-09-14T12:47:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=a19ddb558b848d32d787da51d9be50351fe691e3'/>
<id>urn:sha1:a19ddb558b848d32d787da51d9be50351fe691e3</id>
<content type='text'>
Despite its name, X509_OBJECT_up_ref_count() does not reference count the
X509_OBJECT itself. With X509_OBJECT being opaque there is nothing useful an
application can do with it.

Assisted-by: Claude:claude-fable-5-1

Fixes #21121

Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Fri Oct  2 08:09:09 2026
Merged-from: https://github.com/openssl/openssl/pull/32823
</content>
</entry>
<entry>
<title>paramnames: Add support for constant FIPS indicators</title>
<updated>2026-09-26T21:22:57Z</updated>
<author>
<name>Paul Dale</name>
<email>paul.dale@oracle.com</email>
</author>
<published>2026-09-23T01:34:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0025d44f014bf0c5b48554dbc34e23cd061fada3'/>
<id>urn:sha1:0025d44f014bf0c5b48554dbc34e23cd061fada3</id>
<content type='text'>
When the parameter generator sees the special field name "fips indicator", it
adds the indicator to the gettable parameter list only under FIPS_MODULE and
auto-generates decoder code equivalent to:

if (strcmp("fips-indicator", s) == 0) {
    if (!OSSL_PARAM_set_int((OSSL_PARAM *)p, 1))
        return 0;
}

No result structure field is needed for this constant parameter. If no real
fields remain, emit a dummy member to avoid generating an empty C structure.

Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Reviewed-by: Norbert Pocs &lt;norbertp@openssl.org&gt;
Merge-date: Sat Sep 26 21:24:09 2026
Merged-from: https://github.com/openssl/openssl/pull/32910
</content>
</entry>
<entry>
<title>Suppress asn1 string nul byte poisoning test on valgrind</title>
<updated>2026-09-25T13:37:11Z</updated>
<author>
<name>Norbert Pocs</name>
<email>norbertp@openssl.org</email>
</author>
<published>2026-09-25T12:14:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=e13af7e602497b9992b027452233635f9cd20dc4'/>
<id>urn:sha1:e13af7e602497b9992b027452233635f9cd20dc4</id>
<content type='text'>
This test is explicitly written to fail. Suppress.

Signed-off-by: Norbert Pocs &lt;norbertp@openssl.org&gt;
Reviewed-by: Richard Levitte &lt;levitte@openssl.org&gt;
Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Merge-date: Fri Sep 25 13:37:15 2026
Merged-from: https://github.com/openssl/openssl/pull/32992
</content>
</entry>
<entry>
<title>Add support for Java keytool PKCS#12 files with symmetric secret keys</title>
<updated>2026-09-24T07:25:11Z</updated>
<author>
<name>Dmitry Belyavskiy</name>
<email>beldmit@gmail.com</email>
</author>
<published>2026-04-21T17:10:34Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=89c6d4d40562f5a293a6b50113dfafed32b0a816'/>
<id>urn:sha1:89c6d4d40562f5a293a6b50113dfafed32b0a816</id>
<content type='text'>
Introduce PKCS12_PARSE_CTX opaque context for PKCS12_parse_ex(), replacing
the growing parameter list pattern. Add PKCS12_decrypt_secretbag() for
decrypting secret bags and PKCS12_SAFEBAG_get1_skey() for converting
decrypted PKCS8 data to EVP_SKEY, following the existing private key
pattern (PKCS12_decrypt_skey_ex + EVP_PKCS82PKEY_ex).

Assisted-by: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;

Reviewed-by: Mounir Idrassi &lt;mounir.idrassi@idrix.fr&gt;
Reviewed-by: Simo Sorce &lt;simo@redhat.com&gt;
MergeDate: Thu Sep 24 07:34:22 2026
(Merged from https://github.com/openssl/openssl/pull/30937)
</content>
</entry>
<entry>
<title>TLSProxy: track message reassembly per sender, not globally</title>
<updated>2026-09-21T09:41:03Z</updated>
<author>
<name>Ryan Hooper</name>
<email>ryanh@openssl.foundation</email>
</author>
<published>2026-09-14T19:20:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=db3319eae39d13ab7bcfee4180e4f44d9feb7161'/>
<id>urn:sha1:db3319eae39d13ab7bcfee4180e4f44d9feb7161</id>
<content type='text'>
TLSProxy::Message::get_messages() kept a single set of reassembly
buffers shared between the client and the server, even though DTLS
legitimately allows each side to have its own in-flight,
independently fragmented handshake message at the same time.

When a peer switch happened while the other side's fragment was still
incomplete (e.g. the client's fatal alert reaching the proxy before
the server's second CertificateVerify datagram), the previous code
discarded the buffered fragment to avoid a crash. That stops the
die(), but the discarded bytes are unrecoverable: when the server's
real second datagram arrives afterward, it is reparsed as the start
of a brand new message instead of its continuation, and buffers
forever waiting for a first half that will never arrive. In a live
run that is indistinguishable from a hang until Proxy.pm's "no
progress" counter trips, i.e. an intermittent, timing-dependent test
failure rather than a clean crash.

Give the client and server independent reassembly state instead, so a
record from one peer can never observe or clobber the other peer's
in-progress fragment. The special-cased "changed peer" discard/die
branch is no longer needed and is removed.

Assisted-by: Claude:claude-sonnet-5
Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Mon Sep 21 09:41:08 2026
Merged-from: https://github.com/openssl/openssl/pull/32831
</content>
</entry>
<entry>
<title>Make system exec directly rather than calling /bin/sh</title>
<updated>2026-09-17T16:46:27Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@openssl.org</email>
</author>
<published>2026-09-13T21:40:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=68f6d3ae6109742d4939da49f5b7383da462491f'/>
<id>urn:sha1:68f6d3ae6109742d4939da49f5b7383da462491f</id>
<content type='text'>
When perl uses system() to call an external binary, if the argument is a
single array, perl uses /bin/sh and passes the entire argument as the
command line (i.e. /bin/sh -c @ARGV)

This is normally fine, but on platforms in which /bin/sh is an older
shell, @ARGV can easily overflow the command line space (e.g. on
nonstop).

Instead, shift off the first argument, then call system(argv[0], @ARGV).
This forces perl to call exec directly, rather than using the shell,
avoiding that.

Fixes #32778

Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Reviewed-by: Andrew Dinh &lt;andrewd@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
Merge-date: Thu Sep 17 16:46:28 2026
Merged-from: https://github.com/openssl/openssl/pull/32816
</content>
</entry>
</feed>
