Commit 255bcd7d authored by davidben's avatar davidben Committed by Commit bot

Roll src/third_party/boringssl/src 68de407:771a138

Summary of changes available at:
https://boringssl.googlesource.com/boringssl/+log/68de407..771a138

This also removes update_gypi_and_asm.py in favor of the script inside
BoringSSL proper.

BUG=none

Review URL: https://codereview.chromium.org/1136743004

Cr-Commit-Position: refs/heads/master@{#329652}
parent 9e2b43ae
......@@ -74,7 +74,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling BoringSSL
# and whatever else without interference from each other.
'boringssl_revision': '68de407b5fc746c0fa82706dd897288d01c32930',
'boringssl_revision': '771a138f2612c581a547cb3f045b3f6753fe5571',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling nss
# and whatever else without interference from each other.
......
......@@ -9,3 +9,10 @@ Security Critical: yes
Description:
This is BoringSSL, a fork of OpenSSL. See
https://www.imperialviolet.org/2014/06/20/boringssl.html
Note: when rolling DEPS forward, remember to run
cd third_party/boringssl
python src/util/generate_build_files.py chromium
from a system with both Perl and Go installed.
......@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This file is created by update_gypi_and_asm.py. Do not edit manually.
# This file is created by generate_build_files.py. Do not edit manually.
{
'variables': {
......@@ -95,6 +95,7 @@
'src/crypto/cipher/e_ssl3.c',
'src/crypto/cipher/e_tls.c',
'src/crypto/cipher/tls_cbc.c',
'src/crypto/cmac/cmac.c',
'src/crypto/conf/conf.c',
'src/crypto/cpu-arm.c',
'src/crypto/cpu-intel.c',
......@@ -184,6 +185,7 @@
'src/crypto/sha/sha512.c',
'src/crypto/stack/stack.c',
'src/crypto/thread.c',
'src/crypto/thread_none.c',
'src/crypto/thread_pthread.c',
'src/crypto/thread_win.c',
'src/crypto/time_support.c',
......
......@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This file is created by update_gypi_and_asm.py. Do not edit manually.
# This file is created by generate_build_files.py. Do not edit manually.
{
'targets': [
......@@ -14,6 +14,7 @@
],
'sources': [
'src/crypto/base64/base64_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -27,6 +28,7 @@
],
'sources': [
'src/crypto/bio/bio_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -40,6 +42,7 @@
],
'sources': [
'src/crypto/bn/bn_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -53,6 +56,7 @@
],
'sources': [
'src/crypto/bytestring/bytestring_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -65,7 +69,8 @@
'boringssl.gyp:boringssl',
],
'sources': [
'src/crypto/cipher/aead_test.c',
'src/crypto/cipher/aead_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -79,6 +84,21 @@
],
'sources': [
'src/crypto/cipher/cipher_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'boringssl_cmac_test',
'type': 'executable',
'dependencies': [
'boringssl.gyp:boringssl',
],
'sources': [
'src/crypto/cmac/cmac_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -92,6 +112,7 @@
],
'sources': [
'src/crypto/constant_time_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -104,7 +125,8 @@
'boringssl.gyp:boringssl',
],
'sources': [
'src/crypto/dh/dh_test.c',
'src/crypto/dh/dh_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -118,6 +140,7 @@
],
'sources': [
'src/crypto/digest/digest_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -131,6 +154,7 @@
],
'sources': [
'src/crypto/dsa/dsa_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -144,6 +168,7 @@
],
'sources': [
'src/crypto/ec/ec_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -157,6 +182,7 @@
],
'sources': [
'src/crypto/ec/example_mul.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -170,6 +196,7 @@
],
'sources': [
'src/crypto/ecdsa/ecdsa_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -183,6 +210,21 @@
],
'sources': [
'src/crypto/err/err_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'boringssl_evp_extra_test',
'type': 'executable',
'dependencies': [
'boringssl.gyp:boringssl',
],
'sources': [
'src/crypto/evp/evp_extra_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -196,6 +238,7 @@
],
'sources': [
'src/crypto/evp/evp_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -209,6 +252,7 @@
],
'sources': [
'src/crypto/evp/pbkdf_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -222,6 +266,7 @@
],
'sources': [
'src/crypto/hkdf/hkdf_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -235,6 +280,7 @@
],
'sources': [
'src/crypto/hmac/hmac_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -248,6 +294,7 @@
],
'sources': [
'src/crypto/lhash/lhash_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -261,6 +308,7 @@
],
'sources': [
'src/crypto/modes/gcm_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -273,7 +321,8 @@
'boringssl.gyp:boringssl',
],
'sources': [
'src/crypto/pkcs8/pkcs12_test.c',
'src/crypto/pkcs8/pkcs12_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -287,6 +336,7 @@
],
'sources': [
'src/crypto/rsa/rsa_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -300,6 +350,7 @@
],
'sources': [
'src/crypto/thread_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -313,6 +364,7 @@
],
'sources': [
'src/crypto/x509/pkcs7_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -326,6 +378,7 @@
],
'sources': [
'src/ssl/pqueue/pqueue_test.c',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -339,6 +392,7 @@
],
'sources': [
'src/ssl/ssl_test.cc',
'<@(boringssl_test_support_sources)',
],
# TODO(davidben): Fix size_t truncations in BoringSSL.
# https://crbug.com/429039
......@@ -346,6 +400,9 @@
},
],
'variables': {
'boringssl_test_support_sources': [
'src/crypto/test/file_test.cc',
],
'boringssl_test_targets': [
'boringssl_aead_test',
'boringssl_base64_test',
......@@ -353,6 +410,7 @@
'boringssl_bn_test',
'boringssl_bytestring_test',
'boringssl_cipher_test',
'boringssl_cmac_test',
'boringssl_constant_time_test',
'boringssl_dh_test',
'boringssl_digest_test',
......@@ -360,6 +418,7 @@
'boringssl_ec_test',
'boringssl_ecdsa_test',
'boringssl_err_test',
'boringssl_evp_extra_test',
'boringssl_evp_test',
'boringssl_example_mul',
'boringssl_gcm_test',
......
......@@ -157,10 +157,6 @@ TEST(BoringSSL, ByteString) {
TestSimple("bytestring_test");
}
TEST(BoringSSL, ConstantTime) {
TestSimple("constant_time_test");
}
TEST(BoringSSL, Cipher) {
base::FilePath data_file;
ASSERT_TRUE(CryptoCipherTestPath(&data_file));
......@@ -172,6 +168,14 @@ TEST(BoringSSL, Cipher) {
TestProcess("cipher_test", args);
}
TEST(BoringSSL, CMAC) {
TestSimple("cmac_test");
}
TEST(BoringSSL, ConstantTime) {
TestSimple("constant_time_test");
}
TEST(BoringSSL, DH) {
TestSimple("dh_test");
}
......@@ -201,7 +205,16 @@ TEST(BoringSSL, GCM) {
}
TEST(BoringSSL, HMAC) {
TestSimple("hmac_test");
base::FilePath data_file;
ASSERT_TRUE(BoringSSLPath(&data_file));
data_file = data_file.Append(FILE_PATH_LITERAL("crypto"));
data_file = data_file.Append(FILE_PATH_LITERAL("hmac"));
data_file = data_file.Append(FILE_PATH_LITERAL("hmac_tests.txt"));
std::vector<base::CommandLine::StringType> args;
args.push_back(data_file.value());
TestProcess("hmac_test", args);
}
TEST(BoringSSL, LH) {
......@@ -225,7 +238,34 @@ TEST(BoringSSL, ExampleMul) {
}
TEST(BoringSSL, EVP) {
TestSimple("evp_test");
base::FilePath data_file;
ASSERT_TRUE(BoringSSLPath(&data_file));
data_file = data_file.Append(FILE_PATH_LITERAL("crypto"));
data_file = data_file.Append(FILE_PATH_LITERAL("evp"));
data_file = data_file.Append(FILE_PATH_LITERAL("evp_tests.txt"));
std::vector<base::CommandLine::StringType> args;
args.push_back(data_file.value());
TestProcess("evp_test", args);
}
// evp_test is also run on hmac_test's input.
TEST(BoringSSL, EVPHMAC) {
base::FilePath data_file;
ASSERT_TRUE(BoringSSLPath(&data_file));
data_file = data_file.Append(FILE_PATH_LITERAL("crypto"));
data_file = data_file.Append(FILE_PATH_LITERAL("hmac"));
data_file = data_file.Append(FILE_PATH_LITERAL("hmac_tests.txt"));
std::vector<base::CommandLine::StringType> args;
args.push_back(data_file.value());
TestProcess("evp_test", args);
}
TEST(BoringSSL, EVPExtra) {
TestSimple("evp_extra_test");
}
TEST(BoringSSL, SSL) {
......
This diff is collapsed.
......@@ -2,7 +2,9 @@
#if __ARM_MAX_ARCH__>=7
.text
#if !defined(__clang__)
.arch armv8-a+crypto
#endif
.align 5
.Lrcon:
.long 0x01,0x01,0x01,0x01
......
#include "arm_arch.h"
.text
#if !defined(__clang__)
.arch armv8-a+crypto
#endif
.globl gcm_init_v8
.type gcm_init_v8,%function
.align 4
......
......@@ -43,7 +43,7 @@
.code 32
#else
.syntax unified
# ifdef __thumb2__
# if defined(__thumb2__) && !defined(__APPLE__)
.thumb
# else
.code 32
......@@ -158,9 +158,9 @@ AES_Te:
@ void asm_AES_encrypt(const unsigned char *in, unsigned char *out,
@ const AES_KEY *key) {
.global asm_AES_encrypt
.hidden asm_AES_encrypt
.type asm_AES_encrypt,%function
.globl asm_AES_encrypt
.hidden asm_AES_encrypt
.type asm_AES_encrypt,%function
.align 5
asm_AES_encrypt:
#if __ARM_ARCH__<7
......@@ -168,10 +168,14 @@ asm_AES_encrypt:
#else
adr r3,asm_AES_encrypt
#endif
stmdb sp!,{r1,r4-r12,lr}
stmdb sp!,{r1,r4-r12,lr}
#ifdef __APPLE__
adr r10,AES_Te
#else
sub r10,r3,#asm_AES_encrypt-AES_Te @ Te
#endif
mov r12,r0 @ inp
mov r11,r2
sub r10,r3,#asm_AES_encrypt-AES_Te @ Te
#if __ARM_ARCH__<7
ldrb r0,[r12,#3] @ load input data in endian-neutral
ldrb r4,[r12,#2] @ manner...
......@@ -258,20 +262,20 @@ asm_AES_encrypt:
strb r3,[r12,#15]
#endif
#if __ARM_ARCH__>=5
ldmia sp!,{r4-r12,pc}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
#else
ldmia sp!,{r4-r12,lr}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
tst lr,#1
moveq pc,lr @ be binary compatible with V4, yet
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
#endif
.size asm_AES_encrypt,.-asm_AES_encrypt
.type _armv4_AES_encrypt,%function
.type _armv4_AES_encrypt,%function
.align 2
_armv4_AES_encrypt:
str lr,[sp,#-4]! @ push lr
ldmia r11!,{r4-r7}
ldmia r11!,{r4,r5,r6,r7}
eor r0,r0,r4
ldr r12,[r11,#240-16]
eor r1,r1,r5
......@@ -404,9 +408,9 @@ _armv4_AES_encrypt:
ldr pc,[sp],#4 @ pop and return
.size _armv4_AES_encrypt,.-_armv4_AES_encrypt
.global asm_AES_set_encrypt_key
.hidden asm_AES_set_encrypt_key
.type asm_AES_set_encrypt_key,%function
.globl asm_AES_set_encrypt_key
.hidden asm_AES_set_encrypt_key
.type asm_AES_set_encrypt_key,%function
.align 5
asm_AES_set_encrypt_key:
_armv4_AES_set_encrypt_key:
......@@ -439,13 +443,17 @@ _armv4_AES_set_encrypt_key:
movne r0,#-1
bne .Labrt
.Lok: stmdb sp!,{r4-r12,lr}
sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4
.Lok: stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
mov r12,r0 @ inp
mov lr,r1 @ bits
mov r11,r2 @ key
#ifdef __APPLE__
adr r10,AES_Te+1024 @ Te4
#else
sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4
#endif
#if __ARM_ARCH__<7
ldrb r0,[r12,#3] @ load input data in endian-neutral
ldrb r4,[r12,#2] @ manner...
......@@ -696,20 +704,20 @@ _armv4_AES_set_encrypt_key:
.align 2
.Ldone: mov r0,#0
ldmia sp!,{r4-r12,lr}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
.Labrt:
#if defined(__thumb2__) && __ARM_ARCH__>=7
.short 0x4770 @ .word 0xe12fff1e in Thumb2 encoding
#if __ARM_ARCH__>=5
bx lr @ .word 0xe12fff1e
#else
tst lr,#1
moveq pc,lr @ be binary compatible with V4, yet
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
#endif
.size asm_AES_set_encrypt_key,.-asm_AES_set_encrypt_key
.global asm_AES_set_decrypt_key
.hidden asm_AES_set_decrypt_key
.type asm_AES_set_decrypt_key,%function
.globl asm_AES_set_decrypt_key
.hidden asm_AES_set_decrypt_key
.type asm_AES_set_decrypt_key,%function
.align 5
asm_AES_set_decrypt_key:
str lr,[sp,#-4]! @ push lr
......@@ -724,13 +732,13 @@ asm_AES_set_decrypt_key:
.size asm_AES_set_decrypt_key,.-asm_AES_set_decrypt_key
@ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out)
.global AES_set_enc2dec_key
.globl AES_set_enc2dec_key
.hidden AES_set_enc2dec_key
.type AES_set_enc2dec_key,%function
.align 5
AES_set_enc2dec_key:
_armv4_AES_set_enc2dec_key:
stmdb sp!,{r4-r12,lr}
stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
ldr r12,[r0,#240]
mov r7,r0 @ input
......@@ -812,12 +820,12 @@ _armv4_AES_set_enc2dec_key:
mov r0,#0
#if __ARM_ARCH__>=5
ldmia sp!,{r4-r12,pc}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
#else
ldmia sp!,{r4-r12,lr}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
tst lr,#1
moveq pc,lr @ be binary compatible with V4, yet
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
#endif
.size AES_set_enc2dec_key,.-AES_set_enc2dec_key
......@@ -925,9 +933,9 @@ AES_Td:
@ void asm_AES_decrypt(const unsigned char *in, unsigned char *out,
@ const AES_KEY *key) {
.global asm_AES_decrypt
.hidden asm_AES_decrypt
.type asm_AES_decrypt,%function
.globl asm_AES_decrypt
.hidden asm_AES_decrypt
.type asm_AES_decrypt,%function
.align 5
asm_AES_decrypt:
#if __ARM_ARCH__<7
......@@ -935,10 +943,14 @@ asm_AES_decrypt:
#else
adr r3,asm_AES_decrypt
#endif
stmdb sp!,{r1,r4-r12,lr}
stmdb sp!,{r1,r4-r12,lr}
#ifdef __APPLE__
adr r10,AES_Td
#else
sub r10,r3,#asm_AES_decrypt-AES_Td @ Td
#endif
mov r12,r0 @ inp
mov r11,r2
sub r10,r3,#asm_AES_decrypt-AES_Td @ Td
#if __ARM_ARCH__<7
ldrb r0,[r12,#3] @ load input data in endian-neutral
ldrb r4,[r12,#2] @ manner...
......@@ -1025,20 +1037,20 @@ asm_AES_decrypt:
strb r3,[r12,#15]
#endif
#if __ARM_ARCH__>=5
ldmia sp!,{r4-r12,pc}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
#else
ldmia sp!,{r4-r12,lr}
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
tst lr,#1
moveq pc,lr @ be binary compatible with V4, yet
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
.word 0xe12fff1e @ interoperable with Thumb ISA:-)
#endif
.size asm_AES_decrypt,.-asm_AES_decrypt
.type _armv4_AES_decrypt,%function
.type _armv4_AES_decrypt,%function
.align 2
_armv4_AES_decrypt:
str lr,[sp,#-4]! @ push lr
ldmia r11!,{r4-r7}
ldmia r11!,{r4,r5,r6,r7}
eor r0,r0,r4
ldr r12,[r11,#240-16]
eor r1,r1,r5
......@@ -1179,7 +1191,8 @@ _armv4_AES_decrypt:
sub r10,r10,#1024
ldr pc,[sp],#4 @ pop and return
.size _armv4_AES_decrypt,.-_armv4_AES_decrypt
.asciz "AES for ARMv4, CRYPTOGAMS by <appro@openssl.org>"
.byte 65,69,83,32,102,111,114,32,65,82,77,118,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
.align 2
.align 2
#endif
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment