<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/pem, branch OPENBSD_7_7</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_7</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_7'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-06-24T06:43:23+00:00</updated>
<entry>
<title>libcrypto: constify most error string tables</title>
<updated>2024-06-24T06:43:23+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-06-24T06:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c9802a5afe29675d69b605ce906d34fd89c024ac'/>
<id>urn:sha1:c9802a5afe29675d69b605ce906d34fd89c024ac</id>
<content type='text'>
These constitute the bulk of the remaining global mutable state in
libcrypto. This commit moves most of them into data.rel.ro, leaving
out ERR_str_{functs,libraries,reasons} (which require a slightly
different approach) and SYS_str_reasons which is populated on startup.

The main observation is that if ERR_load_strings() is called with a 0 lib
argument, the ERR_STRING_DATA argument is not actually modified. We could
use this fact to cast away const on the caller side and be done with it.
We can make this cleaner by adding a helper ERR_load_const_strings() which
explicitly avoids the assignment to str-&gt;error overriding the error code
already set in the table.

In order for this to work, we need to sprinkle some const in err/err.c.
CMS called ERR_load_strings() with non-0 lib argument, but this didn't
actually modify the error data since it ored in the value already stored
in the table.

Annoyingly, we need to cast const away once, namely in the call to
lh_insert() in int_err_set_item(). Fixing this would require changing
the public API and is going to be tricky since it requires that the
LHASH_DOALL_FN_* types adjust.

ok jsing
</content>
</entry>
<entry>
<title>Remove unused PEM_USER and PEM_CTX</title>
<updated>2024-05-11T05:41:28+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-05-11T05:41:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a3317d944cfde852481cdb5788240469a51cce9b'/>
<id>urn:sha1:a3317d944cfde852481cdb5788240469a51cce9b</id>
<content type='text'>
I could not find any use of this in all of OpenSSL's git history since
SSLeay 0.8.1b.

ok jsing
</content>
</entry>
<entry>
<title>Take pem2.h behind the barn</title>
<updated>2024-04-25T16:14:00+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-04-25T16:14:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1820318c4dea1e9102a0d5ebae1e810a9886ea24'/>
<id>urn:sha1:1820318c4dea1e9102a0d5ebae1e810a9886ea24</id>
<content type='text'>
/*
 * This header only exists to break a circular dependency between pem and err
 * Ben 30 Jan 1999.
 */

25 years of uselessness is about a quarter century more than enough.

discussed with jsing
</content>
</entry>
<entry>
<title>Stop using pem2.h.</title>
<updated>2024-03-29T02:22:18+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-29T02:22:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d4b7d2c84449fd144c1078f6ab2f9ca24691cdeb'/>
<id>urn:sha1:d4b7d2c84449fd144c1078f6ab2f9ca24691cdeb</id>
<content type='text'>
Somewhere in the past 25 years, the circular dependency between err and pem
went away. Stop pulling in pem2.h and just use pem.h directly (pem2.h can
probably be removed at some point, but that remains for another day).

ok joshua@ 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>Use EVP_CIPHER_CTX_legacy_clear() internally</title>
<updated>2024-02-18T15:44:10+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-18T15:44:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f941ba215d7859bf6c6225e88cbbe13260428b8c'/>
<id>urn:sha1:f941ba215d7859bf6c6225e88cbbe13260428b8c</id>
<content type='text'>
ok jsing
</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>Unifdef OPENSSL_NO_ENGINE in libcrypto</title>
<updated>2023-11-19T15:46:10+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-11-19T15:46:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=593d97e74cc873d99aced677883cf55625efe62d'/>
<id>urn:sha1:593d97e74cc873d99aced677883cf55625efe62d</id>
<content type='text'>
This is mechanical apart from a few manual edits to avoid doubled empty
lines.

ok jsing
</content>
</entry>
<entry>
<title>Hide symbols in lhash, pem, and rc2</title>
<updated>2023-07-07T13:40:44+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2023-07-07T13:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1355f5b75c135c6bbe53ddedd21c86e2952b9895'/>
<id>urn:sha1:1355f5b75c135c6bbe53ddedd21c86e2952b9895</id>
<content type='text'>
ok jsing@
</content>
</entry>
<entry>
<title>Remove PEM wrappers for NETSCAPE_CERT_SEQUENCE</title>
<updated>2023-04-25T17:51:36+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-04-25T17:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=73801d916399112cd98e764eed5d739f168d2a8f'/>
<id>urn:sha1:73801d916399112cd98e764eed5d739f168d2a8f</id>
<content type='text'>
</content>
</entry>
</feed>
