summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/names.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move EVP_add_{cipher,digest}() to the trashcantb2024-01-131-77/+0
| | | | They will await their removal in the next major bump.
* Open a garbage bin at the bottom of evp_names.ctb2024-01-131-6/+1
| | | | | First to move is EVP_cleanup(), which should probably be moved to an evp_lib.c if such a file is reinstated.
* Remove obj_cleanup_defertb2024-01-131-7/+1
| | | | | With check_defer() gone, this is never set to anything but 0, so the two conditional branches it is still involved in are dead code.
* Garbage collect check_defer()tb2024-01-131-2/+1
| | | | | | | | | | | | | This was a mechanism to ensure that OBJ_cleanup() doesn't remove the ASN1_OBJECT associated with a custom cipher or digest (that was added with EVP_add_{cipher,digest}(), while the latter is still referenced in the OBJ_NAME table. It had the effect that OBJ_cleanup() wasn't actually called ever from OPENSSL_cleanup() (it is only called if you load the OID conf module). Oh, and of course it was once part of the public API. I fixed that two years ago, almost exactly to the day. Still mentioned in OBJ_create.3.
* Neuter EVP_add_{cipher,digest}()tb2024-01-131-11/+1
| | | | | | | | | | This makes them noops. They are used in the wild for adding ciphers that are always added by the library init code. This is a historic leftover. This removes the last (and only ever) calls to check_defer(). ok jsing
* Remove most of EVP_add_{cipher,digest}() internalstb2024-01-131-30/+6
| | | | | | | OBJ_NAME_add() is a noop now, so remove all calls and simplify the remainder of these two functions a bit. Intermediate step to a larger diff that was ok jsing
* Remove OBJ_NAME_cleanup() calls from EVP_cleanup()tb2024-01-131-8/+1
| | | | This is a noop now, so no need to call it.
* Reimplement EVP_get_{cipher,digest}byname()tb2024-01-131-19/+1
| | | | | | | Instead of a hashtable lookup do a bsearch() over the static table. This needs about the same number of strcmp and is a lot simpler. ok jsing
* Reimplement {EVP_CIPHER,EVP_MD,OBJ_NAME}_do_all{,_sorted}(3)tb2024-01-131-92/+1
| | | | | | | | | | | | | | | | | | | | | This implements the do_all API by simple loops over the tables of digests and ciphers. Since some ciphers are only available on some platforms, we need to skip them if necessary. We use loops in each of the functions rather the convoluted way of reducing some of the loops to others. Since the tables are sorted, as ensured by regress, both do_all() and do_all_sorted() walk the lists in order. In particular, we no longer need to allocate to be able to sort hash tables by name on the fly in a void function that may end up doing nothing because allocation failed. We still need to do an unchecked OPENSSL_init_crypto() call. But that's what prayer and clean living are there for (as beck put it). The OBJ_NAME API is completely misnamed. It has little to do with objects and a lot to do with EVP. Therefore we implement what will remain from its saner replacement in the evp directory, i.e., evp_names.c. ok jsing
* Remove EVP_PBE_cleanup() from EVP_cleanup()tb2023-12-151-2/+1
| | | | | | It's a noop and will be removed in the next major bump. ok jsing
* Remove two unnecessary local variablestb2023-08-261-9/+3
|
* No need to call OBJ_sigid_free() in EVP_cleanup() anymore.tb2023-07-221-2/+1
| | | | ok jsing
* Unbreak the namespace build after a broken mk.conf and tool misfire hadbeck2023-07-071-10/+1
| | | | | | | | me aliasing symbols not in the headers I was procesing. This unbreaks the namespace build so it will pass again ok tb@
* Hide symbols in hkdf, evp, err, ecdsa, and ecbeck2023-07-071-1/+10
| | | | | | (part 2 of commit) ok jsing@
* Move check_defer() and obj_cleanup_defer to evp/names.ctb2023-06-291-1/+4
| | | | | | | | | | These formerly public symbols are the last things hidden by LIBRESSL_CRYPTO_INTERNAL. Most of their use is in evp/names.c Unfortunately, check_defer() needs to know about NUM_NIDS, so its implementation needs to remain in obj_dat.c, the only file that can include obj_dat.h due to NID tables. ok miod
* Make internal header file names consistenttb2022-11-261-2/+2
| | | | | | | | | | | | | | | | Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_local.h, reserving the name *_internal.h for our own code. Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h. constant_time_locl.h is moved to constant_time.h since it's special. Adjust all .c files in libcrypto, libssl and regress. The diff is mechanical with the exception of tls13_quic.c, where #include <ssl_locl.h> was fixed manually. discussed with jsing, no objection bcook
* Include evp_locl.h where it will be needed once most structs fromtb2021-12-121-1/+3
| | | | | | evp.h will be moved to evp_locl.h in an upcoming bump. ok inoguchi
* Bring in compatibility for OpenSSL 1.1 style init functions.beck2018-03-171-1/+19
| | | | | | | | | This adds OPENSSL_init_crypto and OPENSSL_init_ssl, as well thread safety modifications for the existing LibreSSL init functions. The initialization routines are called automatically by the normal entry points into the library, as in newer OpenSSL ok jsing@, nits by tb@ and deraadt@
* Stop calling OPENSSL_init() internally, since it is a no-op. Also placejsing2017-04-291-5/+1
| | | | | | it under #ifndef LIBRESSL_INTERNAL. ok beck@
* Only import cryptlib.h in the four source files that actually need it.jsing2014-07-111-2/+2
| | | | | | | | Remove the openssl public includes from cryptlib.h and add a small number of includes into the source files that actually need them. While here, also sort/group/tidy the includes. ok beck@ miod@
* tags as requested by miod and teduderaadt2014-06-121-1/+1
|
* KNF.jsing2014-05-031-82/+104
|
* resolve conflictsdjm2012-10-131-0/+5
|
* resolve conflicts, fix local changesdjm2010-10-011-8/+79
|
* resolve conflictsdjm2009-01-091-0/+7
|
* resolve conflictsdjm2008-09-061-7/+4
|
* resolve conflictsdjm2005-04-291-0/+3
|
* OpenSSL 0.9.7 stable 2002 05 08 mergebeck2002-05-151-2/+2
|
* OpenSSL 0.9.5a mergebeck2000-04-151-0/+5
|
* OpenSSL 0.9.4 mergebeck1999-09-291-203/+36
|
* Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD buildryker1998-10-051-0/+285
functionality for shared libs. Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in this library. Needs documentation and help from ports for easy upgrade to full functionality where legally possible.