grpc 0.12.0 → 0.13.0.pre1.1
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 +5707 -22222
- data/include/grpc/byte_buffer.h +2 -83
- data/include/grpc/census.h +191 -121
- data/include/grpc/compression.h +14 -38
- data/include/grpc/grpc.h +88 -434
- data/include/grpc/grpc_security.h +76 -46
- data/include/grpc/grpc_zookeeper.h +1 -1
- data/include/grpc/impl/codegen/alloc.h +74 -0
- data/include/grpc/impl/codegen/atm.h +92 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
- data/include/grpc/impl/codegen/atm_win32.h +125 -0
- data/include/grpc/impl/codegen/byte_buffer.h +121 -0
- data/include/grpc/impl/codegen/compression_types.h +73 -0
- data/include/grpc/impl/codegen/connectivity_state.h +59 -0
- data/include/grpc/impl/codegen/grpc_types.h +373 -0
- data/include/grpc/impl/codegen/log.h +110 -0
- data/include/grpc/impl/codegen/port_platform.h +362 -0
- data/include/grpc/impl/codegen/propagation_bits.h +67 -0
- data/include/grpc/impl/codegen/slice.h +182 -0
- data/include/grpc/impl/codegen/slice_buffer.h +105 -0
- data/include/grpc/impl/codegen/status.h +163 -0
- data/include/grpc/impl/codegen/sync.h +316 -0
- data/include/grpc/impl/codegen/sync_generic.h +55 -0
- data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
- data/include/grpc/impl/codegen/sync_win32.h +49 -0
- data/include/grpc/impl/codegen/time.h +132 -0
- data/include/grpc/status.h +2 -126
- data/include/grpc/support/alloc.h +2 -35
- data/include/grpc/support/atm.h +2 -55
- data/include/grpc/support/atm_gcc_atomic.h +5 -38
- data/include/grpc/support/atm_gcc_sync.h +2 -50
- data/include/grpc/support/atm_win32.h +2 -88
- data/include/grpc/support/avl.h +7 -7
- data/include/grpc/support/cmdline.h +15 -13
- data/include/grpc/support/cpu.h +5 -3
- data/include/grpc/support/histogram.h +23 -20
- data/include/grpc/support/host_port.h +5 -3
- data/include/grpc/support/log.h +2 -71
- data/include/grpc/support/log_win32.h +2 -2
- data/include/grpc/support/port_platform.h +2 -319
- data/include/grpc/support/slice.h +2 -145
- data/include/grpc/support/slice_buffer.h +2 -65
- data/include/grpc/support/string_util.h +3 -3
- data/include/grpc/support/subprocess.h +8 -6
- data/include/grpc/support/sync.h +2 -278
- data/include/grpc/support/sync_generic.h +2 -18
- data/include/grpc/support/sync_posix.h +2 -10
- data/include/grpc/support/sync_win32.h +2 -12
- data/include/grpc/support/thd.h +11 -11
- data/include/grpc/support/time.h +2 -91
- data/include/grpc/support/tls.h +1 -1
- data/include/grpc/support/tls_gcc.h +1 -1
- data/include/grpc/support/tls_msvc.h +1 -1
- data/include/grpc/support/tls_pthread.h +2 -2
- data/src/boringssl/err_data.c +1252 -0
- data/src/core/census/context.c +492 -8
- data/src/core/census/grpc_filter.c +3 -3
- data/src/core/census/initialize.c +4 -7
- data/src/core/census/operation.c +2 -2
- data/src/core/census/placeholders.c +109 -0
- data/src/core/census/rpc_metric_id.h +6 -6
- data/src/core/census/tracing.c +1 -1
- data/src/core/channel/channel_args.c +4 -3
- data/src/core/channel/channel_stack.c +1 -1
- data/src/core/channel/client_channel.c +18 -14
- data/src/core/channel/client_uchannel.c +3 -3
- data/src/core/channel/compress_filter.c +8 -8
- data/src/core/channel/http_client_filter.c +2 -2
- data/src/core/channel/http_server_filter.c +9 -9
- data/src/core/channel/subchannel_call_holder.c +12 -10
- data/src/core/client_config/lb_policies/pick_first.c +49 -31
- data/src/core/client_config/lb_policies/round_robin.c +7 -7
- data/src/core/client_config/resolvers/dns_resolver.c +3 -3
- data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
- data/src/core/client_config/subchannel.c +36 -25
- data/src/core/compression/algorithm.c +3 -3
- data/src/core/httpcli/format_request.c +1 -1
- data/src/core/httpcli/httpcli.c +5 -5
- data/src/core/httpcli/httpcli_security_connector.c +2 -3
- data/src/core/httpcli/parser.c +7 -7
- data/src/core/httpcli/parser.h +1 -1
- data/src/core/iomgr/closure.c +7 -7
- data/src/core/iomgr/closure.h +6 -5
- data/src/core/iomgr/exec_ctx.c +12 -8
- data/src/core/iomgr/exec_ctx.h +12 -5
- data/src/core/iomgr/executor.c +4 -4
- data/src/core/iomgr/executor.h +2 -2
- data/src/core/iomgr/fd_posix.c +28 -17
- data/src/core/iomgr/fd_posix.h +7 -4
- data/src/core/iomgr/iocp_windows.c +6 -8
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +70 -5
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +4 -2
- data/src/core/iomgr/pollset_posix.c +15 -15
- data/src/core/iomgr/pollset_posix.h +4 -2
- data/src/core/iomgr/pollset_windows.c +3 -12
- data/src/core/iomgr/resolve_address_posix.c +2 -2
- data/src/core/iomgr/resolve_address_windows.c +2 -2
- data/src/core/iomgr/sockaddr_utils.c +6 -6
- data/src/core/iomgr/sockaddr_win32.h +1 -6
- data/src/core/iomgr/tcp_client_posix.c +7 -7
- data/src/core/iomgr/tcp_client_windows.c +4 -4
- data/src/core/iomgr/tcp_posix.c +14 -8
- data/src/core/iomgr/tcp_posix.h +7 -1
- data/src/core/iomgr/tcp_server.h +40 -20
- data/src/core/iomgr/tcp_server_posix.c +106 -49
- data/src/core/iomgr/tcp_server_windows.c +98 -49
- data/src/core/iomgr/tcp_windows.c +11 -15
- data/src/core/iomgr/timer.c +8 -8
- data/src/core/iomgr/timer.h +1 -1
- data/src/core/iomgr/timer_heap.c +10 -10
- data/src/core/iomgr/timer_heap.h +2 -2
- data/src/core/iomgr/udp_server.c +2 -12
- data/src/core/iomgr/udp_server.h +1 -9
- data/src/core/iomgr/workqueue.h +2 -4
- data/src/core/iomgr/workqueue_posix.c +3 -3
- data/src/core/json/json_reader.c +11 -12
- data/src/core/json/json_reader.h +4 -4
- data/src/core/json/json_string.c +19 -19
- data/src/core/json/json_writer.c +7 -9
- data/src/core/profiling/basic_timers.c +1 -1
- data/src/core/security/base64.c +9 -9
- data/src/core/security/client_auth_filter.c +4 -4
- data/src/core/security/credentials.c +5 -5
- data/src/core/security/google_default_credentials.c +3 -3
- data/src/core/security/handshake.c +6 -5
- data/src/core/security/json_token.c +13 -7
- data/src/core/security/jwt_verifier.c +3 -2
- data/src/core/security/secure_endpoint.c +16 -16
- data/src/core/security/security_connector.c +47 -17
- data/src/core/security/security_connector.h +5 -5
- data/src/core/security/server_auth_filter.c +3 -3
- data/src/core/security/server_secure_chttp2.c +30 -31
- data/src/core/statistics/census_interface.h +2 -2
- data/src/core/statistics/census_rpc_stats.h +3 -3
- data/src/core/support/alloc.c +1 -1
- data/src/core/support/cpu_posix.c +2 -2
- data/src/core/support/env_linux.c +12 -2
- data/src/core/support/env_win32.c +15 -7
- data/src/core/support/histogram.c +5 -5
- data/src/core/support/log_posix.c +1 -1
- data/src/core/support/log_win32.c +4 -3
- data/src/core/support/murmur_hash.c +11 -11
- data/src/core/support/murmur_hash.h +1 -1
- data/src/core/support/slice.c +11 -11
- data/src/core/support/slice_buffer.c +6 -6
- data/src/core/support/stack_lockfree.c +20 -10
- data/src/core/support/string.c +15 -15
- data/src/core/support/string.h +5 -5
- data/src/core/support/string_win32.c +5 -5
- data/src/core/support/subprocess_windows.c +141 -0
- data/src/core/support/sync.c +4 -4
- data/src/core/support/sync_posix.c +2 -2
- data/src/core/support/sync_win32.c +10 -5
- data/src/core/support/time.c +29 -29
- data/src/core/support/time_posix.c +15 -6
- data/src/core/support/time_precise.c +2 -2
- data/src/core/support/time_win32.c +18 -9
- data/src/core/support/tls_pthread.c +1 -1
- data/src/core/support/wrap_memcpy.c +53 -0
- data/src/core/surface/alarm.c +83 -0
- data/src/core/surface/byte_buffer_reader.c +1 -1
- data/src/core/surface/call.c +78 -69
- data/src/core/surface/call.h +2 -2
- data/src/core/surface/call_test_only.h +2 -2
- data/src/core/surface/channel.c +9 -9
- data/src/core/surface/channel.h +1 -1
- data/src/core/surface/channel_connectivity.c +3 -3
- data/src/core/surface/channel_create.c +3 -3
- data/src/core/surface/channel_ping.c +2 -2
- data/src/core/surface/completion_queue.c +11 -12
- data/src/core/surface/completion_queue.h +1 -1
- data/src/core/surface/init.c +7 -5
- data/src/core/surface/lame_client.c +3 -3
- data/src/core/surface/secure_channel_create.c +3 -3
- data/src/core/surface/server.c +28 -28
- data/src/core/surface/server_chttp2.c +8 -8
- data/src/core/surface/server_create.c +1 -4
- data/src/core/surface/validate_metadata.c +3 -3
- data/src/core/surface/version.c +2 -2
- data/src/core/transport/byte_stream.c +8 -6
- data/src/core/transport/byte_stream.h +6 -5
- data/src/core/transport/chttp2/bin_encoder.c +29 -29
- data/src/core/transport/chttp2/frame_data.c +29 -26
- data/src/core/transport/chttp2/frame_data.h +6 -6
- data/src/core/transport/chttp2/frame_goaway.c +30 -30
- data/src/core/transport/chttp2/frame_goaway.h +6 -6
- data/src/core/transport/chttp2/frame_ping.c +6 -6
- data/src/core/transport/chttp2/frame_ping.h +5 -5
- data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
- data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
- data/src/core/transport/chttp2/frame_settings.c +30 -30
- data/src/core/transport/chttp2/frame_settings.h +13 -13
- data/src/core/transport/chttp2/frame_window_update.c +17 -18
- data/src/core/transport/chttp2/frame_window_update.h +5 -7
- data/src/core/transport/chttp2/hpack_encoder.c +69 -73
- data/src/core/transport/chttp2/hpack_encoder.h +16 -16
- data/src/core/transport/chttp2/hpack_parser.c +167 -167
- data/src/core/transport/chttp2/hpack_parser.h +16 -16
- data/src/core/transport/chttp2/hpack_table.c +13 -13
- data/src/core/transport/chttp2/hpack_table.h +11 -11
- data/src/core/transport/chttp2/internal.h +97 -86
- data/src/core/transport/chttp2/parsing.c +25 -25
- data/src/core/transport/chttp2/stream_lists.c +26 -3
- data/src/core/transport/chttp2/stream_map.c +13 -14
- data/src/core/transport/chttp2/stream_map.h +6 -7
- data/src/core/transport/chttp2/timeout_encoding.c +19 -16
- data/src/core/transport/chttp2/varint.c +8 -9
- data/src/core/transport/chttp2/varint.h +7 -8
- data/src/core/transport/chttp2/writing.c +26 -23
- data/src/core/transport/chttp2_transport.c +133 -92
- data/src/core/transport/connectivity_state.c +6 -6
- data/src/core/transport/metadata.c +18 -18
- data/src/core/transport/metadata.h +5 -5
- data/src/core/transport/static_metadata.c +15 -16
- data/src/core/transport/static_metadata.h +5 -5
- data/src/core/transport/transport.c +5 -5
- data/src/core/transport/transport.h +14 -1
- data/src/core/tsi/fake_transport_security.c +7 -7
- data/src/core/tsi/ssl_transport_security.c +6 -4
- data/src/core/tsi/ssl_types.h +55 -0
- data/src/ruby/ext/grpc/extconf.rb +51 -14
- data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
- data/src/ruby/ext/grpc/rb_call.c +6 -3
- data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
- data/src/ruby/ext/grpc/rb_channel.c +4 -2
- data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
- data/src/ruby/ext/grpc/rb_grpc.c +11 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +560 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +843 -0
- data/src/ruby/ext/grpc/rb_loader.c +72 -0
- data/src/ruby/ext/grpc/rb_loader.h +40 -0
- data/src/ruby/ext/grpc/rb_server.c +3 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
- data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
- data/src/ruby/lib/grpc/grpc.rb +34 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- data/third_party/boringssl/crypto/aes/aes.c +1142 -0
- data/third_party/boringssl/crypto/aes/internal.h +87 -0
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
- data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
- data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
- data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
- data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
- data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
- data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
- data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
- data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
- data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
- data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
- data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
- data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
- data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
- data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
- data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
- data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
- data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
- data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
- data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
- data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
- data/third_party/boringssl/crypto/base64/base64.c +478 -0
- data/third_party/boringssl/crypto/bio/bio.c +608 -0
- data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
- data/third_party/boringssl/crypto/bio/buffer.c +496 -0
- data/third_party/boringssl/crypto/bio/connect.c +544 -0
- data/third_party/boringssl/crypto/bio/fd.c +270 -0
- data/third_party/boringssl/crypto/bio/file.c +349 -0
- data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
- data/third_party/boringssl/crypto/bio/internal.h +108 -0
- data/third_party/boringssl/crypto/bio/pair.c +803 -0
- data/third_party/boringssl/crypto/bio/printf.c +119 -0
- data/third_party/boringssl/crypto/bio/socket.c +195 -0
- data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
- data/third_party/boringssl/crypto/bn/add.c +377 -0
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
- data/third_party/boringssl/crypto/bn/bn.c +341 -0
- data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
- data/third_party/boringssl/crypto/bn/cmp.c +200 -0
- data/third_party/boringssl/crypto/bn/convert.c +597 -0
- data/third_party/boringssl/crypto/bn/ctx.c +311 -0
- data/third_party/boringssl/crypto/bn/div.c +625 -0
- data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
- data/third_party/boringssl/crypto/bn/gcd.c +711 -0
- data/third_party/boringssl/crypto/bn/generic.c +1019 -0
- data/third_party/boringssl/crypto/bn/internal.h +294 -0
- data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
- data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
- data/third_party/boringssl/crypto/bn/mul.c +888 -0
- data/third_party/boringssl/crypto/bn/prime.c +845 -0
- data/third_party/boringssl/crypto/bn/random.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
- data/third_party/boringssl/crypto/bn/shift.c +299 -0
- data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
- data/third_party/boringssl/crypto/buf/buf.c +235 -0
- data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
- data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
- data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
- data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
- data/third_party/boringssl/crypto/cipher/aead.c +167 -0
- data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
- data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
- data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
- data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
- data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
- data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
- data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
- data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
- data/third_party/boringssl/crypto/cipher/internal.h +164 -0
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
- data/third_party/boringssl/crypto/conf/conf.c +778 -0
- data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
- data/third_party/boringssl/crypto/conf/internal.h +31 -0
- data/third_party/boringssl/crypto/cpu-arm.c +199 -0
- data/third_party/boringssl/crypto/cpu-intel.c +261 -0
- data/third_party/boringssl/crypto/crypto.c +140 -0
- data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
- data/third_party/boringssl/crypto/des/des.c +771 -0
- data/third_party/boringssl/crypto/des/internal.h +212 -0
- data/third_party/boringssl/crypto/dh/check.c +180 -0
- data/third_party/boringssl/crypto/dh/dh.c +463 -0
- data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
- data/third_party/boringssl/crypto/dh/internal.h +80 -0
- data/third_party/boringssl/crypto/dh/params.c +301 -0
- data/third_party/boringssl/crypto/digest/digest.c +248 -0
- data/third_party/boringssl/crypto/digest/digests.c +321 -0
- data/third_party/boringssl/crypto/digest/internal.h +112 -0
- data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
- data/third_party/boringssl/crypto/directory.h +66 -0
- data/third_party/boringssl/crypto/directory_posix.c +108 -0
- data/third_party/boringssl/crypto/directory_win.c +144 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
- data/third_party/boringssl/crypto/dsa/internal.h +78 -0
- data/third_party/boringssl/crypto/ec/ec.c +889 -0
- data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
- data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
- data/third_party/boringssl/crypto/ec/internal.h +318 -0
- data/third_party/boringssl/crypto/ec/oct.c +416 -0
- data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
- data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
- data/third_party/boringssl/crypto/ec/simple.c +1313 -0
- data/third_party/boringssl/crypto/ec/util-64.c +183 -0
- data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
- data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
- data/third_party/boringssl/crypto/engine/engine.c +96 -0
- data/third_party/boringssl/crypto/err/err.c +756 -0
- data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
- data/third_party/boringssl/crypto/evp/evp.c +411 -0
- data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
- data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
- data/third_party/boringssl/crypto/evp/internal.h +278 -0
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
- data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
- data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
- data/third_party/boringssl/crypto/evp/sign.c +151 -0
- data/third_party/boringssl/crypto/ex_data.c +294 -0
- data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
- data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
- data/third_party/boringssl/crypto/internal.h +532 -0
- data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
- data/third_party/boringssl/crypto/md4/md4.c +225 -0
- data/third_party/boringssl/crypto/md5/md5.c +275 -0
- data/third_party/boringssl/crypto/mem.c +200 -0
- data/third_party/boringssl/crypto/modes/cbc.c +216 -0
- data/third_party/boringssl/crypto/modes/cfb.c +231 -0
- data/third_party/boringssl/crypto/modes/ctr.c +226 -0
- data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
- data/third_party/boringssl/crypto/modes/internal.h +370 -0
- data/third_party/boringssl/crypto/modes/ofb.c +108 -0
- data/third_party/boringssl/crypto/obj/obj.c +664 -0
- data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
- data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
- data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
- data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
- data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
- data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
- data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
- data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
- data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
- data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
- data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
- data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
- data/third_party/boringssl/crypto/rand/internal.h +32 -0
- data/third_party/boringssl/crypto/rand/rand.c +239 -0
- data/third_party/boringssl/crypto/rand/urandom.c +223 -0
- data/third_party/boringssl/crypto/rand/windows.c +56 -0
- data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
- data/third_party/boringssl/crypto/refcount_c11.c +67 -0
- data/third_party/boringssl/crypto/refcount_lock.c +53 -0
- data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
- data/third_party/boringssl/crypto/rsa/internal.h +164 -0
- data/third_party/boringssl/crypto/rsa/padding.c +711 -0
- data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
- data/third_party/boringssl/crypto/sha/sha1.c +337 -0
- data/third_party/boringssl/crypto/sha/sha256.c +327 -0
- data/third_party/boringssl/crypto/sha/sha512.c +607 -0
- data/third_party/boringssl/crypto/stack/stack.c +386 -0
- data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
- data/third_party/boringssl/crypto/test/test_util.h +35 -0
- data/third_party/boringssl/crypto/thread.c +101 -0
- data/third_party/boringssl/crypto/thread_none.c +55 -0
- data/third_party/boringssl/crypto/thread_pthread.c +167 -0
- data/third_party/boringssl/crypto/thread_win.c +282 -0
- data/third_party/boringssl/crypto/time_support.c +212 -0
- data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
- data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
- data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
- data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
- data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
- data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
- data/third_party/boringssl/crypto/x509/by_file.c +295 -0
- data/third_party/boringssl/crypto/x509/charmap.h +15 -0
- data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
- data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
- data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
- data/third_party/boringssl/crypto/x509/t_req.c +246 -0
- data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
- data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
- data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
- data/third_party/boringssl/crypto/x509/x509.c +152 -0
- data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
- data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
- data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
- data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
- data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
- data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
- data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
- data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
- data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
- data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
- data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
- data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
- data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
- data/third_party/boringssl/crypto/x509/x509name.c +381 -0
- data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
- data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
- data/third_party/boringssl/crypto/x509/x509type.c +128 -0
- data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
- data/third_party/boringssl/crypto/x509/x_all.c +547 -0
- data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
- data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
- data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
- data/third_party/boringssl/crypto/x509/x_info.c +95 -0
- data/third_party/boringssl/crypto/x509/x_name.c +538 -0
- data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
- data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
- data/third_party/boringssl/crypto/x509/x_req.c +112 -0
- data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
- data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
- data/third_party/boringssl/crypto/x509/x_val.c +69 -0
- data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
- data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
- data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
- data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
- data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
- data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
- data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
- data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
- data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
- data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
- data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
- data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
- data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
- data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
- data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
- data/third_party/boringssl/include/openssl/aead.h +346 -0
- data/third_party/boringssl/include/openssl/aes.h +158 -0
- data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
- data/third_party/boringssl/include/openssl/asn1.h +1168 -0
- data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
- data/third_party/boringssl/include/openssl/asn1t.h +906 -0
- data/third_party/boringssl/include/openssl/base.h +261 -0
- data/third_party/boringssl/include/openssl/base64.h +184 -0
- data/third_party/boringssl/include/openssl/bio.h +902 -0
- data/third_party/boringssl/include/openssl/blowfish.h +93 -0
- data/third_party/boringssl/include/openssl/bn.h +885 -0
- data/third_party/boringssl/include/openssl/buf.h +118 -0
- data/third_party/boringssl/include/openssl/buffer.h +18 -0
- data/third_party/boringssl/include/openssl/bytestring.h +360 -0
- data/third_party/boringssl/include/openssl/cast.h +96 -0
- data/third_party/boringssl/include/openssl/chacha.h +37 -0
- data/third_party/boringssl/include/openssl/cipher.h +571 -0
- data/third_party/boringssl/include/openssl/cmac.h +76 -0
- data/third_party/boringssl/include/openssl/conf.h +145 -0
- data/third_party/boringssl/include/openssl/cpu.h +184 -0
- data/third_party/boringssl/include/openssl/crypto.h +68 -0
- data/third_party/boringssl/include/openssl/curve25519.h +88 -0
- data/third_party/boringssl/include/openssl/des.h +177 -0
- data/third_party/boringssl/include/openssl/dh.h +238 -0
- data/third_party/boringssl/include/openssl/digest.h +258 -0
- data/third_party/boringssl/include/openssl/dsa.h +343 -0
- data/third_party/boringssl/include/openssl/dtls1.h +16 -0
- data/third_party/boringssl/include/openssl/ec.h +355 -0
- data/third_party/boringssl/include/openssl/ec_key.h +280 -0
- data/third_party/boringssl/include/openssl/ecdh.h +102 -0
- data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
- data/third_party/boringssl/include/openssl/engine.h +98 -0
- data/third_party/boringssl/include/openssl/err.h +487 -0
- data/third_party/boringssl/include/openssl/evp.h +750 -0
- data/third_party/boringssl/include/openssl/ex_data.h +213 -0
- data/third_party/boringssl/include/openssl/hkdf.h +44 -0
- data/third_party/boringssl/include/openssl/hmac.h +160 -0
- data/third_party/boringssl/include/openssl/lhash.h +192 -0
- data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
- data/third_party/boringssl/include/openssl/md4.h +102 -0
- data/third_party/boringssl/include/openssl/md5.h +107 -0
- data/third_party/boringssl/include/openssl/mem.h +140 -0
- data/third_party/boringssl/include/openssl/obj.h +198 -0
- data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
- data/third_party/boringssl/include/openssl/objects.h +18 -0
- data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
- data/third_party/boringssl/include/openssl/opensslv.h +18 -0
- data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
- data/third_party/boringssl/include/openssl/pem.h +521 -0
- data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
- data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
- data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
- data/third_party/boringssl/include/openssl/poly1305.h +51 -0
- data/third_party/boringssl/include/openssl/pqueue.h +146 -0
- data/third_party/boringssl/include/openssl/rand.h +113 -0
- data/third_party/boringssl/include/openssl/rc4.h +90 -0
- data/third_party/boringssl/include/openssl/rsa.h +637 -0
- data/third_party/boringssl/include/openssl/safestack.h +16 -0
- data/third_party/boringssl/include/openssl/sha.h +256 -0
- data/third_party/boringssl/include/openssl/srtp.h +18 -0
- data/third_party/boringssl/include/openssl/ssl.h +4466 -0
- data/third_party/boringssl/include/openssl/ssl3.h +441 -0
- data/third_party/boringssl/include/openssl/stack.h +298 -0
- data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
- data/third_party/boringssl/include/openssl/thread.h +173 -0
- data/third_party/boringssl/include/openssl/time_support.h +90 -0
- data/third_party/boringssl/include/openssl/tls1.h +653 -0
- data/third_party/boringssl/include/openssl/type_check.h +91 -0
- data/third_party/boringssl/include/openssl/x509.h +1258 -0
- data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
- data/third_party/boringssl/include/openssl/x509v3.h +798 -0
- data/third_party/boringssl/ssl/custom_extensions.c +257 -0
- data/third_party/boringssl/ssl/d1_both.c +880 -0
- data/third_party/boringssl/ssl/d1_clnt.c +566 -0
- data/third_party/boringssl/ssl/d1_lib.c +340 -0
- data/third_party/boringssl/ssl/d1_meth.c +130 -0
- data/third_party/boringssl/ssl/d1_pkt.c +578 -0
- data/third_party/boringssl/ssl/d1_srtp.c +234 -0
- data/third_party/boringssl/ssl/d1_srvr.c +485 -0
- data/third_party/boringssl/ssl/dtls_record.c +308 -0
- data/third_party/boringssl/ssl/internal.h +1276 -0
- data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
- data/third_party/boringssl/ssl/s3_both.c +571 -0
- data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
- data/third_party/boringssl/ssl/s3_enc.c +494 -0
- data/third_party/boringssl/ssl/s3_lib.c +587 -0
- data/third_party/boringssl/ssl/s3_meth.c +166 -0
- data/third_party/boringssl/ssl/s3_pkt.c +732 -0
- data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
- data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
- data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
- data/third_party/boringssl/ssl/ssl_cert.c +539 -0
- data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
- data/third_party/boringssl/ssl/ssl_file.c +633 -0
- data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
- data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
- data/third_party/boringssl/ssl/ssl_session.c +764 -0
- data/third_party/boringssl/ssl/ssl_stat.c +591 -0
- data/third_party/boringssl/ssl/t1_enc.c +708 -0
- data/third_party/boringssl/ssl/t1_lib.c +2905 -0
- data/third_party/boringssl/ssl/test/async_bio.h +45 -0
- data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
- data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
- data/third_party/boringssl/ssl/test/test_config.h +108 -0
- data/third_party/boringssl/ssl/tls_record.c +342 -0
- data/third_party/zlib/adler32.c +179 -0
- data/third_party/zlib/compress.c +80 -0
- data/third_party/zlib/crc32.c +425 -0
- data/third_party/zlib/crc32.h +441 -0
- data/third_party/zlib/deflate.c +1967 -0
- data/third_party/zlib/deflate.h +346 -0
- data/third_party/zlib/gzclose.c +25 -0
- data/third_party/zlib/gzguts.h +209 -0
- data/third_party/zlib/gzlib.c +634 -0
- data/third_party/zlib/gzread.c +594 -0
- data/third_party/zlib/gzwrite.c +577 -0
- data/third_party/zlib/infback.c +640 -0
- data/third_party/zlib/inffast.c +340 -0
- data/third_party/zlib/inffast.h +11 -0
- data/third_party/zlib/inffixed.h +94 -0
- data/third_party/zlib/inflate.c +1512 -0
- data/third_party/zlib/inflate.h +122 -0
- data/third_party/zlib/inftrees.c +306 -0
- data/third_party/zlib/inftrees.h +62 -0
- data/third_party/zlib/trees.c +1226 -0
- data/third_party/zlib/trees.h +128 -0
- data/third_party/zlib/uncompr.c +59 -0
- data/third_party/zlib/zconf.h +511 -0
- data/third_party/zlib/zlib.h +1768 -0
- data/third_party/zlib/zutil.c +324 -0
- data/third_party/zlib/zutil.h +253 -0
- metadata +492 -25
- data/Rakefile +0 -63
- data/src/ruby/lib/grpc/grpc.so +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -78,7 +78,7 @@ void grpc_connectivity_state_destroy(grpc_exec_ctx *exec_ctx,
|
|
78
78
|
} else {
|
79
79
|
success = 0;
|
80
80
|
}
|
81
|
-
grpc_exec_ctx_enqueue(exec_ctx, w->notify, success);
|
81
|
+
grpc_exec_ctx_enqueue(exec_ctx, w->notify, success, NULL);
|
82
82
|
gpr_free(w);
|
83
83
|
}
|
84
84
|
gpr_free(tracker->name);
|
@@ -109,7 +109,7 @@ int grpc_connectivity_state_notify_on_state_change(
|
|
109
109
|
if (current == NULL) {
|
110
110
|
grpc_connectivity_state_watcher *w = tracker->watchers;
|
111
111
|
if (w != NULL && w->notify == notify) {
|
112
|
-
grpc_exec_ctx_enqueue(exec_ctx, notify,
|
112
|
+
grpc_exec_ctx_enqueue(exec_ctx, notify, false, NULL);
|
113
113
|
tracker->watchers = w->next;
|
114
114
|
gpr_free(w);
|
115
115
|
return 0;
|
@@ -117,7 +117,7 @@ int grpc_connectivity_state_notify_on_state_change(
|
|
117
117
|
while (w != NULL) {
|
118
118
|
grpc_connectivity_state_watcher *rm_candidate = w->next;
|
119
119
|
if (rm_candidate != NULL && rm_candidate->notify == notify) {
|
120
|
-
grpc_exec_ctx_enqueue(exec_ctx, notify,
|
120
|
+
grpc_exec_ctx_enqueue(exec_ctx, notify, false, NULL);
|
121
121
|
w->next = w->next->next;
|
122
122
|
gpr_free(rm_candidate);
|
123
123
|
return 0;
|
@@ -128,7 +128,7 @@ int grpc_connectivity_state_notify_on_state_change(
|
|
128
128
|
} else {
|
129
129
|
if (tracker->current_state != *current) {
|
130
130
|
*current = tracker->current_state;
|
131
|
-
grpc_exec_ctx_enqueue(exec_ctx, notify,
|
131
|
+
grpc_exec_ctx_enqueue(exec_ctx, notify, true, NULL);
|
132
132
|
} else {
|
133
133
|
grpc_connectivity_state_watcher *w = gpr_malloc(sizeof(*w));
|
134
134
|
w->current = current;
|
@@ -158,7 +158,7 @@ void grpc_connectivity_state_set(grpc_exec_ctx *exec_ctx,
|
|
158
158
|
while ((w = tracker->watchers) != NULL) {
|
159
159
|
*w->current = tracker->current_state;
|
160
160
|
tracker->watchers = w->next;
|
161
|
-
grpc_exec_ctx_enqueue(exec_ctx, w->notify,
|
161
|
+
grpc_exec_ctx_enqueue(exec_ctx, w->notify, true, NULL);
|
162
162
|
gpr_free(w);
|
163
163
|
}
|
164
164
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -81,12 +81,12 @@ typedef void (*destroy_user_data_func)(void *user_data);
|
|
81
81
|
typedef struct internal_string {
|
82
82
|
/* must be byte compatible with grpc_mdstr */
|
83
83
|
gpr_slice slice;
|
84
|
-
|
84
|
+
uint32_t hash;
|
85
85
|
|
86
86
|
/* private only data */
|
87
87
|
gpr_atm refcnt;
|
88
88
|
|
89
|
-
|
89
|
+
uint8_t has_base64_and_huffman_encoded;
|
90
90
|
gpr_slice_refcount refcount;
|
91
91
|
|
92
92
|
gpr_slice base64_and_huffman;
|
@@ -131,7 +131,7 @@ typedef struct mdtab_shard {
|
|
131
131
|
#define MDTAB_SHARD_COUNT ((size_t)(1 << LOG2_MDTAB_SHARD_COUNT))
|
132
132
|
|
133
133
|
/* hash seed: decided at initialization time */
|
134
|
-
static
|
134
|
+
static uint32_t g_hash_seed;
|
135
135
|
static int g_forced_hash_seed = 0;
|
136
136
|
|
137
137
|
/* linearly probed hash tables for static element lookup */
|
@@ -145,7 +145,7 @@ static mdtab_shard g_mdtab_shard[MDTAB_SHARD_COUNT];
|
|
145
145
|
|
146
146
|
static void gc_mdtab(mdtab_shard *shard);
|
147
147
|
|
148
|
-
void grpc_test_only_set_metadata_hash_seed(
|
148
|
+
void grpc_test_only_set_metadata_hash_seed(uint32_t seed) {
|
149
149
|
g_hash_seed = seed;
|
150
150
|
g_forced_hash_seed = 1;
|
151
151
|
}
|
@@ -153,7 +153,7 @@ void grpc_test_only_set_metadata_hash_seed(gpr_uint32 seed) {
|
|
153
153
|
void grpc_mdctx_global_init(void) {
|
154
154
|
size_t i, j;
|
155
155
|
if (!g_forced_hash_seed) {
|
156
|
-
g_hash_seed = (
|
156
|
+
g_hash_seed = (uint32_t)gpr_now(GPR_CLOCK_REALTIME).tv_nsec;
|
157
157
|
}
|
158
158
|
g_static_strtab_maxprobe = 0;
|
159
159
|
g_static_mdtab_maxprobe = 0;
|
@@ -163,9 +163,9 @@ void grpc_mdctx_global_init(void) {
|
|
163
163
|
for (i = 0; i < GRPC_STATIC_MDSTR_COUNT; i++) {
|
164
164
|
grpc_mdstr *elem = &grpc_static_mdstr_table[i];
|
165
165
|
const char *str = grpc_static_metadata_strings[i];
|
166
|
-
|
166
|
+
uint32_t hash = gpr_murmur_hash3(str, strlen(str), g_hash_seed);
|
167
167
|
*(gpr_slice *)&elem->slice = gpr_slice_from_static_string(str);
|
168
|
-
*(
|
168
|
+
*(uint32_t *)&elem->hash = hash;
|
169
169
|
for (j = 0;; j++) {
|
170
170
|
size_t idx = (hash + j) % GPR_ARRAY_SIZE(g_static_strtab);
|
171
171
|
if (g_static_strtab[idx] == NULL) {
|
@@ -183,7 +183,7 @@ void grpc_mdctx_global_init(void) {
|
|
183
183
|
&grpc_static_mdstr_table[grpc_static_metadata_elem_indices[2 * i + 0]];
|
184
184
|
grpc_mdstr *value =
|
185
185
|
&grpc_static_mdstr_table[grpc_static_metadata_elem_indices[2 * i + 1]];
|
186
|
-
|
186
|
+
uint32_t hash = GRPC_MDSTR_KV_HASH(key->hash, value->hash);
|
187
187
|
*(grpc_mdstr **)&elem->key = key;
|
188
188
|
*(grpc_mdstr **)&elem->value = value;
|
189
189
|
for (j = 0;; j++) {
|
@@ -327,7 +327,7 @@ static void slice_unref(void *p) {
|
|
327
327
|
}
|
328
328
|
|
329
329
|
grpc_mdstr *grpc_mdstr_from_string(const char *str) {
|
330
|
-
return grpc_mdstr_from_buffer((const
|
330
|
+
return grpc_mdstr_from_buffer((const uint8_t *)str, strlen(str));
|
331
331
|
}
|
332
332
|
|
333
333
|
grpc_mdstr *grpc_mdstr_from_slice(gpr_slice slice) {
|
@@ -337,8 +337,8 @@ grpc_mdstr *grpc_mdstr_from_slice(gpr_slice slice) {
|
|
337
337
|
return result;
|
338
338
|
}
|
339
339
|
|
340
|
-
grpc_mdstr *grpc_mdstr_from_buffer(const
|
341
|
-
|
340
|
+
grpc_mdstr *grpc_mdstr_from_buffer(const uint8_t *buf, size_t length) {
|
341
|
+
uint32_t hash = gpr_murmur_hash3(buf, length, g_hash_seed);
|
342
342
|
internal_string *s;
|
343
343
|
strtab_shard *shard =
|
344
344
|
&g_strtab_shard[SHARD_IDX(hash, LOG2_STRTAB_SHARD_COUNT)];
|
@@ -382,7 +382,7 @@ grpc_mdstr *grpc_mdstr_from_buffer(const gpr_uint8 *buf, size_t length) {
|
|
382
382
|
s->slice.refcount = NULL;
|
383
383
|
memcpy(s->slice.data.inlined.bytes, buf, length);
|
384
384
|
s->slice.data.inlined.bytes[length] = 0;
|
385
|
-
s->slice.data.inlined.length = (
|
385
|
+
s->slice.data.inlined.length = (uint8_t)length;
|
386
386
|
} else {
|
387
387
|
/* string data goes after the internal_string header, and we +1 for null
|
388
388
|
terminator */
|
@@ -391,7 +391,7 @@ grpc_mdstr *grpc_mdstr_from_buffer(const gpr_uint8 *buf, size_t length) {
|
|
391
391
|
s->refcount.ref = slice_ref;
|
392
392
|
s->refcount.unref = slice_unref;
|
393
393
|
s->slice.refcount = &s->refcount;
|
394
|
-
s->slice.data.refcounted.bytes = (
|
394
|
+
s->slice.data.refcounted.bytes = (uint8_t *)(s + 1);
|
395
395
|
s->slice.data.refcounted.length = length;
|
396
396
|
memcpy(s->slice.data.refcounted.bytes, buf, length);
|
397
397
|
/* add a null terminator for cheap c string conversion when desired */
|
@@ -449,7 +449,7 @@ static void grow_mdtab(mdtab_shard *shard) {
|
|
449
449
|
size_t i;
|
450
450
|
internal_metadata **mdtab;
|
451
451
|
internal_metadata *md, *next;
|
452
|
-
|
452
|
+
uint32_t hash;
|
453
453
|
|
454
454
|
GPR_TIMER_BEGIN("grow_mdtab", 0);
|
455
455
|
|
@@ -486,7 +486,7 @@ grpc_mdelem *grpc_mdelem_from_metadata_strings(grpc_mdstr *mkey,
|
|
486
486
|
grpc_mdstr *mvalue) {
|
487
487
|
internal_string *key = (internal_string *)mkey;
|
488
488
|
internal_string *value = (internal_string *)mvalue;
|
489
|
-
|
489
|
+
uint32_t hash = GRPC_MDSTR_KV_HASH(mkey->hash, mvalue->hash);
|
490
490
|
internal_metadata *md;
|
491
491
|
mdtab_shard *shard = &g_mdtab_shard[SHARD_IDX(hash, LOG2_MDTAB_SHARD_COUNT)];
|
492
492
|
size_t i;
|
@@ -562,7 +562,7 @@ grpc_mdelem *grpc_mdelem_from_slices(gpr_slice key, gpr_slice value) {
|
|
562
562
|
}
|
563
563
|
|
564
564
|
grpc_mdelem *grpc_mdelem_from_string_and_buffer(const char *key,
|
565
|
-
const
|
565
|
+
const uint8_t *value,
|
566
566
|
size_t value_length) {
|
567
567
|
return grpc_mdelem_from_metadata_strings(
|
568
568
|
grpc_mdstr_from_string(key), grpc_mdstr_from_buffer(value, value_length));
|
@@ -601,7 +601,7 @@ void grpc_mdelem_unref(grpc_mdelem *gmd DEBUG_ARGS) {
|
|
601
601
|
grpc_mdstr_as_c_string((grpc_mdstr *)md->value));
|
602
602
|
#endif
|
603
603
|
if (2 == gpr_atm_full_fetch_add(&md->refcnt, -1)) {
|
604
|
-
|
604
|
+
uint32_t hash = GRPC_MDSTR_KV_HASH(md->key->hash, md->value->hash);
|
605
605
|
mdtab_shard *shard =
|
606
606
|
&g_mdtab_shard[SHARD_IDX(hash, LOG2_MDTAB_SHARD_COUNT)];
|
607
607
|
GPR_TIMER_BEGIN("grpc_mdelem_unref.to_zero", 0);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -74,7 +74,7 @@ typedef struct grpc_mdelem grpc_mdelem;
|
|
74
74
|
/* if changing this, make identical changes in internal_string in metadata.c */
|
75
75
|
struct grpc_mdstr {
|
76
76
|
const gpr_slice slice;
|
77
|
-
const
|
77
|
+
const uint32_t hash;
|
78
78
|
/* there is a private part to this in metadata.c */
|
79
79
|
};
|
80
80
|
|
@@ -86,14 +86,14 @@ struct grpc_mdelem {
|
|
86
86
|
/* there is a private part to this in metadata.c */
|
87
87
|
};
|
88
88
|
|
89
|
-
void grpc_test_only_set_metadata_hash_seed(
|
89
|
+
void grpc_test_only_set_metadata_hash_seed(uint32_t seed);
|
90
90
|
|
91
91
|
/* Constructors for grpc_mdstr instances; take a variety of data types that
|
92
92
|
clients may have handy */
|
93
93
|
grpc_mdstr *grpc_mdstr_from_string(const char *str);
|
94
94
|
/* Unrefs the slice. */
|
95
95
|
grpc_mdstr *grpc_mdstr_from_slice(gpr_slice slice);
|
96
|
-
grpc_mdstr *grpc_mdstr_from_buffer(const
|
96
|
+
grpc_mdstr *grpc_mdstr_from_buffer(const uint8_t *str, size_t length);
|
97
97
|
|
98
98
|
/* Returns a borrowed slice from the mdstr with its contents base64 encoded
|
99
99
|
and huffman compressed */
|
@@ -107,7 +107,7 @@ grpc_mdelem *grpc_mdelem_from_strings(const char *key, const char *value);
|
|
107
107
|
/* Unrefs the slices. */
|
108
108
|
grpc_mdelem *grpc_mdelem_from_slices(gpr_slice key, gpr_slice value);
|
109
109
|
grpc_mdelem *grpc_mdelem_from_string_and_buffer(const char *key,
|
110
|
-
const
|
110
|
+
const uint8_t *value,
|
111
111
|
size_t value_length);
|
112
112
|
|
113
113
|
/* Mutator and accessor for grpc_mdelem user data. The destructor function
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -30,7 +30,7 @@
|
|
30
30
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
31
|
*
|
32
32
|
*/
|
33
|
-
|
33
|
+
|
34
34
|
/*
|
35
35
|
* WARNING: Auto-generated code.
|
36
36
|
*
|
@@ -48,23 +48,22 @@
|
|
48
48
|
grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
|
49
49
|
|
50
50
|
grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
|
51
|
-
|
51
|
+
uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
|
52
52
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
53
53
|
0, 0, 0, 0, 0, 0, 3, 7, 5, 2, 4, 8, 6, 0, 0, 0, 0, 0, 0, 0,
|
54
54
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
55
55
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
56
56
|
|
57
|
-
const
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
82, 83, 84, 35, 85, 35, 86, 35, 87, 35, 88, 35};
|
57
|
+
const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2] =
|
58
|
+
{11, 35, 10, 35, 12, 35, 12, 49, 13, 35, 14, 35, 15, 35, 16, 35, 17, 35,
|
59
|
+
19, 35, 20, 35, 21, 35, 24, 35, 25, 35, 26, 35, 27, 35, 28, 35, 29, 35,
|
60
|
+
30, 18, 30, 35, 31, 35, 32, 35, 36, 35, 37, 35, 38, 35, 39, 35, 42, 33,
|
61
|
+
42, 34, 42, 48, 42, 53, 42, 54, 42, 55, 42, 56, 43, 33, 43, 48, 43, 53,
|
62
|
+
46, 0, 46, 1, 46, 2, 50, 35, 57, 35, 58, 35, 59, 35, 60, 35, 61, 35,
|
63
|
+
62, 35, 63, 35, 64, 35, 65, 35, 66, 40, 66, 68, 67, 78, 67, 79, 69, 35,
|
64
|
+
70, 35, 71, 35, 72, 35, 73, 35, 74, 35, 75, 41, 75, 51, 75, 52, 76, 35,
|
65
|
+
77, 35, 80, 3, 80, 4, 80, 5, 80, 6, 80, 7, 80, 8, 80, 9, 81, 35,
|
66
|
+
82, 83, 84, 35, 85, 35, 86, 35, 87, 35, 88, 35};
|
68
67
|
|
69
68
|
const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT] = {
|
70
69
|
"0", "1", "2", "200", "204", "206", "304", "400", "404", "500", "accept",
|
@@ -86,5 +85,5 @@ const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT] = {
|
|
86
85
|
"te", "trailers", "transfer-encoding", "user-agent", "vary", "via",
|
87
86
|
"www-authenticate"};
|
88
87
|
|
89
|
-
const
|
90
|
-
|
88
|
+
const uint8_t grpc_static_accept_encoding_metadata[8] = {0, 29, 26, 30,
|
89
|
+
28, 32, 27, 31};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -30,7 +30,7 @@
|
|
30
30
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
31
|
*
|
32
32
|
*/
|
33
|
-
|
33
|
+
|
34
34
|
/*
|
35
35
|
* WARNING: Auto-generated code.
|
36
36
|
*
|
@@ -232,7 +232,7 @@ extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
|
|
232
232
|
|
233
233
|
#define GRPC_STATIC_MDELEM_COUNT 78
|
234
234
|
extern grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
|
235
|
-
extern
|
235
|
+
extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
|
236
236
|
/* "accept-charset": "" */
|
237
237
|
#define GRPC_MDELEM_ACCEPT_CHARSET_EMPTY (&grpc_static_mdelem_table[0])
|
238
238
|
/* "accept": "" */
|
@@ -399,10 +399,10 @@ extern gpr_uintptr grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
|
|
399
399
|
/* "www-authenticate": "" */
|
400
400
|
#define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[77])
|
401
401
|
|
402
|
-
extern const
|
402
|
+
extern const uint8_t
|
403
403
|
grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2];
|
404
404
|
extern const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT];
|
405
|
-
extern const
|
405
|
+
extern const uint8_t grpc_static_accept_encoding_metadata[8];
|
406
406
|
#define GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(algs) \
|
407
407
|
(&grpc_static_mdelem_table[grpc_static_accept_encoding_metadata[(algs)]])
|
408
408
|
#endif /* GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H */
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -59,7 +59,7 @@ void grpc_stream_unref(grpc_exec_ctx *exec_ctx,
|
|
59
59
|
grpc_stream_refcount *refcount) {
|
60
60
|
#endif
|
61
61
|
if (gpr_unref(&refcount->refs)) {
|
62
|
-
grpc_exec_ctx_enqueue(exec_ctx, &refcount->destroy,
|
62
|
+
grpc_exec_ctx_enqueue(exec_ctx, &refcount->destroy, true, NULL);
|
63
63
|
}
|
64
64
|
}
|
65
65
|
|
@@ -125,8 +125,8 @@ char *grpc_transport_get_peer(grpc_exec_ctx *exec_ctx,
|
|
125
125
|
|
126
126
|
void grpc_transport_stream_op_finish_with_failure(
|
127
127
|
grpc_exec_ctx *exec_ctx, grpc_transport_stream_op *op) {
|
128
|
-
grpc_exec_ctx_enqueue(exec_ctx, op->recv_message_ready,
|
129
|
-
grpc_exec_ctx_enqueue(exec_ctx, op->on_complete,
|
128
|
+
grpc_exec_ctx_enqueue(exec_ctx, op->recv_message_ready, false, NULL);
|
129
|
+
grpc_exec_ctx_enqueue(exec_ctx, op->on_complete, false, NULL);
|
130
130
|
}
|
131
131
|
|
132
132
|
void grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op,
|
@@ -150,7 +150,7 @@ typedef struct {
|
|
150
150
|
grpc_closure closure;
|
151
151
|
} close_message_data;
|
152
152
|
|
153
|
-
static void free_message(grpc_exec_ctx *exec_ctx, void *p,
|
153
|
+
static void free_message(grpc_exec_ctx *exec_ctx, void *p, bool iomgr_success) {
|
154
154
|
close_message_data *cmd = p;
|
155
155
|
gpr_slice_unref(cmd->message);
|
156
156
|
if (cmd->then_call != NULL) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -81,16 +81,29 @@ void grpc_stream_unref(grpc_exec_ctx *exec_ctx, grpc_stream_refcount *refcount);
|
|
81
81
|
/* Transport stream op: a set of operations to perform on a transport
|
82
82
|
against a single stream */
|
83
83
|
typedef struct grpc_transport_stream_op {
|
84
|
+
/** Send initial metadata to the peer, from the provided metadata batch. */
|
84
85
|
grpc_metadata_batch *send_initial_metadata;
|
86
|
+
|
87
|
+
/** Send trailing metadata to the peer, from the provided metadata batch. */
|
85
88
|
grpc_metadata_batch *send_trailing_metadata;
|
86
89
|
|
90
|
+
/** Send message data to the peer, from the provided byte stream. */
|
87
91
|
grpc_byte_stream *send_message;
|
88
92
|
|
93
|
+
/** Receive initial metadata from the stream, into provided metadata batch. */
|
89
94
|
grpc_metadata_batch *recv_initial_metadata;
|
95
|
+
|
96
|
+
/** Receive message data from the stream, into provided byte stream. */
|
90
97
|
grpc_byte_stream **recv_message;
|
98
|
+
/** Should be enqueued when one message is ready to be processed. */
|
91
99
|
grpc_closure *recv_message_ready;
|
100
|
+
|
101
|
+
/** Receive trailing metadata from the stream, into provided metadata batch.
|
102
|
+
*/
|
92
103
|
grpc_metadata_batch *recv_trailing_metadata;
|
93
104
|
|
105
|
+
/** Should be enqueued when all requested operations (excluding recv_message
|
106
|
+
which has its own closure) in a given batch have been completed. */
|
94
107
|
grpc_closure *on_complete;
|
95
108
|
|
96
109
|
/** If != GRPC_STATUS_OK, cancel this stream */
|
@@ -112,12 +112,12 @@ static tsi_result tsi_fake_handshake_message_from_string(
|
|
112
112
|
return TSI_DATA_CORRUPTED;
|
113
113
|
}
|
114
114
|
|
115
|
-
static
|
116
|
-
return ((
|
117
|
-
(
|
115
|
+
static uint32_t load32_little_endian(const unsigned char *buf) {
|
116
|
+
return ((uint32_t)(buf[0]) | (uint32_t)(buf[1] << 8) |
|
117
|
+
(uint32_t)(buf[2] << 16) | (uint32_t)(buf[3] << 24));
|
118
118
|
}
|
119
119
|
|
120
|
-
static void store32_little_endian(
|
120
|
+
static void store32_little_endian(uint32_t value, unsigned char *buf) {
|
121
121
|
buf[3] = (unsigned char)((value >> 24) & 0xFF);
|
122
122
|
buf[2] = (unsigned char)((value >> 16) & 0xFF);
|
123
123
|
buf[1] = (unsigned char)((value >> 8) & 0xFF);
|
@@ -219,7 +219,7 @@ static tsi_result bytes_to_frame(unsigned char *bytes, size_t bytes_size,
|
|
219
219
|
frame->offset = 0;
|
220
220
|
frame->size = bytes_size + TSI_FAKE_FRAME_HEADER_SIZE;
|
221
221
|
if (!tsi_fake_frame_ensure_size(frame)) return TSI_OUT_OF_RESOURCES;
|
222
|
-
store32_little_endian((
|
222
|
+
store32_little_endian((uint32_t)frame->size, frame->data);
|
223
223
|
memcpy(frame->data + TSI_FAKE_FRAME_HEADER_SIZE, bytes, bytes_size);
|
224
224
|
tsi_fake_frame_reset(frame, 1 /* needs draining */);
|
225
225
|
return TSI_OK;
|
@@ -266,7 +266,7 @@ static tsi_result fake_protector_protect(tsi_frame_protector *self,
|
|
266
266
|
if (frame->size == 0) {
|
267
267
|
/* New frame, create a header. */
|
268
268
|
size_t written_in_frame_size = 0;
|
269
|
-
store32_little_endian((
|
269
|
+
store32_little_endian((uint32_t)impl->max_frame_size, frame_header);
|
270
270
|
written_in_frame_size = TSI_FAKE_FRAME_HEADER_SIZE;
|
271
271
|
result = fill_frame_from_bytes(frame_header, &written_in_frame_size, frame);
|
272
272
|
if (result != TSI_INCOMPLETE_DATA) {
|
@@ -303,7 +303,7 @@ static tsi_result fake_protector_protect_flush(
|
|
303
303
|
frame->size = frame->offset;
|
304
304
|
frame->offset = 0;
|
305
305
|
frame->needs_draining = 1;
|
306
|
-
store32_little_endian((
|
306
|
+
store32_little_endian((uint32_t)frame->size,
|
307
307
|
frame->data); /* Overwrite header. */
|
308
308
|
}
|
309
309
|
result = drain_frame_to_bytes(protected_output_frames,
|
@@ -40,7 +40,6 @@
|
|
40
40
|
#include <grpc/support/sync.h>
|
41
41
|
#include <grpc/support/thd.h>
|
42
42
|
#include <grpc/support/useful.h>
|
43
|
-
#include "src/core/tsi/transport_security.h"
|
44
43
|
|
45
44
|
#include <openssl/bio.h>
|
46
45
|
#include <openssl/crypto.h> /* For OPENSSL_free */
|
@@ -49,6 +48,9 @@
|
|
49
48
|
#include <openssl/x509.h>
|
50
49
|
#include <openssl/x509v3.h>
|
51
50
|
|
51
|
+
#include "src/core/tsi/ssl_types.h"
|
52
|
+
#include "src/core/tsi/transport_security.h"
|
53
|
+
|
52
54
|
/* --- Constants. ---*/
|
53
55
|
|
54
56
|
#define TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND 16384
|
@@ -291,7 +293,7 @@ static tsi_result add_subject_alt_names_properties_to_peer(
|
|
291
293
|
|
292
294
|
for (i = 0; i < subject_alt_name_count; i++) {
|
293
295
|
GENERAL_NAME *subject_alt_name =
|
294
|
-
sk_GENERAL_NAME_value(subject_alt_names, (
|
296
|
+
sk_GENERAL_NAME_value(subject_alt_names, TSI_SIZE_AS_SIZE(i));
|
295
297
|
/* Filter out the non-dns entries names. */
|
296
298
|
if (subject_alt_name->type == GEN_DNS) {
|
297
299
|
unsigned char *dns_name = NULL;
|
@@ -649,7 +651,7 @@ static tsi_result build_alpn_protocol_name_list(
|
|
649
651
|
}
|
650
652
|
/* Safety check. */
|
651
653
|
if ((current < *protocol_name_list) ||
|
652
|
-
((
|
654
|
+
((uintptr_t)(current - *protocol_name_list) !=
|
653
655
|
*protocol_name_list_length)) {
|
654
656
|
return TSI_INTERNAL_ERROR;
|
655
657
|
}
|
@@ -1072,7 +1074,7 @@ static int select_protocol_list(const unsigned char **out,
|
|
1072
1074
|
unsigned char client_current_len = *(client_current++);
|
1073
1075
|
const unsigned char *server_current = server_list;
|
1074
1076
|
while ((server_current >= server_list) &&
|
1075
|
-
(
|
1077
|
+
(uintptr_t)(server_current - server_list) < server_list_len) {
|
1076
1078
|
unsigned char server_current_len = *(server_current++);
|
1077
1079
|
if ((client_current_len == server_current_len) &&
|
1078
1080
|
!memcmp(client_current, server_current, server_current_len)) {
|