diff options
author | 2018-02-02 09:12:11 -0800 | |
---|---|---|
committer | 2018-02-02 09:12:11 -0800 | |
commit | 4c0640ebd65f2661664f882c673707c1c5807ccd (patch) | |
tree | 4a002106829115e970939568154ed0175e337572 /src/python/grpcio | |
parent | 0dbb00eef0e53c87dcd6958839ec0d532cdf858c (diff) | |
parent | e5b0a504167fbc6277d034709aa29ea07fa09a00 (diff) |
Merge branch 'master' into gpr_review3
Diffstat (limited to 'src/python/grpcio')
-rw-r--r-- | src/python/grpcio/grpc/_channel.py | 23 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_common.py | 10 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/arguments.pxd.pxi | 40 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/arguments.pyx.pxi | 88 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi | 2 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi | 19 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/records.pxd.pxi | 13 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi | 81 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi | 2 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi | 17 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/cygrpc.pxd | 1 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_cython/cygrpc.pyx | 1 | ||||
-rw-r--r-- | src/python/grpcio/grpc/_server.py | 2 | ||||
-rw-r--r-- | src/python/grpcio/grpc_core_dependencies.py | 184 |
14 files changed, 238 insertions, 245 deletions
diff --git a/src/python/grpcio/grpc/_channel.py b/src/python/grpcio/grpc/_channel.py index bfc7208310..25a4210974 100644 --- a/src/python/grpcio/grpc/_channel.py +++ b/src/python/grpcio/grpc/_channel.py @@ -13,10 +13,10 @@ # limitations under the License. """Invocation-side implementation of gRPC Python.""" +import logging import sys import threading import time -import logging import grpc from grpc import _common @@ -882,8 +882,12 @@ def _unsubscribe(state, callback): def _options(options): - return list(options) + [(cygrpc.ChannelArgKey.primary_user_agent_string, - _USER_AGENT)] + return list(options) + [ + ( + cygrpc.ChannelArgKey.primary_user_agent_string, + _USER_AGENT, + ), + ] class Channel(grpc.Channel): @@ -892,14 +896,13 @@ class Channel(grpc.Channel): def __init__(self, target, options, credentials): """Constructor. - Args: - target: The target to which to connect. - options: Configuration options for the channel. - credentials: A cygrpc.ChannelCredentials or None. - """ + Args: + target: The target to which to connect. + options: Configuration options for the channel. + credentials: A cygrpc.ChannelCredentials or None. + """ self._channel = cygrpc.Channel( - _common.encode(target), _common.channel_args(_options(options)), - credentials) + _common.encode(target), _options(options), credentials) self._call_state = _ChannelCallState(self._channel) self._connectivity_state = _ChannelConnectivityState(self._channel) diff --git a/src/python/grpcio/grpc/_common.py b/src/python/grpcio/grpc/_common.py index 130fc42630..bbb69ad489 100644 --- a/src/python/grpcio/grpc/_common.py +++ b/src/python/grpcio/grpc/_common.py @@ -79,16 +79,6 @@ def decode(b): return b.decode('latin1') -def channel_args(options): - cygrpc_args = [] - for key, value in options: - if isinstance(value, six.string_types): - cygrpc_args.append(cygrpc.ChannelArg(encode(key), encode(value))) - else: - cygrpc_args.append(cygrpc.ChannelArg(encode(key), value)) - return cygrpc.ChannelArgs(cygrpc_args) - - def _transform(message, transformer, exception_message): if transformer is None: return message diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pxd.pxi new file mode 100644 index 0000000000..853bf6f8e0 --- /dev/null +++ b/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pxd.pxi @@ -0,0 +1,40 @@ +# Copyright 2018 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +cdef void* _copy_pointer(void* pointer) + + +cdef void _destroy_pointer(void* pointer) + + +cdef int _compare_pointer(void* first_pointer, void* second_pointer) + + +cdef class _ArgumentProcessor: + + cdef grpc_arg c_argument + + cdef void c(self, argument, grpc_arg_pointer_vtable *vtable, references) + + +cdef class _ArgumentsProcessor: + + cdef readonly tuple _arguments + cdef list _argument_processors + cdef readonly list _references + cdef grpc_channel_args _c_arguments + + cdef grpc_channel_args *c(self, grpc_arg_pointer_vtable *vtable) + cdef un_c(self) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pyx.pxi new file mode 100644 index 0000000000..65de30884c --- /dev/null +++ b/src/python/grpcio/grpc/_cython/_cygrpc/arguments.pyx.pxi @@ -0,0 +1,88 @@ +# Copyright 2018 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +cimport cpython + + +cdef void* _copy_pointer(void* pointer): + return pointer + + +cdef void _destroy_pointer(void* pointer): + pass + + +cdef int _compare_pointer(void* first_pointer, void* second_pointer): + if first_pointer < second_pointer: + return -1 + elif first_pointer > second_pointer: + return 1 + else: + return 0 + + +cdef class _ArgumentProcessor: + + cdef void c(self, argument, grpc_arg_pointer_vtable *vtable, references): + key, value = argument + cdef bytes encoded_key = _encode(key) + if encoded_key is not key: + references.append(encoded_key) + self.c_argument.key = encoded_key + if isinstance(value, int): + self.c_argument.type = GRPC_ARG_INTEGER + self.c_argument.value.integer = value + elif isinstance(value, (bytes, str, unicode,)): + self.c_argument.type = GRPC_ARG_STRING + encoded_value = _encode(value) + if encoded_value is not value: + references.append(encoded_value) + self.c_argument.value.string = encoded_value + elif hasattr(value, '__int__'): + # Pointer objects must override __int__() to return + # the underlying C address (Python ints are word size). The + # lifecycle of the pointer is fixed to the lifecycle of the + # python object wrapping it. + self.c_argument.type = GRPC_ARG_POINTER + self.c_argument.value.pointer.vtable = vtable + self.c_argument.value.pointer.address = <void*>(<intptr_t>int(value)) + else: + raise TypeError( + 'Expected int, bytes, or behavior, got {}'.format(type(value))) + + +cdef class _ArgumentsProcessor: + + def __cinit__(self, arguments): + self._arguments = () if arguments is None else tuple(arguments) + self._argument_processors = [] + self._references = [] + + cdef grpc_channel_args *c(self, grpc_arg_pointer_vtable *vtable): + self._c_arguments.arguments_length = len(self._arguments) + if self._c_arguments.arguments_length == 0: + return NULL + else: + self._c_arguments.arguments = <grpc_arg *>gpr_malloc( + self._c_arguments.arguments_length * sizeof(grpc_arg)) + for index, argument in enumerate(self._arguments): + argument_processor = _ArgumentProcessor() + argument_processor.c(argument, vtable, self._references) + self._c_arguments.arguments[index] = argument_processor.c_argument + self._argument_processors.append(argument_processor) + return &self._c_arguments + + cdef un_c(self): + if self._arguments: + gpr_free(self._c_arguments.arguments) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi index 4b07e71cec..1ba76b7f83 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pxd.pxi @@ -15,5 +15,7 @@ cdef class Channel: + cdef grpc_arg_pointer_vtable _vtable cdef grpc_channel *c_channel cdef list references + cdef readonly _ArgumentsProcessor _arguments_processor diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi index efe5f2e0db..a3966497bc 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi @@ -17,26 +17,25 @@ cimport cpython cdef class Channel: - def __cinit__(self, bytes target, ChannelArgs arguments, + def __cinit__(self, bytes target, object arguments, ChannelCredentials channel_credentials=None): grpc_init() - cdef grpc_channel_args *c_arguments = NULL - cdef char *c_target = NULL - self.c_channel = NULL + self._vtable.copy = &_copy_pointer + self._vtable.destroy = &_destroy_pointer + self._vtable.cmp = &_compare_pointer + cdef _ArgumentsProcessor arguments_processor = _ArgumentsProcessor( + arguments) + cdef grpc_channel_args *c_arguments = arguments_processor.c(&self._vtable) self.references = [] - if len(arguments) > 0: - c_arguments = &arguments.c_args - self.references.append(arguments) c_target = target if channel_credentials is None: - with nogil: - self.c_channel = grpc_insecure_channel_create(c_target, c_arguments, - NULL) + self.c_channel = grpc_insecure_channel_create(c_target, c_arguments, NULL) else: c_channel_credentials = channel_credentials.c() self.c_channel = grpc_secure_channel_create( c_channel_credentials, c_target, c_arguments, NULL) grpc_channel_credentials_release(c_channel_credentials) + arguments_processor.un_c() self.references.append(target) self.references.append(arguments) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/records.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/records.pxd.pxi index 297bbadfe0..35e1bdb0ae 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/records.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/records.pxd.pxi @@ -29,19 +29,6 @@ cdef class SslPemKeyCertPair: cdef readonly object private_key, certificate_chain -cdef class ChannelArg: - - cdef grpc_arg c_arg - cdef grpc_arg_pointer_vtable ptr_vtable - cdef readonly object key, value - - -cdef class ChannelArgs: - - cdef grpc_channel_args c_args - cdef list args - - cdef class CompressionOptions: cdef grpc_compression_options c_options diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi index f9d4171283..1bcea8d347 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi @@ -157,81 +157,6 @@ cdef class SslPemKeyCertPair: self.c_pair.certificate_chain = self.certificate_chain - -cdef void* copy_ptr(void* ptr): - return ptr - - -cdef void destroy_ptr(void* ptr): - pass - - -cdef int compare_ptr(void* ptr1, void* ptr2): - if ptr1 < ptr2: - return -1 - elif ptr1 > ptr2: - return 1 - else: - return 0 - - -cdef class ChannelArg: - - def __cinit__(self, bytes key, value): - self.key = key - self.value = value - self.c_arg.key = self.key - if isinstance(value, int): - self.c_arg.type = GRPC_ARG_INTEGER - self.c_arg.value.integer = self.value - elif isinstance(value, bytes): - self.c_arg.type = GRPC_ARG_STRING - self.c_arg.value.string = self.value - elif hasattr(value, '__int__'): - # Pointer objects must override __int__() to return - # the underlying C address (Python ints are word size). The - # lifecycle of the pointer is fixed to the lifecycle of the - # python object wrapping it. - self.ptr_vtable.copy = ©_ptr - self.ptr_vtable.destroy = &destroy_ptr - self.ptr_vtable.cmp = &compare_ptr - self.c_arg.type = GRPC_ARG_POINTER - self.c_arg.value.pointer.vtable = &self.ptr_vtable - self.c_arg.value.pointer.address = <void*>(<intptr_t>int(self.value)) - else: - # TODO Add supported pointer types to this message - raise TypeError('Expected int or bytes, got {}'.format(type(value))) - - -cdef class ChannelArgs: - - def __cinit__(self, args): - grpc_init() - self.args = list(args) - for arg in self.args: - if not isinstance(arg, ChannelArg): - raise TypeError("expected list of ChannelArg") - self.c_args.arguments_length = len(self.args) - with nogil: - self.c_args.arguments = <grpc_arg *>gpr_malloc( - self.c_args.arguments_length*sizeof(grpc_arg)) - for i in range(self.c_args.arguments_length): - self.c_args.arguments[i] = (<ChannelArg>self.args[i]).c_arg - - def __dealloc__(self): - with nogil: - gpr_free(self.c_args.arguments) - grpc_shutdown() - - def __len__(self): - # self.args is never stale; it's only updated from this file - return len(self.args) - - def __getitem__(self, size_t i): - # self.args is never stale; it's only updated from this file - return self.args[i] - - cdef class CompressionOptions: def __cinit__(self): @@ -254,8 +179,10 @@ cdef class CompressionOptions: return result def to_channel_arg(self): - return ChannelArg(GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET, - self.c_options.enabled_algorithms_bitset) + return ( + GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET, + self.c_options.enabled_algorithms_bitset, + ) def compression_algorithm_name(grpc_compression_algorithm algorithm): diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi index df4577e124..4588db30d3 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi @@ -15,6 +15,8 @@ cdef class Server: + cdef grpc_arg_pointer_vtable _vtable + cdef readonly _ArgumentsProcessor _arguments_processor cdef grpc_server *c_server cdef bint is_started # start has been called cdef bint is_shutting_down # shutdown has been called diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi index e5d28a85d5..707ec742dd 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi @@ -57,16 +57,19 @@ cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapp cdef class Server: - def __cinit__(self, ChannelArgs arguments): + def __cinit__(self, object arguments): grpc_init() - cdef grpc_channel_args *c_arguments = NULL self.references = [] self.registered_completion_queues = [] - if len(arguments) > 0: - c_arguments = &arguments.c_args - self.references.append(arguments) - with nogil: - self.c_server = grpc_server_create(c_arguments, NULL) + self._vtable.copy = &_copy_pointer + self._vtable.destroy = &_destroy_pointer + self._vtable.cmp = &_compare_pointer + cdef _ArgumentsProcessor arguments_processor = _ArgumentsProcessor( + arguments) + cdef grpc_channel_args *c_arguments = arguments_processor.c(&self._vtable) + self.c_server = grpc_server_create(c_arguments, NULL) + arguments_processor.un_c() + self.references.append(arguments) self.is_started = False self.is_shutting_down = False self.is_shutdown = False diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pxd b/src/python/grpcio/grpc/_cython/cygrpc.pxd index 01e2da6d54..b6a794c6d7 100644 --- a/src/python/grpcio/grpc/_cython/cygrpc.pxd +++ b/src/python/grpcio/grpc/_cython/cygrpc.pxd @@ -14,6 +14,7 @@ include "_cygrpc/grpc.pxi" +include "_cygrpc/arguments.pxd.pxi" include "_cygrpc/call.pxd.pxi" include "_cygrpc/channel.pxd.pxi" include "_cygrpc/credentials.pxd.pxi" diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx index d8ac84a317..2ee2e6b73e 100644 --- a/src/python/grpcio/grpc/_cython/cygrpc.pyx +++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx @@ -21,6 +21,7 @@ import sys # TODO(atash): figure out why the coverage tool gets confused about the Cython # coverage plugin when the following files don't have a '.pxi' suffix. include "_cygrpc/grpc_string.pyx.pxi" +include "_cygrpc/arguments.pyx.pxi" include "_cygrpc/call.pyx.pxi" include "_cygrpc/channel.pyx.pxi" include "_cygrpc/credentials.pyx.pxi" diff --git a/src/python/grpcio/grpc/_server.py b/src/python/grpcio/grpc/_server.py index 56122fee11..c988e0c87c 100644 --- a/src/python/grpcio/grpc/_server.py +++ b/src/python/grpcio/grpc/_server.py @@ -797,7 +797,7 @@ class Server(grpc.Server): def __init__(self, thread_pool, generic_handlers, interceptors, options, maximum_concurrent_rpcs): completion_queue = cygrpc.CompletionQueue() - server = cygrpc.Server(_common.channel_args(options)) + server = cygrpc.Server(options) server.register_completion_queue(completion_queue) self._state = _ServerState(completion_queue, server, generic_handlers, _interceptor.service_pipeline(interceptors), diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index d9ff181c6c..72776ea807 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -160,7 +160,6 @@ CORE_SOURCE_FILES = [ 'src/core/lib/slice/slice_hash_table.cc', 'src/core/lib/slice/slice_intern.cc', 'src/core/lib/slice/slice_string_helpers.cc', - 'src/core/lib/surface/alarm.cc', 'src/core/lib/surface/api_trace.cc', 'src/core/lib/surface/byte_buffer.cc', 'src/core/lib/surface/byte_buffer_reader.cc', @@ -245,8 +244,8 @@ CORE_SOURCE_FILES = [ 'src/core/lib/security/transport/tsi_error.cc', 'src/core/lib/security/util/json_util.cc', 'src/core/lib/surface/init_secure.cc', + 'src/core/tsi/alts_transport_security.cc', 'src/core/tsi/fake_transport_security.cc', - 'src/core/tsi/gts_transport_security.cc', 'src/core/tsi/ssl_transport_security.cc', 'src/core/tsi/transport_security_grpc.cc', 'src/core/tsi/transport_security.cc', @@ -310,9 +309,6 @@ CORE_SOURCE_FILES = [ 'src/core/ext/filters/workarounds/workaround_utils.cc', 'src/core/plugin_registry/grpc_plugin_registry.cc', 'src/boringssl/err_data.c', - 'third_party/boringssl/crypto/aes/aes.c', - 'third_party/boringssl/crypto/aes/key_wrap.c', - 'third_party/boringssl/crypto/aes/mode_wrappers.c', 'third_party/boringssl/crypto/asn1/a_bitstr.c', 'third_party/boringssl/crypto/asn1/a_bool.c', 'third_party/boringssl/crypto/asn1/a_d2i_fp.c', @@ -336,7 +332,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/asn1/f_enum.c', 'third_party/boringssl/crypto/asn1/f_int.c', 'third_party/boringssl/crypto/asn1/f_string.c', - 'third_party/boringssl/crypto/asn1/t_bitst.c', 'third_party/boringssl/crypto/asn1/tasn_dec.c', 'third_party/boringssl/crypto/asn1/tasn_enc.c', 'third_party/boringssl/crypto/asn1/tasn_fre.c', @@ -344,8 +339,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/asn1/tasn_typ.c', 'third_party/boringssl/crypto/asn1/tasn_utl.c', 'third_party/boringssl/crypto/asn1/time_support.c', - 'third_party/boringssl/crypto/asn1/x_bignum.c', - 'third_party/boringssl/crypto/asn1/x_long.c', 'third_party/boringssl/crypto/base64/base64.c', 'third_party/boringssl/crypto/bio/bio.c', 'third_party/boringssl/crypto/bio/bio_mem.c', @@ -357,44 +350,25 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/bio/printf.c', 'third_party/boringssl/crypto/bio/socket.c', 'third_party/boringssl/crypto/bio/socket_helper.c', - 'third_party/boringssl/crypto/bn/add.c', - 'third_party/boringssl/crypto/bn/asm/x86_64-gcc.c', - 'third_party/boringssl/crypto/bn/bn.c', - 'third_party/boringssl/crypto/bn/bn_asn1.c', - 'third_party/boringssl/crypto/bn/cmp.c', - 'third_party/boringssl/crypto/bn/convert.c', - 'third_party/boringssl/crypto/bn/ctx.c', - 'third_party/boringssl/crypto/bn/div.c', - 'third_party/boringssl/crypto/bn/exponentiation.c', - 'third_party/boringssl/crypto/bn/gcd.c', - 'third_party/boringssl/crypto/bn/generic.c', - 'third_party/boringssl/crypto/bn/kronecker.c', - 'third_party/boringssl/crypto/bn/montgomery.c', - 'third_party/boringssl/crypto/bn/montgomery_inv.c', - 'third_party/boringssl/crypto/bn/mul.c', - 'third_party/boringssl/crypto/bn/prime.c', - 'third_party/boringssl/crypto/bn/random.c', - 'third_party/boringssl/crypto/bn/rsaz_exp.c', - 'third_party/boringssl/crypto/bn/shift.c', - 'third_party/boringssl/crypto/bn/sqrt.c', + 'third_party/boringssl/crypto/bn_extra/bn_asn1.c', + 'third_party/boringssl/crypto/bn_extra/convert.c', 'third_party/boringssl/crypto/buf/buf.c', 'third_party/boringssl/crypto/bytestring/asn1_compat.c', 'third_party/boringssl/crypto/bytestring/ber.c', 'third_party/boringssl/crypto/bytestring/cbb.c', 'third_party/boringssl/crypto/bytestring/cbs.c', 'third_party/boringssl/crypto/chacha/chacha.c', - 'third_party/boringssl/crypto/cipher/aead.c', - 'third_party/boringssl/crypto/cipher/cipher.c', - 'third_party/boringssl/crypto/cipher/derive_key.c', - 'third_party/boringssl/crypto/cipher/e_aes.c', - 'third_party/boringssl/crypto/cipher/e_chacha20poly1305.c', - 'third_party/boringssl/crypto/cipher/e_des.c', - 'third_party/boringssl/crypto/cipher/e_null.c', - 'third_party/boringssl/crypto/cipher/e_rc2.c', - 'third_party/boringssl/crypto/cipher/e_rc4.c', - 'third_party/boringssl/crypto/cipher/e_ssl3.c', - 'third_party/boringssl/crypto/cipher/e_tls.c', - 'third_party/boringssl/crypto/cipher/tls_cbc.c', + 'third_party/boringssl/crypto/cipher_extra/cipher_extra.c', + 'third_party/boringssl/crypto/cipher_extra/derive_key.c', + 'third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c', + 'third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c', + 'third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c', + 'third_party/boringssl/crypto/cipher_extra/e_null.c', + 'third_party/boringssl/crypto/cipher_extra/e_rc2.c', + 'third_party/boringssl/crypto/cipher_extra/e_rc4.c', + 'third_party/boringssl/crypto/cipher_extra/e_ssl3.c', + 'third_party/boringssl/crypto/cipher_extra/e_tls.c', + 'third_party/boringssl/crypto/cipher_extra/tls_cbc.c', 'third_party/boringssl/crypto/cmac/cmac.c', 'third_party/boringssl/crypto/conf/conf.c', 'third_party/boringssl/crypto/cpu-aarch64-linux.c', @@ -406,29 +380,16 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/curve25519/curve25519.c', 'third_party/boringssl/crypto/curve25519/spake25519.c', 'third_party/boringssl/crypto/curve25519/x25519-x86_64.c', - 'third_party/boringssl/crypto/des/des.c', 'third_party/boringssl/crypto/dh/check.c', 'third_party/boringssl/crypto/dh/dh.c', 'third_party/boringssl/crypto/dh/dh_asn1.c', 'third_party/boringssl/crypto/dh/params.c', - 'third_party/boringssl/crypto/digest/digest.c', - 'third_party/boringssl/crypto/digest/digests.c', + 'third_party/boringssl/crypto/digest_extra/digest_extra.c', 'third_party/boringssl/crypto/dsa/dsa.c', 'third_party/boringssl/crypto/dsa/dsa_asn1.c', - 'third_party/boringssl/crypto/ec/ec.c', - 'third_party/boringssl/crypto/ec/ec_asn1.c', - 'third_party/boringssl/crypto/ec/ec_key.c', - 'third_party/boringssl/crypto/ec/ec_montgomery.c', - 'third_party/boringssl/crypto/ec/oct.c', - 'third_party/boringssl/crypto/ec/p224-64.c', - 'third_party/boringssl/crypto/ec/p256-64.c', - 'third_party/boringssl/crypto/ec/p256-x86_64.c', - 'third_party/boringssl/crypto/ec/simple.c', - 'third_party/boringssl/crypto/ec/util-64.c', - 'third_party/boringssl/crypto/ec/wnaf.c', + 'third_party/boringssl/crypto/ec_extra/ec_asn1.c', 'third_party/boringssl/crypto/ecdh/ecdh.c', - 'third_party/boringssl/crypto/ecdsa/ecdsa.c', - 'third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c', + 'third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c', 'third_party/boringssl/crypto/engine/engine.c', 'third_party/boringssl/crypto/err/err.c', 'third_party/boringssl/crypto/evp/digestsign.c', @@ -438,24 +399,20 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/evp/p_dsa_asn1.c', 'third_party/boringssl/crypto/evp/p_ec.c', 'third_party/boringssl/crypto/evp/p_ec_asn1.c', + 'third_party/boringssl/crypto/evp/p_ed25519.c', + 'third_party/boringssl/crypto/evp/p_ed25519_asn1.c', 'third_party/boringssl/crypto/evp/p_rsa.c', 'third_party/boringssl/crypto/evp/p_rsa_asn1.c', 'third_party/boringssl/crypto/evp/pbkdf.c', 'third_party/boringssl/crypto/evp/print.c', + 'third_party/boringssl/crypto/evp/scrypt.c', 'third_party/boringssl/crypto/evp/sign.c', 'third_party/boringssl/crypto/ex_data.c', + 'third_party/boringssl/crypto/fipsmodule/bcm.c', + 'third_party/boringssl/crypto/fipsmodule/is_fips.c', 'third_party/boringssl/crypto/hkdf/hkdf.c', - 'third_party/boringssl/crypto/hmac/hmac.c', 'third_party/boringssl/crypto/lhash/lhash.c', - 'third_party/boringssl/crypto/md4/md4.c', - 'third_party/boringssl/crypto/md5/md5.c', 'third_party/boringssl/crypto/mem.c', - 'third_party/boringssl/crypto/modes/cbc.c', - 'third_party/boringssl/crypto/modes/cfb.c', - 'third_party/boringssl/crypto/modes/ctr.c', - 'third_party/boringssl/crypto/modes/gcm.c', - 'third_party/boringssl/crypto/modes/ofb.c', - 'third_party/boringssl/crypto/modes/polyval.c', 'third_party/boringssl/crypto/obj/obj.c', 'third_party/boringssl/crypto/obj/obj_xref.c', 'third_party/boringssl/crypto/pem/pem_all.c', @@ -466,30 +423,24 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/pem/pem_pkey.c', 'third_party/boringssl/crypto/pem/pem_x509.c', 'third_party/boringssl/crypto/pem/pem_xaux.c', + 'third_party/boringssl/crypto/pkcs7/pkcs7.c', + 'third_party/boringssl/crypto/pkcs7/pkcs7_x509.c', 'third_party/boringssl/crypto/pkcs8/p5_pbev2.c', - 'third_party/boringssl/crypto/pkcs8/p8_pkey.c', 'third_party/boringssl/crypto/pkcs8/pkcs8.c', + 'third_party/boringssl/crypto/pkcs8/pkcs8_x509.c', 'third_party/boringssl/crypto/poly1305/poly1305.c', 'third_party/boringssl/crypto/poly1305/poly1305_arm.c', 'third_party/boringssl/crypto/poly1305/poly1305_vec.c', 'third_party/boringssl/crypto/pool/pool.c', - 'third_party/boringssl/crypto/rand/deterministic.c', - 'third_party/boringssl/crypto/rand/fuchsia.c', - 'third_party/boringssl/crypto/rand/rand.c', - 'third_party/boringssl/crypto/rand/urandom.c', - 'third_party/boringssl/crypto/rand/windows.c', + 'third_party/boringssl/crypto/rand_extra/deterministic.c', + 'third_party/boringssl/crypto/rand_extra/forkunsafe.c', + 'third_party/boringssl/crypto/rand_extra/fuchsia.c', + 'third_party/boringssl/crypto/rand_extra/rand_extra.c', + 'third_party/boringssl/crypto/rand_extra/windows.c', 'third_party/boringssl/crypto/rc4/rc4.c', 'third_party/boringssl/crypto/refcount_c11.c', 'third_party/boringssl/crypto/refcount_lock.c', - 'third_party/boringssl/crypto/rsa/blinding.c', - 'third_party/boringssl/crypto/rsa/padding.c', - 'third_party/boringssl/crypto/rsa/rsa.c', - 'third_party/boringssl/crypto/rsa/rsa_asn1.c', - 'third_party/boringssl/crypto/rsa/rsa_impl.c', - 'third_party/boringssl/crypto/sha/sha1-altivec.c', - 'third_party/boringssl/crypto/sha/sha1.c', - 'third_party/boringssl/crypto/sha/sha256.c', - 'third_party/boringssl/crypto/sha/sha512.c', + 'third_party/boringssl/crypto/rsa_extra/rsa_asn1.c', 'third_party/boringssl/crypto/stack/stack.c', 'third_party/boringssl/crypto/thread.c', 'third_party/boringssl/crypto/thread_none.c', @@ -504,7 +455,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/x509/by_dir.c', 'third_party/boringssl/crypto/x509/by_file.c', 'third_party/boringssl/crypto/x509/i2d_pr.c', - 'third_party/boringssl/crypto/x509/pkcs7.c', 'third_party/boringssl/crypto/x509/rsa_pss.c', 'third_party/boringssl/crypto/x509/t_crl.c', 'third_party/boringssl/crypto/x509/t_req.c', @@ -530,7 +480,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/x509/x509name.c', 'third_party/boringssl/crypto/x509/x509rset.c', 'third_party/boringssl/crypto/x509/x509spki.c', - 'third_party/boringssl/crypto/x509/x509type.c', 'third_party/boringssl/crypto/x509/x_algor.c', 'third_party/boringssl/crypto/x509/x_all.c', 'third_party/boringssl/crypto/x509/x_attrib.c', @@ -578,41 +527,42 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/crypto/x509v3/v3_skey.c', 'third_party/boringssl/crypto/x509v3/v3_sxnet.c', 'third_party/boringssl/crypto/x509v3/v3_utl.c', - 'third_party/boringssl/ssl/bio_ssl.c', - 'third_party/boringssl/ssl/custom_extensions.c', - 'third_party/boringssl/ssl/d1_both.c', - 'third_party/boringssl/ssl/d1_lib.c', - 'third_party/boringssl/ssl/d1_pkt.c', - 'third_party/boringssl/ssl/d1_srtp.c', - 'third_party/boringssl/ssl/dtls_method.c', - 'third_party/boringssl/ssl/dtls_record.c', - 'third_party/boringssl/ssl/handshake_client.c', - 'third_party/boringssl/ssl/handshake_server.c', - 'third_party/boringssl/ssl/s3_both.c', - 'third_party/boringssl/ssl/s3_lib.c', - 'third_party/boringssl/ssl/s3_pkt.c', - 'third_party/boringssl/ssl/ssl_aead_ctx.c', - 'third_party/boringssl/ssl/ssl_asn1.c', - 'third_party/boringssl/ssl/ssl_buffer.c', - 'third_party/boringssl/ssl/ssl_cert.c', - 'third_party/boringssl/ssl/ssl_cipher.c', - 'third_party/boringssl/ssl/ssl_ecdh.c', - 'third_party/boringssl/ssl/ssl_file.c', - 'third_party/boringssl/ssl/ssl_lib.c', - 'third_party/boringssl/ssl/ssl_privkey.c', - 'third_party/boringssl/ssl/ssl_privkey_cc.cc', - 'third_party/boringssl/ssl/ssl_session.c', - 'third_party/boringssl/ssl/ssl_stat.c', - 'third_party/boringssl/ssl/ssl_transcript.c', - 'third_party/boringssl/ssl/ssl_x509.c', - 'third_party/boringssl/ssl/t1_enc.c', - 'third_party/boringssl/ssl/t1_lib.c', - 'third_party/boringssl/ssl/tls13_both.c', - 'third_party/boringssl/ssl/tls13_client.c', - 'third_party/boringssl/ssl/tls13_enc.c', - 'third_party/boringssl/ssl/tls13_server.c', - 'third_party/boringssl/ssl/tls_method.c', - 'third_party/boringssl/ssl/tls_record.c', + 'third_party/boringssl/ssl/bio_ssl.cc', + 'third_party/boringssl/ssl/custom_extensions.cc', + 'third_party/boringssl/ssl/d1_both.cc', + 'third_party/boringssl/ssl/d1_lib.cc', + 'third_party/boringssl/ssl/d1_pkt.cc', + 'third_party/boringssl/ssl/d1_srtp.cc', + 'third_party/boringssl/ssl/dtls_method.cc', + 'third_party/boringssl/ssl/dtls_record.cc', + 'third_party/boringssl/ssl/handshake.cc', + 'third_party/boringssl/ssl/handshake_client.cc', + 'third_party/boringssl/ssl/handshake_server.cc', + 'third_party/boringssl/ssl/s3_both.cc', + 'third_party/boringssl/ssl/s3_lib.cc', + 'third_party/boringssl/ssl/s3_pkt.cc', + 'third_party/boringssl/ssl/ssl_aead_ctx.cc', + 'third_party/boringssl/ssl/ssl_asn1.cc', + 'third_party/boringssl/ssl/ssl_buffer.cc', + 'third_party/boringssl/ssl/ssl_cert.cc', + 'third_party/boringssl/ssl/ssl_cipher.cc', + 'third_party/boringssl/ssl/ssl_file.cc', + 'third_party/boringssl/ssl/ssl_key_share.cc', + 'third_party/boringssl/ssl/ssl_lib.cc', + 'third_party/boringssl/ssl/ssl_privkey.cc', + 'third_party/boringssl/ssl/ssl_session.cc', + 'third_party/boringssl/ssl/ssl_stat.cc', + 'third_party/boringssl/ssl/ssl_transcript.cc', + 'third_party/boringssl/ssl/ssl_versions.cc', + 'third_party/boringssl/ssl/ssl_x509.cc', + 'third_party/boringssl/ssl/t1_enc.cc', + 'third_party/boringssl/ssl/t1_lib.cc', + 'third_party/boringssl/ssl/tls13_both.cc', + 'third_party/boringssl/ssl/tls13_client.cc', + 'third_party/boringssl/ssl/tls13_enc.cc', + 'third_party/boringssl/ssl/tls13_server.cc', + 'third_party/boringssl/ssl/tls_method.cc', + 'third_party/boringssl/ssl/tls_record.cc', 'third_party/zlib/adler32.c', 'third_party/zlib/compress.c', 'third_party/zlib/crc32.c', |