<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/tls13_lib.c, branch OPENBSD_7_9_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-06-07T10:25:12+00:00</updated>
<entry>
<title>tls13_ctx_new(): fix calloc() incantation</title>
<updated>2025-06-07T10:25:12+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-06-07T10:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f6c762005417446e1edfa34ec8e864d3ac71a588'/>
<id>urn:sha1:f6c762005417446e1edfa34ec8e864d3ac71a588</id>
<content type='text'>
Switch argument order and use sizeof(*ctx) rather than sizeof(struct ...).

ok jsg
</content>
</entry>
<entry>
<title>Add message callbacks for alerts in the TLSv1.3 stack.</title>
<updated>2024-01-27T14:23:51+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-01-27T14:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9f10df8c2961b5d22fbb67942ef04e74ea843ece'/>
<id>urn:sha1:9f10df8c2961b5d22fbb67942ef04e74ea843ece</id>
<content type='text'>
This will make it easier to regress test shutdown behaviour in the TLSv1.3
stack. Additionally, `openssl -msg` now shows alerts for TLSv1.3
connections.

ok tb@
</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>Move tls13_exporter() code.</title>
<updated>2022-11-07T11:53:39+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-11-07T11:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e36eecc7ffab11a2e657085c0dd914fcc96f359b'/>
<id>urn:sha1:e36eecc7ffab11a2e657085c0dd914fcc96f359b</id>
<content type='text'>
It makes more sense to have tls13_exporter() in tls13_key_schedule.c,
rather than tls13_lib.c

ok tb@
</content>
</entry>
<entry>
<title>Initial parsing of the NewSessionTicket message</title>
<updated>2022-10-20T15:26:25+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-10-20T15:26:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a8ea0315a91ac4805740889d8f6de75535578297'/>
<id>urn:sha1:a8ea0315a91ac4805740889d8f6de75535578297</id>
<content type='text'>
TLSv1.3 introduces a New Session Ticket post-handshake handshake message
that allows a unique association between a ticket value and a pre-shared
key derived from the resumption master secret. Servers may send this
message arbitrarily often at any time after receiving the client's
Finished message.

Implement tls13_new_session_ticket_recv() which parses the contents of
the NewSessionTicket message into a fresh session derived from the
current session so as to avoid modifying sessions that are already in
the session cache.

This uses tls13_new_session_ticket_recv() in tls13_phh_received_cb().
We currently rely on the general rate limiting of 100 PHH messages per
connection and hour to avoid problems from connecting to a misbehaving
or malicious server.

ok jsing
</content>
</entry>
<entry>
<title>Provide TLS13_MAX_TICKET_LIFETIME #define</title>
<updated>2022-10-20T15:23:43+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-10-20T15:23:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6b9a69b566bfb5818fb2b5c49b739ecf2b633c14'/>
<id>urn:sha1:6b9a69b566bfb5818fb2b5c49b739ecf2b633c14</id>
<content type='text'>
TLSv1.3 servers must not indicate a lifetime longer than 7 days and
clients must not cache sessions for longer than 7 days. Encode this
in a macro internal to tls13_lib.c for now.

ok jsing
</content>
</entry>
<entry>
<title>Get rid of SSL_CTX_INTERNAL and SSL_INTERNAL.</title>
<updated>2022-10-02T16:36:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-10-02T16:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=efde998d3821e41e124a4bfcdf103e506055fc52'/>
<id>urn:sha1:efde998d3821e41e124a4bfcdf103e506055fc52</id>
<content type='text'>
These are no longer necessary due to SSL_CTX and SSL now being fully
opaque. Merge SSL_CTX_INTERNAL back into SSL_CTX and SSL_INTERNAL back
into SSL.

Prompted by tb@
</content>
</entry>
<entry>
<title>Provide a version of ssl_msg_callback() that takes a CBS.</title>
<updated>2022-09-10T15:29:33+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-09-10T15:29:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4b29141debc01aa9f32cdf626ad531b857e4ecb6'/>
<id>urn:sha1:4b29141debc01aa9f32cdf626ad531b857e4ecb6</id>
<content type='text'>
Use this from the TLSv1.3 code.

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>
<entry>
<title>Move tls13_phh_done_cb() after tl13_phh_received_cb().</title>
<updated>2022-07-24T14:19:45+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-07-24T14:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c96bebf0508a7dbba50ee184ca854bbcf8d94873'/>
<id>urn:sha1:c96bebf0508a7dbba50ee184ca854bbcf8d94873</id>
<content type='text'>
This is the order that they're called/run in.
</content>
</entry>
</feed>
