Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Issue 59083010: third_party/openssl: add ChaCha20+Poly1305 support.

Created:
7 years, 1 month ago by agl
Modified:
7 years, 1 month ago
Reviewers:
digit, digit1
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/deps/openssl.git@master
Visibility:
Public.

Description

third_party/openssl: add ChaCha20+Poly1305 support. This change is not as scary as it appears. Most of the code has already been reviewed and is running in production without issues. The only new code is the ARM support. ARM now builds both the NEON and generic versions of the code and can enable the NEON code at runtime by calling CRYPTO_set_NEON_capable(1). This patch does not contain the code to call that, however. The addition openssl/patches/channelidchromium.patch and fix_lhash_iteration.patch is noise from the import script. BUG=310768

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+25850 lines, -447 lines) Patch
M openssl.gypi View 10 chunks +15 lines, -0 lines 0 comments Download
M openssl/Crypto-config.mk View 9 chunks +15 lines, -0 lines 0 comments Download
A openssl/crypto/chacha/Makefile View 1 chunk +80 lines, -0 lines 0 comments Download
A + openssl/crypto/chacha/chacha.h View 2 chunks +23 lines, -21 lines 0 comments Download
A openssl/crypto/chacha/chacha_enc.c View 1 chunk +185 lines, -0 lines 0 comments Download
A openssl/crypto/chacha/chacha_vec.c View 1 chunk +352 lines, -0 lines 0 comments Download
A openssl/crypto/chacha/chacha_vec_arm.s View 1 chunk +846 lines, -0 lines 0 comments Download
A openssl/crypto/chacha/chachatest.c View 1 chunk +211 lines, -0 lines 0 comments Download
M openssl/crypto/cryptlib.c View 1 chunk +14 lines, -0 lines 0 comments Download
M openssl/crypto/crypto.h View 1 chunk +8 lines, -0 lines 0 comments Download
M openssl/crypto/evp/e_aes.c View 2 chunks +193 lines, -21 lines 0 comments Download
A openssl/crypto/evp/e_chacha20poly1305.c View 1 chunk +261 lines, -0 lines 0 comments Download
M openssl/crypto/evp/evp.h View 4 chunks +119 lines, -0 lines 0 comments Download
A + openssl/crypto/evp/evp_aead.c View 2 chunks +104 lines, -62 lines 0 comments Download
M openssl/crypto/evp/evp_err.c View 3 chunks +11 lines, -0 lines 0 comments Download
M openssl/crypto/evp/evp_locl.h View 1 chunk +24 lines, -0 lines 0 comments Download
A openssl/crypto/poly1305/Makefile View 1 chunk +81 lines, -0 lines 0 comments Download
A + openssl/crypto/poly1305/poly1305.h View 2 chunks +35 lines, -36 lines 0 comments Download
A openssl/crypto/poly1305/poly1305.c View 1 chunk +355 lines, -0 lines 0 comments Download
A openssl/crypto/poly1305/poly1305_arm.c View 1 chunk +338 lines, -0 lines 0 comments Download
A openssl/crypto/poly1305/poly1305_arm_asm.s View 1 chunk +2009 lines, -0 lines 0 comments Download
A openssl/crypto/poly1305/poly1305_vec.c View 1 chunk +733 lines, -0 lines 0 comments Download
A openssl/crypto/poly1305/poly1305test.c View 1 chunk +166 lines, -0 lines 0 comments Download
A + openssl/include/openssl/chacha.h View 2 chunks +23 lines, -21 lines 0 comments Download
M openssl/include/openssl/crypto.h View 1 chunk +8 lines, -0 lines 0 comments Download
M openssl/include/openssl/evp.h View 4 chunks +119 lines, -0 lines 0 comments Download
A + openssl/include/openssl/poly1305.h View 2 chunks +35 lines, -36 lines 0 comments Download
M openssl/include/openssl/ssl.h View 6 chunks +16 lines, -1 line 0 comments Download
M openssl/include/openssl/ssl3.h View 1 chunk +1 line, -0 lines 0 comments Download
M openssl/include/openssl/tls1.h View 2 chunks +8 lines, -0 lines 0 comments Download
M openssl/openssl.config View 11 chunks +21 lines, -0 lines 0 comments Download
A openssl/patches/aead_ssl_support.patch View 1 chunk +690 lines, -0 lines 0 comments Download
A openssl/patches/aead_support.patch View 1 chunk +811 lines, -0 lines 0 comments Download
A openssl/patches/chacha20poly1305.patch View 1 chunk +5726 lines, -0 lines 0 comments Download
A openssl/patches/channelidchromium.patch View 1 chunk +264 lines, -0 lines 0 comments Download
A openssl/patches/fix_lhash_iteration.patch View 1 chunk +318 lines, -0 lines 0 comments Download
A openssl/patches/neon_runtime.patch View 1 chunk +1104 lines, -0 lines 0 comments Download
A openssl/patches/tls1_change_cipher_state_rewrite.patch View 1 chunk +567 lines, -0 lines 0 comments Download
A openssl/patches/use_aead_for_aes_gcm.patch View 1 chunk +119 lines, -0 lines 0 comments Download
M openssl/ssl/s2_clnt.c View 1 chunk +1 line, -1 line 0 comments Download
M openssl/ssl/s2_enc.c View 1 chunk +1 line, -1 line 0 comments Download
M openssl/ssl/s2_srvr.c View 1 chunk +1 line, -1 line 0 comments Download
M openssl/ssl/s3_enc.c View 1 chunk +7 lines, -1 line 0 comments Download
M openssl/ssl/s3_lib.c View 12 chunks +70 lines, -10 lines 0 comments Download
M openssl/ssl/s3_pkt.c View 1 chunk +6 lines, -1 line 0 comments Download
M openssl/ssl/ssl.h View 6 chunks +16 lines, -1 line 0 comments Download
M openssl/ssl/ssl3.h View 1 chunk +1 line, -0 lines 0 comments Download
M openssl/ssl/ssl_ciph.c View 3 chunks +62 lines, -18 lines 0 comments Download
M openssl/ssl/ssl_err.c View 1 chunk +4 lines, -1 line 0 comments Download
M openssl/ssl/ssl_lib.c View 1 chunk +12 lines, -0 lines 0 comments Download
M openssl/ssl/ssl_locl.h View 4 chunks +32 lines, -1 line 0 comments Download
M openssl/ssl/ssl_txt.c View 1 chunk +1 line, -1 line 0 comments Download
M openssl/ssl/t1_enc.c View 5 chunks +469 lines, -212 lines 0 comments Download
M openssl/ssl/tls1.h View 2 chunks +8 lines, -0 lines 0 comments Download
A patches.chromium/0007-chacha.patch View 1 chunk +9151 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
agl
7 years, 1 month ago (2013-11-05 22:44:26 UTC) #1
digit1
rubberstamp lgtm! Not commenting on the actual patch content itself, but it is really nice ...
7 years, 1 month ago (2013-11-06 15:52:17 UTC) #2
agl
On Wed, Nov 6, 2013 at 10:52 AM, <digit@chromium.org> wrote: > It looks like this ...
7 years, 1 month ago (2013-11-06 16:07:43 UTC) #3
digit
On Wed, Nov 6, 2013 at 5:06 PM, Adam Langley <agl@chromium.org> wrote: > On Wed, ...
7 years, 1 month ago (2013-11-06 16:13:36 UTC) #4
agl
On Wed, Nov 6, 2013 at 11:13 AM, David Turner <digit@google.com> wrote: > Ah, that ...
7 years, 1 month ago (2013-11-06 16:18:14 UTC) #5
digit
Hum.. a recent checkout to tip-of-tree still puts the DEPS to 231572, did you DEPS ...
7 years, 1 month ago (2013-11-06 16:23:50 UTC) #6
agl
On Wed, Nov 6, 2013 at 11:23 AM, David Turner <digit@google.com> wrote: > Hum.. a ...
7 years, 1 month ago (2013-11-06 16:25:55 UTC) #7
digit
7 years, 1 month ago (2013-11-06 16:43:46 UTC) #8
On Wed, Nov 6, 2013 at 5:17 PM, Adam Langley <agl@chromium.org> wrote:

> On Wed, Nov 6, 2013 at 11:13 AM, David Turner <digit@google.com> wrote:
> > Ah, that might explain it, might DEPS is at 231572
> > But that also means that my DEPS roll to 23307 [1] is not needed anymore.
> > Weird that it is failing so bad on the linux_aura bot.
>
> The changes that I made were just adding the patch files to match up
> with the existing code - so the DEPS roll to at least 233017 is needed
> in order to bring in the effective change. I wouldn't want that crash
> fix to have to wait for the ChaCha change because I expect issues with
> the ARM build with the ChaCha code.
>
> I see, this works when checking out the tip-of-tree of deps/openssl/,
indeed. There is a strange warning when running import_openssl.sh though:

Makefile:120: target `.c' given more than once in the same rule.
Makefile:120: target `.c' given more than once in the same rule.

Unfortunately, using the --verbose option fails due to a bug in
import_from_android.sh, I'll look into it.

In case this isn't obvious, I'm ok with the patch :)


> Also, sometimes the bots are just bust and it's ok to manually submit.
>
> I'll do that once the tree is green again.


> > Yes, that's exactly the point I'd like to address :) I've been trying to
> > rebase the current sources on top of a newer AOSP commit, and it's still
> too
> > difficult. I'll keep you posted when I have something I'm happy with.
>
> AOSP is using git, and Chromium can deal with git DEPS. Maybe just
> maintain Chromium as a branch of the AOSP tree into which we can merge
> AOSP changes periodically?
>
> The thing is we want to be able to send our changes to AOSP easily, which
means the ability to create openssl/patches/ files properly. My experience
is that this doesn't work too well if we merge AOSP changes directly into
our (modified) git tree, but I may be wrong. There are specialized tools
like stacked-git or quilt which are designed to manage list of patches
easily too, we could look into that.




>
> Cheers
>
> AGL
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698