<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/tls13_server.c, branch OPENBSD_6_8_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_6_8_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_6_8_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2020-07-03T04:12:51+00:00</updated>
<entry>
<title>Improve argument order for the internal tlsext API</title>
<updated>2020-07-03T04:12:51+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-07-03T04:12:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3634005e8a2051a239211f692a45371c14e9d8e4'/>
<id>urn:sha1:3634005e8a2051a239211f692a45371c14e9d8e4</id>
<content type='text'>
Move is_server and msg_type right after the SSL object so that CBS
and CBB and alert come last. This brings these functions more in
line with other internal functions and separates state from data.

requested by jsing
</content>
</entry>
<entry>
<title>Switch the order of the two tests in tls13_client_hello_required_extensions</title>
<updated>2020-06-25T07:35:05+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-06-25T07:35:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2ee8fdd1c5ce8efb1f998902ce8a4fe85eb2b572'/>
<id>urn:sha1:2ee8fdd1c5ce8efb1f998902ce8a4fe85eb2b572</id>
<content type='text'>
to match the order they are listed in the RFC. No functional change.
</content>
</entry>
<entry>
<title>Enforce restrictions for ClientHello extensions</title>
<updated>2020-06-24T07:28:38+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-06-24T07:28:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e462afaa4660571e2f70d975fc276c4bce2dc53b'/>
<id>urn:sha1:e462afaa4660571e2f70d975fc276c4bce2dc53b</id>
<content type='text'>
RFC 8446 section 9.2 imposes some requirements on the extensions sent
in the ClientHello: key_share and supported_groups must either both be
present or both be absent. If no pre_shared_key was sent, the CH must
contain both signature_algorithms and supported_groups. If either of
these conditions is violated, servers must abort the handshake with a
missing_extensions alert. Add a function that enforces this. If we are
going to enforce that clients send an SNI, we can also do this in this
function.

Fixes failing test case in tlsfuzzer's test-tls13-keyshare-omitted.py

ok beck inoguchi jsing
</content>
</entry>
<entry>
<title>Implement a rolling hash of the ClientHello message, Enforce RFC 8446</title>
<updated>2020-06-06T01:40:09+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2020-06-06T01:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2d835ca8318d9ce502e9fd2dced3ef440decb39d'/>
<id>urn:sha1:2d835ca8318d9ce502e9fd2dced3ef440decb39d</id>
<content type='text'>
section 4.1.2 to ensure subsequent ClientHello messages after a
HelloRetryRequest messages must be unchanged from the initial
ClientHello.

ok tb@ jsing@
</content>
</entry>
<entry>
<title>Align tls13_server_select_certificate() with</title>
<updated>2020-06-04T18:46:21+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-06-04T18:46:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=30629d372bb6fa25fceb1d56688001423c01eaaf'/>
<id>urn:sha1:30629d372bb6fa25fceb1d56688001423c01eaaf</id>
<content type='text'>
tls13_client_select_certificate().

ok inoguchi
</content>
</entry>
<entry>
<title>distracting whitespace</title>
<updated>2020-06-02T04:50:17+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-06-02T04:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f2c03ff1d263ece8e157af50dafc2774543ab6ee'/>
<id>urn:sha1:f2c03ff1d263ece8e157af50dafc2774543ab6ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve server certificate selection for TLSv1.3.</title>
<updated>2020-05-29T18:00:10+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T18:00:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d1a8b3df6a3db04aefa03855f802f5bb704acb17'/>
<id>urn:sha1:d1a8b3df6a3db04aefa03855f802f5bb704acb17</id>
<content type='text'>
This allows an EC certificate to be selected and used, if the client
sigalgs would allow it.

With feedback from tb@

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Wire up the servername callback in the TLSv1.3 server.</title>
<updated>2020-05-29T17:47:30+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-29T17:47:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e0e84f310956950abc8c5d9f225578b3f6945ee9'/>
<id>urn:sha1:e0e84f310956950abc8c5d9f225578b3f6945ee9</id>
<content type='text'>
This makes SNI work correctly with TLSv1.3.

Found the hard way by danj@, gonzalo@ and others.

ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>Wire up SSL_MODE_AUTO_RETRY mode to retrying after PHH messages.</title>
<updated>2020-05-23T11:58:46+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-23T11:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b7886785c522527763ee1154ed9eb1f384cb90fe'/>
<id>urn:sha1:b7886785c522527763ee1154ed9eb1f384cb90fe</id>
<content type='text'>
ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>Do not assume that server_group != 0 or tlsext_supportedgroups != NULL</title>
<updated>2020-05-23T08:47:19+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-05-23T08:47:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=75a517d36cb6927c5e5e2af71f5bed9d6ac6b884'/>
<id>urn:sha1:75a517d36cb6927c5e5e2af71f5bed9d6ac6b884</id>
<content type='text'>
implies that we're dealing with a HRR in the extension handling code.

Explicitly check that we're in this situation by inspecting the flag in
the handshake context. Add missing error checks and send the appropriate
alerts. The hrr flag needs to be unset after parsing the client hello
retry to avoid breaking the server hello handling. All this is far from
ideal, but better than nothing.

The correct fix would likely be to make the message type available
but that would need to be part of a more extensive rearchitecture of
the extension handling.

Discussed at length with jsing
</content>
</entry>
</feed>
