summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/malloc.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-20Factor out ALPN extension format checktb2-14/+27
The ALPN extension must contain a non-empty list of protocol names. Split a check of this out of tlsext_alpn_server_parse() so that it can be reused elsewhere in the library. ok jsing
2022-07-20Remove tls_buffer_set_data() and remove/revise callers.jsing6-34/+14
There is no way that tls_buffer_set_data() can currently work in conjunction with tls_buffer_expand(). This fact is currently hidden by the way that PHH works, which reads the same data from the record layer (which it needs to do anyway, since we may not have all of the handshake message in a single record). Since this is broken, mop it up and change the PHH callback to not provide the record data. ok beck@ tb@
2022-07-20Correct server-side handling of TLSv1.3 key updates.jsing1-20/+30
The existing code updates the correct secret, however then sets it for the wrong direction. Fix this, while untangling the code and consistenly using 'read' and 'write' rather than 'local' and 'peer'. ok beck@ tb@
2022-07-19zap trailing spacestb1-2/+2
2022-07-19fix indenttb1-2/+2
2022-07-19Regenerate golden numbers due to RC4-MD5 now being disabled by default.tb1-61/+58
2022-07-19Disallow MD5 and SHA-1 HMACs depending on the security leveltb1-2/+11
Ciphers using an MD5 HMAC are not allowed on security levels >= 1 and using a SHA-1 HMAC is disallowed on security levels >= 4. This disables RC4-MD5 by default. ok jsing
2022-07-19Avoid unnecessary loops in BN_generate_prime_ex()tb1-4/+6
Since there is nothing randomized in bn_is_prime_bpsw(), the concept of rounds makes no sense. Apply a minimal change for now that avoids expensive loops that won't change the outcome in case we found a probable prime. ok jsing
2022-07-19Document -tls1_{1,2,3} in openssl cipherstb1-2/+11
ok jsing
2022-07-19Allow displaying ciphers according to protocol versiontb1-4/+39
Instead of only using the default client method, allow selecting a specific protocol version and display the supported ciphers accordingly. This removes the noop status of -tls1 and adds -tls1_{1,2,3} as in other commands. ok jsing
2022-07-18Revert accidental committb1-2/+2
2022-07-18Add comments to explain the magic numbers 57 and 58tb2-3/+6
2022-07-18Avoid sending the QUIC transport parameters extension now that wetb1-4/+4
send an unsupported extension alert. Noted by anton
2022-07-17Handle X509_check_purpose(3) and EVP_get_digestbyobj(3)kn1-2/+5
OK tb
2022-07-17Add initial support for ESSCertIDv2 verificationkn1-19/+99
Based on OpenSSL commit f0ef20bf386b5c37ba5a4ce5c1de9a819bbeffb2 "Added support for ESSCertIDv2". This makes TS validation work in the new security/libdigidocpp port. Input OK tb
2022-07-17Disable TLSv1.3 middlebox compatibility mode for QUIC connections.jsing1-2/+3
This is required by RFC 9001. ok tb@
2022-07-17Pass SSL pointer to tls13_ctx_new().jsing3-15/+11
struct tls13_ctx already knows about SSL's and this way tls13_ctx_new() can set up various pointers, rather than duplicating this in tls13_legacy_accept() and tls13_legacy_connect(). ok tb@
2022-07-17Revise regress for QUIC transport parameters TLS extension.jsing1-15/+32
2022-07-17Correct handling of QUIC transport parameters extension.jsing1-48/+16
Remove duplicate U16 length prefix, since tlsext_build() already adds this for us. Condition on SSL_is_quic() rather than TLS version - RFC 9001 is clear that this extension is only permitted on QUIC transport and an fatal unsupported extension alert is required if used elsewhere. Additionally, at the point where extensions are parsed, we do not necessarily know what TLS version has been negotiated. ok beck@ tb@
2022-07-17Provide SSL_is_quic()jsing3-5/+14
This function will allow code to know if the SSL connection is configured for use with QUIC or not. Also move existing SSL_.*quic.* functions under LIBRESSL_HAS_QUIC to prevent exposing them prematurely. ok beck@ tb@
2022-07-17Correct TLSEXT_TYPE_quic_transport_parameters message types.jsing1-2/+2
Per RFC 9001, TLSEXT_TYPE_quic_transport_parameters may only appear in ClientHello and EncryptedExtensions (not ServerHello). ok beck@ tb@
2022-07-17Correct value for TLSEXT_TYPE_quic_transport_parametersjsing1-4/+6
Use the correct value for TLSEXT_TYPE_quic_transport_parameters according to RFC 9001 section 8.2. Also move the define under LIBRESSL_HAS_QUIC to avoid things finding it prematurely. ok beck@ tb@
2022-07-17AESCGM -> AESGCMjsg1-4/+4
2022-07-16Add ESSCertIDv2 stack macroskn1-1/+25
Copy existing ESSCertID macros and s/_ID/&_V2/g. Guard the new code under LIBRESSL_INTERNAL to defer visibility. OK tb
2022-07-16Add ESSCertIDv2 ASN.1 boilerplatekn2-2/+170
Guard the new code under LIBRESSL_INTERNAL to defer symbol addition and minor library bump (thanks tb). ts/ts.h bits from RFC 5035 Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility ts/ts_asn1.c bits expanded from ASN1_SEQUENCE(ESS_CERT_ID_V2) = { ASN1_OPT(ESS_CERT_ID_V2, hash_alg, X509_ALGOR), ASN1_SIMPLE(ESS_CERT_ID_V2, hash, ASN1_OCTET_STRING), ASN1_OPT(ESS_CERT_ID_V2, issuer_serial, ESS_ISSUER_SERIAL) } static_ASN1_SEQUENCE_END(ESS_CERT_ID_V2) IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID_V2) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2) ASN1_SEQUENCE(ESS_SIGNING_CERT_V2) = { ASN1_SEQUENCE_OF(ESS_SIGNING_CERT_V2, cert_ids, ESS_CERT_ID_V2), ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT_V2, policy_info, POLICYINFO) } static_ASN1_SEQUENCE_END(ESS_SIGNING_CERT_V2) IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT_V2) IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2) Feedback OK tb
2022-07-16Add NID for signingCertificateV2kn2-0/+2
https://oidref.com/1.2.840.113549.1.9.16.2.47 OK tb
2022-07-16Avoid direct X509 structure accesskn2-12/+12
Cherry-picked from OpenSSL commit a8d8e06b0ac06c421fd11cc1772126dcb98f79ae. This reduces upcoming TS changes. OK jsing tb
2022-07-16Zap duplicate ERR_load_TS_strings() prototypekn1-3/+1
It's defined again (more appropiately) further down above the error codes. OK jsing tb
2022-07-16Revert previous. The added includes were already there. Duh.tb1-4/+1
2022-07-15Expand the comment explaining the for loop with bn_lucas_step() a bit.tb1-3/+3
2022-07-15Comment for factorization of n - 1 = k * 2^s in bn_miller_rabin_base_2()tb1-1/+2
2022-07-15Rename is_perfect_square to out_perfect in prototype to matchtb1-2/+2
the code in bn_isqrt.c.
2022-07-14Zap trailing whitespacetb1-4/+4
2022-07-14Suppress output of the deprecated -tls1 option in usage() and helptb1-3/+2
output. The option wasn't documented in the manpage. pointed out by jsing
2022-07-14Switch to using TLS_client_method()tb1-2/+2
Apparently, TLSv1_client_method() is used for historical reasons. This behavior is no longer helpful if we want to know what ciphers a TLS connection could use. This could change again after further investigation of what the behavior should be... ok beck jsing
2022-07-14Only run the client connection test with supported ciphers. Avoids testtb1-2/+2
breakage also noted by anton.
2022-07-14Document openssl ciphers -stb1-3/+5
ok beck jsing
2022-07-14Add -s option to openssl cipherstb1-4/+20
With this option, the command only shows the ciphers supported by the SSL method. ok beck jsing
2022-07-13add .Xr links to SSL_CTX_set_security_level(3)schwarze5-15/+20
2022-07-13add a few .Xr links to new manual pagesschwarze11-24/+36
2022-07-13In dsa.h rev. 1.34 (14 Jan 2022), tb@ provided DSA_bits(3).schwarze1-10/+51
Document it from scratch. While here, merge a few details from the OpenSSL 1.1.1 branch, which is still under a free license, into the documentation of DSA_size(3).
2022-07-13In x509_vfy.h rev. 1.54, tb@ provided X509_VERIFY_PARAM_get_time(3)schwarze1-3/+44
and X509_VERIFY_PARAM_set_auth_level(3). Document them. For the latter, i included a few sentences from the OpenSSL 1.1.1 branch, which is still under a free license.
2022-07-13link three new manual pages to the buildschwarze1-1/+4
2022-07-13Start documenting our new pet octopus, SSL_CTX_set_security_level(3).schwarze2-1/+161
Or should we call it a centipede? Feedback and OK on a previous version from jsing@ and from our chief myriapodologist, tb@.
2022-07-13Cast int64_t to uint64_t before negating.jsing1-3/+7
Avoid undefined behaviour/integer overflow by casting an int64_t to uint64_t before negating. Fixes oss-fuzz #49043 ok tb@
2022-07-13Write documentation for EVP_PKEY_check(3), EVP_PKEY_public_check(3),schwarze5-44/+504
EVP_PKEY_param_check(3), and EVP_PKEY_security_bits(3) from scratch. Move the documentation of EVP_PKEY_size(3) and EVP_PKEY_bits(3) to the new manual page EVP_PKEY_size(3). Merge the documentation of the related function pointers from the OpenSSL 1.1.1 branch, which is still under a free license. OK tb@ on the new page EVP_PKEY_size(3).
2022-07-13Simplify computation of max_pub_key = dh->p - 1.tb1-4/+2
ok jsing