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-28Switch perlasm calling convention.David Benjamin
Depending on architecture, perlasm differed on which one or both of: perl foo.pl flavor output.S perl foo.pl flavor > output.S Upstream has now unified on the first form after making a number of changes to their files (the second does not even work for their x86 files anymore). Sync those portions of our perlasm scripts with upstream and update CMakeLists.txt and generate_build_files.py per the new convention. This imports various commits like this one: 184bc45f683c76531d7e065b6553ca9086564576 (this was done by taking a diff, so I don't have the full list) Confirmed that generate_build_files.py sees no change. BUG=14 Change-Id: Id2fb5b8bc2a7369d077221b5df9a6947d41f50d2 Reviewed-on: https://boringssl-review.googlesource.com/8518 Reviewed-by: Adam Langley <agl@google.com>
2016-04-23Remove RC4_options from rc4-586.pl.Adam Langley
The x86-64 version of this assembly doesn't include this function. It's in decrepit/rc4 as a compatibility backfill but that means that 32-bit builds end up with two definitions of this symbol. Change-Id: Ib6da6b91aded8efc679ebbae6d60c96a78f3dc4e Reviewed-on: https://boringssl-review.googlesource.com/7734 Reviewed-by: David Benjamin <davidben@google.com>
2015-12-17Remove the stitched RC4-MD5 code and use the generic one.David Benjamin
This removes 16k from a release-mode build of the bssl tool. Now that we've finished the AEAD refactor, there's no use in keeping this around as a prototype for "stateful AEADs". Before: Did 2264000 RC4-MD5 (16 bytes) seal operations in 1000430us (2263026.9 ops/sec): 36.2 MB/s Did 266000 RC4-MD5 (1350 bytes) seal operations in 1000984us (265738.5 ops/sec): 358.7 MB/s Did 50000 RC4-MD5 (8192 bytes) seal operations in 1014209us (49299.5 ops/sec): 403.9 MB/s After: Did 1895000 RC4-MD5 (16 bytes) seal operations in 1000239us (1894547.2 ops/sec): 30.3 MB/s Did 199000 RC4-MD5 (1350 bytes) seal operations in 1001361us (198729.5 ops/sec): 268.3 MB/s Did 39000 RC4-MD5 (8192 bytes) seal operations in 1014832us (38430.0 ops/sec): 314.8 MB/s There is a non-trivial performance hit, but this cipher doesn't matter much and the stitched mode code reaches into MD5_CTX and RC4_KEY in somewhat unfortunate ways. Change-Id: I9ecd28d6afb54e90ce61baecc641742af2ae6269 Reviewed-on: https://boringssl-review.googlesource.com/6752 Reviewed-by: Adam Langley <agl@google.com>
2015-10-28Fix a couple more signed/unsigned compares.Adam Langley
Different compilers find different problems. Change-Id: I732611005ae1cbfcb4bc70c3f98af2c18b0a04da
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-07-29Convert remaining Latin-1 files to UTF-8.David Benjamin
See upstream's 9f0b86c68bb96d49301bbd6473c8235ca05ca06b. Generated by using upstream's script in 5a3ce86e21715a683ff0d32421ed5c6d5e84234d and then manually throwing out the false positives. (We converted a bunch of stuff already in 91157550061d5d794898fe47b95384a7ba5f7b9d.) This may require some wrestling with depot_tools to land in Chromium due to Rietveld's encoding bugs, but hopefully that will avoid future problems; Rietveld breaks if either old or new file is Latin-1. Change-Id: I26dcb20c7377f92a0c843ef5d74d440a82ea8ceb Reviewed-on: https://boringssl-review.googlesource.com/5483 Reviewed-by: Adam Langley <agl@google.com>
2015-05-12Mind the end of the buffer in aligned case of generic RC4 implementation.David Benjamin
The generic RC4 implementation may read and write just past the end of the buffer; when input and output are aligned, it always reads an RC4_CHUNK at a time. It appropriately masks off and preserves the excess bytes off the end, so this can only have practical effects if it crosses a page boundary. There's an alignment check, so that can't happen; page boundaries are always aligned. But it makes ASan unhappy and strictly speaking is a memory error. Instead, fall through to the generic codepath which just reads it byte by byte. This should fix the other bot failure. Change-Id: I3cbd3bfc6cb0537e87f3252dea12d40ffa78d590 Reviewed-on: https://boringssl-review.googlesource.com/4722 Reviewed-by: Adam Langley <agl@google.com>
2015-02-26Remove explicit .hiddens from x86_64 perlasm files.David Benjamin
This reverts the non-ARM portions of 97999919bbe85ab213d283e18e597e028f8685d1. x86_64 perlasm already makes .globl imply .hidden. (Confusingly, ARM does not.) Since we don't need it, revert those to minimize divergence with upstream. Change-Id: I2d205cfb1183e65d4f18a62bde187d206b1a96de Reviewed-on: https://boringssl-review.googlesource.com/3610 Reviewed-by: Adam Langley <agl@google.com>
2015-02-21Tidy up RC4 a little.Adam Langley
RC4_CHUNK is always defined, RC4_INT is always uint32_t and the "register" keyword is an anachronism. Change-Id: Ia752af30ba6bac0ee6216ce189fcf3888de73c6e Reviewed-on: https://boringssl-review.googlesource.com/3544 Reviewed-by: Adam Langley <agl@google.com>
2015-02-21Hide all asm symbols.Adam Langley
We are leaking asm symbols in Android builds because the asm code isn't affected by -fvisibility=hidden. This change hides all asm symbols. This assumes that no asm symbols are public API and that should be true. Some points to note: In crypto/rc4/asm/rc4-md5-x86_64.pl there are |RC4_set_key| and |RC4_options| functions which aren't getting marked as hidden. That's because those functions aren't actually ever generated. (I'm just trying to minimise drift with upstream here.) In crypto/rc4/asm/rc4-x86_64.pl there's |RC4_options| which is "public" API, except that we've never had it in the header files. So I've just deleted it. Since we have an internal caller, we'll probably have to put it back in the future, but it can just be done in rc4.c to save problems. BUG=448386 Change-Id: I3846617a0e3d73ec9e5ec3638a53364adbbc6260 Reviewed-on: https://boringssl-review.googlesource.com/3520 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2015-02-12Add in missing curly braces part 3.David Benjamin
Everything else. Change-Id: Iac02b144465b4e7b6d69ea22ff2aaf52695ae732
2015-01-29Change CMakeLists.txt to two-space indent.Adam Langley
find -name CMakeLists.txt -type f | xargs sed -e 's/\t/ /g' -i Change-Id: I01636b1849c00ba918f48828252492d99b0403ac
2014-10-01Use OPENSSL_64_BIT in rc4.c.David Benjamin
This avoids unnecessary differences between LP64 and LLP64. Also MSVC throws overflow warnings in the big-endian 64-bit codepath, so use the preprocessor. Change-Id: I74cef2d631d39f282177e043ed24bc6ecbbcb8fd Reviewed-on: https://boringssl-review.googlesource.com/1860 Reviewed-by: Adam Langley <agl@google.com>
2014-09-27Remove use of GOTPCREL in asm.Adam Langley
Now that symbol visibility is done correctly, this shouldn't be needed. Change-Id: I608beed1de63c1309358ff17dd28e3191e87dbd4 Reviewed-on: https://boringssl-review.googlesource.com/1810 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
2014-08-12Windows build fixes.Adam Langley
Windows doesn't have ssize_t, sadly. There's SSIZE_T, but defining an OPENSSL_SSIZE_T seems worse than just using an int. Change-Id: I09bb5aa03f96da78b619e551f92ed52ce24d9f3f Reviewed-on: https://boringssl-review.googlesource.com/1352 Reviewed-by: Adam Langley <agl@google.com>
2014-08-01Fix typo from eb7d2ed1.Adam Langley
The RC4_set_key was calling itself rather than the asm function that it should be calling. Change-Id: Idfc730c8a651540961e05bc8c8f663a44713f680
2014-08-01Add visibility rules.Adam Langley
This change marks public symbols as dynamically exported. This means that it becomes viable to build a shared library of libcrypto and libssl with -fvisibility=hidden. On Windows, one not only needs to mark functions for export in a component, but also for import when using them from a different component. Because of this we have to build with |BORINGSSL_IMPLEMENTATION| defined when building the code. Other components, when including our headers, won't have that defined and then the |OPENSSL_EXPORT| tag becomes an import tag instead. See the #defines in base.h In the asm code, symbols are now hidden by default and those that need to be exported are wrapped by a C function. In order to support Chromium, a couple of libssl functions were moved to ssl.h from ssl_locl.h: ssl_get_new_session and ssl_update_cache. Change-Id: Ib4b76e2f1983ee066e7806c24721e8626d08a261 Reviewed-on: https://boringssl-review.googlesource.com/1350 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-01Add stitched RC4-MD5 as an AEAD.Adam Langley
This change adds the stitched RC4-MD5 code from upstream OpenSSL but exposes it as an AEAD. It's not a normal AEAD (it's stateful thus doesn't take an nonce) but forcing pre-AEAD cipher suites in the AEAD interface is less painful than forcing AEADs into the EVP_CIPHER interface. Over time, more and more cipher suites will be exposed as TLS-specific AEADs and then ssl/ can drop support for EVP_CIPHER. See original code from upstream: https://github.com/openssl/openssl/blob/master/crypto/evp/e_rc4_hmac_md5.c Change-Id: Ia9267b224747f02be6b934ea0b2b50e1f529fab9 Reviewed-on: https://boringssl-review.googlesource.com/1043 Reviewed-by: Adam Langley <agl@google.com>
2014-06-21rc4/asm/rc4-586.pl: allow for 386-only build.Adam Langley
(Imported from upstream's 1f59eb5f111149eb0cf5cdc2b378cfa0fbdfa9c3)
2014-06-21GOT-relative lookups in RC4 code.Adam Langley
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.)