<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/evp/p_lib.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>2025-07-02T06:36:52+00:00</updated>
<entry>
<title>Const correct EVP_PKEY_get{0,1}_{DH,DSA,EC_KEY,RSA}()</title>
<updated>2025-07-02T06:36:52+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-07-02T06:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=ee8028bd119b3e4cd917dc91bde28658b6256b9f'/>
<id>urn:sha1:ee8028bd119b3e4cd917dc91bde28658b6256b9f</id>
<content type='text'>
These are safe to call concurrently and they don't modify the memory
region pointed to by the pkey - they only bump the refcount of the
key hanging off of it. The returned "legacy" key has to be handled with
care in threaded constexts, so it is handed back as non-const. This also
matches what EVP_PKEY_get0() always had.

This way our signature is identical to BoringSSL's and doesn't cause
compiler warnings in code that overuses const because one of the many
API incoherencies added by OpenSSL 3 was to turn get0 into a function
that takes and returns const while leaving get1 as it was.

dlg agrees
ok kenjiro
</content>
</entry>
<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>Garbage collect unused attributes member from EVP_PKEY</title>
<updated>2024-08-22T12:24:24+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-08-22T12:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=fc0702d8720a97dcf11b0e1241a3245bf18fcb95'/>
<id>urn:sha1:fc0702d8720a97dcf11b0e1241a3245bf18fcb95</id>
<content type='text'>
ok miod
</content>
</entry>
<entry>
<title>Hide public symbols in evp.h</title>
<updated>2024-04-09T13:52:42+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2024-04-09T13:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9835bb3c82adc630df1f3aaa7dfbf7f0506b0bc4'/>
<id>urn:sha1:9835bb3c82adc630df1f3aaa7dfbf7f0506b0bc4</id>
<content type='text'>
largely mechanically done by the guentherizer 9000

ok tb@
</content>
</entry>
<entry>
<title>Unhook and remove GOST and STREEBOG</title>
<updated>2024-03-02T11:17:27+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:17:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8ea5a70cb7cc8a88e0f55a52b08b9bf917e9ab4d'/>
<id>urn:sha1:8ea5a70cb7cc8a88e0f55a52b08b9bf917e9ab4d</id>
<content type='text'>
This stops compiling the GOST source. The current implementation is low
quality and got in the way, especially in libssl. While we would be open
for GOST support, it needs to be significantly better than what we have
had and it also needs a maintainer.

Add OPENSSL_NO_GOST to opensslfeatures and stop installing gost.h.
Some code wrapped in #ifndef OPENSSL_NO_GOST will be removed later.

ok jsing
</content>
</entry>
<entry>
<title>EVP_PKEY_asn1_find_str() tweaks</title>
<updated>2024-01-05T21:22:01+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-05T21:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=962a7fef1d4de496aba4a6e4ac65f3357a34139e'/>
<id>urn:sha1:962a7fef1d4de496aba4a6e4ac65f3357a34139e</id>
<content type='text'>
Switch i to a size_t and improve a flag check. Part of an earlier diff
that was ok jsing but were lost when I reworked the diff.
</content>
</entry>
<entry>
<title>Clean up EVP_PKEY_asn1_get0_info() a bit</title>
<updated>2024-01-04T17:22:29+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T17:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=744f9b9df3bd01a4f216013bf31f8d1151043177'/>
<id>urn:sha1:744f9b9df3bd01a4f216013bf31f8d1151043177</id>
<content type='text'>
Use better variable names without silly p prefix and use explicit checks
against NULL.
</content>
</entry>
<entry>
<title>Clean up EVP_PKEY_asn1_find_str()</title>
<updated>2024-01-04T17:17:40+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T17:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=09c97e934e48b9980d4d7b55672f170e9e0c5a14'/>
<id>urn:sha1:09c97e934e48b9980d4d7b55672f170e9e0c5a14</id>
<content type='text'>
Use slightly better argument and variable names, do not pointlessly try
to match a string of negative length &lt; -1, use a size_t for the strlen()
and preserve the logic that allows lookup by a string fragment rather
than a full string.

ok jsing
</content>
</entry>
<entry>
<title>Simplify EVP_PKEY_asn1_find()</title>
<updated>2024-01-04T17:08:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T17:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f532675414edae4b4b8205239d63889a7b9b63eb'/>
<id>urn:sha1:f532675414edae4b4b8205239d63889a7b9b63eb</id>
<content type='text'>
EVP_PKEY_asn1_find() finds the EVP_PKEY_ASN1_METHOD underlying the method
or alias with nid (or, rather, pkey_id) passed in. Now that we have the
base method stored in a pointer, we can return that method after a simple
lookup of said nid (or, rather, pkey_id).

ok jsing
</content>
</entry>
<entry>
<title>Replace .pkey_base_id with a .base_method pointer</title>
<updated>2024-01-04T17:01:26+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T17:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9f1cd2582409ac5778c5a0e28dfb77f18d122c98'/>
<id>urn:sha1:9f1cd2582409ac5778c5a0e28dfb77f18d122c98</id>
<content type='text'>
Every EVP_PKEY_ASN1_METHOD is either an ASN.1 method or an alias.
As such it resolves to an underlying ASN.1 method (in one step).
This information can be stored in a base_method pointer in allusion
to the pkey_base_id, which is the name for the nid (aka pkey_id aka
type) of the underlying method.

For an ASN.1 method, the base method is itself, so the base method
is set as a pointer to itself. For an alias it is of course a pointer
to the underlying method. Then obviously ameth-&gt;pkey_base_id is the
same as ameth-&gt;base_method-&gt;pkey_id, so rework all ASN.1 methods to
follow that.

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