summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use standard integer types rather than custom typedefs.jsing2025-04-212-25/+21
| | | | | | Replace u32 with uint32_t, remove unused u16 and replace u8 with uint8_t. ok tb@
* Move AES public functions from aes_core.c to aes.c.jsing2025-04-202-56/+47
| | | | | | This is where almost all of the public functions exist. ok beck@ tb@
* Fix x509's -nameopt default and spell an option correctlykn2025-04-191-4/+4
| | | | Feedback OK tb
* Fix indentation and line wrapping.jsing2025-04-181-17/+15
|
* Remove BS-AES and VP-AES from EVP.jsing2025-04-183-137/+9
| | | | | | | | | | | | | | | | | The bitsliced and vector permutation AES implementations were created around 2009, in attempts to speed up AES on Intel hardware. Both require SSSE3 which existed from around 2006. Intel introduced AES-NI in 2008 and a large percentage of Intel/AMD CPUs made in the last 15 years include it. AES-NI is significantly faster and requires less code. Furthermore, the BS-AES and VP-AES implementations are wired directly into EVP (as is AES-NI currently), which means that any consumers of the AES_* API are not able to benefit from acceleration. Removing these greatly simplifies the EVP AES code - if you just happen to have a CPU that supports SSSE3 but not AES-NI, then you'll now use the regular AES assembly implementations instead. ok kettenis@ tb@
* SSL_set_tlsext_host_name: as a setter it cannot take a const ssltb2025-04-181-3/+3
|
* Remove two unused defines, update standard referencetb2025-04-181-7/+3
| | | | ok jsing
* Use 'ctx' for sha3_ctx variables, rather than the less readable 'c'.jsing2025-04-182-36/+36
| | | | ok tb@
* Fix annoying whitespacetb2025-04-184-52/+52
|
* Pull casts from void * to uint8_t * up to variables, rather than inline.jsing2025-04-181-9/+11
| | | | ok tb@
* Use two temporary variables in sha3_keccakf(), rather than reusing bc[0].jsing2025-04-181-8/+8
| | | | ok tb@
* Use crypto_rol_u64() instead of a separate ROTL64 define.jsing2025-04-181-5/+4
| | | | ok tb@
* Use hyphenated spelling for the SHAs except for the APItb2025-04-1712-41/+42
| | | | | The mix of SHA256 and SHA-256 is jarring, so use FIPS's spelling. Leave HMAC-SHA256 as it is and fix a nearby RIPEMD-160.
* Enable remaining tests with NULL, 0tb2025-04-142-9/+3
| | | | Now that libc is fixed, we can do this also for md5, rmd160 and sha1.
* Link hash regress to buildtb2025-04-141-1/+2
|
* Add some regress coverage for the hashes in libctb2025-04-142-0/+946
| | | | Prompted by a pending diff by claudio
* Update openssl.1 for msie_hack removaltb2025-04-141-21/+4
| | | | ok jmc jsing
* Remove openssl ca -msie_hacktb2025-04-141-31/+2
| | | | | | The nineties called and wanted their garbage back. ok jsing
* parse_test_file()tb2025-04-131-1/+3
| | | | | | gcc 14 needs a hint that ld != NULL beyond the use of ld->data in the previous line. I guess aggressive inlining is becoming too aggressive. What a pile of junk.
* Avoid compiler warning on some OStb2025-04-131-1/+1
| | | | | | | | Some OS declare arc4random() with __attribute__((warn_unused_result)) causing this test to whine. So explicitly ignore the return value. Reported by scheiba in libressl/portable Fixes #1151
* x509_policy: zap an extra stb2025-03-281-2/+2
|
* x509_policy: certificats -> certificatestb2025-03-281-2/+2
|
* typos: us -> is, te -> the (twice)tb2025-03-281-3/+3
|
* typo: primtive -> primitivetb2025-03-282-4/+4
|
* Fix RETURN VALUES for EVP_CIPHER_CTX_ctrl(3)tb2025-03-251-9/+4
| | | | | | | | | | | | | | | The current documentation was clearly incorrect since a return of -1 from the methods is explicitly intercepted and translated to 0. schwarze and I both audited the tree and concluded that only 0 and 1 is possible. OpenSSL 3 broke this API contract and now has explicit return -1 in the convoluted 200-line maze this simple function has become with recent provider improvements. So add a small sentence hinting at that. Nobody will be surprised to read that with OpenSSL's characteristic penchant for needless inconsistency the return value checks in their tree are all over the place and sometimes incorrect. ok schwarze (with two tweaks)
* Explicitly pass group generator to mul_double_nonct() from EC_POINT_mul().jsing2025-03-244-35/+33
| | | | | | | | | | | | | | | | | | EC_POINT_mul() has a complex multi-use interface - there are effectively three different ways it will behave, depending on which arguments are NULL. In the case where we compute g_scalar * generator + p_scalar * point, the mul_double_nonct() function pointer is called, however only g_scalar, p_scalar and point are passed - it is expected that the lower level implementation (in this case ec_wnaf_mul()) will use the generator from the group. Change mul_double_nonct(), ec_mul_double_nonct() and ec_wnaf_mul() so that they take scalar1, point1, scalar2 and point2. This removes all knowledge of g_scalar and the generator from the multiplication code, keeping it limited to EC_POINT_mul(). While here also consistently pass scalar then point, rather than a mix of scalar/point and point/scalar. ok tb@
* Check group generator in EC_POINT_mul().jsing2025-03-241-1/+6
| | | | | | | | | When a non-NULL generator scalar is passed to EC_POINT_mul(), the group's generator will be used in multiplication. Add a check that ensures that the group generator is non-NULL, in order to avoid needing to handle this elsewhere (currently in the lower level point multiplication code). ok tb@
* Plug a memory leak in x509_name_encode()tb2025-03-201-2/+4
| | | | | | | | | This is nearly identical to a leak fixed by miod 10 years ago in x509_name_canon() but was missed in r1.30. This entire file needs a metric ton of bleach, but my head currently spins too much for tackling this, so go with the cheap one-liner. From Niels Dossche
* x509_param_set_hosts_internal: rename vpm to param for consistencytb2025-03-191-11/+11
|
* X509_VERIFY_PARAM_lookup(): avoid passing stack garbage aroundtb2025-03-191-1/+2
| | | | ok jsing
* Rename pm to param, fix the type of idx and unindenttb2025-03-191-8/+6
| | | | ok jsing
* Introduce and use N_DEFAULT_VERIFY_PARAMStb2025-03-191-6/+9
| | | | ok jsing
* X509_VERIFY_PARAM_get0(): use consistent idiom for default_table accesstb2025-03-191-2/+3
| | | | ok jsing
* X509_VERIFY_PARAM_lookup(): remove unnecessary braces and add empty linetb2025-03-191-3/+3
| | | | ok jsing
* X509_VERIFY_PARAM_get_count(): make NULL check explicittb2025-03-191-2/+2
| | | | ok jsing
* X509_VERIFY_PARAM_get0: avoid out of bounds access when id < 0tb2025-03-191-1/+5
| | | | ok jsing
* Adjust x509_name_regress to the X509_NAME_print() fix in a_strex.c r1.38tb2025-03-191-15/+2
|
* Fix traditional SSLeay X509_NAME printingtb2025-03-191-29/+1
| | | | | | | | | | | | | | The gibberish that was there before the rewrite didn't actually skip names whose SN representation was different start with /O= or /OU= (with one or two capital letters between '/' and '='), it simply failed to separate them, resulting in nonsense such as CN=Microsec e-Szigno Root CA 2009/emailAddress=info@e-szigno.hu So ditch the code doing that, simplifying this now internal function quite a bit. ok jsing
* save_index: fix some code quality issuestb2025-03-181-13/+16
| | | | | | | | | Error check BIO_new() both times it is used, drop unused j variable, Error check BIO_printf() call and turn the whole thing into single exit. Prompted by a diff by Niels Dossche ok jsing
* PKCS7_dataVerify(): zap offensive whitespacetb2025-03-181-2/+2
|
* PKCS7_signatureVerify(): add missing free after EVP_VerifyUpdate()tb2025-03-181-2/+4
| | | | From Nils Dossche
* apps.c: don't leak out in error pathtb2025-03-171-1/+2
| | | | From Niels Dossche
* Update cert.pem, ok sthentb2025-03-161-215/+179
| | | | | | | | | | | | | | | | | | Added to existing CA /C=DE/O=D-Trust GmbH/CN=D-TRUST BR Root CA 2 2023 /C=DE/O=D-Trust GmbH/CN=D-TRUST EV Root CA 2 2023 Added back: /C=AT/O=e-commerce monitoring GmbH/CN=GLOBALTRUST 2020 Deleted: /C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2015 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G4 /C=JP/O=Japan Certification Services, Inc./CN=SecureSign RootCA11 /C=JP/O=SECOM Trust Systems CO.,LTD./CN=Security Communication RootCA3 /C=CH/O=SwissSign AG/CN=SwissSign Silver CA - G2
* Rename a bunch of confusingly named variablestb2025-03-151-6/+6
| | | | | | Variables of the type serialized or deserialized are called val_in or val_out in all other manuals, so align this page to using those rather than the confusing X509_CRL **der_out, etc.
* Add regress coverage for X509_NAME_oneline and X509_NAME_printtb2025-03-152-1/+314
|
* const correct d2i_* prototypestb2025-03-144-13/+13
|
* minor libssl bump (SSL_OP_NO_RENEGOTIATION/SSL_OP_ALLOW_CLIENT_RENEGOTIATION)sthen2025-03-132-2/+2
| | | | | | | | | code #ifdef'ing these and compiled with new headers won't work as expected on earlier libraries minor libtls bump to match libssl bump ok tb@
* pkey_ec_derive: fix call to ECDH_compute_key()tb2025-03-131-2/+2
| | | | The last argument is a pointer to the KDF, so use NULL, not 0.
* Simplify field and private key encodingtb2025-03-131-13/+3
| | | | | | | | Reach into the group (p and order are always available) and use BN_num_bytes() rather than using clumsy and badly named API. It's shorter and more readable. ok jsing
* Make srtp.h self-standing by including ssl.htb2025-03-131-1/+3
| | | | ok miod