awesome-grpc-that-works 0.12.2 → 0.14.0.dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/Makefile +5783 -22121
- data/include/grpc/byte_buffer.h +2 -83
- data/include/grpc/census.h +173 -121
- data/include/grpc/compression.h +14 -38
- data/include/grpc/grpc.h +85 -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 +378 -0
- data/include/grpc/impl/codegen/log.h +110 -0
- data/include/grpc/impl/codegen/port_platform.h +370 -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 +130 -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 +10 -9
- 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/include/grpc/support/useful.h +3 -1
- data/src/boringssl/err_data.c +1252 -0
- data/src/core/census/context.c +471 -8
- data/src/core/census/grpc_filter.c +5 -5
- data/src/core/census/initialize.c +4 -7
- data/src/core/census/mlog.c +600 -0
- data/src/core/census/mlog.h +95 -0
- 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 +71 -9
- data/src/core/channel/channel_args.h +7 -1
- data/src/core/channel/channel_stack.c +1 -1
- data/src/core/channel/client_channel.c +33 -30
- 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 +4 -4
- data/src/core/channel/http_server_filter.c +11 -11
- data/src/core/channel/subchannel_call_holder.c +11 -11
- data/src/core/client_config/connector.c +3 -2
- data/src/core/client_config/connector.h +2 -2
- data/src/core/client_config/lb_policies/load_balancer_api.c +163 -0
- data/src/core/client_config/lb_policies/load_balancer_api.h +85 -0
- data/src/core/client_config/lb_policies/pick_first.c +57 -40
- data/src/core/client_config/lb_policies/round_robin.c +14 -15
- data/src/core/client_config/lb_policy.c +3 -3
- data/src/core/client_config/lb_policy.h +3 -2
- 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 +84 -39
- data/src/core/client_config/subchannel.h +15 -6
- data/src/core/client_config/subchannel_index.c +261 -0
- data/src/core/client_config/subchannel_index.h +77 -0
- data/src/core/compression/{algorithm.c → compression_algorithm.c} +3 -3
- data/src/core/httpcli/format_request.c +1 -1
- data/src/core/httpcli/httpcli.c +18 -16
- data/src/core/httpcli/httpcli.h +3 -2
- data/src/core/httpcli/httpcli_security_connector.c +9 -10
- 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 +32 -19
- data/src/core/iomgr/fd_posix.h +7 -4
- data/src/core/iomgr/iocp_windows.c +7 -9
- data/src/core/iomgr/iomgr.c +2 -2
- data/src/core/iomgr/pollset.h +9 -10
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +71 -5
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +9 -5
- data/src/core/iomgr/pollset_posix.c +44 -49
- data/src/core/iomgr/pollset_posix.h +14 -8
- data/src/core/iomgr/pollset_set.h +3 -9
- data/src/core/iomgr/pollset_set_posix.c +23 -3
- data/src/core/iomgr/pollset_set_posix.h +2 -18
- data/src/core/iomgr/pollset_set_windows.c +3 -3
- data/src/core/iomgr/pollset_set_windows.h +2 -2
- data/src/core/iomgr/pollset_windows.c +29 -37
- data/src/core/iomgr/pollset_windows.h +1 -5
- 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 +14 -12
- data/src/core/iomgr/tcp_client_windows.c +4 -4
- data/src/core/iomgr/tcp_posix.c +18 -10
- 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 +10 -11
- data/src/core/iomgr/timer.h +22 -2
- 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 +7 -16
- data/src/core/iomgr/udp_server.h +2 -9
- data/src/core/iomgr/workqueue.h +2 -4
- data/src/core/iomgr/workqueue_posix.c +4 -3
- data/src/core/iomgr/workqueue_posix.h +3 -1
- 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/proto/grpc/lb/v0/load_balancer.pb.c +119 -0
- data/src/core/proto/grpc/lb/v0/load_balancer.pb.h +182 -0
- data/src/core/security/{base64.c → b64.c} +10 -10
- data/src/core/security/{base64.h → b64.h} +1 -1
- data/src/core/security/client_auth_filter.c +4 -5
- data/src/core/security/credentials.c +17 -10
- data/src/core/security/credentials.h +3 -3
- data/src/core/security/google_default_credentials.c +27 -22
- data/src/core/security/handshake.c +21 -12
- data/src/core/security/handshake.h +2 -1
- data/src/core/security/json_token.c +14 -8
- data/src/core/security/jwt_verifier.c +4 -3
- data/src/core/security/secure_endpoint.c +16 -16
- data/src/core/security/security_connector.c +131 -81
- data/src/core/security/security_connector.h +47 -27
- data/src/core/security/security_context.c +8 -3
- data/src/core/security/server_auth_filter.c +5 -5
- data/src/core/security/server_secure_chttp2.c +36 -37
- 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/avl.c +2 -2
- data/src/core/support/cpu_posix.c +2 -2
- data/src/core/support/env_linux.c +28 -1
- data/src/core/support/env_win32.c +15 -7
- data/src/core/support/histogram.c +5 -5
- data/src/core/support/{file.c → load_file.c} +2 -2
- data/src/core/support/{file.h → load_file.h} +4 -12
- 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/tmpfile.h +55 -0
- data/src/core/support/{file_posix.c → tmpfile_posix.c} +2 -2
- data/src/core/support/{file_win32.c → tmpfile_win32.c} +2 -2
- data/src/core/support/wrap_memcpy.c +53 -0
- data/src/core/surface/alarm.c +84 -0
- data/src/core/surface/byte_buffer_reader.c +1 -1
- data/src/core/surface/call.c +175 -116
- 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 +4 -4
- data/src/core/surface/channel_ping.c +2 -2
- data/src/core/surface/completion_queue.c +84 -53
- data/src/core/surface/completion_queue.h +1 -1
- data/src/core/surface/init.c +11 -5
- data/src/core/surface/lame_client.c +2 -3
- data/src/core/surface/secure_channel_create.c +9 -10
- data/src/core/surface/server.c +30 -30
- 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 +4 -4
- 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 +103 -87
- data/src/core/transport/chttp2/parsing.c +25 -25
- data/src/core/transport/chttp2/stream_lists.c +38 -1
- 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 +25 -22
- data/src/core/transport/chttp2_transport.c +147 -100
- 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 +32 -33
- data/src/core/transport/static_metadata.h +8 -8
- data/src/core/transport/transport.c +6 -5
- data/src/core/transport/transport.h +17 -1
- data/src/core/tsi/fake_transport_security.c +7 -7
- data/src/core/tsi/ssl_transport_security.c +6 -4
- data/src/core/{iomgr/timer_internal.h → tsi/ssl_types.h} +19 -25
- data/src/ruby/ext/grpc/extconf.rb +52 -14
- data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
- data/src/ruby/ext/grpc/rb_call.c +7 -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 +28 -19
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +562 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +846 -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/core/time_consts.rb +2 -2
- data/src/ruby/lib/grpc/errors.rb +2 -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/pb/README.md +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +2 -2
- data/src/ruby/pb/grpc/health/checker.rb +11 -11
- data/src/ruby/pb/grpc/health/v1/health.rb +28 -0
- data/src/ruby/pb/grpc/health/{v1alpha → v1}/health_services.rb +4 -4
- data/src/ruby/spec/client_server_spec.rb +2 -1
- data/src/ruby/spec/pb/health/checker_spec.rb +23 -37
- 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/nanopb/pb.h +547 -0
- data/third_party/nanopb/pb_common.c +97 -0
- data/third_party/nanopb/pb_common.h +42 -0
- data/third_party/nanopb/pb_decode.c +1319 -0
- data/third_party/nanopb/pb_decode.h +149 -0
- data/third_party/nanopb/pb_encode.c +690 -0
- data/third_party/nanopb/pb_encode.h +154 -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 +504 -20
- data/Rakefile +0 -63
- data/src/ruby/pb/grpc/health/v1alpha/health.rb +0 -29
@@ -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
|
@@ -36,14 +36,12 @@
|
|
36
36
|
|
37
37
|
#include <grpc/grpc_security.h>
|
38
38
|
#include "src/core/iomgr/endpoint.h"
|
39
|
+
#include "src/core/iomgr/tcp_server.h"
|
39
40
|
#include "src/core/tsi/transport_security_interface.h"
|
40
41
|
|
41
42
|
/* --- status enum. --- */
|
42
43
|
|
43
|
-
typedef enum {
|
44
|
-
GRPC_SECURITY_OK = 0,
|
45
|
-
GRPC_SECURITY_ERROR
|
46
|
-
} grpc_security_status;
|
44
|
+
typedef enum { GRPC_SECURITY_OK = 0, GRPC_SECURITY_ERROR } grpc_security_status;
|
47
45
|
|
48
46
|
/* --- URL schemes. --- */
|
49
47
|
|
@@ -71,9 +69,6 @@ typedef void (*grpc_security_handshake_done_cb)(
|
|
71
69
|
|
72
70
|
typedef struct {
|
73
71
|
void (*destroy)(grpc_security_connector *sc);
|
74
|
-
void (*do_handshake)(grpc_exec_ctx *exec_ctx, grpc_security_connector *sc,
|
75
|
-
grpc_endpoint *nonsecure_endpoint,
|
76
|
-
grpc_security_handshake_done_cb cb, void *user_data);
|
77
72
|
void (*check_peer)(grpc_exec_ctx *exec_ctx, grpc_security_connector *sc,
|
78
73
|
tsi_peer peer, grpc_security_peer_check_cb cb,
|
79
74
|
void *user_data);
|
@@ -87,13 +82,7 @@ typedef struct grpc_security_connector_handshake_list {
|
|
87
82
|
struct grpc_security_connector {
|
88
83
|
const grpc_security_connector_vtable *vtable;
|
89
84
|
gpr_refcount refcount;
|
90
|
-
int is_client_side;
|
91
85
|
const char *url_scheme;
|
92
|
-
/* Used on server side only. */
|
93
|
-
/* TODO(yangg): Create a grpc_server_security_connector with these. */
|
94
|
-
gpr_mu mu;
|
95
|
-
grpc_security_connector_handshake_list *handshaking_handshakes;
|
96
|
-
const grpc_channel_args *channel_args;
|
97
86
|
};
|
98
87
|
|
99
88
|
/* Refcounting. */
|
@@ -116,13 +105,6 @@ grpc_security_connector *grpc_security_connector_ref(
|
|
116
105
|
void grpc_security_connector_unref(grpc_security_connector *policy);
|
117
106
|
#endif
|
118
107
|
|
119
|
-
/* Handshake. */
|
120
|
-
void grpc_security_connector_do_handshake(grpc_exec_ctx *exec_ctx,
|
121
|
-
grpc_security_connector *connector,
|
122
|
-
grpc_endpoint *nonsecure_endpoint,
|
123
|
-
grpc_security_handshake_done_cb cb,
|
124
|
-
void *user_data);
|
125
|
-
|
126
108
|
/* Check the peer. Callee takes ownership of the peer object.
|
127
109
|
The callback will include the resulting auth_context. */
|
128
110
|
void grpc_security_connector_check_peer(grpc_exec_ctx *exec_ctx,
|
@@ -131,9 +113,6 @@ void grpc_security_connector_check_peer(grpc_exec_ctx *exec_ctx,
|
|
131
113
|
grpc_security_peer_check_cb cb,
|
132
114
|
void *user_data);
|
133
115
|
|
134
|
-
void grpc_security_connector_shutdown(grpc_exec_ctx *exec_ctx,
|
135
|
-
grpc_security_connector *connector);
|
136
|
-
|
137
116
|
/* Util to encapsulate the connector in a channel arg. */
|
138
117
|
grpc_arg grpc_security_connector_to_arg(grpc_security_connector *sc);
|
139
118
|
|
@@ -156,12 +135,16 @@ typedef void (*grpc_security_call_host_check_cb)(grpc_exec_ctx *exec_ctx,
|
|
156
135
|
grpc_security_status status);
|
157
136
|
|
158
137
|
struct grpc_channel_security_connector {
|
159
|
-
grpc_security_connector base;
|
138
|
+
grpc_security_connector base;
|
160
139
|
grpc_call_credentials *request_metadata_creds;
|
161
140
|
void (*check_call_host)(grpc_exec_ctx *exec_ctx,
|
162
141
|
grpc_channel_security_connector *sc, const char *host,
|
163
142
|
grpc_auth_context *auth_context,
|
164
143
|
grpc_security_call_host_check_cb cb, void *user_data);
|
144
|
+
void (*do_handshake)(grpc_exec_ctx *exec_ctx,
|
145
|
+
grpc_channel_security_connector *sc,
|
146
|
+
grpc_endpoint *nonsecure_endpoint,
|
147
|
+
grpc_security_handshake_done_cb cb, void *user_data);
|
165
148
|
};
|
166
149
|
|
167
150
|
/* Checks that the host that will be set for a call is acceptable. */
|
@@ -170,6 +153,39 @@ void grpc_channel_security_connector_check_call_host(
|
|
170
153
|
const char *host, grpc_auth_context *auth_context,
|
171
154
|
grpc_security_call_host_check_cb cb, void *user_data);
|
172
155
|
|
156
|
+
/* Handshake. */
|
157
|
+
void grpc_channel_security_connector_do_handshake(
|
158
|
+
grpc_exec_ctx *exec_ctx, grpc_channel_security_connector *connector,
|
159
|
+
grpc_endpoint *nonsecure_endpoint, grpc_security_handshake_done_cb cb,
|
160
|
+
void *user_data);
|
161
|
+
|
162
|
+
/* --- server_security_connector object. ---
|
163
|
+
|
164
|
+
A server security connector object represents away to configure the
|
165
|
+
underlying transport security mechanism on the server side. */
|
166
|
+
|
167
|
+
typedef struct grpc_server_security_connector grpc_server_security_connector;
|
168
|
+
|
169
|
+
struct grpc_server_security_connector {
|
170
|
+
grpc_security_connector base;
|
171
|
+
gpr_mu mu;
|
172
|
+
grpc_security_connector_handshake_list *handshaking_handshakes;
|
173
|
+
const grpc_channel_args *channel_args;
|
174
|
+
void (*do_handshake)(grpc_exec_ctx *exec_ctx,
|
175
|
+
grpc_server_security_connector *sc,
|
176
|
+
grpc_tcp_server_acceptor *acceptor,
|
177
|
+
grpc_endpoint *nonsecure_endpoint,
|
178
|
+
grpc_security_handshake_done_cb cb, void *user_data);
|
179
|
+
};
|
180
|
+
|
181
|
+
void grpc_server_security_connector_do_handshake(
|
182
|
+
grpc_exec_ctx *exec_ctx, grpc_server_security_connector *sc,
|
183
|
+
grpc_tcp_server_acceptor *acceptor, grpc_endpoint *nonsecure_endpoint,
|
184
|
+
grpc_security_handshake_done_cb cb, void *user_data);
|
185
|
+
|
186
|
+
void grpc_server_security_connector_shutdown(
|
187
|
+
grpc_exec_ctx *exec_ctx, grpc_server_security_connector *connector);
|
188
|
+
|
173
189
|
/* --- Creation security connectors. --- */
|
174
190
|
|
175
191
|
/* For TESTING ONLY!
|
@@ -179,7 +195,8 @@ grpc_channel_security_connector *grpc_fake_channel_security_connector_create(
|
|
179
195
|
|
180
196
|
/* For TESTING ONLY!
|
181
197
|
Creates a fake connector that emulates real server security. */
|
182
|
-
|
198
|
+
grpc_server_security_connector *grpc_fake_server_security_connector_create(
|
199
|
+
void);
|
183
200
|
|
184
201
|
/* Config for ssl clients. */
|
185
202
|
typedef struct {
|
@@ -212,6 +229,9 @@ grpc_security_status grpc_ssl_channel_security_connector_create(
|
|
212
229
|
/* Gets the default ssl roots. */
|
213
230
|
size_t grpc_get_default_ssl_roots(const unsigned char **pem_root_certs);
|
214
231
|
|
232
|
+
/* Exposed for TESTING ONLY!. */
|
233
|
+
gpr_slice grpc_get_default_ssl_roots_for_testing(void);
|
234
|
+
|
215
235
|
/* Config for ssl servers. */
|
216
236
|
typedef struct {
|
217
237
|
unsigned char **pem_private_keys;
|
@@ -231,7 +251,7 @@ typedef struct {
|
|
231
251
|
specific error code otherwise.
|
232
252
|
*/
|
233
253
|
grpc_security_status grpc_ssl_server_security_connector_create(
|
234
|
-
const grpc_ssl_server_config *config,
|
254
|
+
const grpc_ssl_server_config *config, grpc_server_security_connector **sc);
|
235
255
|
|
236
256
|
/* Util. */
|
237
257
|
const tsi_peer_property *tsi_peer_get_property_by_name(const tsi_peer *peer,
|
@@ -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
|
@@ -309,14 +309,19 @@ static void *auth_context_pointer_arg_copy(void *p) {
|
|
309
309
|
return GRPC_AUTH_CONTEXT_REF(p, "auth_context_pointer_arg");
|
310
310
|
}
|
311
311
|
|
312
|
+
static int auth_context_pointer_cmp(void *a, void *b) { return GPR_ICMP(a, b); }
|
313
|
+
|
314
|
+
static const grpc_arg_pointer_vtable auth_context_pointer_vtable = {
|
315
|
+
auth_context_pointer_arg_copy, auth_context_pointer_arg_destroy,
|
316
|
+
auth_context_pointer_cmp};
|
317
|
+
|
312
318
|
grpc_arg grpc_auth_context_to_arg(grpc_auth_context *p) {
|
313
319
|
grpc_arg arg;
|
314
320
|
memset(&arg, 0, sizeof(grpc_arg));
|
315
321
|
arg.type = GRPC_ARG_POINTER;
|
316
322
|
arg.key = GRPC_AUTH_CONTEXT_ARG;
|
317
323
|
arg.value.pointer.p = p;
|
318
|
-
arg.value.pointer.
|
319
|
-
arg.value.pointer.destroy = auth_context_pointer_arg_destroy;
|
324
|
+
arg.value.pointer.vtable = &auth_context_pointer_vtable;
|
320
325
|
return arg;
|
321
326
|
}
|
322
327
|
|
@@ -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
|
@@ -140,7 +140,7 @@ static void on_md_processing_done(
|
|
140
140
|
message = gpr_slice_from_copied_string(error_details);
|
141
141
|
calld->transport_op.send_initial_metadata = NULL;
|
142
142
|
if (calld->transport_op.send_message != NULL) {
|
143
|
-
grpc_byte_stream_destroy(calld->transport_op.send_message);
|
143
|
+
grpc_byte_stream_destroy(&exec_ctx, calld->transport_op.send_message);
|
144
144
|
calld->transport_op.send_message = NULL;
|
145
145
|
}
|
146
146
|
calld->transport_op.send_trailing_metadata = NULL;
|
@@ -153,7 +153,7 @@ static void on_md_processing_done(
|
|
153
153
|
}
|
154
154
|
|
155
155
|
static void auth_on_recv(grpc_exec_ctx *exec_ctx, void *user_data,
|
156
|
-
|
156
|
+
bool success) {
|
157
157
|
grpc_call_element *elem = user_data;
|
158
158
|
call_data *calld = elem->call_data;
|
159
159
|
channel_data *chand = elem->channel_data;
|
@@ -176,8 +176,8 @@ static void set_recv_ops_md_callbacks(grpc_call_element *elem,
|
|
176
176
|
if (op->recv_initial_metadata != NULL) {
|
177
177
|
/* substitute our callback for the higher callback */
|
178
178
|
calld->recv_initial_metadata = op->recv_initial_metadata;
|
179
|
-
calld->on_done_recv = op->
|
180
|
-
op->
|
179
|
+
calld->on_done_recv = op->recv_initial_metadata_ready;
|
180
|
+
op->recv_initial_metadata_ready = &calld->auth_on_recv;
|
181
181
|
calld->transport_op = *op;
|
182
182
|
}
|
183
183
|
}
|
@@ -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
|
@@ -55,7 +55,7 @@
|
|
55
55
|
typedef struct grpc_server_secure_state {
|
56
56
|
grpc_server *server;
|
57
57
|
grpc_tcp_server *tcp;
|
58
|
-
|
58
|
+
grpc_server_security_connector *sc;
|
59
59
|
grpc_server_credentials *creds;
|
60
60
|
int is_shutdown;
|
61
61
|
gpr_mu mu;
|
@@ -74,7 +74,7 @@ static void state_unref(grpc_server_secure_state *state) {
|
|
74
74
|
gpr_mu_lock(&state->mu);
|
75
75
|
gpr_mu_unlock(&state->mu);
|
76
76
|
/* clean up */
|
77
|
-
GRPC_SECURITY_CONNECTOR_UNREF(state->sc, "server");
|
77
|
+
GRPC_SECURITY_CONNECTOR_UNREF(&state->sc->base, "server");
|
78
78
|
grpc_server_credentials_unref(state->creds);
|
79
79
|
gpr_free(state);
|
80
80
|
}
|
@@ -126,12 +126,12 @@ static void on_secure_handshake_done(grpc_exec_ctx *exec_ctx, void *statep,
|
|
126
126
|
state_unref(state);
|
127
127
|
}
|
128
128
|
|
129
|
-
static void on_accept(grpc_exec_ctx *exec_ctx, void *statep,
|
130
|
-
|
129
|
+
static void on_accept(grpc_exec_ctx *exec_ctx, void *statep, grpc_endpoint *tcp,
|
130
|
+
grpc_tcp_server_acceptor *acceptor) {
|
131
131
|
grpc_server_secure_state *state = statep;
|
132
132
|
state_ref(state);
|
133
|
-
|
134
|
-
|
133
|
+
grpc_server_security_connector_do_handshake(
|
134
|
+
exec_ctx, state->sc, acceptor, tcp, on_secure_handshake_done, state);
|
135
135
|
}
|
136
136
|
|
137
137
|
/* Server callback: start listening on our ports */
|
@@ -142,11 +142,13 @@ static void start(grpc_exec_ctx *exec_ctx, grpc_server *server, void *statep,
|
|
142
142
|
on_accept, state);
|
143
143
|
}
|
144
144
|
|
145
|
-
static void destroy_done(grpc_exec_ctx *exec_ctx, void *statep,
|
145
|
+
static void destroy_done(grpc_exec_ctx *exec_ctx, void *statep, bool success) {
|
146
146
|
grpc_server_secure_state *state = statep;
|
147
|
-
state->destroy_callback
|
148
|
-
|
149
|
-
|
147
|
+
if (state->destroy_callback != NULL) {
|
148
|
+
state->destroy_callback->cb(exec_ctx, state->destroy_callback->cb_arg,
|
149
|
+
success);
|
150
|
+
}
|
151
|
+
grpc_server_security_connector_shutdown(exec_ctx, state->sc);
|
150
152
|
state_unref(state);
|
151
153
|
}
|
152
154
|
|
@@ -161,8 +163,7 @@ static void destroy(grpc_exec_ctx *exec_ctx, grpc_server *server, void *statep,
|
|
161
163
|
state->destroy_callback = callback;
|
162
164
|
tcp = state->tcp;
|
163
165
|
gpr_mu_unlock(&state->mu);
|
164
|
-
|
165
|
-
grpc_tcp_server_destroy(exec_ctx, tcp, &state->destroy_closure);
|
166
|
+
grpc_tcp_server_unref(exec_ctx, tcp);
|
166
167
|
}
|
167
168
|
|
168
169
|
int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
|
@@ -175,7 +176,7 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
|
|
175
176
|
int port_num = -1;
|
176
177
|
int port_temp;
|
177
178
|
grpc_security_status status = GRPC_SECURITY_ERROR;
|
178
|
-
|
179
|
+
grpc_server_security_connector *sc = NULL;
|
179
180
|
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
180
181
|
|
181
182
|
GRPC_API_TRACE(
|
@@ -199,18 +200,26 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
|
|
199
200
|
if (!resolved) {
|
200
201
|
goto error;
|
201
202
|
}
|
202
|
-
|
203
|
-
|
203
|
+
state = gpr_malloc(sizeof(*state));
|
204
|
+
memset(state, 0, sizeof(*state));
|
205
|
+
grpc_closure_init(&state->destroy_closure, destroy_done, state);
|
206
|
+
tcp = grpc_tcp_server_create(&state->destroy_closure);
|
204
207
|
if (!tcp) {
|
205
208
|
goto error;
|
206
209
|
}
|
207
210
|
|
211
|
+
state->server = server;
|
212
|
+
state->tcp = tcp;
|
213
|
+
state->sc = sc;
|
214
|
+
state->creds = grpc_server_credentials_ref(creds);
|
215
|
+
state->is_shutdown = 0;
|
216
|
+
gpr_mu_init(&state->mu);
|
217
|
+
gpr_ref_init(&state->refcount, 1);
|
218
|
+
|
208
219
|
for (i = 0; i < resolved->naddrs; i++) {
|
209
|
-
|
210
|
-
listener = grpc_tcp_server_add_port(
|
220
|
+
port_temp = grpc_tcp_server_add_port(
|
211
221
|
tcp, (struct sockaddr *)&resolved->addrs[i].addr,
|
212
222
|
resolved->addrs[i].len);
|
213
|
-
port_temp = grpc_tcp_listener_get_port(listener);
|
214
223
|
if (port_temp > 0) {
|
215
224
|
if (port_num == -1) {
|
216
225
|
port_num = port_temp;
|
@@ -232,17 +241,6 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
|
|
232
241
|
}
|
233
242
|
grpc_resolved_addresses_destroy(resolved);
|
234
243
|
|
235
|
-
state = gpr_malloc(sizeof(*state));
|
236
|
-
memset(state, 0, sizeof(*state));
|
237
|
-
state->server = server;
|
238
|
-
state->tcp = tcp;
|
239
|
-
state->sc = sc;
|
240
|
-
state->creds = grpc_server_credentials_ref(creds);
|
241
|
-
|
242
|
-
state->is_shutdown = 0;
|
243
|
-
gpr_mu_init(&state->mu);
|
244
|
-
gpr_ref_init(&state->refcount, 1);
|
245
|
-
|
246
244
|
/* Register with the server only upon success */
|
247
245
|
grpc_server_add_listener(&exec_ctx, server, state, start, destroy);
|
248
246
|
|
@@ -251,17 +249,18 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
|
|
251
249
|
|
252
250
|
/* Error path: cleanup and return */
|
253
251
|
error:
|
254
|
-
if (sc) {
|
255
|
-
GRPC_SECURITY_CONNECTOR_UNREF(sc, "server");
|
256
|
-
}
|
257
252
|
if (resolved) {
|
258
253
|
grpc_resolved_addresses_destroy(resolved);
|
259
254
|
}
|
260
255
|
if (tcp) {
|
261
|
-
|
262
|
-
}
|
263
|
-
|
264
|
-
|
256
|
+
grpc_tcp_server_unref(&exec_ctx, tcp);
|
257
|
+
} else {
|
258
|
+
if (sc) {
|
259
|
+
GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "server");
|
260
|
+
}
|
261
|
+
if (state) {
|
262
|
+
gpr_free(state);
|
263
|
+
}
|
265
264
|
}
|
266
265
|
grpc_exec_ctx_finish(&exec_ctx);
|
267
266
|
return 0;
|
@@ -42,8 +42,8 @@
|
|
42
42
|
/* Structure of a census op id. Define as structure because 64bit integer is not
|
43
43
|
available on every platform for C89. */
|
44
44
|
typedef struct census_op_id {
|
45
|
-
|
46
|
-
|
45
|
+
uint32_t upper;
|
46
|
+
uint32_t lower;
|
47
47
|
} census_op_id;
|
48
48
|
|
49
49
|
typedef struct census_rpc_stats census_rpc_stats;
|
@@ -42,9 +42,9 @@ extern "C" {
|
|
42
42
|
#endif
|
43
43
|
|
44
44
|
struct census_rpc_stats {
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
uint64_t cnt;
|
46
|
+
uint64_t rpc_error_cnt;
|
47
|
+
uint64_t app_error_cnt;
|
48
48
|
double elapsed_time_ms;
|
49
49
|
double api_request_bytes;
|
50
50
|
double wire_request_bytes;
|
data/src/core/support/alloc.c
CHANGED
@@ -82,7 +82,7 @@ void *gpr_malloc_aligned(size_t size, size_t alignment_log) {
|
|
82
82
|
size_t alignment = ((size_t)1) << alignment_log;
|
83
83
|
size_t extra = alignment - 1 + sizeof(void *);
|
84
84
|
void *p = gpr_malloc(size + extra);
|
85
|
-
void **ret = (void **)(((
|
85
|
+
void **ret = (void **)(((uintptr_t)p + extra) & ~(alignment - 1));
|
86
86
|
ret[-1] = p;
|
87
87
|
return (void *)ret;
|
88
88
|
}
|
data/src/core/support/avl.c
CHANGED
@@ -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
|
@@ -167,7 +167,7 @@ static gpr_avl_node *rotate_right_left(const gpr_avl_vtable *vtable, void *key,
|
|
167
167
|
vtable->copy_key(right->left->key),
|
168
168
|
vtable->copy_value(right->left->value),
|
169
169
|
new_node(key, value, left, ref_node(right->left->left)),
|
170
|
-
new_node(vtable->copy_key(right->key), vtable->
|
170
|
+
new_node(vtable->copy_key(right->key), vtable->copy_value(right->value),
|
171
171
|
ref_node(right->left->right), ref_node(right->right)));
|
172
172
|
unref_node(vtable, right);
|
173
173
|
return n;
|
@@ -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
|
@@ -48,7 +48,7 @@ static long ncpus = 0;
|
|
48
48
|
|
49
49
|
static void init_ncpus() {
|
50
50
|
ncpus = sysconf(_SC_NPROCESSORS_ONLN);
|
51
|
-
if (ncpus < 1 || ncpus >
|
51
|
+
if (ncpus < 1 || ncpus > INT32_MAX) {
|
52
52
|
gpr_log(GPR_ERROR, "Cannot determine number of CPUs: assuming 1");
|
53
53
|
ncpus = 1;
|
54
54
|
}
|
@@ -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
|
@@ -42,16 +42,43 @@
|
|
42
42
|
|
43
43
|
#include "src/core/support/env.h"
|
44
44
|
|
45
|
+
#include <dlfcn.h>
|
46
|
+
#include <features.h>
|
45
47
|
#include <stdlib.h>
|
48
|
+
#include <string.h>
|
46
49
|
|
47
50
|
#include <grpc/support/log.h>
|
48
51
|
#include <grpc/support/string_util.h>
|
52
|
+
#include <grpc/support/useful.h>
|
49
53
|
|
50
54
|
#include "src/core/support/string.h"
|
51
55
|
|
52
56
|
char *gpr_getenv(const char *name) {
|
57
|
+
#if defined(GPR_BACKWARDS_COMPATIBILITY_MODE)
|
58
|
+
typedef char *(*getenv_type)(const char *);
|
59
|
+
static getenv_type getenv_func = NULL;
|
60
|
+
/* Check to see which getenv variant is supported (go from most
|
61
|
+
* to least secure) */
|
62
|
+
const char *names[] = {"secure_getenv", "__secure_getenv", "getenv"};
|
63
|
+
for (size_t i = 0; getenv_func == NULL && i < GPR_ARRAY_SIZE(names); i++) {
|
64
|
+
getenv_func = (getenv_type)dlsym(RTLD_DEFAULT, names[i]);
|
65
|
+
if (getenv_func != NULL && strstr(names[i], "secure") == NULL) {
|
66
|
+
gpr_log(GPR_DEBUG,
|
67
|
+
"Warning: insecure environment read function '%s' used",
|
68
|
+
names[i]);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
char *result = getenv_func(name);
|
72
|
+
return result == NULL ? result : gpr_strdup(result);
|
73
|
+
#elif __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 17)
|
53
74
|
char *result = secure_getenv(name);
|
54
75
|
return result == NULL ? result : gpr_strdup(result);
|
76
|
+
#else
|
77
|
+
gpr_log(GPR_DEBUG, "Warning: insecure environment read function '%s' used",
|
78
|
+
"getenv");
|
79
|
+
char *result = getenv(name);
|
80
|
+
return result == NULL ? result : gpr_strdup(result);
|
81
|
+
#endif
|
55
82
|
}
|
56
83
|
|
57
84
|
void gpr_setenv(const char *name, const char *value) {
|