summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/Makefile (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Move des sources to primary Makefile.jsing2024-03-281-1/+3
| | | | | Now that all platforms use a C des implementation, move it to the primary Makefile.
* Consolidate most of the AES modes into a single C file.jsing2024-03-281-6/+2
| | | | Discussed with tb@
* Catch the blowfish that escaped.jsing2024-03-271-2/+2
|
* Consolidate rc4 code.jsing2024-03-271-3/+2
| | | | Discussed with tb@
* Consolidate blowfish code.jsing2024-03-271-6/+2
| | | | Requested by tb@
* Move bf_enc.c to the primary Makefile.jsing2024-03-271-1/+2
| | | | | Now that all architectures are using bf_enc.c, it does not make sense to have it in every Makefile.inc file.
* Move the OPENSSL_init() stub from o_init.c to crypto_init.ctb2024-03-191-2/+1
|
* Remove some GOST relicstb2024-03-021-2/+1
|
* Unhook and remove GOST and STREEBOGtb2024-03-021-21/+1
| | | | | | | | | | | | 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
* Make LHASH_OF() and STACK_OF() use opaque structstb2024-03-021-1/+3
| | | | | | | | | | | | | This removes internals of these two special snowflakes and will allow further simplifications. Unfortunately, there are some pieces of software that actually use LHASH_OF() (looking at you, pound, Ruby, and openssl(1)), so we get to keep exposing this garbage, at least for now. Expose lh_error() as a symbol to replace a macro reaching into _LHASH. lh_down_load() is no longer available. _LHASH and _STACK are now opaque, LHASH_NODE becomes internal-only. from jsing
* Remove lh statstb2024-03-021-2/+1
| | | | | | | This could have been removed in an earlier bump. Now it's time for it to say goodbye. ok jsing
* Remove RC4-HMAC-MD5 and AES-{128,256}-CBC-HMAC-SHA-1tb2024-03-021-3/+1
| | | | | | | "Stitched" mode AEADs were removed from libssl a long time ago. Nothing uses these CIPHERs anymore. ok jsing
* Remove the ameth libtb2024-03-021-2/+1
| | | | | | | | This is accessor API for ASN.1 methods needed for custom PKEYs. Nothing has ever used this. This has been neutered for months. The EVP_PKEY_asn1_* API that needs to stay was moved elsewhere. ok jsing
* Add posix_time.h from BoringSSLtb2024-02-181-1/+2
| | | | | | | | | | | | | | | | 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
* Fold keyivgen functions into evp_pbe.ctb2024-01-271-4/+1
| | | | | These are only used by the EVP_PBE routines and will become internal in the next major bump.
* The OBJ_NAME API joins the party in evp_names.ctb2024-01-131-2/+1
| | | | ... and another file without license disappears.
* Move EVP_add_{cipher,digest}() to the trashcantb2024-01-131-2/+1
| | | | They will await their removal in the next major bump.
* Stub out {OpenSSL,OPENSSL}_add*tb2024-01-131-2/+1
| | | | | | | | | | | These serve no purpose anymore (and really haven't for many years) but will have to be kept since there's a number of software that still uses them because many years ago they had to. Relocate the stubs to crypto_init.c since library initialization's what they were there for. ok jsing
* Add a table of cipher names, ciphers and aliasestb2024-01-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This arranges the data provided by dynamic library initialization in a static table and will help avoid gross code with missing error checking and other defects on every use of the library. This table isn't pretty due to various naming inconsistecies accumulated over the decades. It will significantly simplify the implementation of API such as EVP_get_cipherbyname() and EVP_CIPHER_do_all(). All the table does is map strings to ciphers, typically used on the openssl(1) command line or in code it's the mechanism that underlies the map from NID_chacha20 to the data returned by EVP_chacha20(). It's of course more complicated because it just had to be stupid. This is one of the places where the use of bsearch() is justified. The price to pay for the simplification is that adding custom aliases and custom ciphers to this table will no longer be supported. It is one significant user of the LHASH madness. That's just another piece of the awful "toolkit aspect"-guided misdesign that contributes to making this codebase so terrible. A corresponding table for the digests will be added in the next commit. ok jsing
* Merge the EVP_CIPHER_meth_* API into evp_cipher.ctb2023-12-291-2/+1
|
* Merge the remainder of evp_lib.c into evp_cipher.ctb2023-12-291-2/+1
|
* Use more consistent naming for some files in evptb2023-12-291-4/+4
| | | | | | | | | | | | | EVP_Digest{Init,Update,Final}() move from digest.c to evp_digest.c which will become the home of all things related to EVP_MD{,_CTX} handling. EVP_Cipher{Init,Update,Final}() move from evp_enc.c to evp_cipher.c which will become the home of all things related to EVP_CIPHER{,_CTX} handling. EVP_Encode{Init,Update,Final}() move from encode.c to evp_encode.c which already is the home of EVP_ENCODE_CTX_{new,free}(). discussed with jsing
* Merge p_open and p_seal into p_legacytb2023-12-201-3/+1
| | | | discussed with jsing
* Fold p_dec.c and p_enc.c into a new p_legacy.ctb2023-12-201-3/+2
| | | | discussed with jsing
* DES_random_key() sets the keytb2023-12-201-2/+1
| | | | | There's no need to have 60 lines of license for 4 lines of actual code. Move DES_random_key() to set_key.c.
* split the Symbols.list up so that arch specific symbols do not end up everywhererobert2023-11-121-1/+5
| | | | ok tb@
* Merge remainder of rsa_crpt.c into rsa_eay.ctb2023-08-091-2/+1
| | | | | Most of these are one line wrappers around methods implemented in rsa_eay.c by default.
* Move bn_blind.c to rsa_blinding.ctb2023-08-091-2/+2
| | | | discussed with jsing
* Move HAVE_FUNOPEN out of !NOPICtb2023-07-291-5/+1
| | | | | | | | Due to some historic accident, HAVE_FUNOPEN was grouped with DSO_DLFCN and HAVE_DLFCN_H inside !defined(NOPIC). While the two DLFCN bits belong there, HAVE_FUNOPEN doesn't. ok jsing, millert agrees
* Combine ripemd into a single C file.jsing2023-07-281-3/+2
|
* Combine md5 into a single C file.jsing2023-07-281-3/+2
|
* Combine md4 into a single C file.jsing2023-07-281-3/+2
|
* Remove various ${thing}_optionstb2023-07-281-2/+1
| | | | | | | | | | Various, ancient ciphers exposed some of their innards via an _options() API. Apart from openssl version/speed, only some lua thingie in nmap ever looked at these. Go figure. hppa testing by miod, i386 testing by sthen. Thanks! ok jsing
* Remove BUF_[a-z]* APItb2023-07-281-2/+1
| | | | | | | | This are a bunch of strange string handlers with NULL checks that make no real sense except to some devs who like to sprinkle them everywhere. Fortunately, nothing uses these anymore, so they can go. ok jsing
* Remove ASN1_bn_print() and ASN1_buf_print()tb2023-07-281-2/+1
| | | | | | | | | | 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
* Set OPENSSL_NO_ENGINE, remove engine codetb2023-07-281-26/+1
| | | | | | | | | | 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
* Drop DSO and define OPENSSL_NO_DSOtb2023-07-281-11/+2
| | | | | | | | 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
* Drop the comp moduletb2023-07-281-7/+1
| | | | | | | | | | | 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
* Excise ECDH_METHODtb2023-07-281-3/+1
| | | | | | | | 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
* Remove ECDH errorstb2023-07-281-2/+1
| | | | | | | Much like the ECDSA errors, the ECDH errors have been unused for a while. Garbage collect them. ok jsing
* Remove ECDSA_METHODtb2023-07-281-3/+1
| | | | | | | | 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
* Remove ecs_err.ctb2023-07-281-2/+1
| | | | | | | These error codes have been unused for a while, so the public API loading them is pointless. ok jsing
* Provide a bunch of always failing ENGINE APItb2023-07-211-1/+2
| | | | | | | | | | | | | | | This commit adds a few symbols under OPENSSL_NO_ENGINE. They will be used after the main ENGINE code is disabled in the next bump. The ecosystem is mostly prepared for dealing with a libcrypto compiled with OPENSSL_NO_ENGINE. There are a few stragglers like M2Crypto, dovecot and the latest apr-util release (fixed in their development branch). To avoid intrusive patching in these ports, we need to keep a bunch of ENGINE symbols around despite adding OPENSSL_NO_ENGINE. This of course meant patching some other ports, but that was way easier. ok jsing
* Remove some ancient cruft that hasn't been used in agestb2023-07-201-3/+1
| | | | discussed with jsing
* One source file per line.jsing2023-07-071-5/+10
|
* Add bn_printf(), a replacement for ASN1_bn_print()tb2023-07-061-1/+2
| | | | | | | | | | ASN1_bn_print() will be removed in an upcoming bump. This adds an internal API that covers the same functionality but doesn't require that the caller pass in a sufficiently large scratch space that ASN1_bn_print() may or may not use. In addition, this takes a format string, which allows us to ditch some extra dances. ok jsing
* Merge ECDH code that will stay into ecdh.ctb2023-07-051-3/+2
|
* Merge ECDSA code that will stay into ecdsa.ctb2023-07-051-3/+2
| | | | discussed with jsing
* Drop the no longer necessary -DLIBRESSL_CRYPTO_INTERNALtb2023-06-291-2/+2
| | | | ok miod
* With ech_local.h gone, we no longer need to -I ecdhtb2023-06-251-2/+1
|