summaryrefslogtreecommitdiff
path: root/src/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* PEM_def_callback(3) does not truncate its argument but merely the copy,schwarze2023-09-181-15/+21
| | | | plus a few wording improvements
* Rewrite RSA_get_ex_new_index(3) and CRYPTO_set_ex_data(3) from scratch.schwarze2023-09-182-462/+753
| | | | | | | | | The defects of the old pages were too numerous to list in full but included vagueness, gaps, misleading statements, bad ordering, and duplication. Use my Copyright since none of the text we inherited from OpenSSL remains. Without doing a thorough review, tb@ thinks he likes the new pages after quickly reading through both of them.
* replace the outdated statement that everything uses SHA-1schwarze2023-09-131-5/+33
| | | | by a table showing the supported algorithms
* Document the special meaning of NID_undef in this context.schwarze2023-09-131-4/+13
| | | | | | | | From Matt Caswell <matt at openssl dot org> via OpenSSL commit 1212818e (Sep 11, 2018) from the OpenSSL 1.1 branch, which is still under a free license. Wording slightly tweaked by me.
* Various improvements:schwarze2023-09-131-15/+63
| | | | | | | | * Document the ASN1_PKEY_CTRL_DEFAULT_MD_NID control operation. * Mention that EVP_PKEY_asn1_new(3) sets ASN1_PKEY_DYNAMIC. * Fix the description of EVP_PKEY_asn1_copy(3), which was totally wrong. * Warn about the crazy ASN1_PKEY_DYNAMIC handling in EVP_PKEY_asn1_free(3). * Be more precise about EVP_PKEY_asn1_new(3) RETURN VALUES.
* document the EVP_PKEY_ASN1_METHOD flagsschwarze2023-09-131-5/+51
| | | | ASN1_PKEY_ALIAS, ASN1_PKEY_DYNAMIC, and ASN1_PKEY_SIGPARAM_NULL
* minor markup fixes: add one missing .Dv and one missing .Vt macroschwarze2023-09-131-4/+8
|
* document the EVP_PKEY_CTRL_MD and EVP_PKEY_CTRL_GET_MD command constantsschwarze2023-09-131-4/+35
|
* fix typoschwarze2023-09-121-2/+2
|
* document the four EVP_PKEY_OP_TYPE_* mask constantsschwarze2023-09-121-4/+23
|
* document sizes for ED25519 and X25519,schwarze2023-09-121-6/+19
| | | | including the constants ED25519_KEYLEN and X25519_KEYLEN
* document the constant EVP_CHACHAPOLY_TLS_TAG_LENschwarze2023-09-122-3/+9
|
* Document EVP_AEAD_DEFAULT_TAG_LENGTH and EVP_AEAD_MAX_TAG_LENGTH,schwarze2023-09-121-5/+20
| | | | making some adjacent wordings slightly more precise.
* fix the vague and misleading description of the EVP_MD_FLAG_* constantsschwarze2023-09-121-22/+72
|
* Small cleanups in cms_sd_asn1_ctrl():tb2023-09-111-6/+6
| | | | Compare explicitly against NULL and use ret instead of i.
* Rewrite CMS_SignerInfo_{sign,verify}()tb2023-09-111-61/+55
| | | | | | | | | Convert to using one-shot signing and verification. This is simpler than doing Init/Update/Final and necessary for Ed25519 support (RFC 8419). Use a single exit idiom, don't reuse the same buffer for decoding and signing and simplify a few other things. ok jsing
* spellingjsg2023-09-111-3/+3
|
* Back out superfluous initializationjob2023-09-111-5/+4
| | | | requested by jsing@
* Make EVP_PKEY_get1_$TYPE a wrapper of EVP_PKEY_get0_$TYPEtb2023-09-101-22/+29
| | | | | | | Avoids a bit of code duplication and reduces the probability of a fix being applied to only one of get0 and get1 (which happend in p_lib.c r1.35). ok jsing
* EVP_CipherInit(): use EVP_CIPHER_CTX_cleanup()tb2023-09-101-3/+3
| | | | | | | | | | | | | | | | Before EVP_CIPHER_CTX was opaque, callers could pass an uninitialized ctx into EVP_CipherInit() and calling EVP_CIPHER_CTX_cleanup() on such a ctx would end in tears. The only way to initialize a ctx is by way of EVP_CIPHER_CTX_new(), on which we can call EVP_CIPHER_CTX_cleanup() and avoid silly leaks on ctx reuse. This also allows some simplifications in the documentation. There are more changes of this kind that should be done all over libcrypto. They will be tackled in subsequent commits. "makes a lot of sense" schwarze ok jsing
* Mention EVP_PKEY_encrypt_old(3) and EVP_PKEY_decrypt_old(3) becauseschwarze2023-09-101-7/+87
| | | | | | | some software still calls them. Put them here because despite the function and header names, they are really specific to RSA. Besides, this avoids a distraction in the more important EVP_PKEY_encrypt(3) and EVP_PKEY_decrypt(3) manual pages.
* Briefly mention SSLeay_add_all_algorithms(3) becauseschwarze2023-09-101-6/+18
| | | | | | | | surprisingly large numbers of software packages still call it. Mark the unused aliases OPENSSL_add_all_algorithms_conf(3), OPENSSL_add_all_algorithms_noconf(3), SSLeay_add_all_ciphers(3), and SSLeay_add_all_digests(3) as intentionally undicumented.
* Document the deprecated functions EVP_set_pw_prompt(3) andschwarze2023-09-101-71/+86
| | | | | | | | | | | | | | | | EVP_get_pw_prompt(3) because some software out there still uses them. While here, also improve the description of EVP_read_pw_string(3). Delete documentation for des_read_pw(3) and des_read_pw_string(3). They couldn't be used in LibreSSL since at least 2016 because they were never in Symbols.list, and in 2022, jsing@ also removed them from <openssl/ui_compat.h>. Delete the misleading AUTHORS section. Richard Levitte did not write the original implementation of these functions, and the compatibility wrapper around the UI_process(3) API that he did write is not notable enough to be mentioned so prominently.
* Mark EVP_ENCODE_LENGTH() and EVP_DECODE_LENGTH() as intentionallyschwarze2023-09-101-2/+6
| | | | | | | undocumented because they do not describe properties of the Base64 encoding but add arbitrary constant lengths, hence being implementation details of BIO_f_base64(3). Besides, they are practically unused outside evp/bio_b64.c.
* fix Xr punctuationjsg2023-09-101-3/+3
|
* spellingjsg2023-09-102-6/+6
|
* new manual page EVP_PKEY_CTX_get_operation(3),schwarze2023-09-094-5/+127
| | | | also documenting EVP_PKEY_CTX_get0_pkey(3)
* document EVP_PKEY_CTX_get_data(3) and EVP_PKEY_CTX_set_data(3)schwarze2023-09-091-6/+58
|
* Document EVP_PKEY_CTX_set0_keygen_info(3).schwarze2023-09-091-10/+59
| | | | | | While here, also add the missing RETURN VALUES entries for EVP_PKEY_gen_cb(3), EVP_PKEY_CTX_get_cb(3), and EVP_PKEY_CTX_get_keygen_info(3).
* Document EVP_PKEY_CTX_get0_peerkey(3).schwarze2023-09-091-19/+97
| | | | While here, also make the descriptions of the other functions more precise.
* Print waring message when not allocated memory in putleakinfo().asou2023-09-091-2/+20
| | | | ok otto.
* Mark EVP_PKEY_save_parameters() as intentionally undocumentedschwarze2023-09-081-2/+6
| | | | | | because nothing uses it according to codesearch.debian.net and it only affects X509_PUBKEY_set(3) for DSA and GOST2001 keys, resulting in incomplete output without the public key parameters.
* Below RETURN VALUES,schwarze2023-09-071-10/+12
| | | | | | | | | | | | * mention that EVP_MD_CTX_md(3) also returns NULL if no message digest is configured yet; and * omplete the list of functions returning const EVP_MD *, also making the wording more precise. Delete EVP_MAX_MD_SIZE from the NAME, SYNOPSIS, and HISTORY sections because we do not usually document preprocessor macro constants in this way. There is nothing special about this constant justifying an exception.
* add the missing entries for EVP_MD_CTX_pkey_ctx(3) and EVP_MD_CTX_md_data(3)schwarze2023-09-071-1/+7
| | | | to the RETURN VALUES section
* document EVP_MD_nid(3) and EVP_MD_name(3)schwarze2023-09-071-4/+41
|
* improve the descriptions of most functionsschwarze2023-09-071-30/+45
|
* Split two new manual pages EVP_MD_nid(3) and EVP_MD_CTX_ctrl(3)schwarze2023-09-075-315/+501
| | | | out of the large EVP_DigestInit(3). No text change.
* Mark EVP_CIPHER_set_asn1_iv() and EVP_CIPHER_get_asn1_iv() as intentionallyschwarze2023-09-061-2/+7
| | | | | | | | undocumented because they are unused outside libcrypto according to codesearch.debian.net and should probably not be public: they seem hardly useful even for implementing custom EVP_CIPHER algorithms. tb@ came to similar conclusions regarding these two functions.
* Initialize afi & safi to zerojob2023-09-061-4/+5
| | | | OK tb@
* Avoid use-of-uninitialized in i2r_IPAddrBlocks()tb2023-09-061-1/+8
| | | | | | | Reported by Viktor Szakats in https://github.com/libressl/portable/issues/910 ok job
* Correct the RETURN VALUES of OBJ_add_object(3).schwarze2023-09-061-6/+33
| | | | | | | | The text was misleading before and after the improvement in obj_dat.c rev. 1.61. The way i'm fixing the documentation here takes that improvement into account. Also add a CAVEATS section about adding incomplete objects.
* add a BUGS section warning about the creation of incomplete objectsschwarze2023-09-051-3/+22
|
* Improve error handling in OBJ_add_object()tb2023-09-051-13/+7
| | | | | | | | | | | | | | | | | There is no need for a helper function to obfuscate lh_ADDED_OBJ_new(). Just call the real thing directly. Adding an object with a NID of NID_undef basically amounts to disabling a built-in OID. It does so in an incoherent fashion and the caller can't easily tell success from failure of the operation. Arguably the result is a corrupted objects table. Let's not allow adding such an object in an attempt at keeping things slightly more coherent. Issue noted and initial diff by schwarze while writing documentation ok schwarze
* document EVP_CIPHER_name(3)schwarze2023-09-051-2/+32
|
* add the missing .Dv macros to the list of flagsschwarze2023-09-051-13/+13
|
* improve the descriptions of almost all flags,schwarze2023-09-051-40/+101
| | | | in particular saying which API functions each flag affects
* Partial rewrite:schwarze2023-09-051-140/+231
| | | | | | | | | | | | | | | | | * Integrate the leftovers of the former NOTES section into the main text, resulting in a more logical order of information. * Make many descriptions more precise and tweak many wordings. For example, the description of OBJ_cmp(3) was totally misleading. Add a CAVEATS section explaining the scary ownership contracts of the functions returning ASN1_OBJECT pointers. Move the discussion of NID_undef to the BUGS section because the statement "objects which are not in the table have the NID value NID_undef" was misleading in more than one way. Considering that an API as fundamental as this one contains such a gigantic amount of quirks and traps and gaps makes me shudder.
* Make wp_local.h and cmll_local.h self-standingtb2023-09-044-9/+12
|
* unbreak build with llvm-16 by including sys/types.h for __BEGIN_HIDDEN_DECLSrobert2023-09-042-2/+6
| | | | | | /usr/src/lib/libcrypto/whrlpool/wp_local.h:5:1: error: unknown type name '__BEGIN_HIDDEN_DECLS' ok tb@
* whitespacetb2023-09-021-2/+2
|