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-01-06Test which direction ERR_get_error reads from the error queue.David Benjamin
ERR_get_error returns the least recent error, not the most recent error. Nothing in err_test was actually asserting on that. Change-Id: Ia49e29c231de4bbec77d037860ad1ffa8cce4779 Reviewed-on: https://boringssl-review.googlesource.com/2750 Reviewed-by: Adam Langley <agl@google.com>
2014-12-18Implement HKDF.Nick Harper
See https://tools.ietf.org/html/rfc5869. Change-Id: I6d012d8c38806df80aa44350d3a86eaff499ac05 Reviewed-on: https://boringssl-review.googlesource.com/2533 Reviewed-by: Adam Langley <agl@google.com>
2014-11-19Add malloc failure tests.Adam Langley
This commit fixes a number of crashes caused by malloc failures. They were found using the -malloc-test=0 option to runner.go which runs tests many times, causing a different allocation call to fail in each case. (This test only works on Linux and only looks for crashes caused by allocation failures, not memory leaks or other errors.) This is not the complete set of crashes! More can be found by collecting core dumps from running with -malloc-test=0. Change-Id: Ia61d19f51e373bccb7bc604642c51e043a74bd83 Reviewed-on: https://boringssl-review.googlesource.com/2320 Reviewed-by: Adam Langley <agl@google.com>
2014-11-11Fix ownership of error data in ERR_peek_*.David Benjamin
The error queue should only take ownership of the data if ERR_get_* is called, not ERR_peek_*. Add a test for ERR_peek_error_line_data. Change-Id: I976fc90fb54437dff723418ef3afd94f1c967922 Reviewed-on: https://boringssl-review.googlesource.com/2237 Reviewed-by: Adam Langley <agl@google.com>
2014-11-06Don't leak in err_set_error_data if error queue is empty.David Benjamin
Caught by clang scan-build. Change-Id: I16496bfc469e809348199057adfb24c33c426ccb Reviewed-on: https://boringssl-review.googlesource.com/2207 Reviewed-by: Adam Langley <agl@google.com>
2014-10-31Remove ERR_LIB_PKCS12.Adam Langley
This is no longer used but, by retaining it, we might miss cases where code is still testing against it. Change-Id: I40ed47e41f903aaf2c5e5354d4348f8890021382 Reviewed-on: https://boringssl-review.googlesource.com/2110 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-10-10Add generic OPERATION_NOT_SUPPORTED error code.Adam Langley
Implementations of ENGINEs often don't want to implement every function. This change adds an error code for those situations. Change-Id: Id6b7eace36d06ffad7f347f556d942d447d8a2fd Reviewed-on: https://boringssl-review.googlesource.com/1920 Reviewed-by: Wan-Teh Chang <wtc@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-10-10Fix err_test.David Benjamin
ERR_FLAG_MALLOCED is now masked and isn't returned through ERR_get_error_line_data. Change-Id: Ida633bf1a5ca01f563c1323dbdfb2433c2ab5159 Reviewed-on: https://boringssl-review.googlesource.com/1910 Reviewed-by: Adam Langley <agl@google.com>
2014-10-07Fix invariant broken in 5f1374e2.Adam Langley
If to_free is not a valid pointer then it should be NULL. Change-Id: I6addb2b8e7aa61d3ba47baaf8d0606d10ff2545d
2014-10-07Retain ownership of malloced error data.Adam Langley
I misunderstood the OpenSSL semantics here. When receiving an error data pointer via ERR_get_error_line_data and friends, although the error is cleared, OpenSSL retains ownership of the data pointer. It's kept in the cleared error until another error overrides it, or the whole error queue is cleared. It's pretty odd to have live pointers in empty errors so this change allows an error queue to retain one data pointer. Thus the pointer returned from ERR_get_error_line_data is valid until the next call to ERR_get_error_line_data, or until the queue is freed. From reviewing uses of the API, this is sufficient for all of them. Change-Id: I73cb8e9c792452ae3c1a934ac8bbe8b5353b65b2 Reviewed-on: https://boringssl-review.googlesource.com/1880 Reviewed-by: Adam Langley <agl@google.com>
2014-09-12Add a CRYPTO_library_init and static-initializer-less build option.David Benjamin
Chromium does not like static initializers, and the CPU logic uses one to initialize CPU bits. However, the crypto library lacks an explicit initialization function, which could complicate (no compile-time errors) porting existing code which uses crypto/, but not ssl/. Add an explicit CRYPTO_library_init function, but make it a no-op by default. It only does anything (and is required) if building with BORINGSSL_NO_STATIC_INITIALIZER. Change-Id: I6933bdc3447fb382b1f87c788e5b8142d6f3fe39 Reviewed-on: https://boringssl-review.googlesource.com/1770 Reviewed-by: Adam Langley <agl@google.com>
2014-08-26Add PKCS#12 parser.Adam Langley
This is cleaner than the OpenSSL code was, at least, but it's hardly beautiful due to the "standard" that it's trying to implement. (See [1].) The references from the PKCS#8 code to various ciphers have digests have been made into function pointer references rather than NIDs so that the linker will be able to drop RC2 code for binaries that don't call PKCS#8 or #12 functions. A bug that crashed OpenSSL/BoringSSL when parsing a malformed PKCS#8 structure has been fixed too. See https://www.cs.auckland.ac.nz/~pgut001/pubs/pfx.html Change-Id: Iaa1039e04ed7877b90792835e8ce3ebc3b29f89e Reviewed-on: https://boringssl-review.googlesource.com/1592 Reviewed-by: Adam Langley <agl@google.com>
2014-08-21Convert all zero-argument functions to '(void)'David Benjamin
Otherwise, in C, it becomes a K&R function declaration which doesn't actually type-check the number of arguments. Change-Id: I0731a9fefca46fb1c266bfb1c33d464cf451a22e Reviewed-on: https://boringssl-review.googlesource.com/1582 Reviewed-by: Adam Langley <agl@google.com>
2014-08-18Include Windows.h in some source files.Yoshisato Yanagisawa
https://code.google.com/p/chromium/issues/detail?id=399172#c3 Change-Id: Ie5447f0d6901d802698eabadf3bd5d42d75f588d
2014-08-14Add EVP_EncodedLength.Adam Langley
Several callers of EVP_EncodeBlock are doing ad-hoc versions of this function without any overflow checks. Change-Id: I4d0cad2347ea8c44b42465e8b14b2783db69ee8f Reviewed-on: https://boringssl-review.googlesource.com/1511 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-08-12Fix err_test.Adam Langley
I forgot to commit before landing the last change and still had this outstanding in my client. Change-Id: Ie1f533e671be130f738d562b129b5151b7be9c1e
2014-08-12Add ERR_remove_thread_state (for Android).Adam Langley
Change-Id: I908d207ccd3d529ec09c687effc2aeb4631127d9 Reviewed-on: https://boringssl-review.googlesource.com/1470 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-07-15Move public headers to include/openssl/Adam Langley
Previously, public headers lived next to the respective code and there were symlinks from include/openssl to them. This doesn't work on Windows. This change moves the headers to live in include/openssl. In cases where some symlinks pointed to the same header, I've added a file that just includes the intended target. These cases are all for backwards-compat. Change-Id: I6e285b74caf621c644b5168a4877db226b07fd92 Reviewed-on: https://boringssl-review.googlesource.com/1180 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-07-02Add ERR_get_next_error_library back.Adam Langley
It was removed in the fork but it turned out to need it. Change-Id: I21030c8d5befecb63f2c40a59963bec1da1d96fb Reviewed-on: https://boringssl-review.googlesource.com/1081 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-06-21Inital import.Adam Langley
Initial fork from f2d678e6e89b6508147086610e985d4e8416e867 (1.0.2 beta). (This change contains substantial changes from the original and effectively starts a new history.)