<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/bio, branch OPENBSD_7_2</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_2</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_2'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2022-09-11T17:26:03+00:00</updated>
<entry>
<title>Make BIO_info_cb() identical to bio_info_cb()</title>
<updated>2022-09-11T17:26:03+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-09-11T17:26:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=94cbd0cbaa6bd7b993b4ff34b97d4b25871d250e'/>
<id>urn:sha1:94cbd0cbaa6bd7b993b4ff34b97d4b25871d250e</id>
<content type='text'>
Various projects use bio_info_cb and BIO_info_cb interchangeably, for
example mupdf and freerdp. This is because this was changed in OpenSSL
commit fce78bd4 (2017), triggered by new warnings in gcc 8.

https://github.com/openssl/openssl/pull/4493

This results in some scary compiler warnings and useless patches in ports.
Nobody seems to be using the old bio_info_cb() version.

ok jsing
</content>
</entry>
<entry>
<title>Initialize readbytes in BIO_gets()</title>
<updated>2022-08-15T10:48:45+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-08-15T10:48:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9941457719d171d10c67071b0c61a16d8bde375c'/>
<id>urn:sha1:9941457719d171d10c67071b0c61a16d8bde375c</id>
<content type='text'>
If the bgets() callback returns &lt;= 0, we currently rely on the user
provided callback to set readbytes, which isn't ideal. This also
matches what's done in BIO_read() and BIO_write().

ok jsing
</content>
</entry>
<entry>
<title>Remove mkerr.pl remnants from LibreSSL</title>
<updated>2022-07-12T14:42:50+00:00</updated>
<author>
<name>kn</name>
<email></email>
</author>
<published>2022-07-12T14:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=89e42d5857196a8071fbafb5565388d0e20ec32b'/>
<id>urn:sha1:89e42d5857196a8071fbafb5565388d0e20ec32b</id>
<content type='text'>
This script is not used at all and files are edited by hand instead.
Thus remove misleading comments incl. the obsolete script/config.

Feedback OK jsing tb
</content>
</entry>
<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>
</feed>
