<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/tls13_quic.c, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-09-09T03:55:55+00:00</updated>
<entry>
<title>Fix alert callback in the QUIC layer</title>
<updated>2024-09-09T03:55:55+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-09-09T03:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=47902b1741d383c06ea246859858115749b1c9b6'/>
<id>urn:sha1:47902b1741d383c06ea246859858115749b1c9b6</id>
<content type='text'>
Only close_notify and user_cancelled are warning alerts. All others
should be fatal. In order for the lower layers to behave correctly,
the return code for fatal alerts needs to be TLS13_IO_ALERT instead
of TLS13_IO_SUCCESS.

Failure to signal handshake failure in the public API led to a crash
in HAProxy when forcing the tls cipher to TLS_AES_128_CCM_SHA256 as
found by haproxyfred while investigating
https://github.com/haproxy/haproxy/issues/2569

Kenjiro Nakayama found misbehavior of ngtcp2-based servers, wrote a
similar patch and tested this version.

Fixes https://github.com/libressl/portable/issues/1093

ok jsing
</content>
</entry>
<entry>
<title>Make internal header file names consistent</title>
<updated>2022-11-26T16:08:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-26T16:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=81d98bf600a381a625eb11b39a725b08c0ba547f'/>
<id>urn:sha1:81d98bf600a381a625eb11b39a725b08c0ba547f</id>
<content type='text'>
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include &lt;ssl_locl.h&gt; was fixed manually.

discussed with jsing,
no objection bcook
</content>
</entry>
<entry>
<title>Plug leak of BIO in tls13_quic_init()</title>
<updated>2022-08-30T18:23:40+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-08-30T18:23:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1a9da7c0ed6d38c90dc05ef988d634c7572bf8fe'/>
<id>urn:sha1:1a9da7c0ed6d38c90dc05ef988d634c7572bf8fe</id>
<content type='text'>
If rbio and wbio are the same, SSL_free() only frees one BIO, so the
BIO_up_ref() before SSL_set_bio() leads to a leak.

ok jsing
</content>
</entry>
<entry>
<title>Handle SSL_do_handshake() being called before SSL_provide_quic_data().</title>
<updated>2022-08-27T09:12:55+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-08-27T09:12:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=43cc33143c97a0ba8af968a8d9a2a504a588c317'/>
<id>urn:sha1:43cc33143c97a0ba8af968a8d9a2a504a588c317</id>
<content type='text'>
If SSL_do_handshake() is called before SSL_provide_quic_data() has been
called, the QUIC read buffer will not have been initialised. In this case
we want to return TLS13_IO_WANT_POLLIN so that the QUIC stack will provide
handshake data.
</content>
</entry>
<entry>
<title>Wire up SSL_QUIC_METHOD callbacks to the record layer callbacks for QUIC.</title>
<updated>2022-08-21T19:39:44+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-08-21T19:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4eceb3598561449f54f32e867ac439e298b8dcfa'/>
<id>urn:sha1:4eceb3598561449f54f32e867ac439e298b8dcfa</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Provide and use QUIC specific error reasons.</title>
<updated>2022-08-21T19:18:57+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-08-21T19:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0e1e93598f2cb2d975723fb598c17c16db889bd0'/>
<id>urn:sha1:0e1e93598f2cb2d975723fb598c17c16db889bd0</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Set NULL BIOs for QUIC.</title>
<updated>2022-07-24T14:31:37+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-07-24T14:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e11254201ca455894bca5f59d26ef84e4986702c'/>
<id>urn:sha1:e11254201ca455894bca5f59d26ef84e4986702c</id>
<content type='text'>
When used with QUIC, the SSL BIOs are effectively unused, however we still
currently expect them to exist for status (such as SSL_ERROR_WANT_READ and
SSL_ERROR_WANT_WRITE). Set up NULL BIOs if QUIC is in use.

ok tb@
</content>
</entry>
<entry>
<title>Provide record layer callbacks for QUIC.</title>
<updated>2022-07-24T14:28:16+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-07-24T14:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2c5937ccb88658c18243c49fc57c58b62e344235'/>
<id>urn:sha1:2c5937ccb88658c18243c49fc57c58b62e344235</id>
<content type='text'>
QUIC uses TLS to complete the handshake, however unlike normal TLS it does
not use the TLS record layer, rather it provides its own transport. This
means that we need to intercept all communication between the TLS handshake
and the record layer. This allows TLS handshake message writes to be
directed to QUIC, likewise for TLS handshake message reads. Alerts also
need to be sent via QUIC, plus it needs to be provided with the traffic
keys that are derived by TLS.

ok tb@
</content>
</entry>
</feed>
