summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/reallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-04-17ecdh_cms_encrypt: tweak handling of ecdh_nidtb1-4/+3
ok jsing
2024-04-17ecdh_cms_encrypt: handle kdf_md in one gotb1-3/+3
Again the getting and the setting were interrupted by ten lines of completely unrelated code. ok jsing
2024-04-17ecdh_cms_encrypt: simplify setting the KDF typetb1-13/+6
It is much simpler to avoid the key_type variable altogether and inline its use. Also it makes no sense to have 15 unrelated lines between the getting of the kdf type, checking its content, and then actually setting it to EVP_PKEY_ECDH_KDF_X9_63. ok jsing
2024-04-17Use error checked X509_ALGOR_set0_by_nidtb1-5/+5
While setting the parameters to type V_ASN1_UNDEF can't actually fail, it is cleaner to just do the check. Using the by_nid() variant also removes the need for an unchecked nested OBJ_nid2obj() call. ok jsing
2024-04-17ecdh_cms_encrypt: simplify handling of pkeytb1-15/+6
The pkey is only used in one scope. i2o allocates if passed a pointer to NULL, so use that to drop two unnecessary local variables. ok jsing
2024-04-17Transfer ownership before setting unused bitstb1-2/+4
This looks like a use after free, but setting the unused bits to 0 can't actually fail. ok jsing
2024-04-17Turn ecdh_cms_encrypt() into single exittb1-7/+7
Also use ret instead of rv. ok jsing
2024-04-17Fix error check in ecdh_cms_encrypt()tb1-2/+2
ASN1_TYPE_get() returns V_ASN1_* constants. Checking the return for NID_undef instead means that we actually check for V_ASN1_EOC, which makes absolutely no sense here. Clearly V_ASN1_UNDEF was intended. ok jsing
2024-04-17Add regress coverage for BN_lebin2bn().jsing1-3/+17
2024-04-17Avoid NULL dereference in EVP_PKEY_paramgen()tb1-6/+8
If EVP_PKEY_new() returns NULL, it would be passed to the paramgen() pmeth which would typically dereference it. This is identical to a recent change in keygen(). ok jsing
2024-04-17openssl req: plug obvious leaktb1-1/+2
CID 492603
2024-04-16Fix key share negotiation in HRR casetb1-1/+40
In the ClientHello retrying the handshake after a HelloRetryRequest, the client must send a single key share matching the group selected by the server in the HRR. This is not necessarily the mutually preferred group. Incorrect logic added in ssl_tlsect.c r1.134 would potentially reject such a key share because of that. Instead, add logic to ensure on the server side that there is a single share matching the group we selected in the HRR. Fixes a regress test in p5-IO-Socket-SSL where server is configured with P-521:P-384 and the client with P-256:P-384:P-521. Since the client sends an initial P-256 key share, a HRR is triggered which the faulty logic rejected because it was not the mutually preferred P-384 but rather matching the server-selected P-521. This will need some deduplication in subsequent commits. We may also want to consider honoring the mutual preference and request a key accordingly in the HRR. reported by bluhm, fix suggested by jsing ok beck jsing
2024-04-16Invert BN_BITS2 handling in bn_bin2bn_cbs() and bn_hex2bn_cbs().jsing1-11/+11
This results in simpler code. Suggested by tb@ during review.
2024-04-16Rewrite BN_bin2bn() using CBS.jsing1-35/+58
ok tb@
2024-04-16Provide bn_expand_bytes().jsing2-2/+16
This will be used in an upcoming change. ok tb@
2024-04-16Rename bn_expand() to bn_expand_bits().jsing3-10/+7
Also change the bits type from int to size_t, since that's what the callers are passing and we can avoid unnecessary input validation. ok tb@
2024-04-16sorttb1-1/+1
2024-04-15Remove workarounds for unprototyped symbolstb1-71/+1
2024-04-15Include the correct headertb1-2/+2
2024-04-15crank libtls like libcrypto and libssltb1-1/+1
2024-04-15crank libssl major after libcrypto major and symbol removaltb1-1/+1
2024-04-15Unexport SSL_version_strtb2-4/+1
ok jsing
2024-04-15crank libcrypto major after symbol removaltb1-1/+1
2024-04-15Bye, bye, OPENSSL_str{,n}casecmp()tb3-25/+1
ok jsing
2024-04-15And a pile of TS ASN.1 stuff becomes internal-only, tootb2-19/+10
ok jsing
2024-04-15X509_NAME_ENTRIES_it and X509_NAME_INTERNAL_it go internaltb2-5/+3
It's always good to see something called internal in the public API. ok jsing
2024-04-15And here go {,EC}DSA_SIG_ittb3-6/+4
ok jsing
2024-04-15DHparam_it becomes static, tootb2-3/+2
ok jsing
2024-04-15More X9.62 stuff was never used outside of ec_asn1.ctb2-43/+5
We only need the ASN.1 items. ok jsing
2024-04-15EC_PRIVATEKEY becomes internal-only, tootb2-15/+10
ok jsing
2024-04-15Unexport the ECPKPARAMETERS APItb3-19/+12
ok jsing
2024-04-15Make ECPARAMETERS_{new,free,it} internal-onlytb2-8/+5
ok jsing
2024-04-15Move BIO_CONNECT_{new,free}() to internal-onlytb2-7/+5
ok jsing
2024-04-15Remove ASN1_time_clamp_not_after() from Symbols.listtb1-1/+0
This was only ever semi-public and libtls no longer uses it since it was switched to the BoringSSL POSIX time API. ok jsing
2024-04-15Enable negative zero checks for BN_clear_bit() and BN_mask_bits().jsing1-5/+1
2024-04-15Prevent negative zero from being created via BN bit functions.jsing1-1/+7
Both BN_clear_bit() and BN_mask_bits() can create zero values - in both cases ensure that the negative sign is correctly handled if the value becomes zero. Thanks to Guido Vranken for providing a reproducer. Fixes oss-fuzz #67901 ok tb@
2024-04-15drop htonl(), htons(), ntohl(), ntohs() MD functions from libcnaddy5-50/+21
Userland code compiled in a normal fashion picks up the htonl(), htons(), ntohl(), ntohs() macros implemented by endian.h. The functions in libc are effectively unused. Keep the MI functions in case something looks for the symbols in libc or plays games with #undef, but change them to wrap the implementation from endian.h. tweaks suggested by claudio@, ok miod@
2024-04-14t22 and t23 can fail if the first chunk ends up being allocated atotto1-2/+12
the very end of the page. Circumvent that. Reported by and fix ok anton@
2024-04-14Fix indenttb1-3/+3
pointed out by jsing
2024-04-14Delete a few more GOST remnantstb1-21/+1
When I unifdefed GOST support, the tree wasn't fully unlocked, so I didn't want to touch a public header. All this code is in #ifndef OPENSSL_NO_GOST, which we define. ok jsing
2024-04-14Remove documentation of no longer available APItb1-85/+4
2024-04-13Error check X509_ALGOR_set0() in {dsa,ec}_pkey_ctrl()tb2-7/+16
These are four versions of near identical code: PKCS#7 and CMS controls for DSA and EC. The checks are rather incomplete and should probably be merged somehow (see the Ed25519 version in ecx_methods(). For now, only replace X509_ALGOR_set0() with its internal by_nid() version and, while there, spell NULL correctly. ok jca
2024-04-13Unwrap a line for consistency with other copy-pasted versionstb1-3/+2
2024-04-12bio_enc: various basic cleanuptb1-64/+67
Call a BIO bio rather than bi, a, or b; don't cast when assigning from or to a (void *). Drop loads of silly redundant parentheses, use better order of variable declarations. No change in the generated assembly
2024-04-12Garbage collect various *_init() pmethstb3-53/+24
It's unclear whether the functions these support were ever really used for anything else than kicking off an overenginerred state machine. ok jsing
2024-04-12Fix a potential NULL-deref in EVP_PKEY_keygen()tb1-6/+8
After a EVP_PKEY_new() failure, a NULL pointer would be passed to the keygen pmeth, which could result in tears. ok beck jsing
2024-04-11Remove parentheses after returntb1-40/+40
This file was very undecided what style to choose and often changed its mind in the middle of a function. No change in the generated assembly.
2024-04-11Rework internal tm_to_*() converterstb1-69/+66
Make them static. Don't make them allocate if passed a NULL ASN1_TIME to avoid leaks. This currently means that we accept a NULL and succeed. That's very ugly but better than what we have now. Simplify ASN1_TIME_set_string_internal() accordingly and allocate an ASN1_TIME at the API boundary of ASN1_TIME_adj_internal() and of ASN1_TIME_to_generalized_time(). ok beck (after a lot of squealing and distress)
2024-04-10symbols test: Remove a few things that are long gonetb1-19/+5
2024-04-10Re-guard the crypto_malloc macros.beck1-1/+3
accidentally not included in crypto.h commit requested and ok tb@