summaryrefslogtreecommitdiff
path: root/src/lib/libc/string/wcscpy.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-11-07Use in-place (un)wrapping in the keywrap tests.tb1-5/+8
2018-11-07Add in key_schedule regress tests to regress buildbeck1-1/+2
2018-11-07Add a self test for each SSL library by connecting client withbluhm5-23/+88
server. Check that the highest available TLS version is selected. LibreSSL TLS 1.3 check is disabled until the feature becomes available.
2018-11-07Add initial TLS 1.3 key schedule support with basic regress testsbeck5-2/+685
ok jsing@ tb@
2018-11-07Add interop test with OpenSSL 1.1. TLS 1.3 should be used automaticallybluhm5-10/+55
when it becomes available in LibreSSL. thanks to sthen@ for the new OpenSSL port
2018-11-07Use memmove() instead of memcpy() to get rid of the need fortb1-3/+3
non-overlapping *in and *out buffers as we're already implementing the "in place (un)wrapping" algorithms as given in RFC 3394. This removes a gratuitous API difference to OpenSSLin these undocumented functions. Found while working on wycheproof regress tests. ok beck jsing
2018-11-07Print SSLeay, OpenSSL, and LibreSSL version strings. Make clientbluhm7-12/+71
and server compile with OpenSSL 1.1. Check runtime version string of SSL library.
2018-11-07Add TLSv1.3 cipher suites (with appropriate guards).jsing6-9/+100
ok beck@ tb@
2018-11-07+interopbluhm1-1/+2
2018-11-07Test TLS interoperability between LibreSSL and OpenSSL.bluhm10-0/+549
Implement simple SSL client and server in C. Create four binaries by linking them with LibreSSL or OpenSSL. This way API compatibility is tested. Connect and accept with netcat to test protocol compatibility with libtls. Currently OpenSSL 1.0.2p from ports is used. Plan is to move to OpenSSL 1.1 and and test TLS 1.3. idea from beck@; help from jsing@
2018-11-06Add TLS extension type values for TLSv1.3 (under guards).jsing1-2/+16
ok tb@
2018-11-06Use TLS_CA_CERT_FILE instead of a separate define.jsing2-7/+4
ok beck@ bluhm@ tb@
2018-11-06Define TLS_CA_CERT_FILE rather than having every application create theirjsing3-6/+6
own define for /etc/ssl/cert.pem. ok beck@ bluhm@ tb@
2018-11-06better failure printing, add more checkstb1-9/+35
2018-11-06rm FILES section; prompted by Janne Johanssonotto1-7/+2
2018-11-06Use the new vm.malloc_conf sysctl; ok millert@ deraadt@otto1-6/+11
2018-11-06unrevert the use of bn_rand_interval().tb6-35/+26
ok beck jsing
2018-11-06Unset Z_is_zero after applying coordinate blinding andtb1-3/+4
re-enable coordinate blinding. ok jsing
2018-11-06link rand/ to buildtb1-2/+4
2018-11-06add a regression test for bn_rand_interval()tb2-0/+98
2018-11-06Flip reversed test in bn_rand_interval().tb1-2/+2
ok jsing
2018-11-06Unbreak following elliptic curves to supported groups rename.jsing1-3/+3
Reported by Katherine <luigi30 at gmail dot com> on tech@
2018-11-06disable EC_POINT coordinate blinding due to failures in ECDHE and TLStb1-1/+3
2018-11-06revert use of bn_rand_interval due to failures with ECDHE and TLStb5-24/+33
2018-11-06Add TLSv1.3 to version regress tests.jsing1-4/+80
2018-11-06Include TLSv1.3 in version handling code.jsing1-3/+9
This is effectively a no-op, since most of the code clamps to the maximum version supported by the TLS method (which are still at TLSv1.2). ok beck@ bluhm@ tb@
2018-11-06Add TLS1_3_VERSION and SSL_OP_NO_TLSv1_3 defines under guards.jsing2-2/+13
ok beck@ bluhm@ tb@
2018-11-06Start working towards adding feature flags (rather than anti-feature flags)jsing1-1/+10
for LibreSSL. Add a (commented out) feature flag for TLSv1.3 and define the OPENSSL_NO_TLS1_3 anti-feature flag based on the feature flag. ok beck@ bluhm@ tb@
2018-11-06Unbreak regress following Supported Elliptic Curve extension rename.jsing1-49/+49
2018-11-05Make use of bn_rand_interval() where appropriate.tb5-33/+24
ok beck jsing
2018-11-05Introduce bn_rand_interval() that allows specifying an interval [a, b)tb2-2/+30
from which a a BIGNUM is chosen uniformly at random. ok beck jsing
2018-11-05Eliminate a few "} else" branches, a few unneeded NULL checks beforetb3-43/+33
freeing and indent nearby labels. ok beck jsing
2018-11-05Remove two unnecessary BN_FLG_CONSTTIME dances: BN_mod_exp_ct() alreadytb2-21/+7
takes care of this internally. ok beck jsing
2018-11-05Rename the TLS Supported Elliptic Curves extension to Supported Groups.jsing6-88/+92
RFC 7919 renamed the Supported Elliptic Curves TLS extension to Supported Groups and redefined it to include finite field DH (FFDH) in addition to elliptic curve DH (ECDH). As such, rename the TLS extension and change the associated code to refer to groups rather than curves. ok beck@ tb@
2018-11-05Rework the TLS extension handling code to improve readability/flexibility,jsing1-89/+112
by moving the needs/build/parse functions into their own struct. ok beck@ tb@
2018-11-05Implement coordinate blinding for EC_POINT.tb10-18/+110
Based on OpenSSL commit 875ba8b21ecc65ad9a6bdc66971e50 by Billy Brumley, Sohaib ul Hassan and Nicola Tuveri. ok beck jsing commit 875ba8b21ecc65ad9a6bdc66971e50461660fcbb Author: Sohaib ul Hassan <soh.19.hassan@gmail.com> Date: Sat Jun 16 17:07:40 2018 +0300 Implement coordinate blinding for EC_POINT This commit implements coordinate blinding, i.e., it randomizes the representative of an elliptic curve point in its equivalence class, for prime curves implemented through EC_GFp_simple_method, EC_GFp_mont_method, and EC_GFp_nist_method. This commit is derived from the patch https://marc.info/?l=openssl-dev&m=131194808413635 by Billy Brumley. Coordinate blinding is a generally useful side-channel countermeasure and is (mostly) free. The function itself takes a few field multiplicationss, but is usually only necessary at the beginning of a scalar multiplication (as implemented in the patch). When used this way, it makes the values that variables take (i.e., field elements in an algorithm state) unpredictable. For instance, this mitigates chosen EC point side-channel attacks for settings such as ECDH and EC private key decryption, for the aforementioned curves. For EC_METHODs using different coordinate representations this commit does nothing, but the corresponding coordinate blinding function can be easily added in the future to extend these changes to such curves. Co-authored-by: Nicola Tuveri <nic.tuv@gmail.com> Co-authored-by: Billy Brumley <bbrumley@gmail.com> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com> Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6526)
2018-11-05Implement C11's aligned_alloc(3). ok guenther@otto2-5/+84
2018-11-05Clean up the code that checks if we can choose an EC cipher suite.jsing3-16/+7
The tls1_check_ec_tmp_key() function is now rather misnamed, so just inline the code. Also, rather than running tls1_get_shared_curve() once per EC cipher suite, we can run it once at the start of the ssl3_choose_cipher() function. ok bluhm@ tb@
2018-11-05Consolidate all of the SSL method structs/functions into a single file.jsing8-871/+672
Discussed with tb@
2018-11-05Mop up ecdh_tmp, since it is no longer used.jsing3-25/+4
ok bluhm@ tb@
2018-11-04Define OPENSSL_NO_ASYNC - our libcryptosink does not have built in asyncjsing1-1/+1
features (and possibly never will).
2018-11-04Update the opensslfeatures.h to include all of the OPENSSL_NO_* flags thatjsing1-8/+84
currently exist in OpenSSL - comment out that ones that we do not already define. Some OPENSSL_NO_* flags that we define have been removed from OpenSSL (and code that depended on these to know when features are not available now think that the features have been enabled...). We keep these defined but in their own separate group. ok bluhm@ tb@
2018-11-04Reformat and sort the OPENSSL_NO_* defines.jsing1-25/+25
2018-11-02move X509_get0_serialNumber where it belongstb1-1/+1
2018-11-02whitespacetb1-2/+2
2018-11-01Make the documentation of -conv_form match reality. It defaultstb1-6/+6
to uncompressed rather than compressed. From Jacqueline Jolicoeur
2018-10-26show what went wrong with a unix domain socket, rather than fail silentlydlg1-2/+4
handy if you type the path wrong or don't have permission... ok deraadt@
2018-10-24Bump libcrypto/libssl/libtls majors due to symbol removals (libcrypto)jsing3-6/+6
and changes to struct visibility/sizes (libssl).
2018-10-24Make more of libssl's record layer state internal.jsing8-88/+86
In January 2017, we changed large amounts of libssl's data structures to be non-visible/internal, however intentionally left things that the software ecosystem was needing to use. The four or so applications that reached into libssl for record layer related state now implement alternative code. As such, make these data structures internal. ok tb@
2018-10-24Remove a GOST data symbol that should not be exported.jsing1-1/+0