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
2016-06-28Make OBJ_NAME_do_all more OpenSSL-compatible.David Benjamin
OBJ_NAME in OpenSSL has an 'alias' field which some code consumes. We never report anything OpenSSL considers an alias, so just leave it zero. It also has a 'data' field which, confusingly, is a pointer to the EVP_CIPHER or EVP_MD despite being a char pointer. See calls to and implementation of OBJ_NAME_add in OpenSSL for comparison. Change-Id: Ifc5c70424569db8783deb2fda7736c1954b5dd3a Reviewed-on: https://boringssl-review.googlesource.com/8515 Reviewed-by: Adam Langley <agl@google.com>
2016-06-10Wrap MSVC-only warning pragmas in a macro.David Benjamin
There's a __pragma expression which allows this. Android builds us Windows with MinGW for some reason, so we actually do have to tolerate non-MSVC-compatible Windows compilers. (Clang for Windows is much more sensible than MinGW and intentionally mimicks MSVC.) MinGW doesn't understand MSVC's pragmas and warns a lot. #pragma warning is safe to suppress, so wrap those to shush them. This also lets us do away with a few ifdefs. Change-Id: I1f5a8bec4940d4b2d947c4c1cc9341bc15ec4972 Reviewed-on: https://boringssl-review.googlesource.com/8236 Reviewed-by: Adam Langley <agl@google.com>
2016-05-26Replace base64 decoding.Adam Langley
This code has caused a long history of problems. This change rewrites it completely with something that is, hopefully, much simplier and robust and adds more testing. Change-Id: Ibeef51f9386afd95d5b73316e451eb3a2d7ec4e0 Reviewed-on: https://boringssl-review.googlesource.com/8033 Reviewed-by: Adam Langley <agl@google.com>
2016-05-20Add |EVP_dss1| as an alias for |EVP_sha1| in decrepit.Adam Langley
Change-Id: I51fa744c367d1f0c7044050f99c4992778e649bd Reviewed-on: https://boringssl-review.googlesource.com/8030 Reviewed-by: David Benjamin <davidben@google.com>
2016-04-27Revert md_len removal from SHA256_CTX and SHA512_CTX.David Benjamin
This reverts commits: - 91586371422dae70481c39752e55f01f50e9a93a - a90aa643024459c1698dbec84f4c79a3238b3db8 - c0d8b83b4462a0eb1889f32dbd7f46e83f4dbc81 It turns out code outside of BoringSSL also mismatches Init and Update/Final functions. Since this is largely cosmetic, it's probably not worth the cost to do this. Change-Id: I14e7b299172939f69ced2114be45ccba1dbbb704 Reviewed-on: https://boringssl-review.googlesource.com/7793 Reviewed-by: Adam Langley <agl@google.com>
2016-04-27Pull HASH_MAKE_STRING out of md32_common.h.David Benjamin
This is in preparation for taking md_len out of SHA256_CTX by allowing us to do something similar to SHA512_CTX. md32_common.h now emits a static "finish" function which Final composes with the extraction step. Change-Id: I314fb31e2482af642fd280500cc0e4716aef1ac6 Reviewed-on: https://boringssl-review.googlesource.com/7721 Reviewed-by: Adam Langley <agl@google.com>
2016-04-27Fix Windows build.David Benjamin
Change-Id: Ie35b8d0e2da0f7d2588c4a436fc4b2b2596aaf18 Reviewed-on: https://boringssl-review.googlesource.com/7791 Reviewed-by: David Benjamin <davidben@google.com>
2016-04-27Banish SSL_add_dir_cert_subjects_to_stack and OPENSSL_DIR_CTX to decrepit.David Benjamin
There was only one function that required BoringSSL to know how to read directories. Unfortunately, it does have some callers and it's not immediately obvious whether the code is unreachable. Rather than worry about that, just toss it all into decrepit. In doing so, do away with the Windows and PNaCl codepaths. Only implement OPENSSL_DIR_CTX on Linux. Change-Id: Ie64d20254f2f632fadc3f248bbf5a8293ab2b451 Reviewed-on: https://boringssl-review.googlesource.com/7661 Reviewed-by: Adam Langley <agl@google.com>
2016-04-14Export RSA_padding_add_PKCS1_OAEP[_mgf1]Adam Langley
This is needed by trousers. As with the PSS function, the version that assumes SHA-1 is put into decrepit. Change-Id: I153e8ea0150e48061b978384b600a7b990d21d03 Reviewed-on: https://boringssl-review.googlesource.com/7670 Reviewed-by: David Benjamin <davidben@google.com>
2016-04-12Revert "Banish SSL_add_dir_cert_subjects_to_stack and OPENSSL_DIR_CTX to ↵David Benjamin
decrepit." This reverts commit 112c4dd1ff895bf5af0d64488234b0fc40b616bc. Accidentally used the wrong push line.
2016-04-12Banish SSL_add_dir_cert_subjects_to_stack and OPENSSL_DIR_CTX to decrepit.David Benjamin
There was only one function that required BoringSSL to know how to read directories. Unfortunately, it does have some callers and it's not immediately obvious whether the code is unreachable. Rather than worry about that, just toss it all into decrepit. In doing so, do away with the Windows and PNaCl codepaths. Only implement OPENSSL_DIR_CTX on Linux. Change-Id: I3eb55b098e3aa042b422bb7da115c0812685553e
2016-03-10Add |DH_generate_parameters| to decrepit.Adam Langley
This makes building OpenLDAP easier. Change-Id: Id64699f95477fb8fb98957027c97070ebf41f4b1 Reviewed-on: https://boringssl-review.googlesource.com/7407 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-09Fix the shared library build.David Benjamin
libdecrepit wants some symbols visible. Also a build file typo. Change-Id: I670d2324ab9048f84e7f80afdefc98cbab80335d Reviewed-on: https://boringssl-review.googlesource.com/7411 Reviewed-by: Adam Langley <agl@google.com>
2016-03-09Fix Windows build.Adam Langley
Windows doesn't like returning void values from void functions. Change-Id: I9fbcb26098a5434ff4e8980f3ed0cd7b2567d658
2016-03-09Fix bug in obj_decrepit.cAdam Langley
Interestingly, Windows caught this with: ..\decrepit\obj\obj_decrepit.c(33) : warning C4090: 'function' : different 'const' qualifiers However, the value of |name| isn't const, only the thing that it points to. So this seems like a bug in MSVC, but I'm ok with it this time. Change-Id: I076f98339cb0b669a4f592fba89aafc0a580efc4 Reviewed-on: https://boringssl-review.googlesource.com/7404 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-09Add |OBJ_NAME_do_all_sorted|.Adam Langley
This another of those functions that tries to turn C into Python. In this case, implement it in terms of the similar functions in EVP so that at least we only have one list of things. This makes life with nmap easier. Change-Id: I6d01c43f062748d4ba7d7020587c286322e610bb Reviewed-on: https://boringssl-review.googlesource.com/7403 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-09Add RIPEMD160 support in decrepit.Adam Langley
This version is taken from OpenSSL 1.0.2 with tweaks to support the changes that we have made to md32_common.h. None of the assembly implementations have been imported. This makes supporting nmap easier. Change-Id: Iae9241abdbc9021cc6bc35a65b40c3d739011ccc Reviewed-on: https://boringssl-review.googlesource.com/7402 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-09Add |RC4_options| to decrepit.Adam Langley
I've no idea who thought that this function was a good idea in the first place, but including it in decrepit makes supporting nmap easier. Change-Id: I7433cda6a6ddf1cc545126edf779625e9fc70ada Reviewed-on: https://boringssl-review.googlesource.com/7401 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-08Fix windows build.Adam Langley
Windows doesn't like struct literals: ..\decrepit\dsa\dsa_decrepit.c(85) : warning C4204: nonstandard extension used : non-constant aggregate initializer Change-Id: I12541f2883ecbb10c85cddfae8d2adbbb1365ae3 Reviewed-on: https://boringssl-review.googlesource.com/7364 Reviewed-by: Adam Langley <agl@google.com>
2016-03-08Add |X509_EXT_conf_nid| to decrepit.Adam Langley
This function is a deprecated version of |X509_EXT_nconf_nid| that takes a hash of |CONF_VALUE|s directly rather than a |CONF|. Change-Id: I5fd1025b31d73b988d9298b2624453017dd34ff4 Reviewed-on: https://boringssl-review.googlesource.com/7363 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-08Add |RSA_[padding_add|verify]_PKCS1_PSS to decrepit.Adam Langley
These functions are just like the _mgf1 versions but omit one of the parameters. It's easier to add them than to patch the callers in some cases. Change-Id: Idee5b81374bf15f2ea89b7e0c06400c2badbb275 Reviewed-on: https://boringssl-review.googlesource.com/7362 Reviewed-by: David Benjamin <davidben@google.com>
2016-03-08Add DSA_generate_parameters to decrepit.Adam Langley
This function was deprecated by OpenSSL in 0.9.8 but code that uses it still exists. This change adds an implementation of this function to decreipt/ to support these programs. Change-Id: Ie99cd00ff8b0ab2675f2b1c821c3d664b9811f16 Reviewed-on: https://boringssl-review.googlesource.com/7360 Reviewed-by: David Benjamin <davidben@google.com>
2016-01-27Tweaks for node.jsAdam Langley
node.js is, effectively, another bindings library. However, it's better written than most and, with these changes, only a couple of tiny fixes are needed in node.js. Some of these changes are a little depressing however so we'll need to push node.js to use APIs where possible. Changes: ∙ Support verify_recover. This is very obscure and the motivation appears to be https://github.com/nodejs/node/issues/477 – where it's not clear that anyone understands what it means :( ∙ Add a few, no-op #defines ∙ Add some members to |SSL_CTX| and |SSL| – node.js needs to not reach into these structs in the future. ∙ Add EC_get_builtin_curves. ∙ Add EVP_[CIPHER|MD]_do_all_sorted – these functions are limited to decrepit. Change-Id: I9a3566054260d6c4db9d430beb7c46cc970a9d46 Reviewed-on: https://boringssl-review.googlesource.com/6952 Reviewed-by: Adam Langley <agl@google.com>
2015-11-19Fix AES XTS mode key size.Matt Braithwaite
I screwed up the |EVP_CIPHER| parameters for XTS when I first imported it, and there were no tests to catch it. (The problem was that |EVP_CIPH_XTS_MODE| means “the key size is actually twice what it says here.”) With these changes, OpenSSL's tests pass. (Along the way, make a few other things about XTS slightly less decrepit.) Change-Id: Icbfbc5e6d532d1c132392ee366f9cab42802d674 Reviewed-on: https://boringssl-review.googlesource.com/6529 Reviewed-by: Adam Langley <agl@google.com>
2015-11-12Become partially -Wmissing-variable-declarations-clean.David Benjamin
There's a few things that will be kind of a nuisance and possibly not worth it (crypto/asn1 dumps a lot of undeclared things, etc.). But it caught some mistakes. Even without the warning, making sure to include the externs before defining a function helps catch type mismatches. Change-Id: I3dab282aaba6023e7cebc94ed7a767a5d7446b08 Reviewed-on: https://boringssl-review.googlesource.com/6484 Reviewed-by: Adam Langley <agl@google.com>
2015-10-27Fix shared library build on OS X.David Benjamin
It seems OS X actually cares about symbol resolution and dependencies when you create a dylib. Probably because they do two-level name resolution. (Obligatory disclaimer: BoringSSL does not have a stable ABI and is thus not suitable for a traditional system-wide library.) BUG=539603 Change-Id: Ic26c4ad23840fe6c1f4825c44671e74dd2e33870 Reviewed-on: https://boringssl-review.googlesource.com/6131 Reviewed-by: Adam Langley <alangley@gmail.com>
2015-10-27Fix the shared builders by exporting GCM symbols.Adam Langley
gcm_test.cc needs to access the internal GCM symbols. This is unfortunate because it means that they have to be marked OPENSSL_EXPORT just for this. To compensate, modes.h is removed and its contents copied into crypto/modes/internal.h. Change-Id: I1777b2ef8afd154c43417137673a28598a7ec30e Reviewed-on: https://boringssl-review.googlesource.com/6360 Reviewed-by: Adam Langley <alangley@gmail.com>
2015-08-26Move arm_arch.h and fix up lots of include paths.Adam Langley
arm_arch.h is included from ARM asm files, but lives in crypto/, not openssl/include/. Since the asm files are often built from a different location than their position in the source tree, relative include paths are unlikely to work so, rather than having crypto/ be a de-facto, second global include path, this change moves arm_arch.h to include/openssl/. It also removes entries from many include paths because they should be needed as relative includes are always based on the locations of the source file. Change-Id: I638ff43d641ca043a4fc06c0d901b11c6ff73542 Reviewed-on: https://boringssl-review.googlesource.com/5746 Reviewed-by: Adam Langley <agl@google.com>
2015-08-19Re-add the C version (only) of |EVP_aes_256_xts|Matt Braithwaite
Change-Id: I63c70f93a0f9395673c9fbe01eb5d864a14a48b6 Reviewed-on: https://boringssl-review.googlesource.com/5520 Reviewed-by: Adam Langley <agl@google.com> Reviewed-by: Matt Braithwaite <mab@google.com>
2015-06-24Restore |DES_ede3_cfb_encrypt| and |DES_ede3_cfb64_encrypt| from OpenSSL at ↵Matt Braithwaite
ce7e647b. Change-Id: I7ab7ea3cdabc697b2945a50c8d8f349d6b408848 Reviewed-on: https://boringssl-review.googlesource.com/5211 Reviewed-by: Adam Langley <agl@google.com>
2015-06-24Restore |RSA_generate_key()| from OpenSSL at b4f0d1a.Matt Braithwaite
The callback arguments are required to be NULL. Change-Id: I266ec46efdaca411a7f0c2b645883b2c5bec1c96 Reviewed-on: https://boringssl-review.googlesource.com/5160 Reviewed-by: Adam Langley <agl@google.com>
2015-06-24Restore |BIO_f_base64| from OpenSSL at b4f0d1a, modulo style fixes.Matt Braithwaite
Change-Id: Ia7f4f4f6d063d882cf3d3ac0f5f33ad8d8cd9875 Reviewed-on: https://boringssl-review.googlesource.com/5151 Reviewed-by: Adam Langley <agl@google.com>
2015-04-13Eliminate unnecessary includes from low-level crypto modules.Brian Smith
Beyond generally eliminating unnecessary includes, eliminate as many includes of headers that declare/define particularly error-prone functionality like strlen, malloc, and free. crypto/err/internal.h was added to remove the dependency on openssl/thread.h from the public openssl/err.h header. The include of <stdlib.h> in openssl/mem.h was retained since it defines OPENSSL_malloc and friends as macros around the stdlib.h functions. The public x509.h, x509v3.h, and ssl.h headers were not changed in order to minimize breakage of source compatibility with external code. Change-Id: I0d264b73ad0a720587774430b2ab8f8275960329 Reviewed-on: https://boringssl-review.googlesource.com/4220 Reviewed-by: Adam Langley <agl@google.com>
2015-04-07Add decrepit, initially containing CAST and Blowfish.Adam Langley
decrepit will contain algorithms that we really wish didn't exist any longer. It won't be built by default in Chromium etc, but the code will exist for crummy code that still needs it. Change-Id: Ic307f5f0a69efe9e0a5fd54052f49d219e90dcdd