<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/crypto_internal.h, 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>2025-07-22T09:18:02+00:00</updated>
<entry>
<title>Remove crypto_cpu_caps_ia32()</title>
<updated>2025-07-22T09:18:02+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-22T09:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cbc4928ebdbd9c244a1c0e3c2e90497a0d246b38'/>
<id>urn:sha1:cbc4928ebdbd9c244a1c0e3c2e90497a0d246b38</id>
<content type='text'>
There are no more consumers of crypto_cpu_caps_ia32(), so remove it.

ok bcook@ joshua@ tb@
</content>
</entry>
<entry>
<title>Improve bit counter handling in MD5.</title>
<updated>2025-01-19T07:51:41+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-01-19T07:51:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=de01c8928427154fc6038fb682dd8521cd3805d5'/>
<id>urn:sha1:de01c8928427154fc6038fb682dd8521cd3805d5</id>
<content type='text'>
Like most hashes, MD5 needs to keep count of the number of bits in the
message being processed. However, rather than using a 64 bit counter this
is implemented using two 32 bit values (which is exposed in the public
API). Even with this hurdle, we can still use 64 bit math and let the
compiler figure out how to best handle the situation (hopefully avoiding
compiler warnings on 16 bit platforms in the process!). On amd64 this code
now requires two instructions, instead of the previous five.

While here remove a comment that is excessively visible and no longer
completely accurate (and if you're going to redefine types like MD5_WORD
you kinda need to know what you're doing).

ok tb@ (who's going to miss the dear diary style comments)
</content>
</entry>
<entry>
<title>Provide constant time comparison functions for size_t.</title>
<updated>2024-11-08T14:05:43+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-11-08T14:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b2a6eb24975b8c8b656efa38d6970a1a1e8fa548'/>
<id>urn:sha1:b2a6eb24975b8c8b656efa38d6970a1a1e8fa548</id>
<content type='text'>
These will be used in an upcoming change.

ok beck@ tb@
</content>
</entry>
<entry>
<title>Provide crypto_cpu_caps_init() as a CPU capability detection entry point.</title>
<updated>2024-10-17T14:27:57+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-10-17T14:27:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9b41a36f226fead819f4a72e5bf97ff0cd94daaf'/>
<id>urn:sha1:9b41a36f226fead819f4a72e5bf97ff0cd94daaf</id>
<content type='text'>
This can be overridden on a per-architecture basis. The default version
calls OPENSSL_cpuid_setup(), which will be eventually replaced/removed.

ok joshua@ tb@
</content>
</entry>
<entry>
<title>Reenable AES-NI in libcrypto</title>
<updated>2024-09-06T09:57:32+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-09-06T09:57:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=de922e906737ea318d3a84723ec68b62581dd51c'/>
<id>urn:sha1:de922e906737ea318d3a84723ec68b62581dd51c</id>
<content type='text'>
The OPENSSL_cpu_caps() change after the last bump missed a crucial bit:
there is more MD mess in the MI code than anticipated, with the result
that AES is now used without AES-NI on amd64 and i386, hurting machines
that previously greatly benefitted from it.

Temporarily add an internal crypto_cpu_caps_ia32() API that returns the
OPENSSL_ia32cap_P or 0 like OPENSSL_cpu_caps() previously did. This can
be improved after the release.

Regression reported and fix tested by Mark Patruck.
No impact on public ABI or API.

with/ok jsing

PS: Next time my pkg_add feels very slow, I should perhaps not mechanically
blame IEEE 802.11...
</content>
</entry>
<entry>
<title>Provide and use crypto_arch.h.</title>
<updated>2024-08-11T13:02:39+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-08-11T13:02:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5dcef2b3ea9eb7ace8ed74c27534785fc0b87130'/>
<id>urn:sha1:5dcef2b3ea9eb7ace8ed74c27534785fc0b87130</id>
<content type='text'>
Provide a per architecture crypto_arch.h - this will be used in a similar
manner to bn_arch.h and will allow for architecture specific #defines and
static inline functions. Move the HAVE_AES_* and HAVE_RC4_* defines here.

ok tb@
</content>
</entry>
<entry>
<title>Provide constant time operations for uint8_t.</title>
<updated>2024-04-17T14:43:37+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-04-17T14:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=707803abfdb206fd19389cac4af81894a69eb1a2'/>
<id>urn:sha1:707803abfdb206fd19389cac4af81894a69eb1a2</id>
<content type='text'>
These will be used in upcoming changes.

ok tb@
</content>
</entry>
<entry>
<title>Include stdint.h since we use uint*_t types.</title>
<updated>2024-03-28T08:36:13+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-28T08:36:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b22c9a6da45f305179a53302c855afcd0c24635e'/>
<id>urn:sha1:b22c9a6da45f305179a53302c855afcd0c24635e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix function guards.</title>
<updated>2024-03-26T04:11:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-26T04:11:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d85783d637619b77333572a1ac0715e5739d3116'/>
<id>urn:sha1:d85783d637619b77333572a1ac0715e5739d3116</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up alignment handling.</title>
<updated>2023-08-15T08:39:27+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-08-15T08:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1dc53319f1473e26f5c135f118538753b1300c20'/>
<id>urn:sha1:1dc53319f1473e26f5c135f118538753b1300c20</id>
<content type='text'>
Instead of using HOST_{c2l,l2c} macros, provide and use
crypto_load_le32toh() and crypto_store_htole32(). In some cases just
use htole32() directly.

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