<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/tls13_legacy.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-09-13T15:04:35+00:00</updated>
<entry>
<title>Improve handling of BIO_read()/BIO_write() failures in the TLSv1.3 stack.</title>
<updated>2020-09-13T15:04:35+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-13T15:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d4ce94026054ddc9823835f05362112ffea9eec0'/>
<id>urn:sha1:d4ce94026054ddc9823835f05362112ffea9eec0</id>
<content type='text'>
When BIO returns a failure, it does not always add an error to the error
stack. In the case of the legacy stack, this was generally handled by the
guesswork performed by SSL_get_error(). However, in the case of the new
stack we push an 'unknown' error onto the stack.

Improve this situation by specifically checking errno in the case of a
BIO_read() or BIO_write() failure. If the error stack is empty then push
a SYSerror() with the errno which is preferable to the 'unknown' error
later.

Noted by bluhm@ via syslogd regress.

ok beck@ tb@
</content>
</entry>
<entry>
<title>Have ssl_init_wbio_buffer() push the buffering BIO rather than doing it</title>
<updated>2020-07-30T16:57:53+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-07-30T16:57:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=62d1f9d3147bc590ddad36fe092b92c6ba52715f'/>
<id>urn:sha1:62d1f9d3147bc590ddad36fe092b92c6ba52715f</id>
<content type='text'>
ourselves.

Spotted by tb@ during a previous review.
</content>
</entry>
<entry>
<title>Handle SSL_MODE_AUTO_RETRY being changed during a TLSv1.3 session.</title>
<updated>2020-07-25T17:44:30+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-07-25T17:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b9177a2d382e988fb3077148268554bceba8b140'/>
<id>urn:sha1:b9177a2d382e988fb3077148268554bceba8b140</id>
<content type='text'>
Both Perl's HTTP::Tiny and IO::Socket::SSL know about SSL_MODE_AUTO_RETRY
and try to work around the fact that OpenSSL enabled it by default.
However, this can lead to the mode being disabled prior to the TLSv1.3
handshake and then enabled after the handshake has completed.

In order to handle this correctly we have to check the mode and inform the
record layer prior to every read.

Issue reported and test case provided by Nathanael Rensen
&lt;nathanael@polymorpheus.com&gt;.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Dedup the use legacy stack code.</title>
<updated>2020-07-14T18:55:59+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-07-14T18:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6de583a99c05f208ade69050ae30965949dbbd12'/>
<id>urn:sha1:6de583a99c05f208ade69050ae30965949dbbd12</id>
<content type='text'>
ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Make tls13_legacy_shutdown() match ssl3_shutdown() semantics.</title>
<updated>2020-06-24T18:04:33+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-06-24T18:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ee3570f7d7361ff4eae513b0f9e2a6889a5e9ec6'/>
<id>urn:sha1:ee3570f7d7361ff4eae513b0f9e2a6889a5e9ec6</id>
<content type='text'>
When first called, queue and send a close notify, before returning 0 or 1
to indicate if a close notify has already been received from the peer. If
called again only attempt to read a close notify if there is no pending
application data and only read one record from the wire. In particular,
this avoids continuing to read application data where the peer continues
to send application data.

Issue noted by naddy@ with ftp(1).

ok jca@ 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>Add TLS13_ERR_NO_CERTIFICATE.</title>
<updated>2020-05-16T14:42:35+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-16T14:42:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cd9161dab16deafb0bbe1178eda3d8e5f8a513e4'/>
<id>urn:sha1:cd9161dab16deafb0bbe1178eda3d8e5f8a513e4</id>
<content type='text'>
This was missed in previous tls13_server.c commit.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Provide an alert sent record layer callback.</title>
<updated>2020-05-11T17:46:46+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-11T17:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b7219fe30ee8ebb60e558faa30efe4806616d3a0'/>
<id>urn:sha1:b7219fe30ee8ebb60e558faa30efe4806616d3a0</id>
<content type='text'>
Use this to push an error on to the SSL error stack so that we report the
details of the alert that we sent, rather than failing with an unknown
error.

ok tb@
</content>
</entry>
<entry>
<title>Honour SSL_VERIFY_FAIL_IF_NO_PEER_CERT in the TLSv1.3 server.</title>
<updated>2020-05-10T16:59:51+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-10T16:59:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=986d1aef11f23f35017e61c5933913ff8e189d57'/>
<id>urn:sha1:986d1aef11f23f35017e61c5933913ff8e189d57</id>
<content type='text'>
ok beck@
</content>
</entry>
<entry>
<title>Provide alert defines for TLSv1.3 and use in the TLSv1.3 code.</title>
<updated>2020-05-10T16:56:11+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-05-10T16:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b31d318d829815c32911ba41253883a36be79792'/>
<id>urn:sha1:b31d318d829815c32911ba41253883a36be79792</id>
<content type='text'>
Rather than using a mess of SSL_AL_*, SSL_AD_*, SSL3_AD_* and TLS1_AD_*
defines, provide our own TLS13_ALERT_* defines and use those. This also
provides the alerts that are new to TLSv1.3.

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