grpc 1.24.0 → 1.25.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 +306 -243
- data/etc/roots.pem +0 -100
- data/include/grpc/grpc_security.h +44 -18
- data/include/grpc/impl/codegen/grpc_types.h +15 -0
- data/include/grpc/impl/codegen/port_platform.h +27 -11
- data/include/grpc/impl/codegen/sync_generic.h +1 -1
- data/src/boringssl/err_data.c +695 -650
- data/src/core/ext/filters/client_channel/client_channel.cc +257 -179
- data/src/core/ext/filters/client_channel/client_channel.h +24 -0
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +2 -3
- data/src/core/ext/filters/client_channel/client_channel_factory.h +1 -5
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +18 -45
- data/src/core/ext/filters/client_channel/health/health_check_client.h +5 -13
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +65 -55
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -14
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +113 -36
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +14 -19
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +36 -13
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +3 -10
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +814 -1589
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +2 -5
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +3 -6
- data/src/core/ext/filters/client_channel/resolver.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver.h +8 -16
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +25 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +46 -12
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +10 -17
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +7 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +111 -44
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +22 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +29 -10
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +27 -36
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +7 -10
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +60 -16
- data/src/core/ext/filters/client_channel/resolver_factory.h +4 -8
- data/src/core/ext/filters/client_channel/resolver_registry.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +7 -8
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +1 -1
- data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -5
- data/src/core/ext/filters/client_channel/retry_throttle.h +1 -4
- data/src/core/ext/filters/client_channel/service_config.h +8 -8
- data/src/core/ext/filters/client_channel/subchannel.cc +53 -86
- data/src/core/ext/filters/client_channel/subchannel.h +7 -9
- data/src/core/ext/filters/client_channel/subchannel_interface.h +9 -13
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +3 -6
- data/src/core/ext/filters/client_channel/{lb_policy/xds/xds_load_balancer_api.cc → xds/xds_api.cc} +169 -52
- data/src/core/ext/filters/client_channel/xds/xds_api.h +171 -0
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +450 -0
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +99 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_channel.h +8 -6
- data/src/core/ext/filters/client_channel/xds/xds_channel_args.h +26 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_channel_secure.cc +28 -11
- data/src/core/ext/filters/client_channel/xds/xds_client.cc +1413 -0
- data/src/core/ext/filters/client_channel/xds/xds_client.h +221 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_client_stats.cc +1 -5
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_client_stats.h +3 -4
- data/src/core/ext/filters/deadline/deadline_filter.cc +20 -20
- data/src/core/ext/filters/http/client/http_client_filter.cc +15 -15
- data/src/core/ext/filters/http/client_authority_filter.cc +14 -14
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +12 -12
- data/src/core/ext/filters/max_age/max_age_filter.cc +59 -50
- data/src/core/ext/filters/message_size/message_size_filter.cc +18 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +233 -175
- data/src/core/ext/transport/chttp2/transport/flow_control.h +21 -24
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +253 -163
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +24 -12
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/internal.h +13 -15
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -0
- data/src/core/ext/transport/inproc/inproc_transport.cc +20 -13
- data/src/core/lib/channel/channel_args.cc +16 -0
- data/src/core/lib/channel/channel_args.h +22 -0
- data/src/core/lib/channel/channelz.cc +5 -6
- data/src/core/lib/channel/channelz.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +20 -20
- data/src/core/lib/channel/handshaker.h +3 -4
- data/src/core/lib/channel/handshaker_factory.h +1 -3
- data/src/core/lib/debug/trace.h +3 -2
- data/src/core/lib/gprpp/arena.cc +3 -3
- data/src/core/lib/gprpp/arena.h +2 -3
- data/src/core/lib/gprpp/inlined_vector.h +9 -0
- data/src/core/lib/gprpp/map.h +3 -501
- data/src/core/lib/gprpp/memory.h +45 -41
- data/src/core/lib/gprpp/mpscq.cc +108 -0
- data/src/core/lib/gprpp/mpscq.h +98 -0
- data/src/core/lib/gprpp/orphanable.h +6 -11
- data/src/core/lib/gprpp/ref_counted.h +25 -19
- data/src/core/lib/gprpp/set.h +33 -0
- data/src/core/lib/gprpp/thd.h +2 -4
- data/src/core/lib/http/httpcli.cc +1 -1
- data/src/core/lib/http/httpcli_security_connector.cc +15 -11
- data/src/core/lib/http/parser.cc +1 -1
- data/src/core/lib/iomgr/buffer_list.cc +4 -5
- data/src/core/lib/iomgr/buffer_list.h +5 -6
- data/src/core/lib/iomgr/call_combiner.cc +4 -5
- data/src/core/lib/iomgr/call_combiner.h +2 -2
- data/src/core/lib/iomgr/cfstream_handle.h +3 -5
- data/src/core/lib/iomgr/closure.h +8 -3
- data/src/core/lib/iomgr/combiner.cc +45 -82
- data/src/core/lib/iomgr/combiner.h +32 -8
- data/src/core/lib/iomgr/endpoint_cfstream.cc +5 -3
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -15
- data/src/core/lib/iomgr/exec_ctx.h +4 -3
- data/src/core/lib/iomgr/executor.cc +4 -2
- data/src/core/lib/iomgr/executor.h +3 -0
- data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -6
- data/src/core/lib/iomgr/executor/threadpool.cc +1 -2
- data/src/core/lib/iomgr/executor/threadpool.h +7 -11
- data/src/core/lib/iomgr/resource_quota.cc +55 -51
- data/src/core/lib/iomgr/resource_quota.h +13 -9
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +13 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +4 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -11
- data/src/core/lib/iomgr/tcp_custom.cc +9 -7
- data/src/core/lib/iomgr/tcp_posix.cc +20 -16
- data/src/core/lib/iomgr/tcp_server.h +1 -4
- data/src/core/lib/iomgr/tcp_server_custom.cc +5 -5
- data/src/core/lib/iomgr/tcp_server_posix.cc +1 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -11
- data/src/core/lib/iomgr/timer_custom.cc +2 -2
- data/src/core/lib/iomgr/udp_server.cc +3 -2
- data/src/core/lib/iomgr/udp_server.h +6 -12
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_string.cc +2 -2
- data/src/core/lib/profiling/basic_timers.cc +2 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -2
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -1
- data/src/core/lib/security/credentials/credentials.h +4 -20
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +4 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +64 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +9 -7
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +2 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/security_connector.cc +1 -0
- data/src/core/lib/security/security_connector/security_connector.h +19 -17
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +8 -5
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
- data/src/core/lib/security/security_connector/tls/spiffe_security_connector.cc +14 -6
- data/src/core/lib/security/security_connector/tls/spiffe_security_connector.h +4 -2
- data/src/core/lib/security/transport/client_auth_filter.cc +17 -17
- data/src/core/lib/security/transport/security_handshaker.cc +29 -13
- data/src/core/lib/security/transport/security_handshaker.h +4 -2
- data/src/core/lib/security/transport/server_auth_filter.cc +14 -14
- data/src/core/lib/slice/slice.cc +2 -10
- data/src/core/lib/slice/slice_hash_table.h +4 -6
- data/src/core/lib/slice/slice_intern.cc +42 -39
- data/src/core/lib/slice/slice_internal.h +3 -3
- data/src/core/lib/slice/slice_utils.h +21 -4
- data/src/core/lib/slice/slice_weak_hash_table.h +4 -6
- data/src/core/lib/surface/call.cc +3 -3
- data/src/core/lib/surface/channel.cc +7 -0
- data/src/core/lib/surface/completion_queue.cc +12 -11
- data/src/core/lib/surface/completion_queue.h +4 -2
- data/src/core/lib/surface/init.cc +1 -0
- data/src/core/lib/surface/lame_client.cc +33 -18
- data/src/core/lib/surface/server.cc +77 -76
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/byte_stream.h +3 -7
- data/src/core/lib/transport/connectivity_state.cc +112 -98
- data/src/core/lib/transport/connectivity_state.h +100 -50
- data/src/core/lib/transport/static_metadata.cc +276 -288
- data/src/core/lib/transport/static_metadata.h +73 -76
- data/src/core/lib/transport/status_conversion.cc +1 -1
- data/src/core/lib/transport/status_metadata.cc +1 -1
- data/src/core/lib/transport/transport.cc +2 -2
- data/src/core/lib/transport/transport.h +12 -4
- data/src/core/lib/transport/transport_op_string.cc +14 -11
- data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +5 -5
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -2
- data/src/core/tsi/fake_transport_security.cc +7 -5
- data/src/core/tsi/grpc_shadow_boringssl.h +2918 -2627
- data/src/core/tsi/local_transport_security.cc +8 -6
- data/src/core/tsi/ssl/session_cache/ssl_session.h +1 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +7 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -6
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +1 -2
- data/src/core/tsi/ssl_transport_security.cc +12 -12
- data/src/core/tsi/ssl_transport_security.h +2 -2
- data/src/core/tsi/transport_security_grpc.cc +7 -0
- data/src/core/tsi/transport_security_grpc.h +6 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/ext/grpc/rb_call.c +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +1 -1
- data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/google_rpc_status_utils_spec.rb +2 -2
- data/third_party/boringssl/crypto/asn1/a_bool.c +18 -5
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +17 -221
- data/third_party/boringssl/crypto/asn1/a_dup.c +0 -24
- data/third_party/boringssl/crypto/asn1/a_enum.c +2 -2
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +10 -72
- data/third_party/boringssl/crypto/asn1/a_int.c +12 -71
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +110 -216
- data/third_party/boringssl/crypto/asn1/a_object.c +16 -5
- data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -1
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +3 -1
- data/third_party/boringssl/crypto/base64/base64.c +2 -2
- data/third_party/boringssl/crypto/bio/bio.c +73 -9
- data/third_party/boringssl/crypto/bio/connect.c +4 -0
- data/third_party/boringssl/crypto/bio/fd.c +4 -0
- data/third_party/boringssl/crypto/bio/file.c +5 -2
- data/third_party/boringssl/crypto/bio/socket.c +4 -0
- data/third_party/boringssl/crypto/bio/socket_helper.c +4 -0
- data/third_party/boringssl/crypto/bn_extra/convert.c +11 -7
- data/third_party/boringssl/crypto/bytestring/ber.c +8 -4
- data/third_party/boringssl/crypto/bytestring/cbb.c +19 -7
- data/third_party/boringssl/crypto/bytestring/cbs.c +28 -15
- data/third_party/boringssl/crypto/bytestring/internal.h +28 -7
- data/third_party/boringssl/crypto/bytestring/unicode.c +155 -0
- data/third_party/boringssl/crypto/chacha/chacha.c +36 -19
- data/third_party/boringssl/crypto/chacha/internal.h +45 -0
- data/third_party/boringssl/crypto/cipher_extra/cipher_extra.c +29 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesccm.c +269 -25
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +16 -14
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +54 -38
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +133 -41
- data/third_party/boringssl/crypto/cipher_extra/e_tls.c +23 -15
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +24 -15
- data/third_party/boringssl/crypto/cmac/cmac.c +62 -25
- data/third_party/boringssl/crypto/conf/conf.c +7 -0
- data/third_party/boringssl/crypto/cpu-arm-linux.c +4 -148
- data/third_party/boringssl/crypto/cpu-arm-linux.h +201 -0
- data/third_party/boringssl/crypto/cpu-intel.c +45 -51
- data/third_party/boringssl/crypto/crypto.c +39 -22
- data/third_party/boringssl/crypto/curve25519/spake25519.c +1 -1
- data/third_party/boringssl/crypto/dsa/dsa.c +77 -53
- data/third_party/boringssl/crypto/ec_extra/ec_asn1.c +20 -8
- data/third_party/boringssl/crypto/ec_extra/ec_derive.c +96 -0
- data/third_party/boringssl/crypto/{ecdh/ecdh.c → ecdh_extra/ecdh_extra.c} +20 -58
- data/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c +1 -9
- data/third_party/boringssl/crypto/engine/engine.c +2 -1
- data/third_party/boringssl/crypto/err/err.c +2 -0
- data/third_party/boringssl/crypto/err/internal.h +2 -2
- data/third_party/boringssl/crypto/evp/evp.c +89 -8
- data/third_party/boringssl/crypto/evp/evp_asn1.c +56 -5
- data/third_party/boringssl/crypto/evp/evp_ctx.c +52 -14
- data/third_party/boringssl/crypto/evp/internal.h +18 -1
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +5 -0
- data/third_party/boringssl/crypto/evp/p_ec.c +51 -3
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +6 -7
- data/third_party/boringssl/crypto/evp/p_ed25519.c +36 -3
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +76 -45
- data/third_party/boringssl/crypto/evp/p_rsa.c +3 -1
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +5 -0
- data/third_party/boringssl/crypto/evp/p_x25519.c +110 -0
- data/third_party/boringssl/crypto/evp/p_x25519_asn1.c +249 -0
- data/third_party/boringssl/crypto/evp/scrypt.c +6 -2
- data/third_party/boringssl/crypto/fipsmodule/aes/aes.c +34 -274
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +161 -21
- data/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.c +111 -13
- data/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.c +17 -21
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +119 -7
- data/third_party/boringssl/crypto/fipsmodule/bn/bn.c +19 -2
- data/third_party/boringssl/crypto/fipsmodule/bn/cmp.c +2 -2
- data/third_party/boringssl/crypto/fipsmodule/bn/ctx.c +93 -160
- data/third_party/boringssl/crypto/fipsmodule/bn/div.c +48 -57
- data/third_party/boringssl/crypto/fipsmodule/bn/div_extra.c +87 -0
- data/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c +143 -211
- data/third_party/boringssl/crypto/fipsmodule/bn/gcd.c +0 -305
- data/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.c +325 -0
- data/third_party/boringssl/crypto/fipsmodule/bn/internal.h +168 -50
- data/third_party/boringssl/crypto/fipsmodule/bn/montgomery.c +68 -92
- data/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.c +7 -6
- data/third_party/boringssl/crypto/fipsmodule/bn/mul.c +11 -14
- data/third_party/boringssl/crypto/fipsmodule/bn/prime.c +358 -443
- data/third_party/boringssl/crypto/fipsmodule/bn/random.c +25 -35
- data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.c +20 -25
- data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +76 -5
- data/third_party/boringssl/crypto/fipsmodule/bn/shift.c +14 -14
- data/third_party/boringssl/crypto/fipsmodule/cipher/cipher.c +7 -2
- data/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.c +383 -516
- data/third_party/boringssl/crypto/fipsmodule/cipher/e_des.c +4 -0
- data/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +3 -4
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +3 -2
- data/third_party/boringssl/crypto/fipsmodule/digest/digest.c +32 -17
- data/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +3 -3
- data/third_party/boringssl/crypto/fipsmodule/ec/ec.c +228 -122
- data/third_party/boringssl/crypto/fipsmodule/ec/ec_key.c +34 -8
- data/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c +311 -98
- data/third_party/boringssl/crypto/fipsmodule/ec/felem.c +82 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/internal.h +263 -97
- data/third_party/boringssl/crypto/fipsmodule/ec/oct.c +22 -59
- data/third_party/boringssl/crypto/fipsmodule/ec/p224-64.c +317 -234
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h +9473 -9475
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c +313 -109
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.h +36 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/scalar.c +96 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/simple.c +126 -792
- data/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.c +84 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/util.c +163 -12
- data/third_party/boringssl/crypto/fipsmodule/ec/wnaf.c +84 -211
- data/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.c +122 -0
- data/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c +60 -205
- data/third_party/boringssl/crypto/fipsmodule/fips_shared_support.c +32 -0
- data/third_party/boringssl/crypto/fipsmodule/is_fips.c +2 -0
- data/third_party/boringssl/crypto/fipsmodule/md4/md4.c +3 -1
- data/third_party/boringssl/crypto/fipsmodule/md5/internal.h +37 -0
- data/third_party/boringssl/crypto/fipsmodule/md5/md5.c +11 -8
- data/third_party/boringssl/crypto/fipsmodule/modes/cbc.c +35 -79
- data/third_party/boringssl/crypto/fipsmodule/modes/cfb.c +7 -39
- data/third_party/boringssl/crypto/fipsmodule/modes/ctr.c +7 -27
- data/third_party/boringssl/crypto/fipsmodule/modes/gcm.c +123 -309
- data/third_party/boringssl/crypto/fipsmodule/modes/internal.h +189 -126
- data/third_party/boringssl/crypto/fipsmodule/modes/ofb.c +3 -2
- data/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.c +2 -2
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +35 -0
- data/third_party/boringssl/crypto/fipsmodule/rand/rand.c +24 -19
- data/third_party/boringssl/crypto/fipsmodule/rand/urandom.c +256 -77
- data/third_party/boringssl/crypto/fipsmodule/rsa/padding.c +10 -7
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa.c +5 -1
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c +131 -14
- data/third_party/boringssl/crypto/fipsmodule/self_check/self_check.c +83 -10
- data/third_party/boringssl/crypto/fipsmodule/sha/internal.h +53 -0
- data/third_party/boringssl/crypto/fipsmodule/sha/sha1.c +9 -13
- data/third_party/boringssl/crypto/fipsmodule/sha/sha256.c +18 -12
- data/third_party/boringssl/crypto/fipsmodule/sha/sha512.c +95 -168
- data/third_party/boringssl/crypto/hrss/hrss.c +2201 -0
- data/third_party/boringssl/crypto/hrss/internal.h +62 -0
- data/third_party/boringssl/crypto/internal.h +95 -20
- data/third_party/boringssl/crypto/lhash/lhash.c +45 -33
- data/third_party/boringssl/crypto/mem.c +39 -2
- data/third_party/boringssl/crypto/obj/obj.c +4 -4
- data/third_party/boringssl/crypto/obj/obj_dat.h +6181 -875
- data/third_party/boringssl/crypto/pem/pem_all.c +2 -3
- data/third_party/boringssl/crypto/pem/pem_info.c +144 -162
- data/third_party/boringssl/crypto/pem/pem_lib.c +53 -52
- data/third_party/boringssl/crypto/pem/pem_pkey.c +13 -21
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +15 -22
- data/third_party/boringssl/crypto/pkcs7/pkcs7_x509.c +168 -16
- data/third_party/boringssl/crypto/pkcs8/internal.h +11 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +24 -15
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +42 -25
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +559 -43
- data/third_party/boringssl/crypto/pool/internal.h +1 -1
- data/third_party/boringssl/crypto/pool/pool.c +21 -0
- data/third_party/boringssl/crypto/rand_extra/deterministic.c +8 -0
- data/third_party/boringssl/crypto/rand_extra/fuchsia.c +1 -14
- data/third_party/boringssl/crypto/refcount_lock.c +2 -2
- data/third_party/boringssl/crypto/rsa_extra/rsa_print.c +22 -0
- data/third_party/boringssl/crypto/siphash/siphash.c +80 -0
- data/third_party/boringssl/crypto/stack/stack.c +83 -32
- data/third_party/boringssl/crypto/thread_none.c +2 -2
- data/third_party/boringssl/crypto/thread_pthread.c +2 -2
- data/third_party/boringssl/crypto/thread_win.c +38 -19
- data/third_party/boringssl/crypto/x509/a_strex.c +22 -2
- data/third_party/boringssl/crypto/x509/asn1_gen.c +2 -1
- data/third_party/boringssl/crypto/x509/by_dir.c +7 -0
- data/third_party/boringssl/crypto/x509/by_file.c +12 -10
- data/third_party/boringssl/crypto/x509/t_crl.c +5 -8
- data/third_party/boringssl/crypto/x509/t_req.c +1 -3
- data/third_party/boringssl/crypto/x509/t_x509.c +5 -8
- data/third_party/boringssl/crypto/x509/x509_cmp.c +1 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +1 -1
- data/third_party/boringssl/crypto/x509/x509_lu.c +114 -5
- data/third_party/boringssl/crypto/x509/x509_req.c +20 -0
- data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_trs.c +1 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +4 -5
- data/third_party/boringssl/crypto/x509/x509_vfy.c +145 -138
- data/third_party/boringssl/crypto/x509/x509_vpm.c +2 -0
- data/third_party/boringssl/crypto/x509/x509cset.c +40 -0
- data/third_party/boringssl/crypto/x509/x509name.c +2 -3
- data/third_party/boringssl/crypto/x509/x_all.c +109 -210
- data/third_party/boringssl/crypto/x509/x_x509.c +6 -0
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +1 -3
- data/third_party/boringssl/crypto/x509v3/internal.h +56 -0
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -0
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -0
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +4 -2
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +5 -2
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +19 -13
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +3 -2
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +1 -6
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +1 -0
- data/third_party/boringssl/crypto/x509v3/v3_ocsp.c +68 -0
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +47 -69
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +5 -2
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +69 -25
- data/third_party/boringssl/include/openssl/aead.h +45 -19
- data/third_party/boringssl/include/openssl/aes.h +32 -7
- data/third_party/boringssl/include/openssl/asn1.h +7 -77
- data/third_party/boringssl/include/openssl/base.h +120 -6
- data/third_party/boringssl/include/openssl/base64.h +4 -1
- data/third_party/boringssl/include/openssl/bio.h +112 -81
- data/third_party/boringssl/include/openssl/blowfish.h +3 -3
- data/third_party/boringssl/include/openssl/bn.h +55 -29
- data/third_party/boringssl/include/openssl/buf.h +2 -2
- data/third_party/boringssl/include/openssl/bytestring.h +54 -32
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/cipher.h +46 -16
- data/third_party/boringssl/include/openssl/cmac.h +6 -2
- data/third_party/boringssl/include/openssl/conf.h +3 -6
- data/third_party/boringssl/include/openssl/cpu.h +25 -9
- data/third_party/boringssl/include/openssl/crypto.h +32 -10
- data/third_party/boringssl/include/openssl/curve25519.h +4 -4
- data/third_party/boringssl/include/openssl/dh.h +3 -2
- data/third_party/boringssl/include/openssl/digest.h +21 -7
- data/third_party/boringssl/include/openssl/dsa.h +8 -2
- data/third_party/boringssl/include/openssl/e_os2.h +18 -0
- data/third_party/boringssl/include/openssl/ec.h +25 -21
- data/third_party/boringssl/include/openssl/ec_key.h +36 -8
- data/third_party/boringssl/include/openssl/ecdh.h +17 -0
- data/third_party/boringssl/include/openssl/ecdsa.h +3 -3
- data/third_party/boringssl/include/openssl/engine.h +4 -4
- data/third_party/boringssl/include/openssl/err.h +3 -0
- data/third_party/boringssl/include/openssl/evp.h +199 -42
- data/third_party/boringssl/include/openssl/hmac.h +4 -4
- data/third_party/boringssl/include/openssl/hrss.h +100 -0
- data/third_party/boringssl/include/openssl/lhash.h +131 -23
- data/third_party/boringssl/include/openssl/md4.h +6 -4
- data/third_party/boringssl/include/openssl/md5.h +6 -4
- data/third_party/boringssl/include/openssl/mem.h +6 -2
- data/third_party/boringssl/include/openssl/nid.h +3 -0
- data/third_party/boringssl/include/openssl/obj.h +3 -0
- data/third_party/boringssl/include/openssl/pem.h +102 -64
- data/third_party/boringssl/include/openssl/pkcs7.h +136 -3
- data/third_party/boringssl/include/openssl/pkcs8.h +42 -3
- data/third_party/boringssl/include/openssl/pool.h +13 -2
- data/third_party/boringssl/include/openssl/ripemd.h +5 -4
- data/third_party/boringssl/include/openssl/rsa.h +46 -15
- data/third_party/boringssl/include/openssl/sha.h +40 -28
- data/third_party/boringssl/include/openssl/siphash.h +37 -0
- data/third_party/boringssl/include/openssl/span.h +17 -9
- data/third_party/boringssl/include/openssl/ssl.h +766 -393
- data/third_party/boringssl/include/openssl/ssl3.h +4 -3
- data/third_party/boringssl/include/openssl/stack.h +134 -77
- data/third_party/boringssl/include/openssl/thread.h +1 -1
- data/third_party/boringssl/include/openssl/tls1.h +25 -9
- data/third_party/boringssl/include/openssl/type_check.h +14 -15
- data/third_party/boringssl/include/openssl/x509.h +28 -3
- data/third_party/boringssl/include/openssl/x509_vfy.h +98 -32
- data/third_party/boringssl/include/openssl/x509v3.h +17 -13
- data/third_party/boringssl/ssl/d1_both.cc +9 -18
- data/third_party/boringssl/ssl/d1_lib.cc +4 -3
- data/third_party/boringssl/ssl/d1_pkt.cc +4 -4
- data/third_party/boringssl/ssl/d1_srtp.cc +15 -15
- data/third_party/boringssl/ssl/dtls_method.cc +0 -1
- data/third_party/boringssl/ssl/dtls_record.cc +28 -28
- data/third_party/boringssl/ssl/handoff.cc +295 -91
- data/third_party/boringssl/ssl/handshake.cc +133 -72
- data/third_party/boringssl/ssl/handshake_client.cc +218 -189
- data/third_party/boringssl/ssl/handshake_server.cc +399 -272
- data/third_party/boringssl/ssl/internal.h +1413 -928
- data/third_party/boringssl/ssl/s3_both.cc +175 -36
- data/third_party/boringssl/ssl/s3_lib.cc +9 -13
- data/third_party/boringssl/ssl/s3_pkt.cc +63 -29
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +55 -35
- data/third_party/boringssl/ssl/ssl_asn1.cc +57 -73
- data/third_party/boringssl/ssl/ssl_buffer.cc +13 -12
- data/third_party/boringssl/ssl/ssl_cert.cc +313 -210
- data/third_party/boringssl/ssl/ssl_cipher.cc +159 -221
- data/third_party/boringssl/ssl/ssl_file.cc +2 -0
- data/third_party/boringssl/ssl/ssl_key_share.cc +164 -19
- data/third_party/boringssl/ssl/ssl_lib.cc +847 -555
- data/third_party/boringssl/ssl/ssl_privkey.cc +441 -111
- data/third_party/boringssl/ssl/ssl_session.cc +230 -178
- data/third_party/boringssl/ssl/ssl_transcript.cc +21 -142
- data/third_party/boringssl/ssl/ssl_versions.cc +88 -93
- data/third_party/boringssl/ssl/ssl_x509.cc +279 -218
- data/third_party/boringssl/ssl/t1_enc.cc +5 -96
- data/third_party/boringssl/ssl/t1_lib.cc +931 -678
- data/third_party/boringssl/ssl/tls13_both.cc +251 -121
- data/third_party/boringssl/ssl/tls13_client.cc +129 -73
- data/third_party/boringssl/ssl/tls13_enc.cc +350 -282
- data/third_party/boringssl/ssl/tls13_server.cc +259 -192
- data/third_party/boringssl/ssl/tls_method.cc +26 -21
- data/third_party/boringssl/ssl/tls_record.cc +42 -47
- data/third_party/boringssl/third_party/fiat/curve25519.c +261 -1324
- data/third_party/boringssl/third_party/fiat/curve25519_32.h +911 -0
- data/third_party/boringssl/third_party/fiat/curve25519_64.h +559 -0
- data/third_party/boringssl/third_party/fiat/p256.c +238 -999
- data/third_party/boringssl/third_party/fiat/p256_32.h +3226 -0
- data/third_party/boringssl/third_party/fiat/p256_64.h +1217 -0
- data/third_party/upb/upb/port_def.inc +1 -1
- data/third_party/upb/upb/table.c +2 -1
- metadata +71 -43
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.h +0 -127
- data/src/core/lib/gpr/mpscq.cc +0 -117
- data/src/core/lib/gpr/mpscq.h +0 -88
- data/src/core/lib/gprpp/abstract.h +0 -47
- data/src/core/lib/gprpp/pair.h +0 -38
- data/third_party/boringssl/crypto/cipher_extra/e_ssl3.c +0 -460
- data/third_party/boringssl/crypto/fipsmodule/modes/ccm.c +0 -256
- data/third_party/boringssl/include/openssl/lhash_macros.h +0 -174
- data/third_party/boringssl/ssl/custom_extensions.cc +0 -265
@@ -124,13 +124,15 @@ bool grpc_resource_user_safe_alloc(grpc_resource_user* resource_user,
|
|
124
124
|
* If optional_on_done is NULL, then allocate immediately. This may push the
|
125
125
|
* quota over-limit, at which point reclamation will kick in. The caller is
|
126
126
|
* always responsible to free the memory eventually.
|
127
|
-
*
|
128
|
-
*
|
129
|
-
*
|
130
|
-
*
|
127
|
+
* Returns true if the allocation was successful. Otherwise, if optional_on_done
|
128
|
+
* is non-NULL, it will be scheduled without error when the allocation has been
|
129
|
+
* granted by the quota, and the caller is responsible to free the memory
|
130
|
+
* eventually. Or it may be scheduled with an error, in which case the caller
|
131
|
+
* fails to allocate the memory and shouldn't free the memory.
|
131
132
|
*/
|
132
|
-
|
133
|
-
grpc_closure* optional_on_done)
|
133
|
+
bool grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size,
|
134
|
+
grpc_closure* optional_on_done)
|
135
|
+
GRPC_MUST_USE_RESULT;
|
134
136
|
/* Release memory back to the quota */
|
135
137
|
void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size);
|
136
138
|
/* Post a memory reclaimer to the resource user. Only one benign and one
|
@@ -165,9 +167,11 @@ void grpc_resource_user_slice_allocator_init(
|
|
165
167
|
grpc_resource_user* resource_user, grpc_iomgr_cb_func cb, void* p);
|
166
168
|
|
167
169
|
/* Allocate \a count slices of length \a length into \a dest. Only one request
|
168
|
-
can be outstanding at a time.
|
169
|
-
|
170
|
+
can be outstanding at a time.
|
171
|
+
Returns whether the slice was allocated inline in the function. If true,
|
172
|
+
the \a slice_allocator->on_allocated callback will not be called. */
|
173
|
+
bool grpc_resource_user_alloc_slices(
|
170
174
|
grpc_resource_user_slice_allocator* slice_allocator, size_t length,
|
171
|
-
size_t count, grpc_slice_buffer* dest);
|
175
|
+
size_t count, grpc_slice_buffer* dest) GRPC_MUST_USE_RESULT;
|
172
176
|
|
173
177
|
#endif /* GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H */
|
@@ -330,6 +330,19 @@ grpc_error* grpc_set_socket_with_mutator(int fd, grpc_socket_mutator* mutator) {
|
|
330
330
|
return GRPC_ERROR_NONE;
|
331
331
|
}
|
332
332
|
|
333
|
+
grpc_error* grpc_apply_socket_mutator_in_args(int fd,
|
334
|
+
const grpc_channel_args* args) {
|
335
|
+
const grpc_arg* socket_mutator_arg =
|
336
|
+
grpc_channel_args_find(args, GRPC_ARG_SOCKET_MUTATOR);
|
337
|
+
if (socket_mutator_arg == nullptr) {
|
338
|
+
return GRPC_ERROR_NONE;
|
339
|
+
}
|
340
|
+
GPR_DEBUG_ASSERT(socket_mutator_arg->type == GRPC_ARG_POINTER);
|
341
|
+
grpc_socket_mutator* mutator =
|
342
|
+
static_cast<grpc_socket_mutator*>(socket_mutator_arg->value.pointer.p);
|
343
|
+
return grpc_set_socket_with_mutator(fd, mutator);
|
344
|
+
}
|
345
|
+
|
333
346
|
static gpr_once g_probe_ipv6_once = GPR_ONCE_INIT;
|
334
347
|
static int g_ipv6_loopback_available;
|
335
348
|
|
@@ -91,6 +91,10 @@ grpc_error* grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
|
|
91
91
|
/* Tries to set the socket using a grpc_socket_mutator */
|
92
92
|
grpc_error* grpc_set_socket_with_mutator(int fd, grpc_socket_mutator* mutator);
|
93
93
|
|
94
|
+
/* Extracts the first socket mutator from args if any and applies on the fd. */
|
95
|
+
grpc_error* grpc_apply_socket_mutator_in_args(int fd,
|
96
|
+
const grpc_channel_args* args);
|
97
|
+
|
94
98
|
/* An enum to keep track of IPv4/IPv6 socket modes.
|
95
99
|
|
96
100
|
Currently, this information is only used when a socket is first created, but
|
@@ -84,17 +84,10 @@ static grpc_error* prepare_socket(const grpc_resolved_address* addr, int fd,
|
|
84
84
|
}
|
85
85
|
err = grpc_set_socket_no_sigpipe_if_possible(fd);
|
86
86
|
if (err != GRPC_ERROR_NONE) goto error;
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
grpc_socket_mutator* mutator = static_cast<grpc_socket_mutator*>(
|
92
|
-
channel_args->args[i].value.pointer.p);
|
93
|
-
err = grpc_set_socket_with_mutator(fd, mutator);
|
94
|
-
if (err != GRPC_ERROR_NONE) goto error;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}
|
87
|
+
|
88
|
+
err = grpc_apply_socket_mutator_in_args(fd, channel_args);
|
89
|
+
if (err != GRPC_ERROR_NONE) goto error;
|
90
|
+
|
98
91
|
goto done;
|
99
92
|
|
100
93
|
error:
|
@@ -193,7 +193,7 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
|
|
193
193
|
}
|
194
194
|
|
195
195
|
static void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
|
196
|
-
grpc_closure* cb, bool urgent) {
|
196
|
+
grpc_closure* cb, bool /*urgent*/) {
|
197
197
|
custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
|
198
198
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
199
199
|
GPR_ASSERT(tcp->read_cb == nullptr);
|
@@ -201,9 +201,11 @@ static void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
|
|
201
201
|
tcp->read_slices = read_slices;
|
202
202
|
grpc_slice_buffer_reset_and_unref_internal(read_slices);
|
203
203
|
TCP_REF(tcp, "read");
|
204
|
-
grpc_resource_user_alloc_slices(&tcp->slice_allocator,
|
205
|
-
|
206
|
-
|
204
|
+
if (grpc_resource_user_alloc_slices(&tcp->slice_allocator,
|
205
|
+
GRPC_TCP_DEFAULT_READ_SLICE_SIZE, 1,
|
206
|
+
tcp->read_slices)) {
|
207
|
+
tcp_read_allocation_done(tcp, GRPC_ERROR_NONE);
|
208
|
+
}
|
207
209
|
}
|
208
210
|
|
209
211
|
static void custom_write_callback(grpc_custom_socket* socket,
|
@@ -222,7 +224,7 @@ static void custom_write_callback(grpc_custom_socket* socket,
|
|
222
224
|
}
|
223
225
|
|
224
226
|
static void endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* write_slices,
|
225
|
-
grpc_closure* cb, void* arg) {
|
227
|
+
grpc_closure* cb, void* /*arg*/) {
|
226
228
|
custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
|
227
229
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
228
230
|
|
@@ -325,9 +327,9 @@ static grpc_resource_user* endpoint_get_resource_user(grpc_endpoint* ep) {
|
|
325
327
|
return tcp->resource_user;
|
326
328
|
}
|
327
329
|
|
328
|
-
static int endpoint_get_fd(grpc_endpoint* ep) { return -1; }
|
330
|
+
static int endpoint_get_fd(grpc_endpoint* /*ep*/) { return -1; }
|
329
331
|
|
330
|
-
static bool endpoint_can_track_err(grpc_endpoint* ep) { return false; }
|
332
|
+
static bool endpoint_can_track_err(grpc_endpoint* /*ep*/) { return false; }
|
331
333
|
|
332
334
|
static grpc_endpoint_vtable vtable = {endpoint_read,
|
333
335
|
endpoint_write,
|
@@ -161,7 +161,7 @@ static void tcp_handle_write(void* arg /* grpc_tcp */, grpc_error* error);
|
|
161
161
|
static void tcp_drop_uncovered_then_handle_write(void* arg /* grpc_tcp */,
|
162
162
|
grpc_error* error);
|
163
163
|
|
164
|
-
static void done_poller(void* bp, grpc_error* error_ignored) {
|
164
|
+
static void done_poller(void* bp, grpc_error* /*error_ignored*/) {
|
165
165
|
backup_poller* p = static_cast<backup_poller*>(bp);
|
166
166
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
167
167
|
gpr_log(GPR_INFO, "BACKUP_POLLER:%p destroy", p);
|
@@ -170,7 +170,7 @@ static void done_poller(void* bp, grpc_error* error_ignored) {
|
|
170
170
|
gpr_free(p);
|
171
171
|
}
|
172
172
|
|
173
|
-
static void run_poller(void* bp, grpc_error* error_ignored) {
|
173
|
+
static void run_poller(void* bp, grpc_error* /*error_ignored*/) {
|
174
174
|
backup_poller* p = static_cast<backup_poller*>(bp);
|
175
175
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
176
176
|
gpr_log(GPR_INFO, "BACKUP_POLLER:%p run", p);
|
@@ -206,7 +206,7 @@ static void run_poller(void* bp, grpc_error* error_ignored) {
|
|
206
206
|
}
|
207
207
|
}
|
208
208
|
|
209
|
-
static void drop_uncovered(grpc_tcp* tcp) {
|
209
|
+
static void drop_uncovered(grpc_tcp* /*tcp*/) {
|
210
210
|
backup_poller* p = (backup_poller*)gpr_atm_acq_load(&g_backup_poller);
|
211
211
|
gpr_atm old_count =
|
212
212
|
gpr_atm_full_fetch_add(&g_uncovered_notifications_pending, -1);
|
@@ -571,7 +571,7 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
|
|
571
571
|
gpr_log(GPR_INFO, "TCP:%p read_allocation_done: %s", tcp,
|
572
572
|
grpc_error_string(error));
|
573
573
|
}
|
574
|
-
if (error != GRPC_ERROR_NONE) {
|
574
|
+
if (GPR_UNLIKELY(error != GRPC_ERROR_NONE)) {
|
575
575
|
grpc_slice_buffer_reset_and_unref_internal(tcp->incoming_buffer);
|
576
576
|
grpc_slice_buffer_reset_and_unref_internal(&tcp->last_read_buffer);
|
577
577
|
call_read_cb(tcp, GRPC_ERROR_REF(error));
|
@@ -589,14 +589,17 @@ static void tcp_continue_read(grpc_tcp* tcp) {
|
|
589
589
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
590
590
|
gpr_log(GPR_INFO, "TCP:%p alloc_slices", tcp);
|
591
591
|
}
|
592
|
-
grpc_resource_user_alloc_slices(&tcp->slice_allocator,
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
592
|
+
if (GPR_UNLIKELY(!grpc_resource_user_alloc_slices(&tcp->slice_allocator,
|
593
|
+
target_read_size, 1,
|
594
|
+
tcp->incoming_buffer))) {
|
595
|
+
// Wait for allocation.
|
596
|
+
return;
|
597
597
|
}
|
598
|
-
tcp_do_read(tcp);
|
599
598
|
}
|
599
|
+
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
600
|
+
gpr_log(GPR_INFO, "TCP:%p do_read", tcp);
|
601
|
+
}
|
602
|
+
tcp_do_read(tcp);
|
600
603
|
}
|
601
604
|
|
602
605
|
static void tcp_handle_read(void* arg /* grpc_tcp */, grpc_error* error) {
|
@@ -605,7 +608,7 @@ static void tcp_handle_read(void* arg /* grpc_tcp */, grpc_error* error) {
|
|
605
608
|
gpr_log(GPR_INFO, "TCP:%p got_read: %s", tcp, grpc_error_string(error));
|
606
609
|
}
|
607
610
|
|
608
|
-
if (error != GRPC_ERROR_NONE) {
|
611
|
+
if (GPR_UNLIKELY(error != GRPC_ERROR_NONE)) {
|
609
612
|
grpc_slice_buffer_reset_and_unref_internal(tcp->incoming_buffer);
|
610
613
|
grpc_slice_buffer_reset_and_unref_internal(&tcp->last_read_buffer);
|
611
614
|
call_read_cb(tcp, GRPC_ERROR_REF(error));
|
@@ -873,15 +876,16 @@ static void tcp_handle_error(void* arg /* grpc_tcp */, grpc_error* error) {
|
|
873
876
|
}
|
874
877
|
|
875
878
|
#else /* GRPC_LINUX_ERRQUEUE */
|
876
|
-
static bool tcp_write_with_timestamps(grpc_tcp* tcp
|
877
|
-
size_t sending_length
|
878
|
-
ssize_t* sent_length) {
|
879
|
+
static bool tcp_write_with_timestamps(grpc_tcp* /*tcp*/, struct msghdr* /*msg*/,
|
880
|
+
size_t /*sending_length*/,
|
881
|
+
ssize_t* /*sent_length*/) {
|
879
882
|
gpr_log(GPR_ERROR, "Write with timestamps not supported for this platform");
|
880
883
|
GPR_ASSERT(0);
|
881
884
|
return false;
|
882
885
|
}
|
883
886
|
|
884
|
-
static void tcp_handle_error(void* arg /* grpc_tcp */,
|
887
|
+
static void tcp_handle_error(void* /*arg*/ /* grpc_tcp */,
|
888
|
+
grpc_error* /*error*/) {
|
885
889
|
gpr_log(GPR_ERROR, "Error handling is not supported for this platform");
|
886
890
|
GPR_ASSERT(0);
|
887
891
|
}
|
@@ -1040,7 +1044,7 @@ static void tcp_handle_write(void* arg /* grpc_tcp */, grpc_error* error) {
|
|
1040
1044
|
gpr_log(GPR_INFO, "write: %s", str);
|
1041
1045
|
}
|
1042
1046
|
// No need to take a ref on error since tcp_flush provides a ref.
|
1043
|
-
|
1047
|
+
GRPC_CLOSURE_RUN(cb, error);
|
1044
1048
|
TCP_UNREF(tcp, "write");
|
1045
1049
|
}
|
1046
1050
|
}
|
@@ -24,7 +24,6 @@
|
|
24
24
|
#include <grpc/grpc.h>
|
25
25
|
#include <grpc/impl/codegen/grpc_types.h>
|
26
26
|
|
27
|
-
#include "src/core/lib/gprpp/abstract.h"
|
28
27
|
#include "src/core/lib/iomgr/closure.h"
|
29
28
|
#include "src/core/lib/iomgr/endpoint.h"
|
30
29
|
#include "src/core/lib/iomgr/resolve_address.h"
|
@@ -57,9 +56,7 @@ class TcpServerFdHandler {
|
|
57
56
|
public:
|
58
57
|
virtual ~TcpServerFdHandler() = default;
|
59
58
|
virtual void Handle(int listener_fd, int fd,
|
60
|
-
grpc_byte_buffer* pending_read)
|
61
|
-
|
62
|
-
GRPC_ABSTRACT_BASE_CLASS;
|
59
|
+
grpc_byte_buffer* pending_read) = 0;
|
63
60
|
};
|
64
61
|
} // namespace grpc_core
|
65
62
|
|
@@ -439,13 +439,13 @@ static void tcp_server_start(grpc_tcp_server* server, grpc_pollset** pollsets,
|
|
439
439
|
}
|
440
440
|
}
|
441
441
|
|
442
|
-
static unsigned tcp_server_port_fd_count(grpc_tcp_server* s
|
443
|
-
unsigned port_index) {
|
442
|
+
static unsigned tcp_server_port_fd_count(grpc_tcp_server* /*s*/,
|
443
|
+
unsigned /*port_index*/) {
|
444
444
|
return 0;
|
445
445
|
}
|
446
446
|
|
447
|
-
static int tcp_server_port_fd(grpc_tcp_server* s
|
448
|
-
unsigned fd_index) {
|
447
|
+
static int tcp_server_port_fd(grpc_tcp_server* /*s*/, unsigned /*port_index*/,
|
448
|
+
unsigned /*fd_index*/) {
|
449
449
|
return -1;
|
450
450
|
}
|
451
451
|
|
@@ -459,7 +459,7 @@ static void tcp_server_shutdown_listeners(grpc_tcp_server* s) {
|
|
459
459
|
}
|
460
460
|
|
461
461
|
static grpc_core::TcpServerFdHandler* tcp_server_create_fd_handler(
|
462
|
-
grpc_tcp_server* s) {
|
462
|
+
grpc_tcp_server* /*s*/) {
|
463
463
|
return nullptr;
|
464
464
|
}
|
465
465
|
|
@@ -124,7 +124,7 @@ static void finish_shutdown(grpc_tcp_server* s) {
|
|
124
124
|
gpr_free(s);
|
125
125
|
}
|
126
126
|
|
127
|
-
static void destroyed_port(void* server, grpc_error* error) {
|
127
|
+
static void destroyed_port(void* server, grpc_error* /*error*/) {
|
128
128
|
grpc_tcp_server* s = static_cast<grpc_tcp_server*>(server);
|
129
129
|
gpr_mu_lock(&s->mu);
|
130
130
|
s->destroyed_ports++;
|
@@ -173,17 +173,8 @@ grpc_error* grpc_tcp_server_prepare_socket(grpc_tcp_server* s, int fd,
|
|
173
173
|
err = grpc_set_socket_no_sigpipe_if_possible(fd);
|
174
174
|
if (err != GRPC_ERROR_NONE) goto error;
|
175
175
|
|
176
|
-
|
177
|
-
|
178
|
-
if (0 == strcmp(s->channel_args->args[i].key, GRPC_ARG_SOCKET_MUTATOR)) {
|
179
|
-
GPR_ASSERT(s->channel_args->args[i].type == GRPC_ARG_POINTER);
|
180
|
-
grpc_socket_mutator* mutator = static_cast<grpc_socket_mutator*>(
|
181
|
-
s->channel_args->args[i].value.pointer.p);
|
182
|
-
err = grpc_set_socket_with_mutator(fd, mutator);
|
183
|
-
if (err != GRPC_ERROR_NONE) goto error;
|
184
|
-
}
|
185
|
-
}
|
186
|
-
}
|
176
|
+
err = grpc_apply_socket_mutator_in_args(fd, s->channel_args);
|
177
|
+
if (err != GRPC_ERROR_NONE) goto error;
|
187
178
|
|
188
179
|
if (bind(fd, reinterpret_cast<grpc_sockaddr*>(const_cast<char*>(addr->addr)),
|
189
180
|
addr->len) < 0) {
|
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
static grpc_custom_timer_vtable* custom_timer_impl;
|
32
32
|
|
33
|
-
void grpc_custom_timer_callback(grpc_custom_timer* t, grpc_error* error) {
|
33
|
+
void grpc_custom_timer_callback(grpc_custom_timer* t, grpc_error* /*error*/) {
|
34
34
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
35
35
|
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
36
36
|
grpc_core::ExecCtx exec_ctx;
|
@@ -75,7 +75,7 @@ static void timer_cancel(grpc_timer* timer) {
|
|
75
75
|
}
|
76
76
|
}
|
77
77
|
|
78
|
-
static grpc_timer_check_result timer_check(grpc_millis* next) {
|
78
|
+
static grpc_timer_check_result timer_check(grpc_millis* /*next*/) {
|
79
79
|
return GRPC_TIMERS_NOT_CHECKED;
|
80
80
|
}
|
81
81
|
|
@@ -260,7 +260,7 @@ static void finish_shutdown(grpc_udp_server* s) {
|
|
260
260
|
grpc_core::Delete(s);
|
261
261
|
}
|
262
262
|
|
263
|
-
static void destroyed_port(void* server, grpc_error* error) {
|
263
|
+
static void destroyed_port(void* server, grpc_error* /*error*/) {
|
264
264
|
grpc_udp_server* s = static_cast<grpc_udp_server*>(server);
|
265
265
|
gpr_mu_lock(&s->mu);
|
266
266
|
s->destroyed_ports++;
|
@@ -495,7 +495,8 @@ void GrpcUdpListener::OnRead(grpc_error* error, void* do_read_arg) {
|
|
495
495
|
|
496
496
|
// static
|
497
497
|
// Wrapper of grpc_fd_notify_on_write() with a grpc_closure callback interface.
|
498
|
-
void GrpcUdpListener::fd_notify_on_write_wrapper(void* arg,
|
498
|
+
void GrpcUdpListener::fd_notify_on_write_wrapper(void* arg,
|
499
|
+
grpc_error* /*error*/) {
|
499
500
|
GrpcUdpListener* sp = static_cast<GrpcUdpListener*>(arg);
|
500
501
|
gpr_mu_lock(sp->mutex());
|
501
502
|
if (!sp->notify_on_write_armed_) {
|
@@ -21,7 +21,6 @@
|
|
21
21
|
|
22
22
|
#include <grpc/support/port_platform.h>
|
23
23
|
|
24
|
-
#include "src/core/lib/gprpp/abstract.h"
|
25
24
|
#include "src/core/lib/iomgr/endpoint.h"
|
26
25
|
#include "src/core/lib/iomgr/ev_posix.h"
|
27
26
|
#include "src/core/lib/iomgr/resolve_address.h"
|
@@ -39,7 +38,7 @@ typedef struct grpc_udp_server grpc_udp_server;
|
|
39
38
|
* Its implementation should do the real IO work, e.g. read packet and write. */
|
40
39
|
class GrpcUdpHandler {
|
41
40
|
public:
|
42
|
-
GrpcUdpHandler(grpc_fd* emfd
|
41
|
+
GrpcUdpHandler(grpc_fd* /* emfd */, void* /* user_data */) {}
|
43
42
|
virtual ~GrpcUdpHandler() {}
|
44
43
|
|
45
44
|
// Interfaces to be implemented by subclasses to do the actual setup/tear down
|
@@ -47,18 +46,16 @@ class GrpcUdpHandler {
|
|
47
46
|
|
48
47
|
// Called when data is available to read from the socket. Returns true if
|
49
48
|
// there is more data to read after this call.
|
50
|
-
virtual bool Read()
|
49
|
+
virtual bool Read() = 0;
|
51
50
|
// Called when socket becomes write unblocked. The given closure should be
|
52
51
|
// scheduled when the socket becomes blocked next time.
|
53
52
|
virtual void OnCanWrite(void* user_data,
|
54
|
-
grpc_closure* notify_on_write_closure)
|
53
|
+
grpc_closure* notify_on_write_closure) = 0;
|
55
54
|
// Called before the gRPC FD is orphaned. Notify udp server to continue
|
56
55
|
// orphaning fd by scheduling the given closure, afterwards the associated fd
|
57
56
|
// will be closed.
|
58
57
|
virtual void OnFdAboutToOrphan(grpc_closure* orphan_fd_closure,
|
59
|
-
void* user_data)
|
60
|
-
|
61
|
-
GRPC_ABSTRACT_BASE_CLASS
|
58
|
+
void* user_data) = 0;
|
62
59
|
};
|
63
60
|
|
64
61
|
class GrpcUdpHandlerFactory {
|
@@ -67,11 +64,8 @@ class GrpcUdpHandlerFactory {
|
|
67
64
|
/* Called when start to listen on a socket.
|
68
65
|
* Return an instance of the implementation of GrpcUdpHandler interface which
|
69
66
|
* will process I/O events for this socket from now on. */
|
70
|
-
virtual GrpcUdpHandler* CreateUdpHandler(grpc_fd* emfd,
|
71
|
-
|
72
|
-
virtual void DestroyUdpHandler(GrpcUdpHandler* handler) GRPC_ABSTRACT;
|
73
|
-
|
74
|
-
GRPC_ABSTRACT_BASE_CLASS
|
67
|
+
virtual GrpcUdpHandler* CreateUdpHandler(grpc_fd* emfd, void* user_data) = 0;
|
68
|
+
virtual void DestroyUdpHandler(GrpcUdpHandler* handler) = 0;
|
75
69
|
};
|
76
70
|
|
77
71
|
/* Create a server, initially not bound to any ports */
|
data/src/core/lib/json/json.h
CHANGED
@@ -67,7 +67,7 @@ grpc_json* grpc_json_parse_string(char* input);
|
|
67
67
|
* If indent is 0, then newlines will be suppressed as well, and the
|
68
68
|
* output will be condensed at its maximum.
|
69
69
|
*/
|
70
|
-
char* grpc_json_dump_to_string(grpc_json* json, int indent);
|
70
|
+
char* grpc_json_dump_to_string(const grpc_json* json, int indent);
|
71
71
|
|
72
72
|
/* Use these to create or delete a grpc_json object.
|
73
73
|
* Deletion is recursive. We will not attempt to free any of the strings
|
@@ -311,7 +311,7 @@ grpc_json* grpc_json_parse_string(char* input) {
|
|
311
311
|
return grpc_json_parse_string_with_len(input, UNBOUND_JSON_STRING_LENGTH);
|
312
312
|
}
|
313
313
|
|
314
|
-
static void json_dump_recursive(grpc_json_writer* writer, grpc_json* json,
|
314
|
+
static void json_dump_recursive(grpc_json_writer* writer, const grpc_json* json,
|
315
315
|
int in_object) {
|
316
316
|
while (json) {
|
317
317
|
if (in_object) grpc_json_writer_object_key(writer, json->key);
|
@@ -351,7 +351,7 @@ static grpc_json_writer_vtable writer_vtable = {
|
|
351
351
|
json_writer_output_char, json_writer_output_string,
|
352
352
|
json_writer_output_string_with_len};
|
353
353
|
|
354
|
-
char* grpc_json_dump_to_string(grpc_json* json, int indent) {
|
354
|
+
char* grpc_json_dump_to_string(const grpc_json* json, int indent) {
|
355
355
|
grpc_json_writer writer;
|
356
356
|
json_writer_userdata state;
|
357
357
|
|
@@ -287,7 +287,7 @@ void gpr_timers_global_init(void) {}
|
|
287
287
|
|
288
288
|
void gpr_timers_global_destroy(void) {}
|
289
289
|
|
290
|
-
void gpr_timers_set_log_filename(const char* filename) {}
|
290
|
+
void gpr_timers_set_log_filename(const char* /*filename*/) {}
|
291
291
|
|
292
|
-
void gpr_timer_set_enabled(int enabled) {}
|
292
|
+
void gpr_timer_set_enabled(int /*enabled*/) {}
|
293
293
|
#endif /* GRPC_BASIC_PROFILER */
|
@@ -50,8 +50,8 @@ grpc_alts_credentials::~grpc_alts_credentials() {
|
|
50
50
|
grpc_core::RefCountedPtr<grpc_channel_security_connector>
|
51
51
|
grpc_alts_credentials::create_security_connector(
|
52
52
|
grpc_core::RefCountedPtr<grpc_call_credentials> call_creds,
|
53
|
-
const char* target_name, const grpc_channel_args* args
|
54
|
-
grpc_channel_args** new_args) {
|
53
|
+
const char* target_name, const grpc_channel_args* /*args*/,
|
54
|
+
grpc_channel_args** /*new_args*/) {
|
55
55
|
return grpc_alts_channel_security_connector_create(
|
56
56
|
this->Ref(), std::move(call_creds), target_name);
|
57
57
|
}
|