summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/malloc.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-10-25Free maskHash when RSA_PSS_PARAMS is freed.jsing1-3/+23
ok tb@
2019-10-24Service names are still resolved with -nkn1-4/+4
Just like pfctl(8)'s -N, this flag only avoid DNS; "nc -vz ::1 socks" still works. Fix documentation by copying pfctl's wording. OK deraadt
2019-10-24Provide ASN1_TYPE_{,un}pack_sequence().jsing2-2/+36
These are internal only for now. Based on OpenSSL 1.1.1d. ok inoguchi@
2019-10-24Provide RSA_OAEP_PARAMS along with ASN.1 encoding/decoding.jsing2-2/+97
For now these are internal only. From OpenSSL 1.1.1d. ok inoguchi@
2019-10-24Bump libcrypto, libssl and libtls majors due to changes in struct sizesjsing3-6/+6
and symbol addition.
2019-10-24Add RSA_PSS_PARAMS pointer to RSA struct.jsing1-1/+8
This will be used by upcoming RSA-PSS code. ok tb@
2019-10-24Add maskHash field to RSA_PSS_PARAMS.jsing1-1/+4
This will be soon used as an optimisation and reduces the differences between OpenSSL. ok tb@
2019-10-24Provide RSA_pkey_ctx_ctrl().jsing3-2/+20
This is a wrapper around EVP_PKEY_CTX_ctrl() which requires the key to be either RSA or RSA-PSS. From OpenSSL 1.1.1d. ok tb@
2019-10-24Add EVP_PKEY_RSA_PSS.jsing1-1/+2
ok tb@
2019-10-24Print IP address in verbose modejob1-12/+34
OK kn@
2019-10-23Revert previous, which works for -N case but causes regress failuresbeck1-18/+1
for tls, since the socket is shut down without calling tls_close(). Since nc appears to have a problem with this in other shutdown() cases I am simply going to bake a new diff for this. noticed by bluhm@.
2019-10-17Sync RSA_padding_check_PKCS1_OAEP_mgf1().jsing1-64/+111
Update RSA_padding_check_PKCS1_OAEP_mgf1() with code from OpenSSL 1.1.1d (with some improvements/corrections to comments). This brings in code to make the padding check constant time. ok inoguchi@ tb@
2019-10-17Fix -N flag to actually shut down the (entire) socket when the inputbeck1-1/+18
goes away. This allows for using nc in cases where the network server will no longer expect anything after eof, instead of hanging waiting for more input from our end. Additionaly, shut down if tls is in use if either side of the socket goes away, since we higher level TLS operations (tls_read and write) will require the socket to be both readable and writable as we can get TLS_WANT_POLLIN or TLS_WANT_POLLOUT on either operation. deraadt@ buying it. found by sthen@
2019-10-17Provide err_clear_last_constant_time() as a way of clearing an error fromjsing2-1/+24
the top of the error stack in constant time. This will be used by upcoming RSA changes. From OpenSSL 1.1.1d. ok inoguchi@ tb@
2019-10-10bump internal version to 3.0.2bcook1-2/+2
2019-10-10bump to 3.0.2bcook1-2/+2
2019-10-09Use EVP_MAX_MD_SIZE instead of SHA_DIGEST_LENGTH and remove OPENSSL_NO_SHA*jsing1-7/+2
conditionals, now that this code handles arbitrary message digests. ok inoguchi@ tb@
2019-10-04Fix a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey.tb4-11/+35
(Note that the CMS code is currently disabled.) Port of Edlinger's Fix for CVE-2019-1563 from OpenSSL 1.1.1 (old license) tests from bluhm@ ok jsing commit e21f8cf78a125cd3c8c0d1a1a6c8bb0b901f893f Author: Bernd Edlinger <bernd.edlinger@hotmail.de> Date: Sun Sep 1 00:16:28 2019 +0200 Fix a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey An attack is simple, if the first CMS_recipientInfo is valid but the second CMS_recipientInfo is chosen ciphertext. If the second recipientInfo decodes to PKCS #1 v1.5 form plaintext, the correct encryption key will be replaced by garbage, and the message cannot be decoded, but if the RSA decryption fails, the correct encryption key is used and the recipient will not notice the attack. As a work around for this potential attack the length of the decrypted key must be equal to the cipher default key length, in case the certifiate is not given and all recipientInfo are tried out. The old behaviour can be re-enabled in the CMS code by setting the CMS_DEBUG_DECRYPT flag. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9777) (cherry picked from commit 5840ed0cd1e6487d247efbc1a04136a41d7b3a37)
2019-10-04Use a valid curve when constructing an EC_KEY that looks like X25519.jsing1-2/+3
The recent EC group cofactor change results in stricter validation, which causes the EC_GROUP_set_generator() call to fail. Issue reported and fix tested by rsadowski@ ok tb@
2019-10-04Provide internal RSA_padding_{add,check}_PKCS1_OAEP_mgf1() functions.jsing2-10/+90
These are internal only for now and will be made public at a later date. The RSA_padding_{add,check}_PKCS1_OAEP() functions become wrappers around the *_mgf1() variant. ok tb@ inoguchi@ (as part of a larger diff)
2019-10-04Avoid a path traversal bug in s_server on Windows.bcook1-3/+3
openssl s_server has an arbitrary read vulnerability on Windows when run with the -WWW or -HTTP options, due to an incomplete path check logic. Thanks to Jobert Abma for reporting. ok tb@
2019-10-04the formatting for the mini synopses in this page did not render welljmc1-115/+179
on html or groff. the solution, to replace the non-standard .nr macros with a hang list, was provided by ingo - thanks! ok schwarze
2019-10-03Move towards making RSA OAEP functions handle arbitrary message digests.jsing1-53/+59
Based on OpenSSL 1.1.1. ok tb@, inoguchi@ (on an earlier/larger diff)
2019-09-30bump for LibreSSL 3.0.1libressl-v3.0.1bcook1-3/+3
2019-09-29zap trailing whitespace;jmc1-3/+3
2019-09-29If a NULL or zero cofactor is passed to EC_GROUP_set_generator(),tb3-11/+113
try to compute it using Hasse's bound. This works as long as the cofactor is small enough. Port of Brumley's fix for CVE-2019-1547 in OpenSSL 1.1.1 (old license) tests & ok inoguchi input & ok jsing commit 30c22fa8b1d840036b8e203585738df62a03cec8 Author: Billy Brumley <bbrumley@gmail.com> Date: Thu Sep 5 21:25:37 2019 +0300 [crypto/ec] for ECC parameters with NULL or zero cofactor, compute it The cofactor argument to EC_GROUP_set_generator is optional, and SCA mitigations for ECC currently use it. So the library currently falls back to very old SCA-vulnerable code if the cofactor is not present. This PR allows EC_GROUP_set_generator to compute the cofactor for all curves of cryptographic interest. Steering scalar multiplication to more SCA-robust code. This issue affects persisted private keys in explicit parameter form, where the (optional) cofactor field is zero or absent. It also affects curves not built-in to the library, but constructed programatically with explicit parameters, then calling EC_GROUP_set_generator with a nonsensical value (NULL, zero). The very old scalar multiplication code is known to be vulnerable to local uarch attacks, outside of the OpenSSL threat model. New results suggest the code path is also vulnerable to traditional wall clock timing attacks. CVE-2019-1547 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com> (Merged from https://github.com/openssl/openssl/pull/9781)
2019-09-28Xr random 4 in a better wayderaadt1-3/+5
2019-09-14Add comment line saying S is described vaguely on purpose.otto1-2/+3
Prompted by guenther@
2019-09-10document EVP_PKEY_CTX_get_signature_md(3);schwarze1-4/+17
jsing@ provided it in evp.h rev. 1.77
2019-09-09Plug memory leak in error paths. Found while comparing this filetb1-5/+5
with OpenSSL 1.1.1's version which contains a similar fix. ok jsing
2019-09-09Provide EVP_PKEY_CTX_get_signature_md() macro and implement thejsing4-7/+25
EVP_PKEY_CTRL_GET_MD control for DSA, EC and RSA. This is used by the upcoming RSA CMS code. ok inoguchi@ tb@
2019-09-09Load CMS error strings.jsing1-1/+5
2019-09-09Move #include <openssl/cms.h> to more appropriate location (since it isjsing1-3/+2
now being installed).
2019-09-09Install the openssl/cms.h header.jsing1-1/+3
This header includes OPENSSL_NO_CMS guards, so even if things find the header it provides no useful content (and other code should technically also be using OPENSSL_NO_CMS...). ok deraadt@ inoguchi@
2019-09-08Add CMS ECC support.jsing1-2/+370
This brings in EC code from OpenSSL 1.1.1b, with style(9) and whitespace cleanups. All of this code is currently under OPENSSL_NO_CMS hence is a no-op. ok inoguchi@
2019-09-06Add various macros and controls for EC_PKEY_CTX.jsing4-28/+316
These are needed for the upcoming EC CMS support (nothing else appears to use them). This largely syncs our ec_pmeth.c with OpenSSL 1.1.1b. With input from inoguchi@ and tb@. ok inoguchi@ tb@
2019-09-06Handle CMS PEM headers.jsing1-1/+11
ok inoguchi@ tb@
2019-09-05Add objects for ECDH schemes in RFC 5753.jsing2-0/+32
Based on OpenSSL 1.1.1b. ok inoguchi@ tb@
2019-09-05Build ecdh_kdf.cjsing1-2/+2
2019-09-05Replace OPENSSL_cleanse() with explicit_bzero().jsing1-1/+1
2019-09-05Provide prototype for ecdh_KDF_X9_63()jsing1-1/+7
2019-09-05Include correct header.jsing1-1/+1
2019-09-05style(9) and whitespace.jsing1-65/+72
2019-09-05Restore per-file license/copyright removed in OpenSSL commit 4f22f40507f.jsing1-5/+48
2019-09-05Remove ECDH_KDF_X9_62 wrapper.jsing1-12/+0