summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2022-10-03Allow TZ to contain absolutes paths starting with /usr/share/zoneinfo/Todd C. Miller
Other absolutes paths are still rejected.
2022-10-02Get rid of SSL_CTX_INTERNAL and SSL_INTERNAL.Joel Sing
These are no longer necessary due to SSL_CTX and SSL now being fully opaque. Merge SSL_CTX_INTERNAL back into SSL_CTX and SSL_INTERNAL back into SSL. Prompted by tb@
2022-10-01Move handshake message handling functions from ssl_both.c to client/server.Joel Sing
Currently, ssl_both.c contains several functions that are used by both the legacy client and legacy server. This interwines the client and server, making it harder to make progressive changes. While it does deduplicate some code, it also ends up with code that is conditioned on s->server and forces the caller to pass in SSL3_ST_* values. Move these functions from ssl_both.c into ssl_clnt.c and ssl_srvr.c, renaming as appropriate and removing the s->server conditionals. Also move the client and server function prototypes from ssl_locl.h into the .c files, making them static in the process. ok tb@
2022-09-28use Fn rather than Nm for swab(); from josiah frentsosJason McIntyre
2022-09-28Fix incorrect range check for size in setvbufGreg Steuck
From enh AT google.com: The existing test is wrong for LP64, where size_t has twice as many relevant bits as int, not just one. (Found by inspection by rprichard.) Looks good to deraadt@ and millert@
2022-09-24macro tweaks; from josiah frentsosJason McIntyre
ok deraadt
2022-09-23POSIX timzone specs may contain '.' so only reject names containing '../'.Todd C. Miller
Noted by pjanzen@ with input from deraadt@.
2022-09-22use the always serializing RDTSCP instruction in tsc and usertc if availableRobert Nagy
tweaks from cheloha@; ok deraadt@, sthen@, cheloha@
2022-09-21tzset: ignore TZ if it contains an absolute path or issetugid().Todd C. Miller
Reading time zone files from user-controlled paths can result in pledge(2) or unveil(2) violations. We also ignore files that contain a '.' character to avoid paths containing ".." or hidden files. Work with and OK deraadt@
2022-09-20Update libexpat to 2.4.9. This fixes CVE-2022-40674. Relevant forAlexander Bluhm
OpenBSD are security fixes #629 #640 and other changes #610 #643. No library bump necessary. OK deraadt@
2022-09-19Remove PKCS12_MAKE_{,SH}KEYBAG from Symbols.listTheo Buehler
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.Joel Sing
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)Klemens Nanni
OK tb
2022-09-15Add OID for RPKI signedTAL objectsJob Snijders
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.Joel Sing
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-13When a connection is reset while we still have an outstanding request,Martijn van Duren
the connection from the request to the rest of the structure is removed, so we don't send any old data over the new connection. However, the old code dereferences axc at a couple of places before we check it for NULL. Found the hard way by Mischa Peters while stress testing agentx support for vmd. OK tb@, sthen@
2022-09-13Stop pretending that EVP_CIPHER cleanup can fail.Joel Sing
Now that EVP_CIPHER is opaque, stop pretending that EVP_CIPHER cleanup can fail. ok tb@
2022-09-12zap extra .PpTheo Buehler
2022-09-12Stop documenting i2c_ASN1_INTEGER.Theo Buehler
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-11Enforce the minimum TLS version requirement for QUIC.Joel Sing
ok tb@
2022-09-11bump major after libcrypto and libssl major bumpTheo Buehler
2022-09-11Crank major after symbol addition and libcrypto major bumpTheo Buehler
2022-09-11Update Symbols.listTheo Buehler
ok jsing
2022-09-11Expose SSL_get_share_{group,curve}() and related #definesTheo Buehler
ok jsing
2022-09-11Expose some error codes needed for QUIC supportTheo Buehler
ok jsing
2022-09-11Define LIBRESSL_HAS_QUICTheo Buehler
ok jsing
2022-09-11Bump major after symbol addition and removal and struct visibility changesTheo Buehler
2022-09-11Update Symbols.listTheo Buehler
ok jsing
2022-09-11Make structs in ts.h opaqueTheo Buehler
ok jsing
2022-09-11Make structs in pkcs12.h opaqueTheo Buehler
ok jsing
2022-09-11Expose EVP_chacha20_poly1305()Theo Buehler
ok jsing
2022-09-11Expose various EVP AEAD constants for EVP ChaCha and QUICTheo Buehler
ok jsing
2022-09-11Expose OPENSL_cleanup()Theo Buehler
ok jsing
2022-09-11Make BIO_info_cb() identical to bio_info_cb()Theo Buehler
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 visibilityTheo Buehler
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-11Be stricter with middlebox compatibility mode in the TLSv1.3 server.Joel Sing
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.Joel Sing
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.Joel Sing
ok tb@
2022-09-11Ensure there is no trailing data for a CCS received by the TLSv1.3 stack.Joel Sing
ok tb@
2022-09-11.Li -> .Vt where appropriate;Jason McIntyre
from josiah frentsos, tweaked by schwarze ok schwarze
2022-09-11fix repeated wordsJonathan Gray
2022-09-10Increment the input and output position for EVP AES CFB1.Joel Sing
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.Joel Sing
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.Joel Sing
ok tb@
2022-09-10Provide a version of ssl_msg_callback() that takes a CBS.Joel Sing
Use this from the TLSv1.3 code. ok tb@
2022-09-10carrier return character -> carriage return characterJonathan Gray
ok jmc@ miod@
2022-09-10fix repeated wordsJonathan Gray
ok ok miod@ ack ack jmc@
2022-09-10wireless LANS -> wireless LANsJonathan Gray
2022-09-10fix repeated wordsJonathan Gray
ok miod@ jmc@
2022-09-10Add EABI strong aliases for __fixunssfdi and __fixunsdfdi added recently onMiod Vallat
armv7; ok mbuhl@