summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/recallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-07-28Remove ECDSA_METHODtb13-345/+9
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
2023-07-28Remove ecs_err.ctb7-132/+4
These error codes have been unused for a while, so the public API loading them is pointless. ok jsing
2023-07-28Place public ECDSA API next to the internal methodstb1-51/+48
It is hard to remember that ECDSA_do_{sign,verify}() call ecdsa_sign_sig(). Especially since the distinction to ECDSA_{sign,verify}() isn't clear from the names. To add to the confusion, the public API is ordered differently than the methods they call. So in this case it seems tidier to place the public API next to the methods. ok jsing
2023-07-28Remove ECDSA_{do_,}sign_ex()tb1-57/+20
There is no reason to keep these. It is cleaner to keep ECDSA_sign_setup() but remove the logic for passed-in kinv and r. Refuse to cooperate as far as possible. Someone could still implement their own versions of ECDSA_{do_,}_sign_ex() and ECDSA_sign_setup() by leveraging EC_KEY_METHOD_get_sign() and building their own wrappers. We can't make such an implementation of ECDSA_sign_setup() fail, but we make the actual signing fail since we no longer "do the right thing". ok jsing
2023-07-28Make extended ECDSA signing routines internaltb5-25/+14
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).
2023-07-28Remove ASN1_BIT_STRING_set docotb1-42/+2
2023-07-28Remove stale .Xr missed in previoustb1-3/+2
2023-07-28Remove ASN1_BIT_STRING_num_asc.3tb3-151/+3
2023-07-27Prepare the ssltest for the upcoming bumptb1-1/+8
This is a hack. The test is in rather poor shape and it is hard to tell whether it still does what it is supposed to be doing. Hopefully somemone will rewrite this in a style that doesn't make me squeal on opening this file...
2023-07-27Remove antiquated options outputtb3-44/+7
This is uninteresting and rather meaningless except for the implementer. No need to have several hundred lines of code backing half a dozen symbols in the public API for this. ok jsing
2023-07-27Annotate bogus output as incorrecttb1-1/+2
Some people already have way too many simple and not too important diffs in their inbox. This isn't worth kicking something more important out of the queue.
2023-07-27Fix two mandoc -Tlint warnings left in previoustb1-4/+3
2023-07-27Fix typotb1-3/+3
2023-07-26Prepare this test for the upcoming bumptb1-1/+3
2023-07-26Remove comment containing an outdated pathtb1-2/+1
2023-07-26Remove ERR_get_{err_state,string}_table documentationtb1-6/+2
2023-07-26Remove BUF_reverse and BUF_strdup documentationtb1-53/+2
2023-07-26BN_BLINDING will be made internal-only. Remove its documentationtb4-325/+5
2023-07-26BIO_f_asn1 and the prefix/suffix API will be removedtb5-244/+14
Remove their documentation and mark some associated constants as intentionally undocumented until they will be removed from public headers.
2023-07-26Document CMS_SignerInfos_get_version and CMS_get_version which willtb2-4/+53
be added in the upcoming bump.
2023-07-26Tweak EC_GROUP_check_discriminant()tb1-28/+28
Make the logic and control flow a bit more explicit and use a single extra variable for computing the discriminant. Call it discriminant, not tmp, tmp_1 or tmp_2. ok jsing
2023-07-26Unindent a big block in EC_GROUP_get_affine_coordinates()tb1-32/+34
2023-07-26Introduce and use ec_encode_scalar()tb1-43/+48
This introduces two "inverses" of the ec_decode_scalar() function that take a BIGNUM, reduce it modulo p and then encodes it into the curve's field representation. For setting projective coordinates, we need a specialized helper that deals with the Z_is_one optimization that is used to optimize for calculations in standard affine coordinates of the projective plane. This is used for simplifying EC_POINT_set_Jprojective_coordinates() and for cleaning up and streamlining EC_GROUP_set_curve(). ok jsing
2023-07-26Garbage collect the unused order in check_discriminant()tb1-4/+2
ok jsing
2023-07-26Streamline check_discriminant()tb1-14/+6
Instead of inlining EC_GROUP_get_curve(), we can simply call it... ok jsing
2023-07-26Introduce ec_decode_scalar()tb1-81/+39
This is a helper that decodes a scalar from field-internal representation to a representation as a BIGNUM in the interval [0, p). This simplifies EC_GROUP_get_curve() and EC_POINT_get_Jprojective_coordinates() to a few obvious lines and prepares cleanup in EC_POINT_get_affine_coordinates(). ok jsing
2023-07-26Use EC_POINT_set_to_infinity() rather than inlining ittb1-6/+4
2023-07-26Remove constructor attribute for OPENSSL_cpuid_setup() on arm/aarch64.jsing2-10/+2
OPENSSL_cpuid_setup() is invoked via OPENSSL_init_crypto(), whihc is triggered by various entry points to the library. As such, we do not need to invoke it as a constructor. ok tb@
2023-07-25Fix a few more 0/NULL misspellingstb1-8/+8
2023-07-25Use [a,b), not [a,b-1] in a commenttb1-2/+2
2023-07-25EC_POINT_is_on_curve() error is -1, not 0.tb1-2/+2
ok miod
2023-07-24Fix two EC_POINT_is_on_curve() checkstb2-4/+4
This API can fail for various reasons, in which case it returns -1, so you need to check if (EC_POINT_is_on_curve_checks(...) <= 0). ok miod
2023-07-24Fix EC_POINT_is_on_curve() checks.tb1-9/+9
If not even the idiot who invented this API gets this right...
2023-07-24Fix a minibug in DH_check()tb1-2/+2
Or in the flag, don't overwrite the already set ones. ok jsing
2023-07-24Remove OPENSSL_cpuid_setup() call from OPENSSL_add_all_algorithms_noconf()jsing1-2/+1
OPENSSL_cpuid_setup() used to need to be called from OPENSSL_add_all_algorithms(), as that was the main entry point. These days we do on demand initialisation and there are various paths that lead to OPENSSL_init_crypto() being called, which in turn calls OPENSSL_cpuid_setup(). ok tb@
2023-07-24Mark read/write registers as non-overlapping for bn_qwmulw_{addqw_,}addw()jsing1-3/+3
This does not cause an issue currently, however if called differently to their current usage, it can lead to an input being overwritten and incorrect results being generated.
2023-07-24Use C99 initializers for x509_name_fftb1-8/+8
2023-07-24remove errstr -stats testtb1-3/+1
reminded by anton
2023-07-23sprinkle some void between () in function definitionstb13-26/+26
2023-07-23Remove -stats option from openssl(1) errstr.tb2-41/+5
This is the only consumer of ERR_get_string_table(), which will go away. ok jsing
2023-07-22Tweak previous. Should have been 60 instead of 64tb1-3/+3
2023-07-22Align argument names of OBJ_add_sigid() with the other functions.tb1-2/+2
2023-07-22Rewrite obj_xref.ctb4-419/+291
Instead of having two unreadable tables placed in a header generated by a janky perl script from an ugly text file, use a single table inlined in the C file. This table is used to translate between signature algorithm OIDs and pairs of OIDs of a message digest and a cipher. The table has fewer than fifty entries and isn't used in a hot path. Using binary search is overkill. Just do two linear searches, one for each translation. None of the original code remains apart from the API. ok jsing
2023-07-22No need to call OBJ_sigid_free() in EVP_cleanup() anymore.tb1-2/+1
ok jsing
2023-07-22Neuter OBJ_add_sigid() and OBJ_sigid_free()tb1-93/+11
These functions will be removed in the upcoming bump. Nothing uses them, so it won't hurt if they become noops. This allows us to garbage collect the sig_app and sigx_app stacks and make a first step towards simplifying the OBJ_bsearch_() dances. Also sprinkle some const correctness... because we can. intermediate step towards a diff that is ok jsing
2023-07-22Adapt bn_print() for EdDSA key printingtb1-7/+40
This is essentially a reimplementation of ASN1_buf_print(). The latter was only added for these printing purposes and it will be removed again since nothing uses it. We can then simply remove t_pkey.c in the upcoming bump. ok jsing
2023-07-22Simplify indent handling in bn_print()tb1-6/+3
variant of a suggestion by jsing
2023-07-22Fix #includes in ct_sct.ctb1-5/+7
This does not need tls1.h (upstream used TLSEXT constants we don't have) nor does it need evp.h. But it does need asn1.h, objects.h for STACK_OF and NID_*, among other things and it also uses uint64_t and allocates, so it needs stdint.h and stdlib.h.