<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/bio, branch libressl-v3.5.3</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.5.3</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.5.3'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2022-02-19T15:59:12+00:00</updated>
<entry>
<title>Reduce memmoves in memory BIOs.</title>
<updated>2022-02-19T15:59:12+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-02-19T15:59:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ecfbd0cd7a34e8b04af5f08a69bc02929f863d11'/>
<id>urn:sha1:ecfbd0cd7a34e8b04af5f08a69bc02929f863d11</id>
<content type='text'>
Currently, a read/write memory BIO pulls up the data via memmove() on each
read. This becomes very expensive when a lot of small reads are performed,
especially if there is a reasonable amount of data stored in the memory
BIO.

Instead, store a read offset into the buffer and only perform a memmove()
to pull up the data on a write, if we have read more than 4096 bytes. This
way we only perform memmove() when the space saving will potentially be of
benefit, while avoiding frequent memmove() in the case of small interleaved
reads and writes.

Should address oss-fuzz #19881.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Provide a struct bio_mem for memory BIO specific data.</title>
<updated>2022-02-19T08:11:16+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-02-19T08:11:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5504d19c6403ab7e219eaf0b32151f79998f1d0d'/>
<id>urn:sha1:5504d19c6403ab7e219eaf0b32151f79998f1d0d</id>
<content type='text'>
In order to fix and improve the memory BIO, we need to be able to track
more than just a single BUF_MEM *. Provide a struct bio_mem (which
currently only contains a BUF_MEM *) and rework the internals to use this
struct.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Clean up and simplify memory BIO code.</title>
<updated>2022-02-18T17:30:13+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-02-18T17:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e7ff7e9be98905e4e791056a5d6ec18f71fc52ff'/>
<id>urn:sha1:e7ff7e9be98905e4e791056a5d6ec18f71fc52ff</id>
<content type='text'>
This is a first pass that uses sensible and consistent names for variables.
Call the BIO 'bio' (instead of 'a', 'b', 'bp', or 'h'), drop a bunch of
unnecessary casts, simplify some logic and add additional error checking.

With input from and ok tb@
</content>
</entry>
<entry>
<title>Implement new-style OpenSSL BIO callbacks</title>
<updated>2022-01-14T08:40:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-14T08:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=bf7beecb6c75655f21958cd52426578df3f1f307'/>
<id>urn:sha1:bf7beecb6c75655f21958cd52426578df3f1f307</id>
<content type='text'>
This provides support for new-style BIO callbacks in
BIO_{read,write,gets,puts}() and a helper function to
work out whether it should call the new or the old
style callback. It also adds a few typedefs and minor
code cleanup as well as the BIO_{get,set}_callback_ex()

from jsing, ok tb
</content>
</entry>
<entry>
<title>Make structs in bio.h opaque</title>
<updated>2022-01-14T08:18:55+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-14T08:18:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0d97b61e5731530ddae73ec68940b695333cddb8'/>
<id>urn:sha1:0d97b61e5731530ddae73ec68940b695333cddb8</id>
<content type='text'>
Move BIO, BIO_METHOD and BIO_F_BUFFER_CTX to bio_local.h and provide
BIO typedef in ossl_typ.h.

ok inoguchi jsing
</content>
</entry>
<entry>
<title>Remove BIO_s_file_internal</title>
<updated>2022-01-14T07:59:32+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-14T07:59:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e673980ee4ca710691556979d415ba08557e5dc8'/>
<id>urn:sha1:e673980ee4ca710691556979d415ba08557e5dc8</id>
<content type='text'>
Pointed out by schwarze. How something with this name ever made
its way into a public header will remain a mystery.

ok inoguchi jsing
</content>
</entry>
<entry>
<title>Unifdef LIBRESSL_OPAQUE_* and LIBRESSL_NEXT_API</title>
<updated>2022-01-14T07:49:49+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-14T07:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=82ec18edf4e632f36b6f79c239fdb6961d421a82'/>
<id>urn:sha1:82ec18edf4e632f36b6f79c239fdb6961d421a82</id>
<content type='text'>
This marks the start of major surgery in libcrypto. Do not attempt to
build the tree for a while (~50 commits).
</content>
</entry>
<entry>
<title>Add a new, mostly empty, bio_local.h and include it in the files</title>
<updated>2022-01-07T09:02:18+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-07T09:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1eb53a0fe0ea503fe673aa0a6e347e503090c429'/>
<id>urn:sha1:1eb53a0fe0ea503fe673aa0a6e347e503090c429</id>
<content type='text'>
that will need it in the upcoming bump.

discussed with jsing
</content>
</entry>
<entry>
<title>Prepare to provide BIO_set_retry_reason()</title>
<updated>2022-01-05T20:48:44+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-05T20:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a4481172b798978099e06e9751d45cd5760c1551'/>
<id>urn:sha1:a4481172b798978099e06e9751d45cd5760c1551</id>
<content type='text'>
Needed by freerdp.

ok inoguchi jsing
</content>
</entry>
<entry>
<title>Prepare to provide BIO_set_next().</title>
<updated>2022-01-05T20:22:26+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-01-05T20:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f29f985fef8c31550e93475e05fb6b96bf0b5f4b'/>
<id>urn:sha1:f29f985fef8c31550e93475e05fb6b96bf0b5f4b</id>
<content type='text'>
This will be needed in libssl and freerdp after the next bump.

ok inoguchi jsing
</content>
</entry>
</feed>
