<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/hmac/hm_pmeth.c, branch OPENBSD_7_9_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2023-12-28T22:00:56+00:00</updated>
<entry>
<title>Rework and fix pkey_hmac_keygen()</title>
<updated>2023-12-28T22:00:56+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-12-28T22:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0ba1ffaa654066f019e25b3ff2c8b684e0bffa08'/>
<id>urn:sha1:0ba1ffaa654066f019e25b3ff2c8b684e0bffa08</id>
<content type='text'>
The usual: single exit, error check all functions even if they can't
actually fail. This one was flagged again.

ok jsing

CID 471706 (false positive)
</content>
</entry>
<entry>
<title>Ignore ENGINE at the API boundary</title>
<updated>2023-11-29T21:35:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-11-29T21:35:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=69bbc5fea4f411f0c0033ecb0fc5126c895ea82a'/>
<id>urn:sha1:69bbc5fea4f411f0c0033ecb0fc5126c895ea82a</id>
<content type='text'>
This removes the remaining ENGINE members from various internal structs
and functions. Any ENGINE passed into a public API is now completely
ignored functions returning an ENGINE always return NULL.

ok jsing
</content>
</entry>
<entry>
<title>Make internal header file names consistent</title>
<updated>2022-11-26T16:08:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-26T16:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=81d98bf600a381a625eb11b39a725b08c0ba547f'/>
<id>urn:sha1:81d98bf600a381a625eb11b39a725b08c0ba547f</id>
<content type='text'>
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include &lt;ssl_locl.h&gt; was fixed manually.

discussed with jsing,
no objection bcook
</content>
</entry>
<entry>
<title>Change the pkey.ptr from char * to void *</title>
<updated>2022-11-18T14:45:10+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-18T14:45:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3ceb42d62047d438cd7b6b6a201682452faf30fc'/>
<id>urn:sha1:3ceb42d62047d438cd7b6b6a201682452faf30fc</id>
<content type='text'>
Now that EVP_PKEY is opaque, there is no reason to keep the ptr member
of the pkey union as a weird char pointer, a void pointer will do. This
avoids a few stupid casts and simplifies an upcoming diff.

ok jsing
</content>
</entry>
<entry>
<title>Avoid segfaults in EVP_PKEY_CTX_free()</title>
<updated>2022-03-30T07:17:48+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-03-30T07:17:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c650ef2b4f969ce6b8d9a39f9e86c5e181dfafbc'/>
<id>urn:sha1:c650ef2b4f969ce6b8d9a39f9e86c5e181dfafbc</id>
<content type='text'>
It is possible to call pmeth-&gt;cleanup() with an EVP_PKEY_CTX whose data
is NULL. If pmeth-&gt;init() in int_ctx_new() fails, EVP_PKEY_CTX_free() is
called with such a context. This in turn calls pmeth-&gt;cleanup(), and thus
these cleanup functions must be careful not to use NULL data.  Most of
them are, but one of GOST's functions and HMAC's aren't.

Reported for HMAC by Masaru Masada
https://github.com/libressl-portable/openbsd/issues/129

ok bcook jsing
</content>
</entry>
<entry>
<title>pkey_hmac_init(): use calloc()</title>
<updated>2022-03-30T07:12:30+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-03-30T07:12:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4f0946cf87d94f094252f696625cc100be8bbd76'/>
<id>urn:sha1:4f0946cf87d94f094252f696625cc100be8bbd76</id>
<content type='text'>
Instead of using malloc() and setting most struct members to 0,
simply use calloc().

ok bcook jsing
</content>
</entry>
<entry>
<title>Add a mostly empty hmac_local.h. HMAC_CTX and a few other things</title>
<updated>2021-12-12T21:27:38+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2021-12-12T21:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e6d34a52bf003f2e199023dc166779f5d25bfcff'/>
<id>urn:sha1:e6d34a52bf003f2e199023dc166779f5d25bfcff</id>
<content type='text'>
from hmac.h will be moved there in an umpcoming bump. Include this
file where it will be needed.

ok inoguchi
</content>
</entry>
<entry>
<title>use freezero() instead of memset/explicit_bzero + free.  Substantially</title>
<updated>2017-05-02T03:59:45+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2017-05-02T03:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5904cc0e04409fde39a97e6580535da34eeb4291'/>
<id>urn:sha1:5904cc0e04409fde39a97e6580535da34eeb4291</id>
<content type='text'>
reduces conditional logic (-218, +82).

MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH cache alignment calculation bn/bn_exp.c
wasn'tt quite right.  Two other tricky bits with ASN1_STRING_FLAG_NDEF and
BN_FLG_STATIC_DATA where the condition cannot be collapsed completely.

Passes regress.  ok beck
</content>
</entry>
<entry>
<title>Correct spelling of OPENSSL_cleanse.</title>
<updated>2015-09-10T15:56:26+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2015-09-10T15:56:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=647569a51c1530d10e75e272f0982682f696caa7'/>
<id>urn:sha1:647569a51c1530d10e75e272f0982682f696caa7</id>
<content type='text'>
ok miod@
</content>
</entry>
<entry>
<title>Only import cryptlib.h in the four source files that actually need it.</title>
<updated>2014-07-11T08:44:49+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2014-07-11T08:44:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=74e2c009c83ad374bd6acdcfc376a384e25ab007'/>
<id>urn:sha1:74e2c009c83ad374bd6acdcfc376a384e25ab007</id>
<content type='text'>
Remove the openssl public includes from cryptlib.h and add a small number
of includes into the source files that actually need them. While here,
also sort/group/tidy the includes.

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