<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/gost, branch master</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-03-02T11:17:27+00:00</updated>
<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>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>
<entry>
<title>Split ameth arrays into individual methods</title>
<updated>2024-01-04T16:41:56+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T16:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b1aedf2a14d9cd341b6b3b19a90343383ec0209f'/>
<id>urn:sha1:b1aedf2a14d9cd341b6b3b19a90343383ec0209f</id>
<content type='text'>
For some reason DSA, GOST, and RSA had their ASN.1 methods stored in
an array. This is clumsy and the only benefit is that one saves a few
externs in p_lib.c. They were also arranged by ascending NID because
of bsearch() madness.

Split them up and arrange the methods by name, which is much saner
and simpler.

ok jsing
</content>
</entry>
<entry>
<title>Replace EVP_KEY_assign_GOST() calls with EVP_PKEY_set_type()</title>
<updated>2023-12-28T21:53:09+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-12-28T21:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d3667a15b63915ec5a5f0ff81ddefd2a8a818762'/>
<id>urn:sha1:d3667a15b63915ec5a5f0ff81ddefd2a8a818762</id>
<content type='text'>
Calling EVP_KEY_assign_GOST(pkey, NULL) has the same effect as calling
EVP_PKEY_set_type(pkey, EVP_PKEY_GOSTR01). The only difference is that
the latter form allows for error checking while the former won't let
you do that. Add comments explaining what we're actually doing: freeing
and zeroing the pkey-&gt;pkey union.

ok jsing
</content>
</entry>
<entry>
<title>Fix another EVP_PKEY_assign_GOST() call</title>
<updated>2023-12-28T21:49:07+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-12-28T21:49:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9af7c5400c8197bd79d37c3311c731077adf4581'/>
<id>urn:sha1:9af7c5400c8197bd79d37c3311c731077adf4581</id>
<content type='text'>
Again this can't actually fail, but if it did, things would leak.
Call GOST_KEY_free() in the error path.

ok jsing

CID 471706 (false positive)
</content>
</entry>
<entry>
<title>Clean up pkey_gost_mac_keygen()</title>
<updated>2023-12-28T21:47:17+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-12-28T21:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=960400d44c0e544268ca12d2540473e6547bd829'/>
<id>urn:sha1:960400d44c0e544268ca12d2540473e6547bd829</id>
<content type='text'>
Make this function single exit, check and assign and finally error
check EVP_PKEY_assign(). This can't actually fail currently, but
if it did, things would leak. Free the key data with freezero.

ok jsing

CID 471704 (false positive)
</content>
</entry>
<entry>
<title>Stop including ecdsa.h and ecdh.h internally</title>
<updated>2023-07-28T15:50:33+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-28T15:50:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=dee6ca6302cdbd5982c40288832f1fbe51d045d5'/>
<id>urn:sha1:dee6ca6302cdbd5982c40288832f1fbe51d045d5</id>
<content type='text'>
These headers are now reduced to #include &lt;openssl/ec.h&gt; and are provided
for compatiblity only. There's no point in using them. At the same time
garbage collect the last uses of OPENSSL_NO_{ECDSA,ECDH} in our tree.

ok jsing
</content>
</entry>
<entry>
<title>Fix two EC_POINT_is_on_curve() checks</title>
<updated>2023-07-24T17:08:53+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-24T17:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c2fc234286c75d942a62891333f85e824d615444'/>
<id>urn:sha1:c2fc234286c75d942a62891333f85e824d615444</id>
<content type='text'>
This API can fail for various reasons, in which case it returns -1, so
you need to check if (EC_POINT_is_on_curve_checks(...) &lt;= 0).

ok miod
</content>
</entry>
<entry>
<title>Hide symbols in gost.</title>
<updated>2023-07-08T14:30:44+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2023-07-08T14:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d9e083aab3427c5ef5cecf69b8b1bdd8669ff951'/>
<id>urn:sha1:d9e083aab3427c5ef5cecf69b8b1bdd8669ff951</id>
<content type='text'>
ok tb@ after some puking in his mouth.
</content>
</entry>
<entry>
<title>Rename ecs_local.h into ecdsa_local.h</title>
<updated>2023-07-05T11:37:46+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-05T11:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5c9a378ebd2bf3edf45466e286a087ac83670ea3'/>
<id>urn:sha1:5c9a378ebd2bf3edf45466e286a087ac83670ea3</id>
<content type='text'>
</content>
</entry>
</feed>
