grpc 1.9.1 → 1.10.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +2654 -953
- data/etc/roots.pem +282 -683
- data/include/grpc/compression.h +9 -26
- data/include/grpc/grpc.h +10 -24
- data/include/grpc/grpc_security.h +7 -1
- data/include/grpc/impl/codegen/compression_types.h +5 -62
- data/include/grpc/impl/codegen/grpc_types.h +10 -6
- data/include/grpc/module.modulemap +1 -10
- data/include/grpc/support/alloc.h +3 -2
- data/include/grpc/support/log.h +1 -2
- data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
- data/src/boringssl/err_data.c +550 -496
- data/src/core/ext/census/grpc_context.cc +2 -1
- data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
- data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
- data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
- data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
- data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver.cc +6 -52
- data/src/core/ext/filters/client_channel/resolver.h +98 -55
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
- data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
- data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
- data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
- data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
- data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
- data/src/core/ext/filters/client_channel/subchannel.h +38 -45
- data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
- data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
- data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
- data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
- data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
- data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
- data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
- data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
- data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
- data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
- data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
- data/src/core/lib/{gpr → avl}/avl.cc +61 -57
- data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
- data/src/core/lib/backoff/backoff.cc +6 -5
- data/src/core/lib/channel/channel_args.cc +23 -109
- data/src/core/lib/channel/channel_args.h +5 -31
- data/src/core/lib/channel/channel_stack.cc +11 -8
- data/src/core/lib/channel/channel_stack_builder.cc +10 -7
- data/src/core/lib/channel/connected_channel.cc +18 -17
- data/src/core/lib/channel/handshaker.cc +8 -8
- data/src/core/lib/channel/handshaker_registry.cc +3 -2
- data/src/core/lib/compression/algorithm_metadata.h +13 -6
- data/src/core/lib/compression/compression.cc +72 -183
- data/src/core/lib/compression/compression_internal.cc +274 -0
- data/src/core/lib/compression/compression_internal.h +86 -0
- data/src/core/lib/compression/message_compress.cc +15 -15
- data/src/core/lib/compression/message_compress.h +4 -3
- data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
- data/src/core/lib/compression/stream_compression_identity.cc +1 -1
- data/src/core/lib/debug/stats.cc +10 -8
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/trace.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +7 -11
- data/src/core/lib/gpr/arena.cc +34 -12
- data/src/core/lib/gpr/atm.cc +2 -1
- data/src/core/lib/gpr/cpu_linux.cc +3 -3
- data/src/core/lib/gpr/cpu_posix.cc +2 -1
- data/src/core/lib/gpr/env.h +1 -1
- data/src/core/lib/gpr/env_linux.cc +1 -1
- data/src/core/lib/gpr/env_windows.cc +4 -4
- data/src/core/lib/gpr/fork.cc +16 -2
- data/src/core/lib/gpr/host_port.cc +5 -4
- data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
- data/src/core/lib/gpr/log.cc +5 -4
- data/src/core/lib/gpr/log_linux.cc +1 -1
- data/src/core/lib/gpr/mpscq.cc +1 -0
- data/src/core/lib/gpr/murmur_hash.cc +4 -4
- data/src/core/lib/gpr/string.cc +19 -16
- data/src/core/lib/gpr/string_posix.cc +3 -3
- data/src/core/lib/gpr/sync_posix.cc +5 -9
- data/src/core/lib/gpr/thd.cc +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
- data/src/core/lib/gpr/thd_posix.cc +6 -4
- data/src/core/lib/gpr/thd_windows.cc +3 -1
- data/src/core/lib/gpr/time.cc +6 -4
- data/src/core/lib/gpr/time_posix.cc +2 -2
- data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
- data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
- data/src/core/lib/gpr/tls_pthread.cc +1 -1
- data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
- data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
- data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
- data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
- data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
- data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
- data/src/core/lib/http/format_request.cc +3 -3
- data/src/core/lib/http/httpcli.cc +6 -7
- data/src/core/lib/http/httpcli_security_connector.cc +10 -10
- data/src/core/lib/http/parser.cc +16 -12
- data/src/core/lib/iomgr/call_combiner.cc +12 -13
- data/src/core/lib/iomgr/closure.h +4 -6
- data/src/core/lib/iomgr/combiner.cc +10 -21
- data/src/core/lib/iomgr/error.cc +50 -55
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
- data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
- data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
- data/src/core/lib/iomgr/ev_posix.cc +47 -6
- data/src/core/lib/iomgr/exec_ctx.cc +10 -10
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +16 -13
- data/src/core/lib/iomgr/fork_posix.cc +1 -3
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -2
- data/src/core/lib/iomgr/iomgr.cc +2 -2
- data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
- data/src/core/lib/iomgr/iomgr_uv.h +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
- data/src/core/lib/iomgr/load_file.cc +3 -3
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
- data/src/core/lib/iomgr/resource_quota.cc +36 -34
- data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
- data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
- data/src/core/lib/iomgr/socket_mutator.cc +7 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
- data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +47 -55
- data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
- data/src/core/lib/iomgr/tcp_windows.cc +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +16 -14
- data/src/core/lib/iomgr/timer_heap.cc +8 -7
- data/src/core/lib/iomgr/timer_manager.cc +4 -3
- data/src/core/lib/iomgr/udp_server.cc +24 -16
- data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
- data/src/core/lib/json/json.cc +1 -1
- data/src/core/lib/json/json_reader.cc +8 -6
- data/src/core/lib/json/json_string.cc +19 -18
- data/src/core/lib/json/json_writer.cc +10 -8
- data/src/core/lib/profiling/basic_timers.cc +1 -1
- data/src/core/lib/profiling/timers.h +3 -20
- data/src/core/lib/security/context/security_context.cc +16 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
- data/src/core/lib/security/credentials/credentials.cc +9 -8
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
- data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
- data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
- data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
- data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
- data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
- data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
- data/src/core/lib/security/transport/security_handshaker.cc +19 -18
- data/src/core/lib/security/transport/security_handshaker.h +1 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/slice/b64.cc +19 -16
- data/src/core/lib/slice/percent_encoding.cc +5 -5
- data/src/core/lib/slice/slice.cc +35 -33
- data/src/core/lib/slice/slice_buffer.cc +16 -14
- data/src/core/lib/slice/slice_hash_table.cc +3 -2
- data/src/core/lib/slice/slice_intern.cc +21 -25
- data/src/core/lib/slice/slice_string_helpers.cc +45 -9
- data/src/core/lib/slice/slice_string_helpers.h +6 -0
- data/src/core/lib/surface/byte_buffer.cc +2 -2
- data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
- data/src/core/lib/surface/call.cc +171 -260
- data/src/core/lib/surface/call_test_only.h +1 -13
- data/src/core/lib/surface/channel.cc +20 -43
- data/src/core/lib/surface/channel_init.cc +7 -7
- data/src/core/lib/surface/channel_ping.cc +2 -2
- data/src/core/lib/surface/completion_queue.cc +69 -75
- data/src/core/lib/surface/init.cc +4 -5
- data/src/core/lib/surface/init_secure.cc +1 -1
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/server.cc +64 -59
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +6 -5
- data/src/core/lib/transport/byte_stream.cc +23 -14
- data/src/core/lib/transport/byte_stream.h +1 -1
- data/src/core/lib/transport/connectivity_state.cc +9 -13
- data/src/core/lib/transport/error_utils.cc +10 -7
- data/src/core/lib/transport/metadata.cc +27 -26
- data/src/core/lib/transport/metadata.h +1 -1
- data/src/core/lib/transport/pid_controller.cc +2 -1
- data/src/core/lib/transport/service_config.cc +5 -5
- data/src/core/lib/transport/static_metadata.cc +225 -222
- data/src/core/lib/transport/static_metadata.h +77 -76
- data/src/core/lib/transport/timeout_encoding.cc +3 -2
- data/src/core/lib/transport/transport.cc +6 -5
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
- data/src/core/tsi/alts_transport_security.cc +61 -0
- data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
- data/src/core/tsi/fake_transport_security.cc +59 -43
- data/src/core/tsi/ssl_transport_security.cc +122 -107
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_adapter.cc +16 -10
- data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +3 -4
- data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
- data/src/ruby/ext/grpc/rb_server.c +52 -28
- data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/test/client.rb +1 -1
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +4 -2
- data/src/ruby/spec/generic/active_call_spec.rb +2 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
- data/src/ruby/spec/server_spec.rb +26 -7
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
- data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
- data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
- data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
- data/third_party/boringssl/crypto/base64/base64.c +65 -43
- data/third_party/boringssl/crypto/bio/bio.c +134 -110
- data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
- data/third_party/boringssl/crypto/bio/connect.c +17 -17
- data/third_party/boringssl/crypto/bio/fd.c +2 -1
- data/third_party/boringssl/crypto/bio/file.c +14 -14
- data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
- data/third_party/boringssl/crypto/bio/internal.h +14 -14
- data/third_party/boringssl/crypto/bio/pair.c +45 -45
- data/third_party/boringssl/crypto/bio/printf.c +6 -10
- data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
- data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
- data/third_party/boringssl/crypto/buf/buf.c +20 -44
- data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
- data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
- data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
- data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
- data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
- data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
- data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
- data/third_party/boringssl/crypto/conf/conf.c +32 -20
- data/third_party/boringssl/crypto/conf/internal.h +3 -3
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
- data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
- data/third_party/boringssl/crypto/cpu-intel.c +68 -43
- data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
- data/third_party/boringssl/crypto/crypto.c +54 -32
- data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
- data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
- data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
- data/third_party/boringssl/crypto/dh/check.c +33 -34
- data/third_party/boringssl/crypto/dh/dh.c +72 -36
- data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
- data/third_party/boringssl/crypto/dh/params.c +1 -161
- data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
- data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
- data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
- data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
- data/third_party/boringssl/crypto/engine/engine.c +6 -6
- data/third_party/boringssl/crypto/err/err.c +197 -106
- data/third_party/boringssl/crypto/err/internal.h +58 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
- data/third_party/boringssl/crypto/evp/evp.c +6 -11
- data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
- data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
- data/third_party/boringssl/crypto/evp/internal.h +66 -51
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
- data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
- data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
- data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
- data/third_party/boringssl/crypto/evp/print.c +5 -36
- data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
- data/third_party/boringssl/crypto/ex_data.c +15 -45
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
- data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
- data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
- data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
- data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
- data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
- data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
- data/third_party/boringssl/crypto/internal.h +301 -233
- data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
- data/third_party/boringssl/crypto/mem.c +76 -33
- data/third_party/boringssl/crypto/obj/obj.c +44 -28
- data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
- data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
- data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
- data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
- data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
- data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
- data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
- data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
- data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
- data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
- data/third_party/boringssl/crypto/pool/internal.h +2 -2
- data/third_party/boringssl/crypto/pool/pool.c +15 -15
- data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
- data/third_party/boringssl/crypto/refcount_c11.c +2 -2
- data/third_party/boringssl/crypto/refcount_lock.c +1 -1
- data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
- data/third_party/boringssl/crypto/stack/stack.c +13 -13
- data/third_party/boringssl/crypto/thread_none.c +1 -1
- data/third_party/boringssl/crypto/thread_pthread.c +1 -1
- data/third_party/boringssl/crypto/thread_win.c +40 -40
- data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
- data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
- data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
- data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
- data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
- data/third_party/boringssl/crypto/x509/by_file.c +2 -2
- data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
- data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
- data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
- data/third_party/boringssl/crypto/x509/x_name.c +13 -16
- data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
- data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
- data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
- data/third_party/boringssl/include/openssl/aead.h +280 -191
- data/third_party/boringssl/include/openssl/aes.h +50 -50
- data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
- data/third_party/boringssl/include/openssl/asn1.h +14 -77
- data/third_party/boringssl/include/openssl/asn1t.h +11 -15
- data/third_party/boringssl/include/openssl/base.h +78 -51
- data/third_party/boringssl/include/openssl/base64.h +68 -68
- data/third_party/boringssl/include/openssl/bio.h +472 -406
- data/third_party/boringssl/include/openssl/blowfish.h +1 -1
- data/third_party/boringssl/include/openssl/bn.h +454 -435
- data/third_party/boringssl/include/openssl/buf.h +27 -27
- data/third_party/boringssl/include/openssl/bytestring.h +282 -267
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/chacha.h +5 -5
- data/third_party/boringssl/include/openssl/cipher.h +209 -200
- data/third_party/boringssl/include/openssl/cmac.h +27 -27
- data/third_party/boringssl/include/openssl/conf.h +49 -46
- data/third_party/boringssl/include/openssl/cpu.h +60 -45
- data/third_party/boringssl/include/openssl/crypto.h +59 -35
- data/third_party/boringssl/include/openssl/curve25519.h +97 -92
- data/third_party/boringssl/include/openssl/des.h +25 -25
- data/third_party/boringssl/include/openssl/dh.h +98 -97
- data/third_party/boringssl/include/openssl/digest.h +143 -114
- data/third_party/boringssl/include/openssl/dsa.h +217 -202
- data/third_party/boringssl/include/openssl/ec.h +132 -131
- data/third_party/boringssl/include/openssl/ec_key.h +132 -128
- data/third_party/boringssl/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
- data/third_party/boringssl/include/openssl/engine.h +38 -38
- data/third_party/boringssl/include/openssl/err.h +189 -219
- data/third_party/boringssl/include/openssl/evp.h +473 -397
- data/third_party/boringssl/include/openssl/ex_data.h +46 -56
- data/third_party/boringssl/include/openssl/hkdf.h +17 -17
- data/third_party/boringssl/include/openssl/hmac.h +55 -43
- data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- data/third_party/boringssl/include/openssl/lhash.h +67 -67
- data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
- data/third_party/boringssl/include/openssl/md4.h +14 -14
- data/third_party/boringssl/include/openssl/md5.h +14 -14
- data/third_party/boringssl/include/openssl/mem.h +39 -33
- data/third_party/boringssl/include/openssl/nid.h +43 -0
- data/third_party/boringssl/include/openssl/obj.h +93 -87
- data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
- data/third_party/boringssl/include/openssl/pem.h +2 -122
- data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
- data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
- data/third_party/boringssl/include/openssl/poly1305.h +11 -11
- data/third_party/boringssl/include/openssl/pool.h +29 -25
- data/third_party/boringssl/include/openssl/rand.h +48 -45
- data/third_party/boringssl/include/openssl/rc4.h +9 -9
- data/third_party/boringssl/include/openssl/ripemd.h +13 -13
- data/third_party/boringssl/include/openssl/rsa.h +371 -340
- data/third_party/boringssl/include/openssl/sha.h +71 -71
- data/third_party/boringssl/include/openssl/span.h +191 -0
- data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
- data/third_party/boringssl/include/openssl/ssl3.h +39 -122
- data/third_party/boringssl/include/openssl/stack.h +355 -164
- data/third_party/boringssl/include/openssl/thread.h +43 -43
- data/third_party/boringssl/include/openssl/tls1.h +60 -63
- data/third_party/boringssl/include/openssl/type_check.h +10 -14
- data/third_party/boringssl/include/openssl/x509.h +41 -116
- data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
- data/third_party/boringssl/include/openssl/x509v3.h +27 -21
- data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
- data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
- data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
- data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
- data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
- data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
- data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
- data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
- data/third_party/boringssl/ssl/handshake.cc +547 -0
- data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
- data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
- data/third_party/boringssl/ssl/internal.h +2027 -1280
- data/third_party/boringssl/ssl/s3_both.cc +603 -0
- data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
- data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
- data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
- data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
- data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
- data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
- data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
- data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
- data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
- data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
- data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
- data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
- data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
- data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
- data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
- data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
- data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
- data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
- data/third_party/boringssl/ssl/tls13_client.cc +842 -0
- data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
- data/third_party/boringssl/ssl/tls13_server.cc +967 -0
- data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
- data/third_party/boringssl/ssl/tls_record.cc +675 -0
- metadata +117 -168
- data/include/grpc/support/cmdline.h +0 -88
- data/include/grpc/support/subprocess.h +0 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
- data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
- data/src/core/lib/gpr/cmdline.cc +0 -330
- data/src/core/lib/gpr/subprocess_posix.cc +0 -99
- data/src/core/lib/gpr/subprocess_windows.cc +0 -126
- data/src/core/lib/surface/alarm.cc +0 -137
- data/src/core/lib/surface/alarm_internal.h +0 -40
- data/src/core/tsi/gts_transport_security.cc +0 -40
- data/third_party/boringssl/crypto/aes/aes.c +0 -1142
- data/third_party/boringssl/crypto/aes/internal.h +0 -87
- data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
- data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
- data/third_party/boringssl/crypto/bn/add.c +0 -377
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
- data/third_party/boringssl/crypto/bn/bn.c +0 -365
- data/third_party/boringssl/crypto/bn/cmp.c +0 -239
- data/third_party/boringssl/crypto/bn/ctx.c +0 -313
- data/third_party/boringssl/crypto/bn/div.c +0 -728
- data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
- data/third_party/boringssl/crypto/bn/gcd.c +0 -635
- data/third_party/boringssl/crypto/bn/generic.c +0 -707
- data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
- data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
- data/third_party/boringssl/crypto/bn/mul.c +0 -871
- data/third_party/boringssl/crypto/bn/prime.c +0 -861
- data/third_party/boringssl/crypto/bn/random.c +0 -343
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
- data/third_party/boringssl/crypto/bn/shift.c +0 -307
- data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
- data/third_party/boringssl/crypto/cipher/aead.c +0 -156
- data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
- data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
- data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
- data/third_party/boringssl/crypto/des/des.c +0 -771
- data/third_party/boringssl/crypto/digest/digest.c +0 -251
- data/third_party/boringssl/crypto/digest/digests.c +0 -358
- data/third_party/boringssl/crypto/ec/ec.c +0 -847
- data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
- data/third_party/boringssl/crypto/ec/oct.c +0 -416
- data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
- data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
- data/third_party/boringssl/crypto/ec/simple.c +0 -1118
- data/third_party/boringssl/crypto/ec/util-64.c +0 -109
- data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
- data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
- data/third_party/boringssl/crypto/md4/md4.c +0 -236
- data/third_party/boringssl/crypto/md5/md5.c +0 -285
- data/third_party/boringssl/crypto/modes/cbc.c +0 -212
- data/third_party/boringssl/crypto/modes/cfb.c +0 -230
- data/third_party/boringssl/crypto/modes/ctr.c +0 -219
- data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
- data/third_party/boringssl/crypto/modes/ofb.c +0 -95
- data/third_party/boringssl/crypto/modes/polyval.c +0 -94
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
- data/third_party/boringssl/crypto/rand/rand.c +0 -244
- data/third_party/boringssl/crypto/rand/urandom.c +0 -335
- data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
- data/third_party/boringssl/crypto/rsa/padding.c +0 -708
- data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
- data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
- data/third_party/boringssl/crypto/sha/sha1.c +0 -355
- data/third_party/boringssl/crypto/sha/sha256.c +0 -329
- data/third_party/boringssl/crypto/sha/sha512.c +0 -609
- data/third_party/boringssl/crypto/x509/x509type.c +0 -126
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
- data/third_party/boringssl/ssl/handshake_client.c +0 -1883
- data/third_party/boringssl/ssl/handshake_server.c +0 -1950
- data/third_party/boringssl/ssl/s3_both.c +0 -895
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
- data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
- data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
- data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
- data/third_party/boringssl/ssl/tls13_client.c +0 -712
- data/third_party/boringssl/ssl/tls13_server.c +0 -680
- data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -20,7 +20,7 @@
|
|
20
20
|
* To make changes to this file, change
|
21
21
|
* tools/codegen/core/gen_static_metadata.py, and then re-run it.
|
22
22
|
*
|
23
|
-
* See metadata.h for an explanation of the interface here, and metadata.
|
23
|
+
* See metadata.h for an explanation of the interface here, and metadata.cc for
|
24
24
|
* an explanation of what's going on.
|
25
25
|
*/
|
26
26
|
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
#include "src/core/lib/transport/metadata.h"
|
31
31
|
|
32
|
-
#define GRPC_STATIC_MDSTR_COUNT
|
32
|
+
#define GRPC_STATIC_MDSTR_COUNT 101
|
33
33
|
extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
|
34
34
|
/* ":path" */
|
35
35
|
#define GRPC_MDSTR_PATH (grpc_static_slice_table[0])
|
@@ -93,149 +93,151 @@ extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
|
|
93
93
|
/* "/grpc.lb.v1.LoadBalancer/BalanceLoad" */
|
94
94
|
#define GRPC_MDSTR_SLASH_GRPC_DOT_LB_DOT_V1_DOT_LOADBALANCER_SLASH_BALANCELOAD \
|
95
95
|
(grpc_static_slice_table[28])
|
96
|
+
/* "deflate" */
|
97
|
+
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[29])
|
98
|
+
/* "gzip" */
|
99
|
+
#define GRPC_MDSTR_GZIP (grpc_static_slice_table[30])
|
100
|
+
/* "stream/gzip" */
|
101
|
+
#define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table[31])
|
96
102
|
/* "0" */
|
97
|
-
#define GRPC_MDSTR_0 (grpc_static_slice_table[
|
103
|
+
#define GRPC_MDSTR_0 (grpc_static_slice_table[32])
|
98
104
|
/* "1" */
|
99
|
-
#define GRPC_MDSTR_1 (grpc_static_slice_table[
|
105
|
+
#define GRPC_MDSTR_1 (grpc_static_slice_table[33])
|
100
106
|
/* "2" */
|
101
|
-
#define GRPC_MDSTR_2 (grpc_static_slice_table[
|
107
|
+
#define GRPC_MDSTR_2 (grpc_static_slice_table[34])
|
102
108
|
/* "identity" */
|
103
|
-
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[
|
104
|
-
/* "gzip" */
|
105
|
-
#define GRPC_MDSTR_GZIP (grpc_static_slice_table[33])
|
106
|
-
/* "deflate" */
|
107
|
-
#define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[34])
|
109
|
+
#define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[35])
|
108
110
|
/* "trailers" */
|
109
|
-
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[
|
111
|
+
#define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[36])
|
110
112
|
/* "application/grpc" */
|
111
|
-
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[
|
113
|
+
#define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[37])
|
112
114
|
/* "POST" */
|
113
|
-
#define GRPC_MDSTR_POST (grpc_static_slice_table[
|
115
|
+
#define GRPC_MDSTR_POST (grpc_static_slice_table[38])
|
114
116
|
/* "200" */
|
115
|
-
#define GRPC_MDSTR_200 (grpc_static_slice_table[
|
117
|
+
#define GRPC_MDSTR_200 (grpc_static_slice_table[39])
|
116
118
|
/* "404" */
|
117
|
-
#define GRPC_MDSTR_404 (grpc_static_slice_table[
|
119
|
+
#define GRPC_MDSTR_404 (grpc_static_slice_table[40])
|
118
120
|
/* "http" */
|
119
|
-
#define GRPC_MDSTR_HTTP (grpc_static_slice_table[
|
121
|
+
#define GRPC_MDSTR_HTTP (grpc_static_slice_table[41])
|
120
122
|
/* "https" */
|
121
|
-
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table[
|
123
|
+
#define GRPC_MDSTR_HTTPS (grpc_static_slice_table[42])
|
122
124
|
/* "grpc" */
|
123
|
-
#define GRPC_MDSTR_GRPC (grpc_static_slice_table[
|
125
|
+
#define GRPC_MDSTR_GRPC (grpc_static_slice_table[43])
|
124
126
|
/* "GET" */
|
125
|
-
#define GRPC_MDSTR_GET (grpc_static_slice_table[
|
127
|
+
#define GRPC_MDSTR_GET (grpc_static_slice_table[44])
|
126
128
|
/* "PUT" */
|
127
|
-
#define GRPC_MDSTR_PUT (grpc_static_slice_table[
|
129
|
+
#define GRPC_MDSTR_PUT (grpc_static_slice_table[45])
|
128
130
|
/* "/" */
|
129
|
-
#define GRPC_MDSTR_SLASH (grpc_static_slice_table[
|
131
|
+
#define GRPC_MDSTR_SLASH (grpc_static_slice_table[46])
|
130
132
|
/* "/index.html" */
|
131
|
-
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[
|
133
|
+
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[47])
|
132
134
|
/* "204" */
|
133
|
-
#define GRPC_MDSTR_204 (grpc_static_slice_table[
|
135
|
+
#define GRPC_MDSTR_204 (grpc_static_slice_table[48])
|
134
136
|
/* "206" */
|
135
|
-
#define GRPC_MDSTR_206 (grpc_static_slice_table[
|
137
|
+
#define GRPC_MDSTR_206 (grpc_static_slice_table[49])
|
136
138
|
/* "304" */
|
137
|
-
#define GRPC_MDSTR_304 (grpc_static_slice_table[
|
139
|
+
#define GRPC_MDSTR_304 (grpc_static_slice_table[50])
|
138
140
|
/* "400" */
|
139
|
-
#define GRPC_MDSTR_400 (grpc_static_slice_table[
|
141
|
+
#define GRPC_MDSTR_400 (grpc_static_slice_table[51])
|
140
142
|
/* "500" */
|
141
|
-
#define GRPC_MDSTR_500 (grpc_static_slice_table[
|
143
|
+
#define GRPC_MDSTR_500 (grpc_static_slice_table[52])
|
142
144
|
/* "accept-charset" */
|
143
|
-
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[
|
145
|
+
#define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[53])
|
144
146
|
/* "gzip, deflate" */
|
145
|
-
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[
|
147
|
+
#define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[54])
|
146
148
|
/* "accept-language" */
|
147
|
-
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[
|
149
|
+
#define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[55])
|
148
150
|
/* "accept-ranges" */
|
149
|
-
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[
|
151
|
+
#define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[56])
|
150
152
|
/* "accept" */
|
151
|
-
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[
|
153
|
+
#define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[57])
|
152
154
|
/* "access-control-allow-origin" */
|
153
|
-
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[
|
155
|
+
#define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[58])
|
154
156
|
/* "age" */
|
155
|
-
#define GRPC_MDSTR_AGE (grpc_static_slice_table[
|
157
|
+
#define GRPC_MDSTR_AGE (grpc_static_slice_table[59])
|
156
158
|
/* "allow" */
|
157
|
-
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table[
|
159
|
+
#define GRPC_MDSTR_ALLOW (grpc_static_slice_table[60])
|
158
160
|
/* "authorization" */
|
159
|
-
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[
|
161
|
+
#define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[61])
|
160
162
|
/* "cache-control" */
|
161
|
-
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[
|
163
|
+
#define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[62])
|
162
164
|
/* "content-disposition" */
|
163
|
-
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[
|
165
|
+
#define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[63])
|
164
166
|
/* "content-language" */
|
165
|
-
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[
|
167
|
+
#define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[64])
|
166
168
|
/* "content-length" */
|
167
|
-
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[
|
169
|
+
#define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[65])
|
168
170
|
/* "content-location" */
|
169
|
-
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[
|
171
|
+
#define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[66])
|
170
172
|
/* "content-range" */
|
171
|
-
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[
|
173
|
+
#define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[67])
|
172
174
|
/* "cookie" */
|
173
|
-
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table[
|
175
|
+
#define GRPC_MDSTR_COOKIE (grpc_static_slice_table[68])
|
174
176
|
/* "date" */
|
175
|
-
#define GRPC_MDSTR_DATE (grpc_static_slice_table[
|
177
|
+
#define GRPC_MDSTR_DATE (grpc_static_slice_table[69])
|
176
178
|
/* "etag" */
|
177
|
-
#define GRPC_MDSTR_ETAG (grpc_static_slice_table[
|
179
|
+
#define GRPC_MDSTR_ETAG (grpc_static_slice_table[70])
|
178
180
|
/* "expect" */
|
179
|
-
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table[
|
181
|
+
#define GRPC_MDSTR_EXPECT (grpc_static_slice_table[71])
|
180
182
|
/* "expires" */
|
181
|
-
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[
|
183
|
+
#define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[72])
|
182
184
|
/* "from" */
|
183
|
-
#define GRPC_MDSTR_FROM (grpc_static_slice_table[
|
185
|
+
#define GRPC_MDSTR_FROM (grpc_static_slice_table[73])
|
184
186
|
/* "if-match" */
|
185
|
-
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[
|
187
|
+
#define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[74])
|
186
188
|
/* "if-modified-since" */
|
187
|
-
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[
|
189
|
+
#define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[75])
|
188
190
|
/* "if-none-match" */
|
189
|
-
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[
|
191
|
+
#define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[76])
|
190
192
|
/* "if-range" */
|
191
|
-
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[
|
193
|
+
#define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[77])
|
192
194
|
/* "if-unmodified-since" */
|
193
|
-
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[
|
195
|
+
#define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[78])
|
194
196
|
/* "last-modified" */
|
195
|
-
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[
|
197
|
+
#define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[79])
|
196
198
|
/* "lb-cost-bin" */
|
197
|
-
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[
|
199
|
+
#define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[80])
|
198
200
|
/* "link" */
|
199
|
-
#define GRPC_MDSTR_LINK (grpc_static_slice_table[
|
201
|
+
#define GRPC_MDSTR_LINK (grpc_static_slice_table[81])
|
200
202
|
/* "location" */
|
201
|
-
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table[
|
203
|
+
#define GRPC_MDSTR_LOCATION (grpc_static_slice_table[82])
|
202
204
|
/* "max-forwards" */
|
203
|
-
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[
|
205
|
+
#define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[83])
|
204
206
|
/* "proxy-authenticate" */
|
205
|
-
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[
|
207
|
+
#define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[84])
|
206
208
|
/* "proxy-authorization" */
|
207
|
-
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[
|
209
|
+
#define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[85])
|
208
210
|
/* "range" */
|
209
|
-
#define GRPC_MDSTR_RANGE (grpc_static_slice_table[
|
211
|
+
#define GRPC_MDSTR_RANGE (grpc_static_slice_table[86])
|
210
212
|
/* "referer" */
|
211
|
-
#define GRPC_MDSTR_REFERER (grpc_static_slice_table[
|
213
|
+
#define GRPC_MDSTR_REFERER (grpc_static_slice_table[87])
|
212
214
|
/* "refresh" */
|
213
|
-
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table[
|
215
|
+
#define GRPC_MDSTR_REFRESH (grpc_static_slice_table[88])
|
214
216
|
/* "retry-after" */
|
215
|
-
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[
|
217
|
+
#define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[89])
|
216
218
|
/* "server" */
|
217
|
-
#define GRPC_MDSTR_SERVER (grpc_static_slice_table[
|
219
|
+
#define GRPC_MDSTR_SERVER (grpc_static_slice_table[90])
|
218
220
|
/* "set-cookie" */
|
219
|
-
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[
|
221
|
+
#define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[91])
|
220
222
|
/* "strict-transport-security" */
|
221
|
-
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[
|
223
|
+
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[92])
|
222
224
|
/* "transfer-encoding" */
|
223
|
-
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[
|
225
|
+
#define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[93])
|
224
226
|
/* "vary" */
|
225
|
-
#define GRPC_MDSTR_VARY (grpc_static_slice_table[
|
227
|
+
#define GRPC_MDSTR_VARY (grpc_static_slice_table[94])
|
226
228
|
/* "via" */
|
227
|
-
#define GRPC_MDSTR_VIA (grpc_static_slice_table[
|
229
|
+
#define GRPC_MDSTR_VIA (grpc_static_slice_table[95])
|
228
230
|
/* "www-authenticate" */
|
229
|
-
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[
|
231
|
+
#define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[96])
|
230
232
|
/* "identity,deflate" */
|
231
|
-
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[
|
233
|
+
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[97])
|
232
234
|
/* "identity,gzip" */
|
233
|
-
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[
|
235
|
+
#define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[98])
|
234
236
|
/* "deflate,gzip" */
|
235
|
-
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[
|
237
|
+
#define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[99])
|
236
238
|
/* "identity,deflate,gzip" */
|
237
239
|
#define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
|
238
|
-
(grpc_static_slice_table[
|
240
|
+
(grpc_static_slice_table[100])
|
239
241
|
|
240
242
|
extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;
|
241
243
|
extern grpc_slice_refcount
|
@@ -584,5 +586,4 @@ extern const uint8_t grpc_static_accept_stream_encoding_metadata[4];
|
|
584
586
|
(GRPC_MAKE_MDELEM(&grpc_static_mdelem_table \
|
585
587
|
[grpc_static_accept_stream_encoding_metadata[(algs)]], \
|
586
588
|
GRPC_MDELEM_STORAGE_STATIC))
|
587
|
-
|
588
589
|
#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
|
@@ -98,7 +98,7 @@ int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout) {
|
|
98
98
|
;
|
99
99
|
/* decode numeric part */
|
100
100
|
for (; p != end && *p >= '0' && *p <= '9'; p++) {
|
101
|
-
int32_t digit =
|
101
|
+
int32_t digit = static_cast<int32_t>(*p - static_cast<uint8_t>('0'));
|
102
102
|
have_digit = 1;
|
103
103
|
/* spec allows max. 8 digits, but we allow values up to 1,000,000,000 */
|
104
104
|
if (x >= (100 * 1000 * 1000)) {
|
@@ -138,5 +138,6 @@ int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout) {
|
|
138
138
|
return 0;
|
139
139
|
}
|
140
140
|
p++;
|
141
|
-
return is_all_whitespace(
|
141
|
+
return is_all_whitespace(reinterpret_cast<const char*>(p),
|
142
|
+
reinterpret_cast<const char*>(end));
|
142
143
|
}
|
@@ -101,7 +101,7 @@ grpc_slice grpc_slice_from_stream_owned_buffer(grpc_stream_refcount* refcount,
|
|
101
101
|
slice_stream_ref(&refcount->slice_refcount);
|
102
102
|
grpc_slice res;
|
103
103
|
res.refcount = &refcount->slice_refcount;
|
104
|
-
res.data.refcounted.bytes = (
|
104
|
+
res.data.refcounted.bytes = static_cast<uint8_t*>(buffer);
|
105
105
|
res.data.refcounted.length = length;
|
106
106
|
return res;
|
107
107
|
}
|
@@ -233,13 +233,14 @@ typedef struct {
|
|
233
233
|
} made_transport_op;
|
234
234
|
|
235
235
|
static void destroy_made_transport_op(void* arg, grpc_error* error) {
|
236
|
-
made_transport_op* op = (
|
236
|
+
made_transport_op* op = static_cast<made_transport_op*>(arg);
|
237
237
|
GRPC_CLOSURE_SCHED(op->inner_on_complete, GRPC_ERROR_REF(error));
|
238
238
|
gpr_free(op);
|
239
239
|
}
|
240
240
|
|
241
241
|
grpc_transport_op* grpc_make_transport_op(grpc_closure* on_complete) {
|
242
|
-
made_transport_op* op =
|
242
|
+
made_transport_op* op =
|
243
|
+
static_cast<made_transport_op*>(gpr_malloc(sizeof(*op)));
|
243
244
|
GRPC_CLOSURE_INIT(&op->outer_on_complete, destroy_made_transport_op, op,
|
244
245
|
grpc_schedule_on_exec_ctx);
|
245
246
|
op->inner_on_complete = on_complete;
|
@@ -256,7 +257,7 @@ typedef struct {
|
|
256
257
|
} made_transport_stream_op;
|
257
258
|
|
258
259
|
static void destroy_made_transport_stream_op(void* arg, grpc_error* error) {
|
259
|
-
made_transport_stream_op* op = (
|
260
|
+
made_transport_stream_op* op = static_cast<made_transport_stream_op*>(arg);
|
260
261
|
grpc_closure* c = op->inner_on_complete;
|
261
262
|
gpr_free(op);
|
262
263
|
GRPC_CLOSURE_RUN(c, GRPC_ERROR_REF(error));
|
@@ -265,7 +266,7 @@ static void destroy_made_transport_stream_op(void* arg, grpc_error* error) {
|
|
265
266
|
grpc_transport_stream_op_batch* grpc_make_transport_stream_op(
|
266
267
|
grpc_closure* on_complete) {
|
267
268
|
made_transport_stream_op* op =
|
268
|
-
(
|
269
|
+
static_cast<made_transport_stream_op*>(gpr_zalloc(sizeof(*op)));
|
269
270
|
op->op.payload = &op->payload;
|
270
271
|
GRPC_CLOSURE_INIT(&op->outer_on_complete, destroy_made_transport_stream_op,
|
271
272
|
op, grpc_schedule_on_exec_ctx);
|
@@ -27,7 +27,6 @@
|
|
27
27
|
|
28
28
|
#include <grpc/support/alloc.h>
|
29
29
|
#include <grpc/support/string_util.h>
|
30
|
-
#include <grpc/support/useful.h>
|
31
30
|
#include "src/core/lib/gpr/string.h"
|
32
31
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
33
32
|
#include "src/core/lib/transport/connectivity_state.h"
|
@@ -22,8 +22,8 @@ void grpc_http_filters_init(void);
|
|
22
22
|
void grpc_http_filters_shutdown(void);
|
23
23
|
void grpc_chttp2_plugin_init(void);
|
24
24
|
void grpc_chttp2_plugin_shutdown(void);
|
25
|
-
void
|
26
|
-
void
|
25
|
+
void grpc_tsi_alts_init(void);
|
26
|
+
void grpc_tsi_alts_shutdown(void);
|
27
27
|
void grpc_deadline_filter_init(void);
|
28
28
|
void grpc_deadline_filter_shutdown(void);
|
29
29
|
void grpc_client_channel_init(void);
|
@@ -58,8 +58,8 @@ void grpc_register_built_in_plugins(void) {
|
|
58
58
|
grpc_http_filters_shutdown);
|
59
59
|
grpc_register_plugin(grpc_chttp2_plugin_init,
|
60
60
|
grpc_chttp2_plugin_shutdown);
|
61
|
-
grpc_register_plugin(
|
62
|
-
|
61
|
+
grpc_register_plugin(grpc_tsi_alts_init,
|
62
|
+
grpc_tsi_alts_shutdown);
|
63
63
|
grpc_register_plugin(grpc_deadline_filter_init,
|
64
64
|
grpc_deadline_filter_shutdown);
|
65
65
|
grpc_register_plugin(grpc_client_channel_init,
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2017 gRPC authors.
|
4
|
+
*
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
* you may not use this file except in compliance with the License.
|
7
|
+
* You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
#include "src/core/tsi/alts_transport_security.h"
|
20
|
+
|
21
|
+
#include <string.h>
|
22
|
+
|
23
|
+
static alts_shared_resource g_alts_resource;
|
24
|
+
|
25
|
+
alts_shared_resource* alts_get_shared_resource(void) {
|
26
|
+
return &g_alts_resource;
|
27
|
+
}
|
28
|
+
|
29
|
+
static void grpc_tsi_alts_wait_for_cq_drain() {
|
30
|
+
gpr_mu_lock(&g_alts_resource.mu);
|
31
|
+
while (!g_alts_resource.is_cq_drained) {
|
32
|
+
gpr_cv_wait(&g_alts_resource.cv, &g_alts_resource.mu,
|
33
|
+
gpr_inf_future(GPR_CLOCK_REALTIME));
|
34
|
+
}
|
35
|
+
gpr_mu_unlock(&g_alts_resource.mu);
|
36
|
+
}
|
37
|
+
|
38
|
+
void grpc_tsi_alts_signal_for_cq_destroy() {
|
39
|
+
gpr_mu_lock(&g_alts_resource.mu);
|
40
|
+
g_alts_resource.is_cq_drained = true;
|
41
|
+
gpr_cv_signal(&g_alts_resource.cv);
|
42
|
+
gpr_mu_unlock(&g_alts_resource.mu);
|
43
|
+
}
|
44
|
+
|
45
|
+
void grpc_tsi_alts_init() {
|
46
|
+
memset(&g_alts_resource, 0, sizeof(alts_shared_resource));
|
47
|
+
gpr_mu_init(&g_alts_resource.mu);
|
48
|
+
gpr_cv_init(&g_alts_resource.cv);
|
49
|
+
}
|
50
|
+
|
51
|
+
void grpc_tsi_alts_shutdown() {
|
52
|
+
if (g_alts_resource.cq != nullptr) {
|
53
|
+
grpc_completion_queue_shutdown(g_alts_resource.cq);
|
54
|
+
grpc_tsi_alts_wait_for_cq_drain();
|
55
|
+
grpc_completion_queue_destroy(g_alts_resource.cq);
|
56
|
+
grpc_channel_destroy(g_alts_resource.channel);
|
57
|
+
gpr_thd_join(g_alts_resource.thread_id);
|
58
|
+
}
|
59
|
+
gpr_cv_destroy(&g_alts_resource.cv);
|
60
|
+
gpr_mu_destroy(&g_alts_resource.mu);
|
61
|
+
}
|
@@ -16,22 +16,30 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
-
#ifndef
|
20
|
-
#define
|
19
|
+
#ifndef GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H
|
20
|
+
#define GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H
|
21
21
|
|
22
22
|
#include <grpc/grpc.h>
|
23
23
|
#include <grpc/support/sync.h>
|
24
|
-
#include <grpc/support/thd.h>
|
25
24
|
|
26
|
-
|
25
|
+
#include "src/core/lib/gpr/thd.h"
|
26
|
+
|
27
|
+
typedef struct alts_shared_resource {
|
27
28
|
gpr_thd_id thread_id;
|
28
29
|
grpc_channel* channel;
|
29
30
|
grpc_completion_queue* cq;
|
30
31
|
gpr_mu mu;
|
31
|
-
|
32
|
+
gpr_cv cv;
|
33
|
+
bool is_cq_drained;
|
34
|
+
} alts_shared_resource;
|
32
35
|
|
33
|
-
/* This method returns the address of
|
36
|
+
/* This method returns the address of alts_shared_resource object shared by all
|
34
37
|
* TSI handshakes. */
|
35
|
-
|
38
|
+
alts_shared_resource* alts_get_shared_resource(void);
|
39
|
+
|
40
|
+
/* This method signals the thread that invokes grpc_tsi_alts_shutdown() to
|
41
|
+
* continue with destroying the cq as a part of shutdown process. */
|
42
|
+
|
43
|
+
void grpc_tsi_alts_signal_for_cq_destroy(void);
|
36
44
|
|
37
|
-
#endif /*
|
45
|
+
#endif /* GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H */
|
@@ -24,7 +24,8 @@
|
|
24
24
|
#include <grpc/support/alloc.h>
|
25
25
|
#include <grpc/support/log.h>
|
26
26
|
#include <grpc/support/port_platform.h>
|
27
|
-
|
27
|
+
|
28
|
+
#include "src/core/lib/gpr/useful.h"
|
28
29
|
#include "src/core/lib/slice/slice_internal.h"
|
29
30
|
#include "src/core/tsi/transport_security_grpc.h"
|
30
31
|
|
@@ -101,7 +102,7 @@ static tsi_result tsi_fake_handshake_message_from_string(
|
|
101
102
|
for (int i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) {
|
102
103
|
if (strncmp(msg_string, tsi_fake_handshake_message_strings[i],
|
103
104
|
strlen(tsi_fake_handshake_message_strings[i])) == 0) {
|
104
|
-
*msg = (
|
105
|
+
*msg = static_cast<tsi_fake_handshake_message>(i);
|
105
106
|
return TSI_OK;
|
106
107
|
}
|
107
108
|
}
|
@@ -110,15 +111,16 @@ static tsi_result tsi_fake_handshake_message_from_string(
|
|
110
111
|
}
|
111
112
|
|
112
113
|
static uint32_t load32_little_endian(const unsigned char* buf) {
|
113
|
-
return (
|
114
|
-
|
114
|
+
return (static_cast<uint32_t>(buf[0]) | static_cast<uint32_t>(buf[1] << 8) |
|
115
|
+
static_cast<uint32_t>(buf[2] << 16) |
|
116
|
+
static_cast<uint32_t>(buf[3] << 24));
|
115
117
|
}
|
116
118
|
|
117
119
|
static void store32_little_endian(uint32_t value, unsigned char* buf) {
|
118
|
-
buf[3] =
|
119
|
-
buf[2] =
|
120
|
-
buf[1] =
|
121
|
-
buf[0] =
|
120
|
+
buf[3] = static_cast<unsigned char>((value >> 24) & 0xFF);
|
121
|
+
buf[2] = static_cast<unsigned char>((value >> 16) & 0xFF);
|
122
|
+
buf[1] = static_cast<unsigned char>((value >> 8) & 0xFF);
|
123
|
+
buf[0] = static_cast<unsigned char>((value)&0xFF);
|
122
124
|
}
|
123
125
|
|
124
126
|
static uint32_t read_frame_size(const grpc_slice_buffer* sb) {
|
@@ -154,10 +156,11 @@ static void tsi_fake_frame_reset(tsi_fake_frame* frame, int needs_draining) {
|
|
154
156
|
static void tsi_fake_frame_ensure_size(tsi_fake_frame* frame) {
|
155
157
|
if (frame->data == nullptr) {
|
156
158
|
frame->allocated_size = frame->size;
|
157
|
-
frame->data =
|
159
|
+
frame->data =
|
160
|
+
static_cast<unsigned char*>(gpr_malloc(frame->allocated_size));
|
158
161
|
} else if (frame->size > frame->allocated_size) {
|
159
162
|
unsigned char* new_data =
|
160
|
-
|
163
|
+
static_cast<unsigned char*>(gpr_realloc(frame->data, frame->size));
|
161
164
|
frame->data = new_data;
|
162
165
|
frame->allocated_size = frame->size;
|
163
166
|
}
|
@@ -176,7 +179,8 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
|
|
176
179
|
if (frame->needs_draining) return TSI_INTERNAL_ERROR;
|
177
180
|
if (frame->data == nullptr) {
|
178
181
|
frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE;
|
179
|
-
frame->data =
|
182
|
+
frame->data =
|
183
|
+
static_cast<unsigned char*>(gpr_malloc(frame->allocated_size));
|
180
184
|
}
|
181
185
|
|
182
186
|
if (frame->offset < TSI_FAKE_FRAME_HEADER_SIZE) {
|
@@ -186,7 +190,7 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
|
|
186
190
|
memcpy(frame->data + frame->offset, bytes_cursor, available_size);
|
187
191
|
bytes_cursor += available_size;
|
188
192
|
frame->offset += available_size;
|
189
|
-
*incoming_bytes_size =
|
193
|
+
*incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
|
190
194
|
return TSI_INCOMPLETE_DATA;
|
191
195
|
}
|
192
196
|
memcpy(frame->data + frame->offset, bytes_cursor, to_read_size);
|
@@ -202,12 +206,12 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
|
|
202
206
|
memcpy(frame->data + frame->offset, bytes_cursor, available_size);
|
203
207
|
frame->offset += available_size;
|
204
208
|
bytes_cursor += available_size;
|
205
|
-
*incoming_bytes_size =
|
209
|
+
*incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
|
206
210
|
return TSI_INCOMPLETE_DATA;
|
207
211
|
}
|
208
212
|
memcpy(frame->data + frame->offset, bytes_cursor, to_read_size);
|
209
213
|
bytes_cursor += to_read_size;
|
210
|
-
*incoming_bytes_size =
|
214
|
+
*incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
|
211
215
|
tsi_fake_frame_reset(frame, 1 /* needs_draining */);
|
212
216
|
return TSI_OK;
|
213
217
|
}
|
@@ -238,7 +242,7 @@ static tsi_result tsi_fake_frame_set_data(unsigned char* data, size_t data_size,
|
|
238
242
|
frame->offset = 0;
|
239
243
|
frame->size = data_size + TSI_FAKE_FRAME_HEADER_SIZE;
|
240
244
|
tsi_fake_frame_ensure_size(frame);
|
241
|
-
store32_little_endian((
|
245
|
+
store32_little_endian(static_cast<uint32_t>(frame->size), frame->data);
|
242
246
|
memcpy(frame->data + TSI_FAKE_FRAME_HEADER_SIZE, data, data_size);
|
243
247
|
tsi_fake_frame_reset(frame, 1 /* needs draining */);
|
244
248
|
return TSI_OK;
|
@@ -257,7 +261,8 @@ static tsi_result fake_protector_protect(tsi_frame_protector* self,
|
|
257
261
|
unsigned char* protected_output_frames,
|
258
262
|
size_t* protected_output_frames_size) {
|
259
263
|
tsi_result result = TSI_OK;
|
260
|
-
tsi_fake_frame_protector* impl =
|
264
|
+
tsi_fake_frame_protector* impl =
|
265
|
+
reinterpret_cast<tsi_fake_frame_protector*>(self);
|
261
266
|
unsigned char frame_header[TSI_FAKE_FRAME_HEADER_SIZE];
|
262
267
|
tsi_fake_frame* frame = &impl->protect_frame;
|
263
268
|
size_t saved_output_size = *protected_output_frames_size;
|
@@ -286,7 +291,8 @@ static tsi_result fake_protector_protect(tsi_frame_protector* self,
|
|
286
291
|
if (frame->size == 0) {
|
287
292
|
/* New frame, create a header. */
|
288
293
|
size_t written_in_frame_size = 0;
|
289
|
-
store32_little_endian((
|
294
|
+
store32_little_endian(static_cast<uint32_t>(impl->max_frame_size),
|
295
|
+
frame_header);
|
290
296
|
written_in_frame_size = TSI_FAKE_FRAME_HEADER_SIZE;
|
291
297
|
result = tsi_fake_frame_decode(frame_header, &written_in_frame_size, frame);
|
292
298
|
if (result != TSI_INCOMPLETE_DATA) {
|
@@ -316,14 +322,15 @@ static tsi_result fake_protector_protect_flush(
|
|
316
322
|
tsi_frame_protector* self, unsigned char* protected_output_frames,
|
317
323
|
size_t* protected_output_frames_size, size_t* still_pending_size) {
|
318
324
|
tsi_result result = TSI_OK;
|
319
|
-
tsi_fake_frame_protector* impl =
|
325
|
+
tsi_fake_frame_protector* impl =
|
326
|
+
reinterpret_cast<tsi_fake_frame_protector*>(self);
|
320
327
|
tsi_fake_frame* frame = &impl->protect_frame;
|
321
328
|
if (!frame->needs_draining) {
|
322
329
|
/* Create a short frame. */
|
323
330
|
frame->size = frame->offset;
|
324
331
|
frame->offset = 0;
|
325
332
|
frame->needs_draining = 1;
|
326
|
-
store32_little_endian((
|
333
|
+
store32_little_endian(static_cast<uint32_t>(frame->size),
|
327
334
|
frame->data); /* Overwrite header. */
|
328
335
|
}
|
329
336
|
result = tsi_fake_frame_encode(protected_output_frames,
|
@@ -338,7 +345,8 @@ static tsi_result fake_protector_unprotect(
|
|
338
345
|
size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes,
|
339
346
|
size_t* unprotected_bytes_size) {
|
340
347
|
tsi_result result = TSI_OK;
|
341
|
-
tsi_fake_frame_protector* impl =
|
348
|
+
tsi_fake_frame_protector* impl =
|
349
|
+
reinterpret_cast<tsi_fake_frame_protector*>(self);
|
342
350
|
tsi_fake_frame* frame = &impl->unprotect_frame;
|
343
351
|
size_t saved_output_size = *unprotected_bytes_size;
|
344
352
|
size_t drained_size = 0;
|
@@ -383,7 +391,8 @@ static tsi_result fake_protector_unprotect(
|
|
383
391
|
}
|
384
392
|
|
385
393
|
static void fake_protector_destroy(tsi_frame_protector* self) {
|
386
|
-
tsi_fake_frame_protector* impl =
|
394
|
+
tsi_fake_frame_protector* impl =
|
395
|
+
reinterpret_cast<tsi_fake_frame_protector*>(self);
|
387
396
|
tsi_fake_frame_destruct(&impl->protect_frame);
|
388
397
|
tsi_fake_frame_destruct(&impl->unprotect_frame);
|
389
398
|
gpr_free(self);
|
@@ -406,14 +415,15 @@ static tsi_result fake_zero_copy_grpc_protector_protect(
|
|
406
415
|
return TSI_INVALID_ARGUMENT;
|
407
416
|
}
|
408
417
|
tsi_fake_zero_copy_grpc_protector* impl =
|
409
|
-
(
|
418
|
+
reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
|
410
419
|
/* Protects each frame. */
|
411
420
|
while (unprotected_slices->length > 0) {
|
412
421
|
size_t frame_length =
|
413
422
|
GPR_MIN(impl->max_frame_size,
|
414
423
|
unprotected_slices->length + TSI_FAKE_FRAME_HEADER_SIZE);
|
415
424
|
grpc_slice slice = GRPC_SLICE_MALLOC(TSI_FAKE_FRAME_HEADER_SIZE);
|
416
|
-
store32_little_endian((
|
425
|
+
store32_little_endian(static_cast<uint32_t>(frame_length),
|
426
|
+
GRPC_SLICE_START_PTR(slice));
|
417
427
|
grpc_slice_buffer_add(protected_slices, slice);
|
418
428
|
size_t data_length = frame_length - TSI_FAKE_FRAME_HEADER_SIZE;
|
419
429
|
grpc_slice_buffer_move_first(unprotected_slices, data_length,
|
@@ -430,7 +440,7 @@ static tsi_result fake_zero_copy_grpc_protector_unprotect(
|
|
430
440
|
return TSI_INVALID_ARGUMENT;
|
431
441
|
}
|
432
442
|
tsi_fake_zero_copy_grpc_protector* impl =
|
433
|
-
(
|
443
|
+
reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
|
434
444
|
grpc_slice_buffer_move_into(protected_slices, &impl->protected_sb);
|
435
445
|
/* Unprotect each frame, if we get a full frame. */
|
436
446
|
while (impl->protected_sb.length >= TSI_FAKE_FRAME_HEADER_SIZE) {
|
@@ -461,7 +471,7 @@ static void fake_zero_copy_grpc_protector_destroy(
|
|
461
471
|
tsi_zero_copy_grpc_protector* self) {
|
462
472
|
if (self == nullptr) return;
|
463
473
|
tsi_fake_zero_copy_grpc_protector* impl =
|
464
|
-
(
|
474
|
+
reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
|
465
475
|
grpc_slice_buffer_destroy_internal(&impl->header_sb);
|
466
476
|
grpc_slice_buffer_destroy_internal(&impl->protected_sb);
|
467
477
|
gpr_free(impl);
|
@@ -519,7 +529,8 @@ static tsi_result fake_handshaker_result_get_unused_bytes(
|
|
519
529
|
}
|
520
530
|
|
521
531
|
static void fake_handshaker_result_destroy(tsi_handshaker_result* self) {
|
522
|
-
fake_handshaker_result* result =
|
532
|
+
fake_handshaker_result* result =
|
533
|
+
reinterpret_cast<fake_handshaker_result*>(self);
|
523
534
|
gpr_free(result->unused_bytes);
|
524
535
|
gpr_free(self);
|
525
536
|
}
|
@@ -540,10 +551,11 @@ static tsi_result fake_handshaker_result_create(
|
|
540
551
|
return TSI_INVALID_ARGUMENT;
|
541
552
|
}
|
542
553
|
fake_handshaker_result* result =
|
543
|
-
(
|
554
|
+
static_cast<fake_handshaker_result*>(gpr_zalloc(sizeof(*result)));
|
544
555
|
result->base.vtable = &handshaker_result_vtable;
|
545
556
|
if (unused_bytes_size > 0) {
|
546
|
-
result->unused_bytes =
|
557
|
+
result->unused_bytes =
|
558
|
+
static_cast<unsigned char*>(gpr_malloc(unused_bytes_size));
|
547
559
|
memcpy(result->unused_bytes, unused_bytes, unused_bytes_size);
|
548
560
|
}
|
549
561
|
result->unused_bytes_size = unused_bytes_size;
|
@@ -555,7 +567,7 @@ static tsi_result fake_handshaker_result_create(
|
|
555
567
|
|
556
568
|
static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
557
569
|
tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) {
|
558
|
-
tsi_fake_handshaker* impl = (
|
570
|
+
tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
|
559
571
|
tsi_result result = TSI_OK;
|
560
572
|
if (impl->needs_incoming_message || impl->result == TSI_OK) {
|
561
573
|
*bytes_size = 0;
|
@@ -563,7 +575,7 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
|
563
575
|
}
|
564
576
|
if (!impl->outgoing_frame.needs_draining) {
|
565
577
|
tsi_fake_handshake_message next_message_to_send =
|
566
|
-
|
578
|
+
static_cast<tsi_fake_handshake_message>(impl->next_message_to_send + 2);
|
567
579
|
const char* msg_string =
|
568
580
|
tsi_fake_handshake_message_to_string(impl->next_message_to_send);
|
569
581
|
result = tsi_fake_frame_set_data((unsigned char*)msg_string,
|
@@ -597,9 +609,9 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
|
|
597
609
|
static tsi_result fake_handshaker_process_bytes_from_peer(
|
598
610
|
tsi_handshaker* self, const unsigned char* bytes, size_t* bytes_size) {
|
599
611
|
tsi_result result = TSI_OK;
|
600
|
-
tsi_fake_handshaker* impl = (
|
612
|
+
tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
|
601
613
|
tsi_fake_handshake_message expected_msg =
|
602
|
-
|
614
|
+
static_cast<tsi_fake_handshake_message>(impl->next_message_to_send - 1);
|
603
615
|
tsi_fake_handshake_message received_msg;
|
604
616
|
|
605
617
|
if (!impl->needs_incoming_message || impl->result == TSI_OK) {
|
@@ -611,7 +623,8 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
611
623
|
|
612
624
|
/* We now have a complete frame. */
|
613
625
|
result = tsi_fake_handshake_message_from_string(
|
614
|
-
|
626
|
+
reinterpret_cast<const char*>(impl->incoming_frame.data) +
|
627
|
+
TSI_FAKE_FRAME_HEADER_SIZE,
|
615
628
|
&received_msg);
|
616
629
|
if (result != TSI_OK) {
|
617
630
|
impl->result = result;
|
@@ -639,12 +652,12 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
|
|
639
652
|
}
|
640
653
|
|
641
654
|
static tsi_result fake_handshaker_get_result(tsi_handshaker* self) {
|
642
|
-
tsi_fake_handshaker* impl = (
|
655
|
+
tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
|
643
656
|
return impl->result;
|
644
657
|
}
|
645
658
|
|
646
659
|
static void fake_handshaker_destroy(tsi_handshaker* self) {
|
647
|
-
tsi_fake_handshaker* impl = (
|
660
|
+
tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
|
648
661
|
tsi_fake_frame_destruct(&impl->incoming_frame);
|
649
662
|
tsi_fake_frame_destruct(&impl->outgoing_frame);
|
650
663
|
gpr_free(impl->outgoing_bytes_buffer);
|
@@ -662,7 +675,8 @@ static tsi_result fake_handshaker_next(
|
|
662
675
|
handshaker_result == nullptr) {
|
663
676
|
return TSI_INVALID_ARGUMENT;
|
664
677
|
}
|
665
|
-
tsi_fake_handshaker* handshaker =
|
678
|
+
tsi_fake_handshaker* handshaker =
|
679
|
+
reinterpret_cast<tsi_fake_handshaker*>(self);
|
666
680
|
tsi_result result = TSI_OK;
|
667
681
|
|
668
682
|
/* Decode and process a handshake frame from the peer. */
|
@@ -683,9 +697,9 @@ static tsi_result fake_handshaker_next(
|
|
683
697
|
offset += sent_bytes_size;
|
684
698
|
if (result == TSI_INCOMPLETE_DATA) {
|
685
699
|
handshaker->outgoing_bytes_buffer_size *= 2;
|
686
|
-
handshaker->outgoing_bytes_buffer =
|
687
|
-
|
688
|
-
|
700
|
+
handshaker->outgoing_bytes_buffer = static_cast<unsigned char*>(
|
701
|
+
gpr_realloc(handshaker->outgoing_bytes_buffer,
|
702
|
+
handshaker->outgoing_bytes_buffer_size));
|
689
703
|
}
|
690
704
|
} while (result == TSI_INCOMPLETE_DATA);
|
691
705
|
if (result != TSI_OK) return result;
|
@@ -726,14 +740,15 @@ static const tsi_handshaker_vtable handshaker_vtable = {
|
|
726
740
|
};
|
727
741
|
|
728
742
|
tsi_handshaker* tsi_create_fake_handshaker(int is_client) {
|
729
|
-
tsi_fake_handshaker* impl =
|
743
|
+
tsi_fake_handshaker* impl =
|
744
|
+
static_cast<tsi_fake_handshaker*>(gpr_zalloc(sizeof(*impl)));
|
730
745
|
impl->base.vtable = &handshaker_vtable;
|
731
746
|
impl->is_client = is_client;
|
732
747
|
impl->result = TSI_HANDSHAKE_IN_PROGRESS;
|
733
748
|
impl->outgoing_bytes_buffer_size =
|
734
749
|
TSI_FAKE_HANDSHAKER_OUTGOING_BUFFER_INITIAL_SIZE;
|
735
750
|
impl->outgoing_bytes_buffer =
|
736
|
-
|
751
|
+
static_cast<unsigned char*>(gpr_malloc(impl->outgoing_bytes_buffer_size));
|
737
752
|
if (is_client) {
|
738
753
|
impl->needs_incoming_message = 0;
|
739
754
|
impl->next_message_to_send = TSI_FAKE_CLIENT_INIT;
|
@@ -747,7 +762,7 @@ tsi_handshaker* tsi_create_fake_handshaker(int is_client) {
|
|
747
762
|
tsi_frame_protector* tsi_create_fake_frame_protector(
|
748
763
|
size_t* max_protected_frame_size) {
|
749
764
|
tsi_fake_frame_protector* impl =
|
750
|
-
(
|
765
|
+
static_cast<tsi_fake_frame_protector*>(gpr_zalloc(sizeof(*impl)));
|
751
766
|
impl->max_frame_size = (max_protected_frame_size == nullptr)
|
752
767
|
? TSI_FAKE_DEFAULT_FRAME_SIZE
|
753
768
|
: *max_protected_frame_size;
|
@@ -758,7 +773,8 @@ tsi_frame_protector* tsi_create_fake_frame_protector(
|
|
758
773
|
tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector(
|
759
774
|
size_t* max_protected_frame_size) {
|
760
775
|
tsi_fake_zero_copy_grpc_protector* impl =
|
761
|
-
|
776
|
+
static_cast<tsi_fake_zero_copy_grpc_protector*>(
|
777
|
+
gpr_zalloc(sizeof(*impl)));
|
762
778
|
grpc_slice_buffer_init(&impl->header_sb);
|
763
779
|
grpc_slice_buffer_init(&impl->protected_sb);
|
764
780
|
impl->max_frame_size = (max_protected_frame_size == nullptr)
|