summaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-05-26Add missing pointer invalidationlibressl-v3.6.3OPENBSD_7_2tb1-1/+2
ok tb from jcs This is errata/7.2/026_ssl.patch.sig
2023-03-16Fix a number of out of bound reads in DNS response parsing.bluhm1-1/+7
from millert@; originally from djm@; OK deraadt@ florian@ bluhm@ this is errata/7.2/022_resolv.patch.sig
2023-02-07Fix arbitrary memory read in GENERAL_NAME_cmp()bluhm1-2/+3
The ASN.1 template for GENERAL_NAME and its corresponding C structure disagree on the type of the x400Address member. This results in an ASN.1 string to be considered as an ASN.1 type, which allows an attacker to read (essentially) arbitrary memory. Fix this by forcing comparison as strings. While the underlying type confusion has been present since time immemorial, this particular bug came with the EdiPartyName fix (6.8/008_asn1.patch.sig). Reported by David Benjamin, fix suggested by jsing. Release date for this was set to be January 31. Unilaterally pushed back to February 7 by OpenSSL by way of announcement of many completely unrelated embargoed issues, some of which they had been sitting on since July 2020. from tb@; OK beck@ jsing@ this is errata/7.2/018_x509.patch.sig
2022-10-20Unbreak ASN.1 indefinite length encoding.libressl-v3.6.2libressl-v3.6.1tb1-4/+4
In r1.25 of tasn_enc.c a check was added to ensure that asn1_ex_i2c() returned the same value on both calls, however in the ndef case the len variable gets changed between calls. Keep a copy of the original value to test against. Issue reported by niklas, who encountered a test failure in rust-openssl. ok miod@ tb@; from jsing This is errata/7.2/002_asn1.patch.sig
2022-10-20Store errors that result from leaf certificate verification.tb1-8/+12
In the case that a verification callback is installed that tells the verifier to continue when a certificate is invalid (e.g. expired), any error resulting from the leaf certificate verification is not stored and made available post verification, resulting in an incorrect error being returned. Also perform leaf certificate verification prior to adding the chain, which avoids a potential memory leak (as noted by tb@). Issue reported by Ilya Shipitsin, who encountered haproxy regress failures. ok tb@; from jsing This is errata/7.2/001_x509.patch.sig
2022-09-21Tweak symbols test in such a way that it would have caught the recenttb2-3/+9
Symbols.list mistake: undefine aliases (except _cfb block ciphers which are aliases for historical reasons). Use -Wl,--no-allow-shlib-undefined.
2022-09-19Remove PKCS12_MAKE_{,SH}KEYBAG from Symbols.listtb1-2/+0
These functions were renamed in the last bump #define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf #define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt They don't appear in the compiled library itself, so no further bump required. Fixes libressl-portable/portable#791 Found the hard way by vollkommenheit ok deraadt jsing
2022-09-17Allow TLSv1.3 clients to send CCS without middlebox compatibility mode.jsing1-4/+2
While RFC 8446 is clear about what legacy session identifiers can be sent by a TLSv1.3 client and how middlebox compatibility mode is requested, it is delightfully vague about the circumstances under which a client is permitted to send CCS messages. While it does not make sense for a client to send CCS messages when they are not requesting middlebox compatibility mode, it is not strictly forbidden by the RFC and at least one (unknown) TLSv1.3 stack has been observed to do this in the wild. Revert part of the previous change and allow clients to send CCS messages, even if they are not requesting middlebox compatibility mode. Found the hard way by florian@ ok tb@
2022-09-17Link to SSL_read_early_data(3)kn1-3/+3
OK tb
2022-09-15Add OID for RPKI signedTAL objectsjob2-0/+2
IANA made a permanent registration in the SMI Security for S/MIME CMS Content Type registry at https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#security-smime-1 for signed objects conforming to draft-ietf-sidrops-signed-tal. OK tb@
2022-09-15Use LONG_MAX as the limit for ciphers with long based APIs.jsing6-169/+120
These ciphers have long based APIs, while EVP has a size_t based API. The intent of these loops is to handle sizes that are bigger than LONG_MAX. Rather than using the rather crazy EVP_MAXCHUNK construct, use LONG_MAX rounded down to a large block size, ensuring that it is a block size multiple. Revert the recently added overflow checks now that this is handled more appropriately. ok tb@
2022-09-14remove an extraneous empty linetb1-2/+1
2022-09-13Stop pretending that EVP_CIPHER cleanup can fail.jsing4-14/+15
Now that EVP_CIPHER is opaque, stop pretending that EVP_CIPHER cleanup can fail. ok tb@
2022-09-12zap extra .Pptb1-2/+1
2022-09-12Stop documenting i2c_ASN1_INTEGER.tb2-48/+4
This is no longer public API. Also remove some comments about i2c and c2i functions being intentionally undocumented since they are no longer public.
2022-09-12Add CBC, CFB64 and OFB64 test coverage for RC2tb1-34/+463
From Joshua Sing
2022-09-12whitespace nitstb1-4/+5
2022-09-12Move division by two out of sizeof()tb1-3/+3
2022-09-12Error checks for EVP_*tb1-25/+36
CID 356777
2022-09-12Move division by two out of sizeof()tb1-3/+3
CID 356778
2022-09-11Add regression tests for the sendmmsg and recvmmsg system calls.mbuhl4-2/+410
2022-09-11Enforce the minimum TLS version requirement for QUIC.jsing1-1/+9
ok tb@
2022-09-11Adjust for opaque structs in ts.htb1-14/+24
ok jsing
2022-09-11Adjust for opaque structs in pkcs12.htb1-25/+38
ok jsing
2022-09-11bump major after libcrypto and libssl major bumptb1-2/+2
2022-09-11Crank major after symbol addition and libcrypto major bumptb1-2/+2
2022-09-11Update Symbols.listtb1-0/+11
ok jsing
2022-09-11Expose SSL_get_share_{group,curve}() and related #definestb1-7/+3
ok jsing
2022-09-11Expose some error codes needed for QUIC supporttb1-3/+1
ok jsing
2022-09-11Define LIBRESSL_HAS_QUICtb1-0/+1
ok jsing
2022-09-11Bump major after symbol addition and removal and struct visibility changestb1-2/+2
2022-09-11Update Symbols.listtb1-9/+31
ok jsing
2022-09-11Make structs in ts.h opaquetb2-215/+223
ok jsing
2022-09-11Make structs in pkcs12.h opaquetb4-162/+45
ok jsing
2022-09-11Expose EVP_chacha20_poly1305()tb1-3/+1
ok jsing
2022-09-11Expose various EVP AEAD constants for EVP ChaCha and QUICtb1-3/+1
ok jsing
2022-09-11Expose OPENSL_cleanup()tb1-3/+1
ok jsing
2022-09-11Make BIO_info_cb() identical to bio_info_cb()tb1-2/+3
Various projects use bio_info_cb and BIO_info_cb interchangeably, for example mupdf and freerdp. This is because this was changed in OpenSSL commit fce78bd4 (2017), triggered by new warnings in gcc 8. https://github.com/openssl/openssl/pull/4493 This results in some scary compiler warnings and useless patches in ports. Nobody seems to be using the old bio_info_cb() version. ok jsing
2022-09-11Remove c2i_* and i2c_* from public visibilitytb2-10/+11
This removes c2i_ASN1_OBJECT(), {c2i,i2c}_ASN1_BIT_STRING() and {c2i,i2c}_ASN1_INTEGER(). These are not part of the OpenSSL 1.1 API and should never have been exposed in the first place. ok jsing
2022-09-11link asn1object test statically in preparation for upcoming bumptb1-1/+2
2022-09-11Be stricter with middlebox compatibility mode in the TLSv1.3 server.jsing1-5/+21
Only allow a TLSv1.3 client to request middlebox compatibility mode if this is permitted. Ensure that the legacy session identifier is either zero length or 32 bytes in length. Additionally, only allow CCS messages on the server side if the client actually requested middlebox compatibility mode. ok tb@
2022-09-11Only permit CCS messages if requesting middlebox compatibility mode.jsing1-4/+4
Currently the TLSv1.3 client always permits the server to send CCS messages. Be more strict and only permit this if the client is actually requesitng middlebox compatibility mode. ok tb@
2022-09-11Use CBS when procesing a CCS message in the legacy stack.jsing1-4/+7
ok tb@
2022-09-11Ensure there is no trailing data for a CCS received by the TLSv1.3 stack.jsing1-1/+3
ok tb@
2022-09-11Replace archaic \*(Lt and \*(Gt by plain < and >, respectively,schwarze1-7/+7
because these inspire devotion to cargo cult in developers. Cleanup suggested by kn@.
2022-09-11.Li -> .Vt where appropriate;jmc24-106/+103
from josiah frentsos, tweaked by schwarze ok schwarze
2022-09-11fix repeated wordsjsg2-6/+6
2022-09-10Increment the input and output position for EVP AES CFB1.jsing1-1/+3
The length is decremented, however the input is repeatedly read from and output written to the same position. Correct this by actually incrementing the input and output pointers. Found via OpenSSL 604e591ed7, ok tb@
2022-09-10Use correct length for EVP CFB mode ciphers.jsing7-22/+22
The BLOCK_CIPHER_* macros contained a bug where the total length is passed to the underlying cipher implementation, rather than the length of the current chunk. Correct this and use the chunk length instead. Should address the remaining issues reported by Coverity. ok tb@
2022-09-10Use CBS to parse TLS alerts in the legacy stack.jsing1-4/+10
ok tb@