Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-12Remove stl_compat.h.David Benjamin
Chromium's toolchains may now assume C++11 library support, so we may freely use C++11 features. (Chromium's still in the process of deciding what to allow, but we use Google's style guide directly, toolchain limitations aside.) Change-Id: I1c7feb92b7f5f51d9091a4c686649fb574ac138d Reviewed-on: https://boringssl-review.googlesource.com/6465 Reviewed-by: Adam Langley <agl@google.com>
2015-10-20Convert ssl3_send_client_hello to CBB.David Benjamin
Start converting the ones we can right now. Some of the messier ones resize init_buf rather than assume the initial size is sufficient, so those will probably wait until init_buf is gone and the handshake's undergone some more invasive surgery. The async ones will also require some thought. But some can be incrementally converted now. BUG=468889 Change-Id: I0bc22e4dca37d9d671a488c42eba864c51933638 Reviewed-on: https://boringssl-review.googlesource.com/6190 Reviewed-by: Adam Langley <alangley@gmail.com>
2015-08-28pkcs8.c: Add PBES2 to list of password-based encryption methods.Matt Braithwaite
This consists mostly of re-adding OpenSSL's implementation of PBKDF2 (very loosely based upon e0d26bb3). The meat of it, namely |PKCS5_PBKDF2_HMAC|, was already present, but unused. In addition, |PKCS8_encrypt| and |PKCS8_decrypt| must be changed to not perform UCS-2 conversion in the PBES2 case. Change-Id: Id170ecabc43c79491600051147d1d6d3c7273dbc Reviewed-on: https://boringssl-review.googlesource.com/5745 Reviewed-by: Adam Langley <agl@google.com>
2015-08-25Add EVP_AEAD_CTX_zero.David Benjamin
Match the other stack-allocated types in that we expose a wrapper function to get them into the zero state. Makes it more amenable to templates like ScopedOpenSSLContext. Change-Id: Ibc7b2b1bc0421ce5ccc84760c78c0b143441ab0f Reviewed-on: https://boringssl-review.googlesource.com/5753 Reviewed-by: Adam Langley <agl@google.com>
2015-08-07Remove BIO dependency from cmac_test.Brian Smith
This is the only test amongst the tests for core crypto functionality that depends on crypto/bio. This change removes that dependency. This also factors out the duplicative hexdump logic into a shared function. Change-Id: Ic280a71d086555a6993c05f183b94e1d38b60932 Reviewed-on: https://boringssl-review.googlesource.com/5622 Reviewed-by: Adam Langley <agl@google.com>
2015-08-07Fix null pointer dereference in file_test.cc.Brian Smith
The error condition was checked for, but the return statement was missing. Change-Id: I92f89809a7a112fdece49a2a8a8628ff2da8e0da Reviewed-on: https://boringssl-review.googlesource.com/5610 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2015-08-06Fix Windows build.Brian Smith
When using CMake to build with MSVC, MSVC complains about unreachable code in the <xtree> header. This incantation silences that. Change-Id: I5fc5305dc816a009a4c59501b212fd11e290637d Reviewed-on: https://boringssl-review.googlesource.com/5552 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2015-06-16Raise SIGTRAP rather than abort on failure.David Benjamin
If gdb is attached, it's convenient to be able to continue running. Change-Id: I3bbb2634d05a08f6bad5425f71da2210dbb80cfe Reviewed-on: https://boringssl-review.googlesource.com/5125 Reviewed-by: Adam Langley <agl@google.com>
2015-06-15Set errno to ENOMEM when simulating a malloc failure.David Benjamin
Per malloc(3): The UNIX 98 standard requires malloc(), calloc(), and realloc() to set errno to ENOMEM upon failure. Glibc assumes that this is done (and the glibc versions of these routines do this); if you use a private malloc implementation that does not set errno, then certain library routines may fail without having a reason in errno. Notably, thread_test otherwise fails an assertion deep in glibc. Change-Id: Ia2c0ab306987476e7d6570d4bbf04a2641398925 Reviewed-on: https://boringssl-review.googlesource.com/5111 Reviewed-by: Adam Langley <agl@google.com>
2015-06-01Disable the malloc interceptor without glibc.David Benjamin
At some point we might need to make this defined by the consumer. BUG=495146 Change-Id: Iedac305f234cb383799a5afc14046cd10fb3256a Reviewed-on: https://boringssl-review.googlesource.com/4963 Reviewed-by: Adam Langley <agl@google.com>
2015-05-28Fix bn_test's bc output and shut it up a little.David Benjamin
bn_test's output is meant to be piped to bc, but this got broken somewhat: - OpenSSL uses uppercase hex rather than BoringSSL's lowercase. bc only accepts uppercase. Document that this needs some shell pipeline until we replace them with better tests because this is all ridiculous. - Some stderr outputs moved to stdout to avoid cluttering stdout. Just remove them. The operations are fast enough to not need progress. - To cut down on noise, only write the bc transcript given a command-line flag. Also remove the -results flag since it's pointless. (It writes only the results and not the inputs.) Change-Id: I08f87cac1e03fab461f0dc40b9d4285bd877807d Reviewed-on: https://boringssl-review.googlesource.com/4896 Reviewed-by: Adam Langley <agl@google.com>
2015-05-21Add malloc test support to unit tests.David Benjamin
Currently far from passing and I haven't even tried with a leak checker yet. Also bn_test is slow. Change-Id: I4fe2783aa5f7897839ca846062ae7e4a367d2469 Reviewed-on: https://boringssl-review.googlesource.com/4794 Reviewed-by: Adam Langley <agl@google.com>
2015-05-13Port cipher_test to file_test.David Benjamin
Derived from upstream's new evp_test. The tests were taken from upstream but tweaked so the diff from the old cipher_test.txt is more obvious. Change-Id: Ic82593a8bb6aaee9b69fdc42a8b75516b03c1c5a Reviewed-on: https://boringssl-review.googlesource.com/4707 Reviewed-by: Adam Langley <agl@google.com>
2015-05-13Add missing #include for abort()David Benjamin
http://build.chromium.org/p/chromium.linux/builders/Android%20Arm64%20Builder%20%28dbg%29/builds/17339 Change-Id: I1cf015bb188282363aa5ddbf4e8ef88932370b62 Reviewed-on: https://boringssl-review.googlesource.com/4714 Reviewed-by: Adam Langley <agl@google.com>
2015-05-12Add evp_test, loosely based on upstream's version.David Benjamin
This imports the EVP_PKEY test data of upstream's evptests.txt, but modified to fit our test framework and with a new test driver. The remainder of the test data will be imported separately into aead_test and cipher_test. Some minor changes to the test format were made to account for test framework differences. One test has different results since we don't support RSA signatures with omitted (rather than NULL) parameters. Otherwise, the biggest difference in test format is that the ad-hoc result strings are replaced with checking ERR_peek_error. Change-Id: I758869abbeb843f5f2ac6c1cbd87333baec08ec3 Reviewed-on: https://boringssl-review.googlesource.com/4703 Reviewed-by: Adam Langley <agl@google.com>
2015-05-12Add file-based test framework and convert hmac_test.David Benjamin
This adds a file-based test framework to crypto/test. It knows how to parse formats similar to either upstream's evp_test and our aead_test. hmac_test has been converted to that with tests from upstream's evp_test. Upstream tests it against the deprecated EVP_PKEY_HMAC API, which will be tested by running evp_test against the same input file, to avoid having to duplicate the test vectors. hmac_test runs those same inputs against the supported HMAC_CTX APIs. Change-Id: I9d2b6adb9be519760d1db282b9d43efd6f9adffb Reviewed-on: https://boringssl-review.googlesource.com/4701 Reviewed-by: Adam Langley <agl@google.com>
2015-05-11Convert pkcs12_test to C++.David Benjamin
Change-Id: If5caf6bb17a5efc9d0cb2c6c52194685d90614d9 Reviewed-on: https://boringssl-review.googlesource.com/4700 Reviewed-by: Adam Langley <agl@google.com>
2015-05-08Add support for CMAC (RFC 4493).Adam Langley
The interface for this is very similar to upstream, but the code is quite different. Support for “resuming” (i.e. calling |CMAC_Final| and then computing the CMAC for an extension of the message) has been dropped. Also, calling |CMAC_Init| with magic argument to reset it has been replaced with |CMAC_Reset|. Lastly, a one-shot function has been added because it can save an allocation and that's what most callers actually appear to want to do. Change-Id: I9345220218bdb16ebe6ca356928d7c6f055d83f6 Reviewed-on: https://boringssl-review.googlesource.com/4630 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2015-04-29Convert ec_test to C++David Benjamin
Change-Id: I5e25ddbc87370b58d9b6fc410f51e259947df8dd Reviewed-on: https://boringssl-review.googlesource.com/4468 Reviewed-by: Adam Langley <agl@google.com>
2015-04-16Add 64-bit, P-256 implementation.Adam Langley
This is taken from upstream, although it originally came from us. This will only take effect on 64-bit systems (x86-64 and aarch64). Before: Did 1496 ECDH P-256 operations in 1038743us (1440.2 ops/sec) Did 2783 ECDSA P-256 signing operations in 1081006us (2574.5 ops/sec) Did 2400 ECDSA P-256 verify operations in 1059508us (2265.2 ops/sec) After: Did 4147 ECDH P-256 operations in 1061723us (3905.9 ops/sec) Did 9372 ECDSA P-256 signing operations in 1040589us (9006.4 ops/sec) Did 4114 ECDSA P-256 verify operations in 1063478us (3868.4 ops/sec) Change-Id: I11fabb03239cc3a7c4a97325ed4e4c97421f91a9
2015-04-16Convert ecdsa_test to C++.David Benjamin
Change-Id: I3bcfc9d29fb3b5eed3d578eb4879b815458f20c0 Reviewed-on: https://boringssl-review.googlesource.com/4351 Reviewed-by: Adam Langley <agl@google.com>
2015-04-01Convert bn_test to C++.David Benjamin
Along the way, fix a host of missing failure checks. This will save some headache when it comes time to run these under the malloc failure tests. Change-Id: I3fd589bd094178723398e793d6bc578884e99b67 Reviewed-on: https://boringssl-review.googlesource.com/4126 Reviewed-by: Adam Langley <agl@google.com>
2015-04-01Convert hmac_test to C++.David Benjamin
Change-Id: I50db70385634c51ed692ac0ebf9732f46130ca41 Reviewed-on: https://boringssl-review.googlesource.com/4125 Reviewed-by: Adam Langley <agl@google.com>
2015-04-01Convert evp_test to C++.David Benjamin
Change-Id: I6e51815db2f600f4d9fb4d8b01cc92e128b31bbb Reviewed-on: https://boringssl-review.googlesource.com/4122 Reviewed-by: Adam Langley <agl@google.com>
2015-04-01Convert ssl_test to C++.David Benjamin
Change-Id: Ic8f3cd5c6a89e07bbae43b1599a01fedf119b081 Reviewed-on: https://boringssl-review.googlesource.com/4121 Reviewed-by: Adam Langley <agl@google.com>
2015-04-01Remove std::unique_ptr dependency on bssl_shim's scoped types.David Benjamin
This is in preparation for using RAII in the unit tests. Those tests are built in Chromium as well, but Chromium does not have C++11 library support across all its toolchains. Compiler support is available, so add a partial reimplementation of std::unique_ptr and std::move under crypto/test/. The scopers for the crypto/ library are also moved there while the ones for ssl/ stay in ssl/test/. Change-Id: I38f769acbc16a870db34649928575c7314b6e9f6 Reviewed-on: https://boringssl-review.googlesource.com/4120 Reviewed-by: Adam Langley <agl@google.com>