summaryrefslogtreecommitdiff
path: root/lib/libcrypto/Makefile
AgeCommit message (Collapse)Author
9 daysMerge ec_kmeth into ec_keyTheo Buehler
13 daysMerge ecp_mont.c into ecp_methods.cTheo Buehler
13 daysRename ecp_smpl.c to ecp_methods.cTheo Buehler
While not the greatest of names, ecp_methods.c is better than ecp_smpl.c. It matches the naming ecx_methods.c and in a subsequent commit it will become the new home of the stuff in ecp_mont.c as well. discussed with jsing
2024-11-06Rename malloc-wrapper.c to crypto_memory.cTheo Buehler
Apparently it's important that five trivial one-line wrappers remain in a file with the ISC license. So instead of cleaning the root directory of our favorite pigsty further by squashing all the useless legacy garbage into a single file, rename the oddly-named malloc-wrapper.c into crypto_memory.c. discussed with beck, jsing
2024-11-05Rename cpt_err.c into crypto_err.cTheo Buehler
It is a bit sad, because cpt is such an apt abbreviation for crypto that everybody immediately understands. discussed with jsing
2024-11-05Relocate FIPS stubs to crpyto_legacy.cTheo Buehler
discussed with jsing
2024-11-05CRYPTO_mem_ctrl() is also relocated to crypto_legacy.cTheo Buehler
discussed with jsing
2024-11-05Move OPENSSL_cleanse() to crypto_legacy()Theo Buehler
The correct spelling is explicit_bzero() and it doesn't need its own file. discussed with jsing
2024-11-05Fold cversion.c into crypto_legacy.cTheo Buehler
discussed with jsing
2024-11-05Rename cryptlib.c into crypto_legacy.cTheo Buehler
discussed with jsing
2024-11-02Merge compressed coordinate setting back into ecp_smpl and ec_libTheo Buehler
The reason these were in separate files was FIPS. Not our problem.
2024-11-01sortTheo Buehler
2024-10-30Move the point2bn and point2hex API to ec_convert.cTheo Buehler
discussed with jsing
2024-10-30Move public point <-> octets API to a new ec_convert.cTheo Buehler
discussed with jsing
2024-10-19Move EC_GROUP_check() to ec_lib.cTheo Buehler
EC_GROUP_check() is quite simple. It doesn't need to use its own file.
2024-10-18Inline last use of OPENSSL_load_builtin_modules()Theo Buehler
This used to be a trivial wrapper of the ASN1_add_oid_module() horror. It's no longer exported, so it can go away. It moves from the terribly named file conf_mall.c to the equally terribly named file conf_sap.c. I have no idea what mall and sap are supposed to mean in this context.
2024-10-18Move EC_GROUP_new_curve_GFp() into ec_lib.cTheo Buehler
Another single-function file goes away.
2024-08-31Combine DES code into a smaller set of files.Joel Sing
Discussed with tb@
2024-08-31Merge fcrypt_b.c into fcrypt.c.Joel Sing
There is no need for these to be separate (presumably done due to assembly implementations, even though there are #ifdef as well). Discussed with tb@
2024-08-31Unexport OPENSSL_cpuid_setup and OPENSSL_ia32cap_PTheo Buehler
This allows us in particular to get rid of the MD Symbols.list which were needed on amd64 and i386 for llvm 16 a while back. OPENSSL_ia32cap_P was never properly exported since the symbols were marked .hidden in the asm. ok beck jsing
2024-08-31Nuke the whrlpool (named after the galaxy) from orbitTheo Buehler
It's just gross. Only used by a popular disk encryption utility on an all-too-popular OS one or two decades back. ok beck jsing
2024-08-31Remove DES_enc_{read,write} and DES_rw_modeTheo Buehler
Unfortunately we'll probably never be able to get rid of DES entirely. One part of it that is old enough to be a grandparent can go, though. ok beck jsing
2024-08-31Garbage collec UI_UTIL remnantsTheo Buehler
ok beck jsing
2024-08-31Retire conf_api.h and the API thereinTheo Buehler
This makes the _CONF_* layer of the conf module internal and gets rid of the entirely unused conf_api.h. ok beck jsing
2024-08-31Make CONF_METHOD opaqueTheo Buehler
Much of conf is designed in such a way that you really have to reach into its structs. This one piece can be hidden. It might even be removed soon. ok beck jsing
2024-08-28Implement X509_get_signature_info()Theo Buehler
This is a slightly strange combination of OBJ_find_sigid_algs() and the security level API necessary because OBJ_find_sigid_algs() on its own isn't smart enough for the special needs of RSA-PSS and EdDSA. The API extracts the hash's NID and the pubkey's NID from the certificate's signatureAlgorithm and invokes special handlers for RSA-PSS and EdDSA for retrieving the corresponding information. This isn't entirely free for RSA-PSS, but for now we don't cache this information. The security bits calculation is a bit hand-wavy, but that's something that comes along with this sort of numerology. ok jsing
2024-08-10Remove the empty ui_compat.hTheo Buehler
unused in ports and on codesearch
2024-08-02Rewrite CRYPTO_EX_DATA.Joel Sing
CRYPTO_EX_DATA exists as a way to allow an application to attach data to various components in libcrypto and libssl. The general idea is that there are various "classes" (e.g. RSA) and an application can get an "index" (which can have new/dup/free functions provided). The application can then use the index to store a pointer to some form of data within that class, for later retrieval. However, even by OpenSSL standards, this is an insane API. The current implementation allows for data to be set without calling new, indexes can be used without allocation, new can be called without actually getting an index and dup can be called either after new or without new (see regress and RSA_get_ex_new_index(3)/CRYPTO_set_ex_data(3) for more details). On top of this, the previous "overhaul" of the code was written to be infinitely extensible. For now, the rewrite intends to maintain the existing behaviour - once we bed this down we can attempt to ratchet the API requirements and require some sort of sensible sequence. The only intentional change is that there is now a hard limit on the number of indexes that can be allocated (previously there was none, relying only on ENOMEM). ok tb@
2024-07-10Remove the static symbols.namespace, and just generate the _libre_Bob Beck
symbols from symbols.list now that we have everything hidden ok tb@
2024-07-09link tls1_prf.c to buildTheo Buehler
ok jsing
2024-07-09Actually enable namespaced builds in both libcrypto and libsslBob Beck
(instead of commiting only one part)
2024-07-09Enable namespaced builds by default for libssl and libcrypto.Bob Beck
Some further refinements will happen to the build process to automatically generate the Symbols.namespace file, and to remove our last public unhidden symbol (which was a mistake, but waits for a major bump to get removed) But for now everything should be using this. ok tb@
2024-06-24libcrypto: constify most error string tablesTheo Buehler
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->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
2024-05-24Stub out DES_enc_{read,write}(3)Theo Buehler
The most terrible code in OpenSSL has its roots in libdes, which came before SSLeay. Hello, LHASH. Hello speed app. Hello DES (obviously). There are some diary-style changelog comments dating all the way back to 1990. /* This has some uglies in it but it works - even over sockets. */ Well, kind of: * - This code cannot handle non-blocking sockets. Also: /* >output is a multiple of 8 byes, if len < rnum * >we must be careful. The user must be aware that this * >routine will write more bytes than he asked for. * >The length of the buffer must be correct. * FIXED - Should be ok now 18-9-90 - eay */ Or /* This is really a bad error - very bad * It will stuff-up both ends. */ Or #ifdef _LIBC extern unsigned long time(); extern int write(); #endif I can't even... Delete, delete, delete. ok jsing
2024-04-25Take pem2.h behind the barnTheo Buehler
/* * 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
2024-04-15Bye, bye, OPENSSL_str{,n}casecmp()Theo Buehler
ok jsing
2024-03-29Consolidate cast code.Joel Sing
2024-03-29Consolidate camellia code.Joel Sing
2024-03-29Move camellia to primary Makefile.Joel Sing
These files are now built on all platforms.
2024-03-29Move aes_core.c to the primary Makefile.Joel Sing
This is now built on all platforms.
2024-03-29Consolidate idea into a single C file.Joel Sing
2024-03-29Consolidate whirlpool into a single C file.Joel Sing
Buy a vowel at the same time, since we're no longer limited to 8.3 file names. Discussed with tb@
2024-03-29Move wp_block.c to the primary Makefile.Joel Sing
This is now built on all platforms.
2024-03-28Merge aes_cbc.c into aes.c now that aes_cbc.c is used on all platforms.Joel Sing
2024-03-28Nuke more leftover GOST tendrils.Bob Beck
ok tb@
2024-03-28Remove fallback files that are now always included in the build.Joel Sing
2024-03-28Move rc4.c to primary Makefile.Joel Sing
This is now built on all platforms.
2024-03-28Move des sources to primary Makefile.Joel Sing
Now that all platforms use a C des implementation, move it to the primary Makefile.
2024-03-28Consolidate most of the AES modes into a single C file.Joel Sing
Discussed with tb@
2024-03-27Catch the blowfish that escaped.Joel Sing