<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/Makefile, branch OPENBSD_7_3</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_3</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_3'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2022-11-11T11:25:18+00:00</updated>
<entry>
<title>Add support for symbol hiding disabled by default.</title>
<updated>2022-11-11T11:25:18+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2022-11-11T11:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0ba6b15619d4e4feafccdbd0226ee99b70553a11'/>
<id>urn:sha1:0ba6b15619d4e4feafccdbd0226ee99b70553a11</id>
<content type='text'>
Fully explained in libcrypto/README. TL;DR make sure libcrypto
and libssl's function calls internally and to each other are via
symbol names that won't get overridden by linking other libraries.

Mostly work by guenther@, which will currently be gated behind a
build setting NAMESPACE=yes. once we convert all the symbols to
this method we will do a major bump and pick up the changes.

ok tb@ jsing@
</content>
</entry>
<entry>
<title>Deduplicate peer certificate chain processing code.</title>
<updated>2022-08-17T07:39:19+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-08-17T07:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5f133a78eec6f3a2549c066b9a561d6350d6e07a'/>
<id>urn:sha1:5f133a78eec6f3a2549c066b9a561d6350d6e07a</id>
<content type='text'>
Rather than reimplement this in each TLS client and server, deduplicate it
into a single function. Furthermore, rather than dealing with the API
hazard that is SSL_get_peer_cert_chain() in this code, simply produce two
chains - one that has the leaf and one that does not.
SSL_get_peer_cert_chain() can then return the appropriate one.

This also moves the peer cert chain from the SSL_SESSION to the
SSL_HANDSHAKE, which makes more sense since it is not available on
resumption.

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>Implement the default security level callback</title>
<updated>2022-06-28T20:40:24+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-06-28T20:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=155ade5b4877933ef80a8ed009a2750254d9dec8'/>
<id>urn:sha1:155ade5b4877933ef80a8ed009a2750254d9dec8</id>
<content type='text'>
And here is where the fun starts. The tentacles will grow everywhere.

ok beck jsing sthen
</content>
</entry>
<entry>
<title>bio_ssl.c needs to peek into bio_local.h</title>
<updated>2022-01-14T09:09:30+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-14T09:09:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=53be7c999edf2b5da8c31198d2e78dd5906217c2'/>
<id>urn:sha1:53be7c999edf2b5da8c31198d2e78dd5906217c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename tls13_key_share to tls_key_share.</title>
<updated>2022-01-05T17:10:03+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-01-05T17:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=767ff39662be70f355eac7cf069fd9c23c34580d'/>
<id>urn:sha1:767ff39662be70f355eac7cf069fd9c23c34580d</id>
<content type='text'>
In preparation to use the key share code in both the TLSv1.3 and legacy
stacks, rename tls13_key_share to tls_key_share, moving it into the shared
handshake struct. Further changes will then allow the legacy stack to make
use of the same code for ephemeral key exchange.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Rename tls13_buffer to tls_buffer.</title>
<updated>2021-10-23T13:12:14+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-10-23T13:12:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3262c76ed1f7d7ad4c2133bc12fc909491a69e83'/>
<id>urn:sha1:3262c76ed1f7d7ad4c2133bc12fc909491a69e83</id>
<content type='text'>
This code will soon be used in the DTLSv1.2 and TLSv1.2 stack. Also
introduce tls_internal.h and move/rename the read/write/flush callbacks.

ok beck@ tb@
</content>
</entry>
<entry>
<title>Factor out the TLSv1.3 code that handles content from TLS records.</title>
<updated>2021-09-04T16:26:12+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-09-04T16:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=fb975bbc325bbf4283ef4fa3886bde95fe20607e'/>
<id>urn:sha1:fb975bbc325bbf4283ef4fa3886bde95fe20607e</id>
<content type='text'>
Currently, the plaintext content from opened TLS records is handled via
the rbuf code in the TLSv1.3 record layer. Factor this out and provide a
separate struct tls_content, which knows how to track and manipulate the
content.

This makes the TLSv1.3 code cleaner, however it will also soon also be used
to untangle parts of the legacy record layer.

ok beck@ tb@
</content>
</entry>
<entry>
<title>Rewrite TLSv1.2 key block handling.</title>
<updated>2021-05-05T10:05:27+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-05-05T10:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1a056896b1f8722603712ec9956a081ee5b6c651'/>
<id>urn:sha1:1a056896b1f8722603712ec9956a081ee5b6c651</id>
<content type='text'>
For TLSv1.2 a single key block is generated, then partitioned into
individual secrets for use as IVs and keys. The previous implementation
splits this across two functions tls1_setup_key_block() and
tls1_change_cipher_state(), which means that the IV and key sizes have to
be known in multiple places.

This implementation generates and partitions the key block in a single
step, meaning that the secrets are then simply handed out when requested.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Clean up derivation of finished/peer finished.</title>
<updated>2021-04-25T13:15:23+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2021-04-25T13:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8b55d917f6299f185307b9010616350e6d6a3d93'/>
<id>urn:sha1:8b55d917f6299f185307b9010616350e6d6a3d93</id>
<content type='text'>
Make this process more readable by having specific client/server functions,
calling the correct one based on s-&gt;server. This allows to remove various
SSL_ST_ACCEPT/SSL_ST_CONNECT checks, along with duplicate code.

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