<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/d1_pkt.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-24T17:59:54+00:00</updated>
<entry>
<title>Release read and write buffers using freezero().</title>
<updated>2020-09-24T17:59:54+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-09-24T17:59:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1328e78055c6ad087ebbec8484862dea13576ef5'/>
<id>urn:sha1:1328e78055c6ad087ebbec8484862dea13576ef5</id>
<content type='text'>
Provide a ssl3_release_buffer() function that correctly frees a buffer
and call it from the appropriate locations. While here also change
ssl3_release_{read,write}_buffer() to void since they cannot fail and
no callers check the return value currently.

ok beck@ inoguchi@ tb@
</content>
</entry>
<entry>
<title>Start replacing the existing TLSv1.2 record layer.</title>
<updated>2020-08-30T15:40:20+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-30T15:40:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5df2cd671a3bb55e3ec34638a6a36eef237c529f'/>
<id>urn:sha1:5df2cd671a3bb55e3ec34638a6a36eef237c529f</id>
<content type='text'>
This takes the same design/approach used in TLSv1.3 and provides an
opaque struct that is self contained and cannot reach back into other
layers. For now this just implements/replaces the writing of records
for DTLSv1/TLSv1.0/TLSv1.1/TLSv1.2. In doing so we stop copying the
plaintext into the same buffer that is used to transmit to the wire.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Increment the epoch in the same place for both read and write.</title>
<updated>2020-08-11T19:21:54+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-11T19:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e23c9530025614330ca45a2ef2a17eb2d4ab874e'/>
<id>urn:sha1:e23c9530025614330ca45a2ef2a17eb2d4ab874e</id>
<content type='text'>
ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Use 0 instead of 0x00 for memset() calls.</title>
<updated>2020-08-11T19:13:35+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-11T19:13:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=885110ef90d6077c936a51758ce6aaf4aa445b03'/>
<id>urn:sha1:885110ef90d6077c936a51758ce6aaf4aa445b03</id>
<content type='text'>
ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Use CBB more correctly when writing SSL3/DTLS records.</title>
<updated>2020-08-09T16:02:58+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-09T16:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e8a20f5bda4b54bf67bf267175b38eb299dfafa9'/>
<id>urn:sha1:e8a20f5bda4b54bf67bf267175b38eb299dfafa9</id>
<content type='text'>
Previously we used CBB to build the record headers, but not the entire
record. Use CBB_init_fixed() upfront, then build the record header and
add space for the record content. However, in order to do this we need
to determine the length of the record upfront.

This simplifies the code, removes a number of manual bounds checks and
makes way for further improvements.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Make the explicit IV length handling in DTLS the same as SSL3/TLS.</title>
<updated>2020-08-09T15:46:28+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-09T15:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3445e90a58f62efa57a22b689bcec14a3195a35a'/>
<id>urn:sha1:3445e90a58f62efa57a22b689bcec14a3195a35a</id>
<content type='text'>
ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Check the return value of tls1_enc() in the write path.</title>
<updated>2020-08-02T07:33:15+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-02T07:33:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=59487ec2a7eb6c7372b491b9191727c1f471598d'/>
<id>urn:sha1:59487ec2a7eb6c7372b491b9191727c1f471598d</id>
<content type='text'>
The write path can return a failure in the AEAD path and there is no reason
not to check a return value.

Spotted by tb@ during another review.

ok tb@
</content>
</entry>
<entry>
<title>Clean up/simplify more of the dtls1/ssl3 record writing code:</title>
<updated>2020-08-01T16:50:16+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-08-01T16:50:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2ce291e2b55d3fcbf2c75812e85cfc999679a64a'/>
<id>urn:sha1:2ce291e2b55d3fcbf2c75812e85cfc999679a64a</id>
<content type='text'>
- Make the DTLS code much more consistent with the ssl3 code.

- Avoid assigning wr-&gt;input and wr-&gt;length just so they can be used as
  arguments to memcpy().

- Remove the arc4random_buf() call for the explicit IV, since tls1_enc()
  already does this for us.

ok tb@
</content>
</entry>
<entry>
<title>Clean up and simplify some of the SSL3/DTLS1 record writing code.</title>
<updated>2020-07-30T16:53:01+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-07-30T16:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d910880213a7777e54b896e5bd7ba68cc9a09bf0'/>
<id>urn:sha1:d910880213a7777e54b896e5bd7ba68cc9a09bf0</id>
<content type='text'>
This will allow for further changes to be made with less complexity and
easier review.

In particular, decide if we need an empty fragment early on and only do
the alignment calculation once (rather than in two separate parts of the
function.

ok tb@ inoguchi@
</content>
</entry>
<entry>
<title>Remove dtls1_enc().</title>
<updated>2020-03-13T16:40:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-03-13T16:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=591b982ee293938f0df951b42722d3714201a5b8'/>
<id>urn:sha1:591b982ee293938f0df951b42722d3714201a5b8</id>
<content type='text'>
Like much of the original DTLS code, dtls1_enc() is effectively a renamed
copy of tls1_enc(). Since then tls1_enc() has been modified, however the
non-AEAD code remains largely the same. As such, remove dtls1_enc() and
instead call tls1_enc() from the DTLS code.

The tls1_enc() AEAD code does not currently work correctly with DTLS,
however this is a non-issue since we do not support AEAD cipher suites with
DTLS currently.

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