OpenBSD CVS

CVS log for src/lib/libcrypto/Symbols.namespace


[BACK] Up to [local] / src / lib / libcrypto

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.105 / (download) - annotate - [select for diffs], Wed Apr 10 15:01:31 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
CVS Tags: HEAD
Changes since 1.104: +9 -0 lines
Diff to previous 1.104 (colored)

Hide deprecated functions in ec.h

use LCRYPTO_UNUSED and remove the LIBRESSL_INTERNAL guard

ok tb@

Revision 1.104 / (download) - annotate - [select for diffs], Wed Apr 10 15:00:38 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.103: +5 -0 lines
Diff to previous 1.103 (colored)

Hide deprecated functions in evp.h

use LCRYPTO_UNUSED and remove the LIBRESSL_INTERNAL guard around them.

ok tb@

Revision 1.103 / (download) - annotate - [select for diffs], Wed Apr 10 14:59:39 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.102: +2 -0 lines
Diff to previous 1.102 (colored)

Add HMAC_init and HMAC_CTX_reset to Symbols.namespace.

ok tb@

Revision 1.102 / (download) - annotate - [select for diffs], Wed Apr 10 14:58:06 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.101: +5 -0 lines
Diff to previous 1.101 (colored)

Hide symbols in bn.h

Mark them LCRYPTO_UNUSED appropriately and remove the LIBRESSL_INTERNAL
guards around them

ok tb@

Revision 1.101 / (download) - annotate - [select for diffs], Wed Apr 10 14:54:13 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.100: +7 -0 lines
Diff to previous 1.100 (colored)

Add RC2 symbols to Symbols.namespace.

These got missed when they were hidden

ok tb@

Revision 1.100 / (download) - annotate - [select for diffs], Wed Apr 10 14:53:01 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.99: +10 -0 lines
Diff to previous 1.99 (colored)

Finish hiding symbols in rand.h

This removes the LIBRESSL_INTERNAL guards and marks
the functions within as LCRYPTO_UNUSED

Revision 1.99 / (download) - annotate - [select for diffs], Wed Apr 10 14:51:02 2024 UTC (7 weeks, 3 days ago) by beck
Branch: MAIN
Changes since 1.98: +31 -0 lines
Diff to previous 1.98 (colored)

Finish Hiding symbols in crypto.h

crypto.h already had the symbols not hidden behind LIBRESSL_INTERNAL
hidden - This now picks up the reset of them marking them as
LCRYPTO_UNUSED, and removes the LIBRESSL_INTERNAL guard.

These symbols will now be hidden, but if we use them inside
the library in a namespaced build we will get a deprecation
warning. use outside the library will be as with any other hidden
symbol, so fine.

ok tb@

Revision 1.98 / (download) - annotate - [select for diffs], Tue Apr 9 13:56:29 2024 UTC (7 weeks, 5 days ago) by beck
Branch: MAIN
Changes since 1.97: +45 -0 lines
Diff to previous 1.97 (colored)

Hide symbols in conf.h

This guentherizes the public symbols from conf.h

ok tb@

Revision 1.97 / (download) - annotate - [select for diffs], Tue Apr 9 13:55:02 2024 UTC (7 weeks, 5 days ago) by beck
Branch: MAIN
Changes since 1.96: +194 -0 lines
Diff to previous 1.96 (colored)

Hide public symbols in x509.h

This picks up most of the remaining public symbols in
x509.h

ok tb@

Revision 1.96 / (download) - annotate - [select for diffs], Tue Apr 9 13:52:41 2024 UTC (7 weeks, 5 days ago) by beck
Branch: MAIN
Changes since 1.95: +349 -0 lines
Diff to previous 1.95 (colored)

Hide public symbols in evp.h

largely mechanically done by the guentherizer 9000

ok tb@

Revision 1.95 / (download) - annotate - [select for diffs], Tue Apr 9 01:39:27 2024 UTC (7 weeks, 5 days ago) by beck
Branch: MAIN
Changes since 1.94: +0 -68 lines
Diff to previous 1.94 (colored)

Clean up Symbols.namespace

These did not get removed from here when they got removed
from Symbols.list after a major bump.

ok tb@

Revision 1.94 / (download) - annotate - [select for diffs], Sat Mar 30 05:14:12 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.93: +14 -0 lines
Diff to previous 1.93 (colored)

Hide symbols in aes

ok jsing

Revision 1.93 / (download) - annotate - [select for diffs], Sat Mar 30 04:58:12 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.92: +10 -0 lines
Diff to previous 1.92 (colored)

Hide symbols in camellia

ok tb

Revision 1.92 / (download) - annotate - [select for diffs], Sat Mar 30 03:45:47 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.91: +5 -0 lines
Diff to previous 1.91 (colored)

Hide symbols in whrlpool

ok tb

Revision 1.91 / (download) - annotate - [select for diffs], Sat Mar 30 01:53:05 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.90: +8 -0 lines
Diff to previous 1.90 (colored)

Hide symbols in CMS

ok jsing

Revision 1.90 / (download) - annotate - [select for diffs], Fri Mar 29 02:37:20 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.89: +7 -0 lines
Diff to previous 1.89 (colored)

Hide symbols in Blowfish

ok jsing tb

Revision 1.89 / (download) - annotate - [select for diffs], Fri Mar 29 01:47:29 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.88: +35 -0 lines
Diff to previous 1.88 (colored)

Hide symbols in DES

ok jsing beck

Revision 1.88 / (download) - annotate - [select for diffs], Thu Mar 28 23:54:15 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.87: +5 -0 lines
Diff to previous 1.87 (colored)

Hide symbols in RIPEMD

ok beck jsing

Revision 1.87 / (download) - annotate - [select for diffs], Thu Mar 28 08:18:13 2024 UTC (2 months ago) by joshua
Branch: MAIN
Changes since 1.86: +2 -0 lines
Diff to previous 1.86 (colored)

Hide symbols in RC4

ok jsing tb beck

Revision 1.86 / (download) - annotate - [select for diffs], Wed Mar 27 06:08:45 2024 UTC (2 months ago) by tb
Branch: MAIN
Changes since 1.85: +19 -0 lines
Diff to previous 1.85 (colored)

Hide symbols in engine

ok jsing

Revision 1.85 / (download) - annotate - [select for diffs], Sat Mar 2 11:37:13 2024 UTC (3 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.84: +0 -4 lines
Diff to previous 1.84 (colored)

Make CRYPTO_THREADID opaque

With ERR_STATE out of the way, we can make CRYPTO_THREADID opaque.
The type is still accessed by used public API, but some of the public
API can also go away.

ok jsing

Revision 1.84 / (download) - annotate - [select for diffs], Sat Mar 2 11:32:31 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.83: +0 -3 lines
Diff to previous 1.83 (colored)

Remove CRYPTO_*info

Long time neutered, only used (pointlessly without error checking) in the
error code until very recently.

ok jsing

Revision 1.83 / (download) - annotate - [select for diffs], Sat Mar 2 11:28:46 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.82: +0 -14 lines
Diff to previous 1.82 (colored)

Remove a bunch of CRYPTO memory API

This was neutered early on in the fork and has been rotting ever since.
Some parts of the API are still used, but it's easier to clean up when
most of the mess is gone.

ok jsing

Revision 1.82 / (download) - annotate - [select for diffs], Sat Mar 2 11:20:36 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.81: +0 -1 lines
Diff to previous 1.81 (colored)

Remove sk_find_ex()

This API intends to find the closest match to the needle. M2Crypto
exposes it because it can. This will be fixed by patching the port.

ok jsing

Revision 1.81 / (download) - annotate - [select for diffs], Sat Mar 2 11:04:51 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.80: +0 -6 lines
Diff to previous 1.80 (colored)

Remove lh stats

This could have been removed in an earlier bump. Now it's time for it to
say goodbye.

ok jsing

Revision 1.80 / (download) - annotate - [select for diffs], Sat Mar 2 10:57:03 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.79: +0 -7 lines
Diff to previous 1.79 (colored)

Garbage collect most of the public LOOKUP API

Yet another bit of extensibility that no one ever really used.
X509_LOOKUP_free() needs to stay because of ... rust-openssl
(and kdelibs4support).

ok jsing

Revision 1.79 / (download) - annotate - [select for diffs], Sat Mar 2 10:48:17 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.78: +0 -10 lines
Diff to previous 1.78 (colored)

Remove unused public X509_TRUST API

Another thing that should never have leaked out of the library. It
will become internal entirely, where the code can be simplified greatly.

ok jsing

Revision 1.78 / (download) - annotate - [select for diffs], Sat Mar 2 10:40:05 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.77: +0 -6 lines
Diff to previous 1.77 (colored)

Remove unused parts of the purpose API

Most of this is the ability to add custom purposes. Also the astounding
X509_STORE_CTX_purpose_inherit(). The names are used by PHP, and M2Crypto
exposes X509_check_purpose(), so these remain public. Some weird, most
likely invalid, uses also remain in rust-openssl.

ok jsing

Revision 1.77 / (download) - annotate - [select for diffs], Sat Mar 2 10:35:32 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.76: +0 -4 lines
Diff to previous 1.76 (colored)

Remove X509V3_EXT extensibility API

You used to be able to define your own X.509 extension handlers. Great.
Even greater: the verifier would ignore any custom extensions. So this
was only ever useful for serialization and deserialization. In other
words, almost entirely pointless. The API was also unused except for
a hack in kore-acme, which was fixed recently.

ok jsing

Revision 1.76 / (download) - annotate - [select for diffs], Sat Mar 2 10:30:48 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.75: +0 -1 lines
Diff to previous 1.75 (colored)

Remove ERR_get_state

The ERR_STATE struct is an unused implementation detail of the horrific
error stack code. It is the last public consumer of CRYPTO_THREAD
internals. Make this and its accessor internal so we can make the
CRYPTO_THREAD struct opaque.

ok jsing

Revision 1.75 / (download) - annotate - [select for diffs], Sat Mar 2 10:15:15 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.74: +0 -34 lines
Diff to previous 1.74 (colored)

Remove a lot of PKCS12 garbage from the public API

PKCS12 is a hot mess. Please participate in the survey at the end of
https://www.cs.auckland.ac.nz/~pgut001/pubs/pfx.html to increase its
credibility and unanimity.

ok jsing

Revision 1.74 / (download) - annotate - [select for diffs], Sat Mar 2 09:49:45 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.73: +0 -1 lines
Diff to previous 1.73 (colored)

Make OBJ_add_object() static

This is another implementation detail that should never have leaked out
of the library. Only OBJ_create() ever used this.

ok jsing

Revision 1.73 / (download) - annotate - [select for diffs], Sat Mar 2 09:47:16 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.72: +0 -1 lines
Diff to previous 1.72 (colored)

Remove OBJ_bsearch_()

The only reason this has still been part of the public API was that libssl
used it for cipher lookup. This was fixed by replacing the lookup by proper
bsearch() -- why OpenSSL felt the need to reinvent ANSI C API badly will
forever remain a mystery.

The stack code in libcrypto still uses a version of this. This should
be rewritten. It will be a bit easier once sk_find_ex() is removed.

ok jsing

Revision 1.72 / (download) - annotate - [select for diffs], Sat Mar 2 09:41:02 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.71: +0 -6 lines
Diff to previous 1.71 (colored)

Remove unused public OBJ_NAME_* API

This functionality has been disabled for a few months. Now it is high time
to garbage collect it.

ok jsing

Revision 1.71 / (download) - annotate - [select for diffs], Sat Mar 2 09:33:14 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.70: +0 -1 lines
Diff to previous 1.70 (colored)

Remove DSA_generate_parameters

This was deprecated in 0.9.8 and used until recently by rust-openssl
and by keynote (keynote has the excuse that it was written before the
deprecation). Fortunately Paul Kehrer fixed this in rust-openssl,
so we can garbage collect this turd. (It was replaced with the less
ergonomic DSA_generate_parameters_ex() to expose a new fancy way of
displaying dots, stars and pluses on key generation).

ok jsing

Revision 1.70 / (download) - annotate - [select for diffs], Sat Mar 2 09:30:21 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.69: +0 -1 lines
Diff to previous 1.69 (colored)

Remove CMAC_resume()

While it is a neat design detail of CMAC that you can resume it after
having finalized it, nothing uses this functionality and it adds some
gross things such as retaining intermediate secrets in the CMAC ctx.
Once this is gone, we can simplify the CMAC code a bit.

ok jsing

Revision 1.69 / (download) - annotate - [select for diffs], Sat Mar 2 09:27:31 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.68: +0 -2 lines
Diff to previous 1.68 (colored)

Make BN_mod_exp2_mont() and BN_mod_exp_mont_word() internal

The former could be useful but nothing uses it. The latter is a
dangerous implementation detail of Montgomery exponentiation that
should never have been leaked out of the library. Fix this.

ok jsing

Revision 1.68 / (download) - annotate - [select for diffs], Sat Mar 2 09:24:59 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.67: +0 -1 lines
Diff to previous 1.67 (colored)

Make BN_mod_exp_simple() internal

This function is very slow and useful for testing purposes only. It
should never have been part of the public API. Remove it from there.

ok jsing

Revision 1.67 / (download) - annotate - [select for diffs], Sat Mar 2 09:22:41 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.66: +0 -1 lines
Diff to previous 1.66 (colored)

Remove BIO_set()

This used to be a dangerous implementation detail of BIO_new() that was
never used outside of libcrypto.

ok jsing

Revision 1.66 / (download) - annotate - [select for diffs], Sat Mar 2 09:21:24 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.65: +0 -2 lines
Diff to previous 1.65 (colored)

Remove BIO_dump_*{cb,fp}()

These were disabled and the internals that need to remain were fixed.
Time for this garbage to go.

ok jsing

Revision 1.65 / (download) - annotate - [select for diffs], Sat Mar 2 09:18:28 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.64: +0 -3 lines
Diff to previous 1.64 (colored)

Remove BIO_{sn,v,vsn}printf(3)

Unsued printing functionality. If something should need this we can readily
add it back.

ok jsing

Revision 1.64 / (download) - annotate - [select for diffs], Sat Mar 2 09:08:41 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.63: +0 -3 lines
Diff to previous 1.63 (colored)

Remove beck's ASN.1 time API from public visibility

This API was needed since OpenSSL didn't have one. We now have variants
of OpenSSL's API and will also expose BoringSSL's complementary API. The
users of this API were ported to the OpenSSL variants and some may switch
to BoringSSL's in the future. Part of it is still used internally.

ASN1_time_tm_clamp_notafter() is still used by libtls (and only libtls).
This will be fixed in a future bump.

ok jsing

Revision 1.63 / (download) - annotate - [select for diffs], Sat Mar 2 09:04:07 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.62: +0 -12 lines
Diff to previous 1.62 (colored)

Remove ASN1_PCTX nonsense

This is only used by the fuzzing code. Another bit of poorly thought
out extensibility that makes people pass NULL pointers to a bunch
of APIs.

ok jsing

Revision 1.62 / (download) - annotate - [select for diffs], Sat Mar 2 09:02:04 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.61: +0 -1 lines
Diff to previous 1.61 (colored)

Make ASN1_add_oid_module internal

ok jsing

Revision 1.61 / (download) - annotate - [select for diffs], Sat Mar 2 08:54:02 2024 UTC (3 months ago) by tb
Branch: MAIN
Changes since 1.60: +0 -2 lines
Diff to previous 1.60 (colored)

Remove ASN1_STRING_TABLE_{add,cleanup}

This was API for the ASN1_STRING_TABLE extensibility which has been
neutered for months and was completely unused in the ecosystem.

ok jsing

Revision 1.60 / (download) - annotate - [select for diffs], Fri Feb 23 10:39:07 2024 UTC (3 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.59: +1 -0 lines
Diff to previous 1.59 (colored)

Prepare to provide X509_STORE_get1_objects()

The OpenSSL 1.1 API X509_STORE_get0_objects() is not thread safe. It
exposes a naked internal pointer containing certificates, CRLs and
cached objects added by X509_LOOKUP_hash_dir(). Thus, if the store is
shared between threads, it is not possible to inspect this pointer safely
since another thread could concurrently add to it. This may happen in
particular during certificate verification. This API led to security
issues in rust-openssl and is also problematic in current Python.

Other consumers of X509_STORE_get0_objects() are haproxy, isync, openvpn.

The solution is to take a snapshot of the state under a lock and return
that. This is what X509_STORE_get1_objects() does. It returns a newly
allocated stack that needs to be freed with sk_X509_OBJECT_pop_free(),
passing X509_OBJECT_free as a second argument.

Based on a diff by David Benjamin for BoringSSL.
https://boringssl-review.googlesource.com/c/boringssl/+/65787

ok beck jsing

PS: Variants of this have landed in Python and OpenSSL 3 as well. There the
sk_*deep_copy() API is used, which in OpenSSL relies on evaluating function
pointers after casts (BoringSSL fixed that). Instead of using this macro
insanity and exposing that garbage in public, we can do this by implementing
a pedestrian, static sk_X509_OBJECT_deep_copy() by hand.

Revision 1.59 / (download) - annotate - [select for diffs], Sun Feb 18 16:28:37 2024 UTC (3 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.58: +4 -0 lines
Diff to previous 1.58 (colored)

Add posix_time.h from BoringSSL

This is prepares to expose some internal API as OPENSSL_tm_to_posix() and
OPENSSL_posix_to_tm(). They will be used in libtls and ocspcheck(8) to get
rid of the portability nightmare that is timegm().

Also fix the location of OPENSSL_gmtime() and OPENSSL_timegm() (this API
is not yet exposed). The former is from OpenSSL and surprisingly lives in
crypto.h, not asn1.h, and the latter is BoringSSL API and lives in the new
posix_time.h.

Initial diff from beck, this pulls in further upstream work after review
feedback.

ok jsing

Revision 1.58 / (download) - annotate - [select for diffs], Sat Jul 29 03:18:05 2023 UTC (10 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.57: +2 -0 lines
Diff to previous 1.57 (colored)

Add _libre_CMS_{,SignerInfo}_get_version

Revision 1.57 / (download) - annotate - [select for diffs], Sat Jul 29 03:13:38 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.56: +0 -2 lines
Diff to previous 1.56 (colored)

Remove {BN,idea}_options() leftovers

Some *_options() prototypes were left behind in headers. I will remove
them after my amd64 ports bulk completes.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Jul 28 10:33:13 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.55: +0 -3 lines
Diff to previous 1.55 (colored)

Remove more ASN1_BIT_STRING API

This removes ASN1_BIT_STRING_name_print(), ASN1_BIT_STRING_{num,set}_asc().
Before trust was properly handled using OIDs, there was a period where it
used bit strings. The actual interfaces used in openssl x509 were removed,
but the functions they wrapped remained unused for the next 24 years.

ok jsing

Revision 1.55 / (download) - annotate - [select for diffs], Fri Jul 28 10:30:16 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.54: +0 -1 lines
Diff to previous 1.54 (colored)

Remove ASN1_BIT_STRING_check

This was added with the TS code for no discernible reason. I could not
find a single consumer. In the unlikely event that you need this, it is
easy enough to write a better version of it yourself.

ok jsing

Revision 1.54 / (download) - annotate - [select for diffs], Fri Jul 28 10:25:05 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.53: +0 -2 lines
Diff to previous 1.53 (colored)

Remove OBJ_add_sigid() and OBJ_sigid_free()

Another bit of unused extensibility that was responsible for a lot
of complexity until recently. This removes the remaining stubs from
the public API.

ok jsing

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jul 28 10:23:19 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.52: +0 -3 lines
Diff to previous 1.52 (colored)

Remove more ERR cruft

Ever wondered how many entries populate the various err hashes?
Me neither. Remove this garbage.

ok jsing

Revision 1.52 / (download) - annotate - [select for diffs], Fri Jul 28 10:21:01 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.51: +0 -2 lines
Diff to previous 1.51 (colored)

Remove ERR_{get,set}_implementation()

Much like ex_data, applications can make the library use their own error
stack implementation. Well, except as of right now they no longer can.

ok jsing

Revision 1.51 / (download) - annotate - [select for diffs], Fri Jul 28 10:19:20 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.50: +0 -3 lines
Diff to previous 1.50 (colored)

Make ex_data implementations internal

To state the obvious: library suffers from way too much extensibility. In
theory, applications can implement their own ex_data implementation. In
practice, none did. A glance at ex_data.c might give an idea as to why.
Make this internal so this particular turd can be replaced with something
slightly saner.

Also sync up the CRYPTO_EX_INDEX_* defines with OpenSSL - at least
the parts we support.

ok jsing

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jul 28 10:13:50 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.49: +0 -4 lines
Diff to previous 1.49 (colored)

Drop BIO_n{read,write}{,0}()

This is one of those strange things that should never have made it into
a security-oriented libraries. From BIO_s_bio.3:

.\" The following non-copying I/O functions are intentionally undocumented
.\" because they seem fragile and unused by anything:

It was used in a single place: the gorgeous ssltest. I'm not smart enough
to follow.  Also:

/* WARNING: The non-copying interface is largely untested as of yet
 * and may contain bugs. */

Oh, really? Into the great bitbucket in the sky you go.

ok jsing

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jul 28 10:07:30 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.48: +0 -8 lines
Diff to previous 1.48 (colored)

Remove the get_rfc*_prime_*() API

Inconsistently named with the rest of the API, so OpenSSL 1.1 introduced
the same functions with a BN_ prefix. We'll keep the latter.

ok jsing

Revision 1.48 / (download) - annotate - [select for diffs], Fri Jul 28 10:05:16 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.47: +0 -12 lines
Diff to previous 1.47 (colored)

Make BN_BLINDING internal

RSA is pretty bad. In my most optimistic moments I dream of a world that
stopped using it. That won't happen during my lifetime, unfortunately.
Blinding is one way of making it a little less leaky. Unfortunately this
side-channel leak mitigation leaked out of the library for no good reason.
Let's at least fix that aspect of it.

ok jsing

Revision 1.47 / (download) - annotate - [select for diffs], Fri Jul 28 10:02:11 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.46: +0 -2 lines
Diff to previous 1.46 (colored)

Remove ASN1_bn_print() and ASN1_buf_print()

ASN1_bn_print() is a hilariously bad API that was replaced with a saner
interface internally. ASN1_buf_print() isn't terrible, but it is too
specialized to be of real use. It was only exposed because ASN1_bn_print()
was already there. Its only use had been in the EdDSA printing code before
it was replaced with an internal helper.

ok jsing

Revision 1.46 / (download) - annotate - [select for diffs], Fri Jul 28 10:00:10 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.45: +0 -6 lines
Diff to previous 1.45 (colored)

Make ASN1_{primitive,template}_* internal

These were long removed from the public OpenSSL API, so we can do the
same. Remove ASN1_template_{d2i,i2d}() - those are unused internally.

ok jsing

Revision 1.45 / (download) - annotate - [select for diffs], Fri Jul 28 09:58:30 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.44: +0 -5 lines
Diff to previous 1.44 (colored)

Make ASN.1 BIO internal

With every bump we can remove a bit more of the ASN.1 BIO and the
streaming interface. At some point enough will be internal so that
we can rewrite it and bring it in a shape where mere mortals can
follow all the twists and turns. This is the next step: BIO_f_asn1(3)
goes away and takes BIO_asn1_{get,set}_{prefix,suffix}() with it,
a bunch of functions helping along in a write-after-free recently.
The getters go away, the setters stay for now.

ok jsing

Revision 1.44 / (download) - annotate - [select for diffs], Fri Jul 28 09:53:55 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.43: +0 -3 lines
Diff to previous 1.43 (colored)

Set OPENSSL_NO_ENGINE, remove engine code

ENGINE was special. It's horrible code even by the low standards of this
library. Some ports may now try to use the stubs which will fail, but
the fallout from this should be minimal. Of course there are various
language bindings that expose the ENGINE API. OpenSSL 3 disabling ENGINE
by default will likely help fixing this at some point.

ok jsing

Revision 1.43 / (download) - annotate - [select for diffs], Fri Jul 28 09:46:36 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.42: +0 -25 lines
Diff to previous 1.42 (colored)

Drop DSO and define OPENSSL_NO_DSO

DSO and in particular dlopen() was used for dynamic engines, which we
removed a long time ago and for dynamic conf modules, which we removed
only very recently. Now remove this dangerous interface.

ok jsing

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jul 28 09:42:44 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.41: +0 -8 lines
Diff to previous 1.41 (colored)

Drop the comp module

opensslfeatures.h has long defined OPENSSL_NO_COMP and the build with
ZLIB was broken in openssl(1) since 2015 and in libcrypto since 2022.
ZLIB was unifdefed a while ago, now we can retire the public API.

The comp.h header stays devoid of code because a number of ports use it
for historic reasons.

ok jsing

Revision 1.41 / (download) - annotate - [select for diffs], Fri Jul 28 09:22:26 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.40: +0 -7 lines
Diff to previous 1.40 (colored)

Excise ECDH_METHOD

Unlike ECDSA_METHOD, this has been unused forever but kind of needed to
stay for symmetry with ECDSA_METHOD. Now we can finally take it behind
the barn and remove its tendrils into ENGINE.

ok jsing

Revision 1.40 / (download) - annotate - [select for diffs], Fri Jul 28 09:19:58 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.39: +0 -1 lines
Diff to previous 1.39 (colored)

Remove ECDH errors

Much like the ECDSA errors, the ECDH errors have been unused for a
while. Garbage collect them.

ok jsing

Revision 1.39 / (download) - annotate - [select for diffs], Fri Jul 28 09:08:31 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.38: +0 -7 lines
Diff to previous 1.38 (colored)

Remove ECDSA_METHOD

After smtpd (in base) and libtls finally switched from ECDSA_METHOD to
EC_KEY_METHOD, much of the ECDSA_METHOD code was neutered. Remove the
remaining public API as well as numerous tentacles into ENGINE.

ok jsing

Revision 1.38 / (download) - annotate - [select for diffs], Fri Jul 28 09:01:25 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.37: +0 -1 lines
Diff to previous 1.37 (colored)

Remove ecs_err.c

These error codes have been unused for a while, so the public API loading
them is pointless.

ok jsing

Revision 1.37 / (download) - annotate - [select for diffs], Fri Jul 28 08:49:43 2023 UTC (10 months ago) by tb
Branch: MAIN
Changes since 1.36: +0 -3 lines
Diff to previous 1.36 (colored)

Make extended ECDSA signing routines internal

ECDSA_sign_setup() permits precomputing the values of the inverse of the
random k and the corresponding r. These can then be fed into the signing
routines ECDSA_{do_,}sign_ex() multiple times if needed. This is not a
great idea and the interface adds a lot of unwanted complexity.

Not to mention that nothing ever used this correctly - if s works out to
0, a special error code is thrown requesting that the caller provide new
kinv and r values. Unsurprisingly, nobody ever checked for that special
error code.

ok jsing

This commit marks the start of a libcrypto major bump. Do not build the
tree until I bumped the shlib_version and synced file sets (in about 35
commits).

Revision 1.36 / (download) - annotate - [select for diffs], Sat Jul 8 15:29:03 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.35: +45 -0 lines
Diff to previous 1.35 (colored)

Hide symbols in dh

ok tb@

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jul 8 15:12:49 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.34: +5 -0 lines
Diff to previous 1.34 (colored)

Hide symbols in curve22519

ok tb@

Revision 1.34 / (download) - annotate - [select for diffs], Sat Jul 8 14:56:54 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.33: +28 -0 lines
Diff to previous 1.33 (colored)

Hide symbols in modes.h

ok tb@

Revision 1.33 / (download) - annotate - [select for diffs], Sat Jul 8 14:30:44 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.32: +42 -0 lines
Diff to previous 1.32 (colored)

Hide symbols in gost.

ok tb@ after some puking in his mouth.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Jul 8 14:28:14 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.31: +65 -0 lines
Diff to previous 1.31 (colored)

hide symbols in dsa

ok tb@

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jul 8 14:27:14 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.30: +9 -0 lines
Diff to previous 1.30 (colored)

Hide symbols in cmac

ok tb@

Revision 1.30 / (download) - annotate - [select for diffs], Sat Jul 8 12:27:51 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.29: +32 -0 lines
Diff to previous 1.29 (colored)

Hide symbols in objects

ok tb@

Revision 1.29 / (download) - annotate - [select for diffs], Sat Jul 8 12:26:45 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.28: +113 -0 lines
Diff to previous 1.28 (colored)

Hide symbols in rsa

ok tb@

Revision 1.28 / (download) - annotate - [select for diffs], Sat Jul 8 12:24:10 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.27: +23 -0 lines
Diff to previous 1.27 (colored)

Hide symbols in sha

ok tb@

Revision 1.27 / (download) - annotate - [select for diffs], Sat Jul 8 12:21:58 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.26: +134 -0 lines
Diff to previous 1.26 (colored)

Hide symbols in bn

ok tb@

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jul 8 11:28:03 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.25: +6 -0 lines
Diff to previous 1.25 (colored)

Hide symbols in txt_db

ok tb@

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jul 8 10:45:57 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.24: +10 -0 lines
Diff to previous 1.24 (colored)

Hide symbols in md4 and md5

ok tb@

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jul 8 10:43:59 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.23: +176 -0 lines
Diff to previous 1.23 (colored)

Hide symbols in cast, idea, and ocsp

ok tb@

Revision 1.23 / (download) - annotate - [select for diffs], Sat Jul 8 08:28:23 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.22: +50 -0 lines
Diff to previous 1.22 (colored)

Hide symbols in crypto.h

ok jsing@

Revision 1.22 / (download) - annotate - [select for diffs], Sat Jul 8 08:26:26 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.21: +137 -0 lines
Diff to previous 1.21 (colored)

Hide symbols in cms, comp, conf, and buffer

ok jsing@

Revision 1.21 / (download) - annotate - [select for diffs], Sat Jul 8 07:22:58 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.20: +81 -0 lines
Diff to previous 1.20 (colored)

Hide symbols in dso and ct

ok jsing@

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jul 8 06:13:08 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.19: +3 -0 lines
Diff to previous 1.19 (colored)

Hide symbols in sm3

ok tb@ jsing@

Revision 1.19 / (download) - annotate - [select for diffs], Fri Jul 7 19:37:52 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.18: +201 -662 lines
Diff to previous 1.18 (colored)

Unbreak the namespace build after a broken mk.conf and tool misfire had
me aliasing symbols not in the headers I was procesing.

This unbreaks the namespace build so it will pass again

ok tb@

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jul 7 13:54:45 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.17: +634 -0 lines
Diff to previous 1.17 (colored)

Hide symbols in hkdf, evp, err, ecdsa, and ec

(part 2 of commit)

ok jsing@

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jul 7 13:40:44 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.16: +142 -0 lines
Diff to previous 1.16 (colored)

Hide symbols in lhash, pem, and rc2

ok jsing@

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jul 7 12:01:32 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.15: +24 -0 lines
Diff to previous 1.15 (colored)

hide symbols in sm, rand, and poly1305

ok jsing@

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jul 7 07:25:21 2023 UTC (10 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.14: +190 -0 lines
Diff to previous 1.14 (colored)

Hide symbols in ts

ok jsing@

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jul 5 21:23:36 2023 UTC (10 months, 4 weeks ago) by beck
Branch: MAIN
Changes since 1.13: +368 -0 lines
Diff to previous 1.13 (colored)

Hide symbols in asn1 and bio

ok jsing@

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jul 5 16:17:19 2023 UTC (10 months, 4 weeks ago) by beck
Branch: MAIN
Changes since 1.12: +6 -0 lines
Diff to previous 1.12 (colored)

Hide symbols in chacha

ok jsing@

Revision 1.12 / (download) - annotate - [select for diffs], Wed Apr 26 20:43:32 2023 UTC (13 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.11: +0 -1 lines
Diff to previous 1.11 (colored)

Take X509_POLICY_NODE_print() behind the barn

This used to be public API but is now only used for debug code that has
certainly never been used since it was released to the public. It drags
that debug nonsense with it.

ok beck

Revision 1.11 / (download) - annotate - [select for diffs], Tue Apr 25 18:48:32 2023 UTC (13 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.10: +0 -14 lines
Diff to previous 1.10 (colored)

Remove SXNET

Unused and no authorative information was found online in 2016

Revision 1.10 / (download) - annotate - [select for diffs], Tue Apr 25 18:33:50 2023 UTC (13 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

X509_STORE_get1_{certs,crls} become X509_STORE_CTX_* also in
Symbols.namespace

Revision 1.9 / (download) - annotate - [select for diffs], Tue Apr 25 18:28:05 2023 UTC (13 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.8: +0 -2 lines
Diff to previous 1.8 (colored)

Move the policy tree code to internal-only

A few hooks remain in the legacy validator, which will soon be replaced
with something better. The rest of the tentacles are now largely contained.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Apr 25 18:04:03 2023 UTC (13 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.7: +0 -1 lines
Diff to previous 1.7 (colored)

Remove i2d_PKCS7_NDEF

Revision 1.7 / (download) - annotate - [select for diffs], Thu Feb 23 18:12:32 2023 UTC (15 months, 1 week ago) by job
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.6: +1 -0 lines
Diff to previous 1.6 (colored)

Introduce X509_get0_uids() accessor function

By introducing X509_get0_uids(), one can add RPKI profile compliance
checks to conform the absence of the issuerUID and subjectUID.

OK tb@ jsing@

Revision 1.6 / (download) - annotate - [select for diffs], Mon Nov 14 17:48:49 2022 UTC (18 months, 2 weeks ago) by beck
Branch: MAIN
Changes since 1.5: +649 -0 lines
Diff to previous 1.5 (colored)

Hide public symbols in libcrypto/x509 .c files

ok tb@

Revision 1.5 / (download) - annotate - [select for diffs], Sat Nov 12 13:16:10 2022 UTC (18 months, 2 weeks ago) by beck
Branch: MAIN
Changes since 1.4: +52 -0 lines
Diff to previous 1.4 (colored)

Hide symbols in libcrypto/ui

ok jsing@

Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 12 13:03:28 2022 UTC (18 months, 2 weeks ago) by beck
Branch: MAIN
Changes since 1.3: +77 -0 lines
Diff to previous 1.3 (colored)

Hide symbols in libcrypto/pkcs12

ok jsing@

Revision 1.3 / (download) - annotate - [select for diffs], Sat Nov 12 12:11:14 2022 UTC (18 months, 2 weeks ago) by beck
Branch: MAIN
Changes since 1.2: +100 -0 lines
Diff to previous 1.2 (colored)

Hide symbols in libcrypto/pkcs7

This applies the guentherizer 9000(tm) to pkcs7, after moving
several pkcs7 funcitions back to pkcs7 that were in x509/x_all.c
for reasons known only to the miasma.

ok jsing@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Nov 11 19:18:55 2022 UTC (18 months, 3 weeks ago) by beck
Branch: MAIN
Changes since 1.1: +21 -0 lines
Diff to previous 1.1 (colored)

Hide symbols in libcrypto/stack

Automated change from the first attempts at the semi automated
Guentherizer 2000.

ok jsing@ tb@ joshua@

Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 11 11:25:18 2022 UTC (18 months, 3 weeks ago) by beck
Branch: MAIN

Add support for symbol hiding disabled by default.

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@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.