<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/hmac/hmac.c, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-05-10T05:54:39+00:00</updated>
<entry>
<title>Use err_local.h rather than err.h in most places</title>
<updated>2025-05-10T05:54:39+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-05-10T05:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=41e8f99dd1625a9f0c80ce9d4383e95b18e85709'/>
<id>urn:sha1:41e8f99dd1625a9f0c80ce9d4383e95b18e85709</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Zap HMAC_Init</title>
<updated>2024-08-31T10:42:21+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-08-31T10:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=49dd9dd6066796148cceffc28570ac4ba886e6f0'/>
<id>urn:sha1:49dd9dd6066796148cceffc28570ac4ba886e6f0</id>
<content type='text'>
Long deprecated, last users have been fixed.

ok beck jsing
</content>
</entry>
<entry>
<title>Remove support for static buffers in HMAC/digests</title>
<updated>2024-06-01T07:36:17+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-06-01T07:36:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0cd26255605cab2a8643bb8585c4148069240e3c'/>
<id>urn:sha1:0cd26255605cab2a8643bb8585c4148069240e3c</id>
<content type='text'>
HMAC() and the one-step digests used to support passing a NULL buffer and
would return the digest in a static buffer. This design is firmly from the
nineties, not thread safe and it saves callers a single line. The few ports
that used to rely this were fixed with patches sent to non-hostile (and
non-dead) upstreams. It's early enough in the release cycle that remaining
uses hidden from the compiler should be caught, at least the ones that
matter.

There won't be that many since BoringSSL removed this feature in 2017.
https://boringssl-review.googlesource.com/14528

Add non-null attributes to the headers and add a few missing bounded
attributes.

ok beck jsing
</content>
</entry>
<entry>
<title>Add missing LCRYPTO_ALIAS()</title>
<updated>2024-03-30T10:10:58+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-30T10:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0077955942fa0ec11c1d7c17f1d83a38778062e6'/>
<id>urn:sha1:0077955942fa0ec11c1d7c17f1d83a38778062e6</id>
<content type='text'>
HMAC_CTX_reset() and HMAC_Init() had missing LCRYPTO_ALIAS().

ok beck jsing
</content>
</entry>
<entry>
<title>Simplify HMAC_CTX_new()</title>
<updated>2024-03-26T12:10:50+00:00</updated>
<author>
<name>joshua</name>
<email></email>
</author>
<published>2024-03-26T12:10:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8db9f9e666f34e36b4b40e5fb6cf87517050a56a'/>
<id>urn:sha1:8db9f9e666f34e36b4b40e5fb6cf87517050a56a</id>
<content type='text'>
There is no need to call HMAC_CTX_init() as the memory has already been
initialised to zero.

ok tb
</content>
</entry>
<entry>
<title>Use EVP_MD_CTX_legacy_clear() internally</title>
<updated>2024-02-18T15:45:42+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-18T15:45:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ff3e386de60f6149938edb124d31bc2fd7ae04f6'/>
<id>urn:sha1:ff3e386de60f6149938edb124d31bc2fd7ae04f6</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>libressl *_namespace.h: adjust *_ALIAS() to require a semicolon</title>
<updated>2023-02-16T08:38:17+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-02-16T08:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=24a27fd0d17d515b00097199de60fa85a76a95df'/>
<id>urn:sha1:24a27fd0d17d515b00097199de60fa85a76a95df</id>
<content type='text'>
LCRYPTO_ALIAS() and LSSL_ALIAS() contained a trailing semicolon.
This does not conform to style(9), breaks editors and ctags and
(most importantly) my workflow. Fix this by neutering them with
asm("") so that -Wpedantic doesn't complain. There's precedent
in libc's namespace.h

fix suggested by &amp; 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>Add support for symbol hiding disabled by default.</title>
<updated>2022-11-11T11:25:18+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2022-11-11T11:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0ba6b15619d4e4feafccdbd0226ee99b70553a11'/>
<id>urn:sha1:0ba6b15619d4e4feafccdbd0226ee99b70553a11</id>
<content type='text'>
Fully explained in libcrypto/README. TL;DR make sure libcrypto
and libssl's function calls internally and to each other are via
symbol names that won't get overridden by linking other libraries.

Mostly work by guenther@, which will currently be gated behind a
build setting NAMESPACE=yes. once we convert all the symbols to
this method we will do a major bump and pick up the changes.

ok tb@ jsing@
</content>
</entry>
<entry>
<title>Fix HMAC() with NULL key</title>
<updated>2022-05-05T18:29:34+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-05-05T18:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5ca6164aa9bf6ef7aa404bf1f75a806912d87c26'/>
<id>urn:sha1:5ca6164aa9bf6ef7aa404bf1f75a806912d87c26</id>
<content type='text'>
If a NULL key is passed to HMAC_Init_ex(), it tries to reuse the
previous key. This makes no sense inside HMAC() since the HMAC_CTX
has no key set yet. This is hit by HKDF() with NULL salt() via the
EVP API and results in a few Wycheproof test failures. If key is
NULL, use a zero length dummy key.

This was not hit from wycheproof.go since we pass a []byte with a
single NUL from Go.

Matches OpenSSL if key is NULL and key_len is 0. If key_len != 0,
OpenSSL will still fail by passing a NULL key which makes no sense,
so set key_len to 0 instead.

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