summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/system.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-10In dsa.h rev. 1.38, tb@ provided DSA_meth_get0_name(3)schwarze1-8/+55
and DSA_meth_set1_name(3). Merge the documentation from the OpenSSL 1.1.1 branch, which is still under a free license, significantly tweaked by me.
2022-07-09Check that ASN1_{INTEGER,ENUMERATED}_get(NULL) return 0 as documented.tb1-1/+22
2022-07-09Make ASN1_{INTEGER,ENUMERATED}_get() return 0 on NULL againtb2-2/+6
This is the documented behavior which got lost in the recent rewrite. Mismatch of documentation and reality pointed out by schwarze ok jsing
2022-07-09Document ASN1_INTEGER_get_uint64(3), ASN1_INTEGER_get_int64(3),schwarze1-6/+90
ASN1_INTEGER_set_uint64(3), ASN1_INTEGER_set_int64(3), ASN1_ENUMERATED_get_int64(3), and ASN1_ENUMERATED_set_int64(3) recently provided by tb@. Even though Dr. Steven Henson also documented these functions in OpenSSL, the text over there is excessively verbose, repetitive, very badly ordered, and incomplete, so i chose to instead write this patch from scratch, also adding some precision in a few places.
2022-07-08whitespacetb1-3/+3
2022-07-08Add to variables instead of overriding themtb1-4/+4
2022-07-07Add support for primality checkingtb4-10/+218
Project Wycheproof's primality_tests.json contain a set of 280 numbers that trigger edge cases in Miller-Rabin and related checks. libcrypto's Miller-Rabin test is known to be rather poor, hopefully we will soon see a diff on tech that improves on this. This extends the Go test in the usual way and also adds a perl script that allows testing on non-Go architectures. Deliberately not yet linked to regress since the tests are flaky with the current BN_is_prime_ex() implementatation.
2022-07-07sorttb1-1/+1
2022-07-07Sync bs_cbb.c with libssl.tb1-1/+4
ok jsing
2022-07-07Make CBB_finish() fail if *out_data is not NULLtb1-1/+4
Contrary to CBS_stow(), CBB_finish() will leak, so ensure we fail if *out_data is populated. Discussed with & ok jsing
2022-07-07Initialize hkdf_label to NULL.tb1-2/+2
Needed for an upcoming diff adding a NULL check to CBB_finish(). ok jsing
2022-07-07Use a local bits variable to avoid ugly line break due to nested functiontb1-6/+16
calls. ok jsing
2022-07-07Use the security level knob in the test script.tb1-2/+14
from beck
2022-07-07Only run tests against ciphers supported by the method.tb2-4/+28
2022-07-07Add some minimal regress coverage for the security level.tb1-1/+6
From beck
2022-07-07Make the ssltest security level aware.tb1-1/+9
From beck
2022-07-07Bump libtls minor after libcrypto and libssl minor bumptb1-1/+1
2022-07-07Unifdef LIBRESSL_HAS_SECURITY_LEVEL and remove some workaroundstb3-35/+4
that are no longer needed now that libcrypto exposes the necessary security-bits API. ok jsing
2022-07-07Bump minor after symbol additiontb1-1/+1
2022-07-07Update Symbols.listtb2-0/+25
ok jsing
2022-07-07Expose security level symbols and error codes in the headers.tb2-6/+2
ok jsing
2022-07-07bump minor after symbol additiontb1-1/+1
2022-07-07Expose new API in headers.tb7-31/+7
These are mostly security-level related, but there are also ASN1_TIME and ASN_INTEGER functions here, as well as some missing accessors. ok jsing
2022-07-07Switch ssltest to using the newly generated certs that use SHA-256 insteadtb2-8/+6
of SHA-1. This helps the switch to security-level aware ssltest. From jsing
2022-07-05Add missing X509_V_ERR_ strings using the ones from OpenSSL.tb1-1/+17
The well-known masters of consistency of course use strings that don't match the names of the errors. ok jsing
2022-07-05Use secop instead of op everywheretb1-15/+15
2022-07-05Pull setting of is_ee out of the function calls to appease scan-buildtb1-3/+5
2022-07-05cope with ASN1_TIME_set_string_X509() renameanton1-3/+3
2022-07-04The OpenSSL API is called ASN1_TIME_set_string_X509() (uppercase x)tb2-4/+4
2022-07-04Bump to LibreSSL 3.6.0tb1-3/+3
2022-07-04Sync with changes in dsa_meth.ctb2-11/+12
pointed out by jsing
2022-07-04Prepare to provide DSA_meth_{get0,set1}_name()tb3-8/+35
Also follow OpenSSL by making the name non-const to avoid ugly casting. Used by OpenSC's pkcs11-helper, as reported by Fabrice Fontaine in https://github.com/libressl-portable/openbsd/issues/130 ok jsing sthen
2022-07-04Prepare to provide X509_VERIFY_PARAM_get_time()tb2-2/+9
ok jsing sthen
2022-07-03Reword a commenttb1-2/+2
2022-07-03Unwrap a linetb1-3/+2
2022-07-03Update instructions for using curl's mk-ca-bundle script.sthen1-4/+4
2022-07-03Simplify certificate list handling code in legacy server.jsing1-62/+50
A client is required to send an empty list if it does not have a suitable certificate - handle this case up front, rather than going through the normal code path and ending up with an empty certificate list. This matches what we do in the TLSv1.3 stack and will allow for ruther clean up (in addition to making the code more readable). Also tidy up the CBS code and remove some unnecessary length checks. Use 'cert' and 'certs' for certificates, rather than 'x' and 'sk'. ok tb@
2022-07-03Simplify certificate list handling code in legacy client.jsing1-45/+33
Tidy up CBS code and remove some unnecessary length checks. Use 'cert' and 'certs' for certificates, rather than 'x' and 'sk'. ok tb@
2022-07-03Simplify tls1_ec_nid2group_id()tb1-98/+10
Replace long switch statement duplicating data from nid_list[] with a linear scan. requested by and ok jsing
2022-07-03Simplify tls1_ec_group_id2{bits,nid}()tb1-9/+9
Instead of a nonsensical NULL check, check nid_list[group_id].{bits,nid} is not 0. This way we can drop the group_id < 1 check. ok jsing
2022-07-02Call certificate variables cert and certs, rather than x and skjsing1-6/+6
ok tb@
2022-07-02Use ASN1_INTEGER to parse/build (Z)LONG_itjsing1-69/+67
Rather than having yet another (broken) ASN.1 INTEGER content builder and parser, use {c2i,i2c}_ASN1_INTEGER(). ok beck@
2022-07-02Remove references to openssl/obj_mac.hjsing3-12/+11
Consumers should include openssl/objects.h instead.
2022-07-02Stop using ssl{_ctx,}_security() outside of ssl_seclevel.ctb7-23/+60
The API is ugly and we can easily abstract it away. The SSL_SECOP_* stuff is now confined into ssl_seclevel.c and the rest of the library can make use of the more straightforward wrappers, which makes it a lot easier on the eyes. ok beck jsing
2022-07-02Adjust to new tls1_ec_nid2group_id API.tb1-7/+13
2022-07-02Rename uses 'curve' to 'group' and rework tls1 group API.tb12-162/+204
This reworks various tls1_ curve APIs to indicate success via a boolean return value and move the output to an out parameter. This makes the caller code easier and more consistent. Based on a suggestion by jsing ok jsing
2022-07-02Fix off-by-one in length check.tb1-3/+3
Spotted by jsing
2022-07-02Make tls1_ec_curve_id2nid() return explicit NID_undef instead of 0 on errortb2-5/+5
and adjust the only caller that didn't check for NID_undef already. ok beck jsing
2022-06-30To figure our whether a large allocation can be grown into theguenther1-12/+2
following page(s) we've been first mquery()ing for it, mmapp()ing w/o MAP_FIXED if available, and then munmap()ing if there was a race. Instead, just try it directly with mmap(MAP_FIXED | __MAP_NOREPLACE) tested in snaps for weeks ok deraadt@
2022-06-30Remove redundant commentstb1-30/+30
discussed with jsing