grpc 0.13.1 → 0.14.1.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +2098 -828
- data/include/grpc/byte_buffer.h +1 -1
- data/include/grpc/byte_buffer_reader.h +1 -20
- data/include/grpc/census.h +4 -4
- data/include/grpc/compression.h +6 -5
- data/include/grpc/grpc.h +31 -20
- data/include/grpc/grpc_security.h +17 -31
- data/include/grpc/grpc_security_constants.h +114 -0
- data/include/grpc/grpc_zookeeper.h +1 -1
- data/include/grpc/impl/codegen/alloc.h +1 -1
- data/include/grpc/impl/codegen/atm.h +1 -1
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +1 -1
- data/include/grpc/impl/codegen/atm_gcc_sync.h +1 -1
- data/include/grpc/impl/codegen/atm_win32.h +1 -1
- data/include/grpc/impl/codegen/byte_buffer.h +1 -1
- data/{src/core/client_config/lb_policies/round_robin.h → include/grpc/impl/codegen/byte_buffer_reader.h} +19 -8
- data/include/grpc/impl/codegen/grpc_types.h +20 -3
- data/include/grpc/impl/codegen/log.h +9 -2
- data/include/grpc/impl/codegen/port_platform.h +102 -17
- data/include/grpc/impl/codegen/propagation_bits.h +3 -3
- data/include/grpc/impl/codegen/slice.h +3 -3
- data/include/grpc/impl/codegen/slice_buffer.h +3 -3
- data/include/grpc/impl/codegen/status.h +1 -1
- data/include/grpc/impl/codegen/sync_generic.h +1 -1
- data/include/grpc/impl/codegen/sync_posix.h +1 -1
- data/include/grpc/impl/codegen/sync_win32.h +1 -1
- data/include/grpc/impl/codegen/time.h +3 -3
- data/include/grpc/status.h +1 -1
- data/include/grpc/support/alloc.h +1 -1
- data/include/grpc/support/atm.h +1 -1
- data/include/grpc/support/atm_gcc_atomic.h +4 -4
- data/include/grpc/support/atm_gcc_sync.h +1 -1
- data/include/grpc/support/atm_win32.h +1 -1
- data/include/grpc/support/avl.h +1 -1
- data/include/grpc/support/cmdline.h +1 -1
- data/include/grpc/support/cpu.h +1 -1
- data/include/grpc/support/histogram.h +1 -1
- data/include/grpc/support/host_port.h +1 -1
- data/include/grpc/support/log.h +1 -1
- data/include/grpc/support/log_win32.h +1 -1
- data/include/grpc/support/port_platform.h +1 -1
- data/include/grpc/support/slice.h +1 -1
- data/include/grpc/support/slice_buffer.h +1 -1
- data/include/grpc/support/string_util.h +3 -1
- data/include/grpc/support/subprocess.h +2 -2
- data/include/grpc/support/sync.h +1 -1
- data/include/grpc/support/sync_generic.h +1 -1
- data/include/grpc/support/sync_posix.h +1 -1
- data/include/grpc/support/sync_win32.h +1 -1
- data/include/grpc/support/thd.h +1 -1
- data/include/grpc/support/time.h +1 -1
- data/include/grpc/support/tls.h +1 -1
- data/include/grpc/support/tls_gcc.h +45 -1
- data/include/grpc/support/tls_msvc.h +3 -3
- data/include/grpc/support/tls_pthread.h +1 -1
- data/include/grpc/support/useful.h +1 -1
- data/src/boringssl/err_data.c +258 -252
- data/src/core/{census → ext/census}/aggregation.h +3 -3
- data/src/core/{statistics → ext/census}/census_interface.h +3 -3
- data/src/core/{statistics → ext/census}/census_rpc_stats.h +4 -4
- data/src/core/{census → ext/census}/context.c +2 -2
- data/src/core/{census → ext/census}/grpc_context.c +2 -2
- data/src/core/{census → ext/census}/grpc_filter.c +30 -16
- data/src/core/{census → ext/census}/grpc_filter.h +4 -4
- data/src/core/ext/census/grpc_plugin.c +82 -0
- data/src/core/{census → ext/census}/initialize.c +1 -1
- data/src/core/{census → ext/census}/mlog.c +2 -2
- data/src/core/{census → ext/census}/mlog.h +4 -4
- data/src/core/{census → ext/census}/operation.c +0 -0
- data/src/core/{census → ext/census}/placeholders.c +0 -0
- data/src/core/{census → ext/census}/rpc_metric_id.h +3 -3
- data/src/core/{census → ext/census}/tracing.c +0 -0
- data/src/core/{surface → ext/client_config}/channel_connectivity.c +8 -21
- data/src/core/{channel → ext/client_config}/client_channel.c +80 -35
- data/src/core/{channel → ext/client_config}/client_channel.h +5 -5
- data/src/core/{client_config/subchannel_factory.c → ext/client_config/client_channel_factory.c} +14 -6
- data/src/core/ext/client_config/client_channel_factory.h +85 -0
- data/src/core/{client_config → ext/client_config}/client_config.c +4 -2
- data/src/core/{client_config → ext/client_config}/client_config.h +4 -4
- data/src/core/ext/client_config/client_config_plugin.c +95 -0
- data/src/core/{client_config → ext/client_config}/connector.c +2 -2
- data/src/core/{client_config → ext/client_config}/connector.h +7 -10
- data/src/core/{client_config → ext/client_config}/default_initial_connect_string.c +1 -1
- data/src/core/{client_config → ext/client_config}/initial_connect_string.c +1 -1
- data/src/core/{client_config → ext/client_config}/initial_connect_string.h +4 -4
- data/src/core/{client_config → ext/client_config}/lb_policy.c +12 -3
- data/src/core/{client_config → ext/client_config}/lb_policy.h +19 -6
- data/src/core/{client_config → ext/client_config}/lb_policy_factory.c +4 -3
- data/src/core/{client_config → ext/client_config}/lb_policy_factory.h +14 -9
- data/src/core/{client_config → ext/client_config}/lb_policy_registry.c +4 -9
- data/src/core/{client_config → ext/client_config}/lb_policy_registry.h +7 -6
- data/src/core/ext/client_config/parse_address.c +137 -0
- data/src/core/ext/client_config/parse_address.h +56 -0
- data/src/core/{client_config → ext/client_config}/resolver.c +1 -1
- data/src/core/{client_config → ext/client_config}/resolver.h +6 -6
- data/src/core/{client_config → ext/client_config}/resolver_factory.c +1 -1
- data/src/core/{client_config → ext/client_config}/resolver_factory.h +7 -7
- data/src/core/{client_config → ext/client_config}/resolver_registry.c +25 -11
- data/src/core/{client_config → ext/client_config}/resolver_registry.h +9 -5
- data/src/core/{client_config → ext/client_config}/subchannel.c +90 -126
- data/src/core/{client_config → ext/client_config}/subchannel.h +15 -15
- data/src/core/{channel → ext/client_config}/subchannel_call_holder.c +9 -8
- data/src/core/{channel → ext/client_config}/subchannel_call_holder.h +7 -7
- data/src/core/{client_config → ext/client_config}/subchannel_index.c +3 -2
- data/src/core/{client_config → ext/client_config}/subchannel_index.h +5 -5
- data/src/core/{client_config → ext/client_config}/uri_parser.c +69 -1
- data/src/core/{client_config → ext/client_config}/uri_parser.h +15 -3
- data/src/core/{client_config/lb_policies → ext/lb_policy/grpclb}/load_balancer_api.c +18 -9
- data/src/core/{client_config/lb_policies → ext/lb_policy/grpclb}/load_balancer_api.h +5 -5
- data/src/core/{proto → ext/lb_policy/grpclb/proto}/grpc/lb/v0/load_balancer.pb.c +1 -1
- data/src/core/{proto → ext/lb_policy/grpclb/proto}/grpc/lb/v0/load_balancer.pb.h +0 -0
- data/src/core/{client_config/lb_policies → ext/lb_policy/pick_first}/pick_first.c +95 -32
- data/src/core/{client_config/lb_policies → ext/lb_policy/round_robin}/round_robin.c +98 -34
- data/src/core/{client_config/resolvers → ext/resolver/dns/native}/dns_resolver.c +83 -39
- data/src/core/{client_config/resolvers → ext/resolver/sockaddr}/sockaddr_resolver.c +66 -169
- data/src/core/{transport/chttp2 → ext/transport/chttp2/alpn}/alpn.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/alpn}/alpn.h +3 -3
- data/src/core/{surface → ext/transport/chttp2/client/insecure}/channel_create.c +65 -59
- data/src/core/{surface → ext/transport/chttp2/client/secure}/secure_channel_create.c +77 -69
- data/src/core/{surface → ext/transport/chttp2/server/insecure}/server_chttp2.c +8 -11
- data/src/core/{security → ext/transport/chttp2/server/secure}/server_secure_chttp2.c +14 -17
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/bin_encoder.c +28 -74
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/bin_encoder.h +5 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +46 -0
- data/src/core/{transport → ext/transport/chttp2/transport}/chttp2_transport.c +551 -310
- data/src/core/{transport → ext/transport/chttp2/transport}/chttp2_transport.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_data.c +30 -14
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_data.h +10 -7
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_goaway.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_goaway.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_ping.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_ping.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_rst_stream.c +9 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_rst_stream.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_settings.c +6 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_settings.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_window_update.c +11 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_window_update.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_encoder.c +21 -12
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_encoder.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_parser.c +42 -25
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_parser.h +7 -7
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_table.c +21 -11
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_table.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/http2_errors.h +3 -3
- data/src/core/ext/transport/chttp2/transport/huffsyms.c +105 -0
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/huffsyms.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/incoming_metadata.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/incoming_metadata.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/internal.h +81 -37
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/parsing.c +54 -21
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/status_conversion.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/status_conversion.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_lists.c +10 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_map.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_map.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/timeout_encoding.c +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/timeout_encoding.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/varint.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/varint.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/writing.c +30 -20
- data/src/core/{channel → lib/channel}/channel_args.c +3 -15
- data/src/core/{channel → lib/channel}/channel_args.h +11 -15
- data/src/core/{channel → lib/channel}/channel_stack.c +5 -3
- data/src/core/{channel → lib/channel}/channel_stack.h +13 -8
- data/src/core/lib/channel/channel_stack_builder.c +277 -0
- data/src/core/lib/channel/channel_stack_builder.h +161 -0
- data/src/core/{channel → lib/channel}/compress_filter.c +51 -16
- data/src/core/{channel → lib/channel}/compress_filter.h +6 -4
- data/src/core/{channel → lib/channel}/connected_channel.c +34 -24
- data/src/core/lib/channel/connected_channel.h +42 -0
- data/src/core/{channel → lib/channel}/context.h +3 -3
- data/src/core/{channel → lib/channel}/http_client_filter.c +24 -13
- data/src/core/{channel → lib/channel}/http_client_filter.h +4 -4
- data/src/core/{channel → lib/channel}/http_server_filter.c +39 -19
- data/src/core/{channel → lib/channel}/http_server_filter.h +4 -4
- data/src/core/{compression → lib/compression}/algorithm_metadata.h +4 -4
- data/src/core/{compression → lib/compression}/compression_algorithm.c +46 -9
- data/src/core/{compression → lib/compression}/message_compress.c +1 -1
- data/src/core/{compression → lib/compression}/message_compress.h +3 -3
- data/src/core/{debug → lib/debug}/trace.c +2 -2
- data/src/core/{debug → lib/debug}/trace.h +3 -3
- data/src/core/{httpcli → lib/http}/format_request.c +8 -8
- data/src/core/{httpcli → lib/http}/format_request.h +4 -4
- data/src/core/{httpcli → lib/http}/httpcli.c +24 -19
- data/src/core/{httpcli → lib/http}/httpcli.h +14 -33
- data/src/core/{httpcli → lib/http}/httpcli_security_connector.c +5 -5
- data/src/core/lib/http/parser.c +341 -0
- data/src/core/lib/http/parser.h +119 -0
- data/src/core/{iomgr → lib/iomgr}/closure.c +8 -2
- data/src/core/{iomgr → lib/iomgr}/closure.h +7 -4
- data/src/core/{iomgr → lib/iomgr}/endpoint.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/endpoint.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair_posix.c +8 -7
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair_windows.c +4 -4
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +1936 -0
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.h +41 -0
- data/src/core/lib/iomgr/ev_posix.c +164 -0
- data/src/core/lib/iomgr/ev_posix.h +158 -0
- data/src/core/{iomgr → lib/iomgr}/exec_ctx.c +78 -3
- data/src/core/{iomgr → lib/iomgr}/exec_ctx.h +25 -10
- data/src/core/{iomgr → lib/iomgr}/executor.c +3 -3
- data/src/core/{iomgr → lib/iomgr}/executor.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/iocp_windows.c +6 -6
- data/src/core/{iomgr → lib/iomgr}/iocp_windows.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/iomgr.c +13 -10
- data/src/core/{iomgr → lib/iomgr}/iomgr.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/iomgr_internal.h +5 -9
- data/src/core/{iomgr → lib/iomgr}/iomgr_posix.c +6 -6
- data/src/core/{iomgr → lib/iomgr}/iomgr_posix.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/iomgr_windows.c +7 -4
- data/src/core/{iomgr → lib/iomgr}/pollset.h +11 -11
- data/src/core/{iomgr → lib/iomgr}/pollset_set.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/pollset_set_windows.c +2 -2
- data/src/core/lib/iomgr/pollset_set_windows.h +39 -0
- data/src/core/{iomgr → lib/iomgr}/pollset_windows.c +7 -7
- data/src/core/{iomgr → lib/iomgr}/pollset_windows.h +8 -5
- data/src/core/{iomgr → lib/iomgr}/resolve_address.h +10 -9
- data/src/core/{iomgr → lib/iomgr}/resolve_address_posix.c +22 -22
- data/src/core/{iomgr → lib/iomgr}/resolve_address_windows.c +20 -12
- data/src/core/{iomgr → lib/iomgr}/sockaddr.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/sockaddr_posix.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/sockaddr_utils.c +9 -16
- data/src/core/{iomgr → lib/iomgr}/sockaddr_utils.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/sockaddr_win32.h +6 -4
- data/src/core/{iomgr → lib/iomgr}/socket_utils_common_posix.c +29 -7
- data/src/core/{iomgr → lib/iomgr}/socket_utils_linux.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/socket_utils_posix.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/socket_utils_posix.h +14 -4
- data/src/core/{iomgr → lib/iomgr}/socket_windows.c +7 -5
- data/src/core/{iomgr → lib/iomgr}/socket_windows.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_client.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_client_posix.c +33 -18
- data/src/core/{iomgr → lib/iomgr}/tcp_client_windows.c +30 -20
- data/src/core/{iomgr → lib/iomgr}/tcp_posix.c +9 -10
- data/src/core/{iomgr → lib/iomgr}/tcp_posix.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_server.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_server_posix.c +24 -37
- data/src/core/{iomgr → lib/iomgr}/tcp_server_windows.c +8 -36
- data/src/core/{iomgr → lib/iomgr}/tcp_windows.c +27 -17
- data/src/core/{iomgr → lib/iomgr}/tcp_windows.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/time_averaged_stats.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/time_averaged_stats.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/timer.c +31 -4
- data/src/core/{iomgr → lib/iomgr}/timer.h +6 -7
- data/src/core/{iomgr → lib/iomgr}/timer_heap.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/timer_heap.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/udp_server.c +13 -37
- data/src/core/{iomgr → lib/iomgr}/udp_server.h +11 -10
- data/src/core/lib/iomgr/unix_sockets_posix.c +89 -0
- data/src/core/{client_config/resolvers/sockaddr_resolver.h → lib/iomgr/unix_sockets_posix.h} +15 -11
- data/src/core/lib/iomgr/unix_sockets_posix_noop.c +59 -0
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_eventfd.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_nospecial.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_pipe.c +8 -3
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_pipe.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_posix.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_posix.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/workqueue.h +10 -10
- data/src/core/{iomgr → lib/iomgr}/workqueue_posix.c +5 -6
- data/src/core/{iomgr → lib/iomgr}/workqueue_posix.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/workqueue_windows.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/workqueue_windows.h +3 -3
- data/src/core/{json → lib/json}/json.c +1 -1
- data/src/core/{json → lib/json}/json.h +4 -4
- data/src/core/{json → lib/json}/json_common.h +3 -3
- data/src/core/{json → lib/json}/json_reader.c +16 -4
- data/src/core/{json → lib/json}/json_reader.h +4 -4
- data/src/core/{json → lib/json}/json_string.c +4 -4
- data/src/core/{json → lib/json}/json_writer.c +1 -1
- data/src/core/{json → lib/json}/json_writer.h +4 -4
- data/src/core/{profiling → lib/profiling}/basic_timers.c +3 -2
- data/src/core/{profiling → lib/profiling}/stap_timers.c +2 -2
- data/src/core/{profiling → lib/profiling}/timers.h +3 -3
- data/src/core/{security → lib/security}/auth_filters.h +4 -4
- data/src/core/{security → lib/security}/b64.c +2 -2
- data/src/core/{security → lib/security}/b64.h +4 -4
- data/src/core/{security → lib/security}/client_auth_filter.c +16 -16
- data/src/core/{security → lib/security}/credentials.c +42 -26
- data/src/core/{security → lib/security}/credentials.h +11 -10
- data/src/core/{security → lib/security}/credentials_metadata.c +1 -1
- data/src/core/{security → lib/security}/credentials_posix.c +3 -3
- data/src/core/{security → lib/security}/credentials_win32.c +3 -3
- data/src/core/{security → lib/security}/google_default_credentials.c +10 -9
- data/src/core/{security → lib/security}/handshake.c +4 -4
- data/src/core/{security → lib/security}/handshake.h +6 -6
- data/src/core/{security → lib/security}/json_token.c +4 -4
- data/src/core/{security → lib/security}/json_token.h +4 -4
- data/src/core/{security → lib/security}/jwt_verifier.c +14 -14
- data/src/core/{security → lib/security}/jwt_verifier.h +5 -5
- data/src/core/{security → lib/security}/secure_endpoint.c +9 -8
- data/src/core/{security → lib/security}/secure_endpoint.h +4 -4
- data/src/core/{security → lib/security}/security_connector.c +53 -21
- data/src/core/{security → lib/security}/security_connector.h +8 -8
- data/src/core/{security → lib/security}/security_context.c +5 -5
- data/src/core/{security → lib/security}/security_context.h +5 -5
- data/src/core/{security → lib/security}/server_auth_filter.c +9 -9
- data/src/core/{support → lib/support}/alloc.c +5 -3
- data/src/core/{support → lib/support}/avl.c +1 -1
- data/src/core/lib/support/backoff.c +76 -0
- data/src/core/lib/support/backoff.h +68 -0
- data/src/core/{support → lib/support}/block_annotate.h +3 -3
- data/src/core/{support → lib/support}/cmdline.c +1 -1
- data/src/core/{support → lib/support}/cpu_iphone.c +0 -0
- data/src/core/{support → lib/support}/cpu_linux.c +2 -2
- data/src/core/{support → lib/support}/cpu_posix.c +2 -2
- data/src/core/{support → lib/support}/cpu_windows.c +0 -0
- data/src/core/{support → lib/support}/env.h +3 -3
- data/src/core/{support → lib/support}/env_linux.c +3 -3
- data/src/core/{support → lib/support}/env_posix.c +2 -2
- data/src/core/{support → lib/support}/env_win32.c +27 -21
- data/src/core/{support → lib/support}/histogram.c +1 -1
- data/src/core/{support → lib/support}/host_port.c +1 -1
- data/src/core/{support → lib/support}/load_file.c +4 -4
- data/src/core/{support → lib/support}/load_file.h +4 -4
- data/src/core/{support → lib/support}/log.c +33 -0
- data/src/core/{support → lib/support}/log_android.c +2 -2
- data/src/core/{support → lib/support}/log_linux.c +6 -5
- data/src/core/{support → lib/support}/log_posix.c +3 -3
- data/src/core/{support → lib/support}/log_win32.c +8 -22
- data/src/core/{support → lib/support}/murmur_hash.c +1 -1
- data/src/core/{support → lib/support}/murmur_hash.h +3 -3
- data/src/core/{support → lib/support}/slice.c +0 -0
- data/src/core/{support → lib/support}/slice_buffer.c +0 -0
- data/src/core/{support → lib/support}/stack_lockfree.c +7 -7
- data/src/core/{support → lib/support}/stack_lockfree.h +3 -3
- data/src/core/{support → lib/support}/string.c +1 -1
- data/src/core/{support → lib/support}/string.h +4 -4
- data/src/core/{support → lib/support}/string_posix.c +1 -1
- data/src/core/{support/string_win32.c → lib/support/string_util_win32.c} +23 -38
- data/src/core/lib/support/string_win32.c +83 -0
- data/src/core/{support → lib/support}/string_win32.h +3 -3
- data/src/core/{support → lib/support}/subprocess_posix.c +3 -3
- data/src/core/{support → lib/support}/subprocess_windows.c +3 -3
- data/src/core/{support → lib/support}/sync.c +2 -2
- data/src/core/{support → lib/support}/sync_posix.c +3 -3
- data/src/core/{support → lib/support}/sync_win32.c +1 -1
- data/src/core/{support → lib/support}/thd.c +0 -0
- data/src/core/{support → lib/support}/thd_internal.h +3 -3
- data/src/core/{support → lib/support}/thd_posix.c +4 -3
- data/src/core/{support → lib/support}/thd_win32.c +1 -1
- data/src/core/{support → lib/support}/time.c +2 -2
- data/src/core/{support → lib/support}/time_posix.c +12 -6
- data/src/core/{support → lib/support}/time_precise.c +0 -0
- data/src/core/{support → lib/support}/time_precise.h +3 -3
- data/src/core/{support → lib/support}/time_win32.c +7 -7
- data/src/core/{support → lib/support}/tls_pthread.c +0 -0
- data/src/core/{support → lib/support}/tmpfile.h +4 -4
- data/src/core/lib/support/tmpfile_msys.c +73 -0
- data/src/core/{support → lib/support}/tmpfile_posix.c +5 -5
- data/src/core/{support → lib/support}/tmpfile_win32.c +5 -5
- data/src/core/{support → lib/support}/wrap_memcpy.c +0 -0
- data/src/core/{surface → lib/surface}/alarm.c +3 -3
- data/src/core/{surface → lib/surface}/api_trace.c +1 -1
- data/src/core/{surface → lib/surface}/api_trace.h +4 -4
- data/src/core/{surface → lib/surface}/byte_buffer.c +3 -3
- data/src/core/{surface → lib/surface}/byte_buffer_reader.c +3 -3
- data/src/core/{surface → lib/surface}/call.c +145 -73
- data/src/core/{surface → lib/surface}/call.h +14 -7
- data/src/core/{surface → lib/surface}/call_details.c +1 -1
- data/src/core/{surface → lib/surface}/call_log_batch.c +2 -2
- data/src/core/{surface → lib/surface}/call_test_only.h +3 -3
- data/src/core/{surface → lib/surface}/channel.c +33 -34
- data/src/core/{surface → lib/surface}/channel.h +9 -9
- data/src/core/lib/surface/channel_init.c +140 -0
- data/src/core/lib/surface/channel_init.h +87 -0
- data/src/core/{surface → lib/surface}/channel_ping.c +4 -4
- data/src/core/lib/surface/channel_stack_type.c +54 -0
- data/src/core/{httpcli/parser.h → lib/surface/channel_stack_type.h} +22 -28
- data/src/core/{surface → lib/surface}/completion_queue.c +15 -11
- data/src/core/{surface → lib/surface}/completion_queue.h +4 -4
- data/src/core/{surface → lib/surface}/event_string.c +2 -2
- data/src/core/{surface → lib/surface}/event_string.h +3 -3
- data/src/core/lib/surface/init.c +217 -0
- data/src/core/{surface → lib/surface}/init.h +4 -3
- data/src/core/lib/surface/init_secure.c +89 -0
- data/src/core/{surface → lib/surface}/lame_client.c +31 -19
- data/src/core/{iomgr/pollset_set_windows.h → lib/surface/lame_client.h} +7 -5
- data/src/core/{surface → lib/surface}/metadata_array.c +1 -1
- data/src/core/{surface → lib/surface}/server.c +208 -183
- data/src/core/{surface → lib/surface}/server.h +6 -11
- data/src/core/{surface → lib/surface}/surface_trace.h +5 -5
- data/src/core/{surface → lib/surface}/validate_metadata.c +1 -1
- data/src/core/{surface → lib/surface}/version.c +2 -2
- data/src/core/{transport → lib/transport}/byte_stream.c +1 -1
- data/src/core/{transport → lib/transport}/byte_stream.h +4 -4
- data/src/core/{transport → lib/transport}/connectivity_state.c +2 -2
- data/src/core/{transport → lib/transport}/connectivity_state.h +4 -4
- data/src/core/{transport → lib/transport}/metadata.c +71 -19
- data/src/core/{transport → lib/transport}/metadata.h +11 -4
- data/src/core/{transport → lib/transport}/metadata_batch.c +2 -2
- data/src/core/{transport → lib/transport}/metadata_batch.h +4 -4
- data/src/core/{transport → lib/transport}/static_metadata.c +100 -32
- data/src/core/{transport → lib/transport}/static_metadata.h +58 -58
- data/src/core/{transport → lib/transport}/transport.c +25 -5
- data/src/core/{transport → lib/transport}/transport.h +41 -16
- data/src/core/{transport → lib/transport}/transport_impl.h +8 -5
- data/src/core/{transport → lib/transport}/transport_op_string.c +2 -2
- data/src/core/{tsi → lib/tsi}/fake_transport_security.c +18 -14
- data/src/core/{tsi → lib/tsi}/fake_transport_security.h +4 -4
- data/src/core/{tsi → lib/tsi}/ssl_transport_security.c +173 -63
- data/src/core/{tsi → lib/tsi}/ssl_transport_security.h +24 -6
- data/src/core/{tsi → lib/tsi}/ssl_types.h +3 -3
- data/src/core/{tsi → lib/tsi}/transport_security.c +12 -28
- data/src/core/{tsi → lib/tsi}/transport_security.h +4 -4
- data/src/core/{tsi → lib/tsi}/transport_security_interface.h +12 -3
- data/src/core/plugin_registry/grpc_plugin_registry.c +66 -0
- data/src/ruby/ext/grpc/extconf.rb +14 -20
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -3
- data/src/ruby/ext/grpc/rb_call.c +37 -4
- data/src/ruby/ext/grpc/rb_call_credentials.c +13 -3
- data/src/ruby/ext/grpc/rb_channel.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_credentials.c +31 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +2 -2
- data/src/ruby/ext/grpc/rb_event_thread.c +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +8 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +14 -2
- data/src/ruby/ext/grpc/rb_server.c +2 -3
- data/src/ruby/ext/grpc/rb_server_credentials.c +16 -13
- data/src/ruby/ext/grpc/rb_signal.c +70 -0
- data/src/ruby/ext/grpc/rb_signal.h +39 -0
- data/src/ruby/lib/grpc.rb +21 -13
- 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/active_call.rb +10 -3
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +10 -7
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +2 -2
- data/src/ruby/lib/grpc/generic/rpc_server.rb +21 -61
- data/src/ruby/lib/grpc/generic/service.rb +5 -15
- data/src/ruby/lib/grpc/grpc.rb +3 -3
- data/src/ruby/{bin/interop/interop_server.rb → lib/grpc/signals.rb} +39 -20
- data/src/ruby/lib/grpc/version.rb +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +9 -2
- data/src/ruby/pb/grpc/health/checker.rb +1 -1
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services.rb +27 -0
- data/src/ruby/pb/test/client.rb +12 -23
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +18 -17
- data/src/ruby/spec/generic/rpc_server_spec.rb +23 -7
- data/src/ruby/spec/generic/service_spec.rb +0 -69
- data/src/ruby/{bin/interop/interop_client.rb → spec/pb/duplicate/codegen_spec.rb} +41 -21
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +184 -176
- data/third_party/boringssl/crypto/asn1/a_bool.c +42 -44
- data/third_party/boringssl/crypto/asn1/a_bytes.c +236 -245
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +173 -192
- data/third_party/boringssl/crypto/asn1/a_dup.c +43 -35
- data/third_party/boringssl/crypto/asn1/a_enum.c +107 -109
- data/third_party/boringssl/crypto/asn1/a_gentm.c +180 -181
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +73 -80
- data/third_party/boringssl/crypto/asn1/a_int.c +357 -353
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +272 -253
- data/third_party/boringssl/crypto/asn1/a_object.c +293 -309
- data/third_party/boringssl/crypto/asn1/a_octet.c +13 -6
- data/third_party/boringssl/crypto/asn1/a_print.c +54 -52
- data/third_party/boringssl/crypto/asn1/a_strnid.c +179 -157
- data/third_party/boringssl/crypto/asn1/a_time.c +125 -129
- data/third_party/boringssl/crypto/asn1/a_type.c +79 -86
- data/third_party/boringssl/crypto/asn1/a_utctm.c +246 -255
- data/third_party/boringssl/crypto/asn1/a_utf8.c +159 -135
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +361 -368
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +11 -11
- data/third_party/boringssl/crypto/asn1/asn1_par.c +309 -351
- data/third_party/boringssl/crypto/asn1/asn_pack.c +30 -29
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +375 -394
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +146 -149
- data/third_party/boringssl/crypto/asn1/f_enum.c +128 -134
- data/third_party/boringssl/crypto/asn1/f_int.c +131 -139
- data/third_party/boringssl/crypto/asn1/f_string.c +125 -133
- data/third_party/boringssl/crypto/asn1/t_bitst.c +30 -29
- data/third_party/boringssl/crypto/asn1/t_pkey.c +45 -47
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +1099 -1216
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +556 -592
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +175 -193
- data/third_party/boringssl/crypto/asn1/tasn_new.c +271 -288
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +462 -508
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +28 -21
- data/third_party/boringssl/crypto/asn1/x_bignum.c +62 -52
- data/third_party/boringssl/crypto/asn1/x_long.c +101 -86
- data/third_party/boringssl/crypto/bio/buffer.c +3 -3
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +8 -68
- data/third_party/boringssl/crypto/bn/bn.c +1 -1
- data/third_party/boringssl/crypto/bn/bn_asn1.c +9 -22
- data/third_party/boringssl/crypto/bn/convert.c +9 -4
- data/third_party/boringssl/crypto/bn/div.c +0 -20
- data/third_party/boringssl/crypto/bn/exponentiation.c +22 -13
- data/third_party/boringssl/crypto/bn/generic.c +6 -242
- data/third_party/boringssl/crypto/bn/internal.h +9 -70
- data/third_party/boringssl/crypto/bn/montgomery.c +1 -2
- data/third_party/boringssl/crypto/bn/mul.c +6 -26
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +21 -28
- data/third_party/boringssl/crypto/bytestring/asn1_compat.c +51 -0
- data/third_party/boringssl/crypto/bytestring/ber.c +128 -87
- data/third_party/boringssl/crypto/bytestring/cbb.c +37 -3
- data/third_party/boringssl/crypto/bytestring/internal.h +39 -10
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +18 -13
- data/third_party/boringssl/crypto/cipher/e_aes.c +2 -2
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +4 -9
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +39 -10
- data/third_party/boringssl/crypto/conf/conf.c +9 -0
- data/third_party/boringssl/crypto/cpu-intel.c +1 -1
- data/third_party/boringssl/crypto/crypto.c +2 -0
- data/third_party/boringssl/crypto/curve25519/curve25519.c +125 -120
- data/third_party/boringssl/crypto/curve25519/internal.h +45 -0
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +225 -0
- data/third_party/boringssl/crypto/dh/check.c +32 -10
- data/third_party/boringssl/crypto/dh/dh.c +1 -1
- data/third_party/boringssl/crypto/digest/md32_common.h +0 -60
- data/third_party/boringssl/crypto/dsa/dsa.c +47 -21
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +249 -64
- data/third_party/boringssl/crypto/ec/ec.c +45 -31
- data/third_party/boringssl/crypto/ec/ec_asn1.c +315 -382
- data/third_party/boringssl/crypto/ec/ec_key.c +1 -4
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -9
- data/third_party/boringssl/crypto/ec/internal.h +1 -19
- data/third_party/boringssl/crypto/ec/oct.c +12 -0
- data/third_party/boringssl/crypto/ec/p224-64.c +4 -65
- data/third_party/boringssl/crypto/ec/p256-64.c +9 -71
- data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +1 -6
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +3 -13
- data/third_party/boringssl/crypto/ec/simple.c +0 -76
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +1 -1
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +10 -24
- data/third_party/boringssl/crypto/evp/evp.c +4 -3
- data/third_party/boringssl/crypto/evp/evp_asn1.c +101 -0
- data/third_party/boringssl/crypto/evp/evp_ctx.c +22 -51
- data/third_party/boringssl/crypto/evp/internal.h +28 -27
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +78 -249
- data/third_party/boringssl/crypto/evp/p_ec.c +19 -66
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +74 -231
- data/third_party/boringssl/crypto/evp/p_rsa.c +90 -13
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +49 -48
- data/third_party/boringssl/crypto/internal.h +16 -1
- data/third_party/boringssl/crypto/mem.c +2 -2
- data/third_party/boringssl/crypto/modes/ctr.c +2 -1
- data/third_party/boringssl/crypto/modes/gcm.c +5 -3
- data/third_party/boringssl/crypto/obj/obj_dat.h +6 -3
- data/third_party/boringssl/crypto/pem/pem_all.c +83 -102
- data/third_party/boringssl/crypto/pem/pem_info.c +286 -309
- data/third_party/boringssl/crypto/pem/pem_lib.c +690 -710
- data/third_party/boringssl/crypto/pem/pem_oth.c +15 -16
- data/third_party/boringssl/crypto/pem/pem_pk8.c +132 -119
- data/third_party/boringssl/crypto/pem/pem_pkey.c +144 -220
- data/third_party/boringssl/crypto/pem/pem_x509.c +3 -3
- data/third_party/boringssl/crypto/pem/pem_xaux.c +5 -4
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +54 -60
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +3 -1
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +48 -50
- data/third_party/boringssl/crypto/rand/rand.c +2 -0
- data/third_party/boringssl/crypto/rsa/blinding.c +8 -48
- data/third_party/boringssl/crypto/rsa/internal.h +1 -9
- data/third_party/boringssl/crypto/rsa/padding.c +73 -77
- data/third_party/boringssl/crypto/rsa/rsa.c +1 -1
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +27 -46
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +23 -34
- data/third_party/boringssl/crypto/test/scoped_types.h +3 -0
- data/third_party/boringssl/crypto/thread_win.c +15 -13
- data/third_party/boringssl/crypto/time_support.c +0 -6
- data/third_party/boringssl/crypto/x509/a_digest.c +26 -27
- data/third_party/boringssl/crypto/x509/a_sign.c +63 -64
- data/third_party/boringssl/crypto/x509/a_strex.c +482 -413
- data/third_party/boringssl/crypto/x509/a_verify.c +45 -51
- data/third_party/boringssl/crypto/x509/asn1_gen.c +715 -769
- data/third_party/boringssl/crypto/x509/by_dir.c +355 -393
- data/third_party/boringssl/crypto/x509/by_file.c +186 -206
- data/third_party/boringssl/crypto/x509/charmap.h +11 -11
- data/third_party/boringssl/crypto/x509/i2d_pr.c +21 -22
- data/third_party/boringssl/crypto/x509/t_crl.c +50 -51
- data/third_party/boringssl/crypto/x509/t_x509.c +414 -406
- data/third_party/boringssl/crypto/x509/t_x509a.c +44 -42
- data/third_party/boringssl/crypto/x509/vpm_int.h +13 -13
- data/third_party/boringssl/crypto/x509/x509_att.c +241 -219
- data/third_party/boringssl/crypto/x509/x509_cmp.c +343 -359
- data/third_party/boringssl/crypto/x509/x509_d2.c +36 -35
- data/third_party/boringssl/crypto/x509/x509_def.c +23 -13
- data/third_party/boringssl/crypto/x509/x509_ext.c +75 -75
- data/third_party/boringssl/crypto/x509/x509_lu.c +574 -612
- data/third_party/boringssl/crypto/x509/x509_obj.c +104 -115
- data/third_party/boringssl/crypto/x509/x509_r2x.c +40 -40
- data/third_party/boringssl/crypto/x509/x509_req.c +181 -174
- data/third_party/boringssl/crypto/x509/x509_set.c +71 -76
- data/third_party/boringssl/crypto/x509/x509_trs.c +193 -171
- data/third_party/boringssl/crypto/x509/x509_txt.c +135 -138
- data/third_party/boringssl/crypto/x509/x509_v3.c +174 -167
- data/third_party/boringssl/crypto/x509/x509_vfy.c +2079 -2130
- data/third_party/boringssl/crypto/x509/x509_vpm.c +486 -522
- data/third_party/boringssl/crypto/x509/x509cset.c +96 -99
- data/third_party/boringssl/crypto/x509/x509name.c +280 -275
- data/third_party/boringssl/crypto/x509/x509rset.c +15 -14
- data/third_party/boringssl/crypto/x509/x509spki.c +62 -60
- data/third_party/boringssl/crypto/x509/x509type.c +58 -60
- data/third_party/boringssl/crypto/x509/x_algor.c +70 -73
- data/third_party/boringssl/crypto/x509/x_all.c +282 -328
- data/third_party/boringssl/crypto/x509/x_attrib.c +36 -42
- data/third_party/boringssl/crypto/x509/x_crl.c +397 -418
- data/third_party/boringssl/crypto/x509/x_exten.c +5 -5
- data/third_party/boringssl/crypto/x509/x_info.c +30 -27
- data/third_party/boringssl/crypto/x509/x_name.c +387 -388
- data/third_party/boringssl/crypto/x509/x_pkey.c +32 -29
- data/third_party/boringssl/crypto/x509/x_pubkey.c +261 -280
- data/third_party/boringssl/crypto/x509/x_req.c +30 -33
- data/third_party/boringssl/crypto/x509/x_sig.c +2 -2
- data/third_party/boringssl/crypto/x509/x_spki.c +9 -7
- data/third_party/boringssl/crypto/x509/x_val.c +2 -2
- data/third_party/boringssl/crypto/x509/x_x509.c +120 -119
- data/third_party/boringssl/crypto/x509/x_x509a.c +99 -91
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +57 -51
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +199 -214
- data/third_party/boringssl/crypto/x509v3/pcy_data.c +57 -64
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +95 -90
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +86 -87
- data/third_party/boringssl/crypto/x509v3/pcy_map.c +61 -64
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +108 -117
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +676 -724
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +128 -136
- data/third_party/boringssl/crypto/x509v3/v3_akeya.c +7 -6
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +499 -507
- data/third_party/boringssl/crypto/x509v3/v3_bcons.c +54 -47
- data/third_party/boringssl/crypto/x509v3/v3_bitst.c +67 -67
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +330 -328
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +354 -338
- data/third_party/boringssl/crypto/x509v3/v3_crld.c +441 -496
- data/third_party/boringssl/crypto/x509v3/v3_enum.c +35 -33
- data/third_party/boringssl/crypto/x509v3/v3_extku.c +66 -63
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +157 -159
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +45 -43
- data/third_party/boringssl/crypto/x509v3/v3_info.c +124 -112
- data/third_party/boringssl/crypto/x509v3/v3_int.c +30 -26
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +231 -204
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +353 -381
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +252 -270
- data/third_party/boringssl/crypto/x509v3/v3_pcia.c +9 -8
- data/third_party/boringssl/crypto/x509v3/v3_pcons.c +58 -61
- data/third_party/boringssl/crypto/x509v3/v3_pku.c +35 -34
- data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +72 -74
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +146 -121
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +651 -582
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +76 -72
- data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +139 -131
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +1072 -1068
- data/third_party/boringssl/include/openssl/asn1.h +40 -38
- data/third_party/boringssl/include/openssl/base.h +10 -1
- data/third_party/boringssl/include/openssl/bio.h +10 -11
- data/third_party/boringssl/include/openssl/bn.h +12 -9
- data/third_party/boringssl/include/openssl/buf.h +1 -1
- data/third_party/boringssl/include/openssl/bytestring.h +29 -0
- data/third_party/boringssl/include/openssl/conf.h +25 -0
- data/third_party/boringssl/include/openssl/crypto.h +6 -1
- data/third_party/boringssl/include/openssl/curve25519.h +6 -3
- data/third_party/boringssl/include/openssl/dh.h +7 -3
- data/third_party/boringssl/include/openssl/dsa.h +108 -51
- data/third_party/boringssl/include/openssl/ec.h +46 -21
- data/third_party/boringssl/include/openssl/ec_key.h +78 -42
- data/third_party/boringssl/include/openssl/ecdsa.h +4 -4
- data/third_party/boringssl/include/openssl/err.h +3 -2
- data/third_party/boringssl/include/openssl/evp.h +120 -37
- data/third_party/boringssl/include/openssl/mem.h +4 -13
- data/third_party/boringssl/include/openssl/obj_mac.h +4 -0
- data/third_party/boringssl/include/openssl/pem.h +0 -9
- data/third_party/boringssl/include/openssl/pkcs8.h +6 -2
- data/third_party/boringssl/include/openssl/rand.h +3 -0
- data/third_party/boringssl/include/openssl/rsa.h +42 -42
- data/third_party/boringssl/include/openssl/ssl.h +115 -41
- data/third_party/boringssl/include/openssl/stack.h +0 -3
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -256
- data/third_party/boringssl/include/openssl/tls1.h +1 -1
- data/third_party/boringssl/include/openssl/x509.h +0 -2
- data/third_party/boringssl/include/openssl/x509_vfy.h +5 -0
- data/third_party/boringssl/ssl/d1_both.c +102 -101
- data/third_party/boringssl/ssl/d1_clnt.c +145 -150
- data/third_party/boringssl/ssl/d1_lib.c +63 -62
- data/third_party/boringssl/ssl/d1_pkt.c +73 -71
- data/third_party/boringssl/ssl/d1_srvr.c +116 -125
- data/third_party/boringssl/ssl/dtls_record.c +3 -3
- data/third_party/boringssl/ssl/internal.h +210 -208
- data/third_party/boringssl/ssl/pqueue/pqueue.c +2 -2
- data/third_party/boringssl/ssl/s3_both.c +116 -130
- data/third_party/boringssl/ssl/s3_clnt.c +589 -740
- data/third_party/boringssl/ssl/s3_enc.c +52 -151
- data/third_party/boringssl/ssl/s3_lib.c +70 -76
- data/third_party/boringssl/ssl/s3_pkt.c +105 -144
- data/third_party/boringssl/ssl/s3_srvr.c +542 -806
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +1 -1
- data/third_party/boringssl/ssl/ssl_cert.c +2 -2
- data/third_party/boringssl/ssl/ssl_cipher.c +7 -3
- data/third_party/boringssl/ssl/ssl_ecdh.c +374 -0
- data/third_party/boringssl/ssl/ssl_lib.c +260 -221
- data/third_party/boringssl/ssl/ssl_session.c +17 -17
- data/third_party/boringssl/ssl/t1_enc.c +128 -273
- data/third_party/boringssl/ssl/t1_lib.c +134 -258
- data/third_party/boringssl/ssl/test/test_config.h +2 -0
- data/third_party/boringssl/ssl/tls_record.c +52 -15
- metadata +385 -359
- data/src/core/channel/client_uchannel.c +0 -243
- data/src/core/channel/client_uchannel.h +0 -60
- data/src/core/channel/connected_channel.h +0 -51
- data/src/core/client_config/lb_policies/pick_first.h +0 -43
- data/src/core/client_config/resolvers/dns_resolver.h +0 -42
- data/src/core/client_config/subchannel_factory.h +0 -66
- data/src/core/httpcli/parser.c +0 -211
- data/src/core/iomgr/fd_posix.c +0 -451
- data/src/core/iomgr/fd_posix.h +0 -192
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +0 -324
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +0 -234
- data/src/core/iomgr/pollset_posix.c +0 -633
- data/src/core/iomgr/pollset_posix.h +0 -153
- data/src/core/iomgr/pollset_set_posix.c +0 -202
- data/src/core/iomgr/pollset_set_posix.h +0 -45
- data/src/core/surface/init.c +0 -174
- data/src/core/surface/init_secure.c +0 -42
- data/src/core/surface/server_create.c +0 -48
- data/src/core/transport/chttp2/huffsyms.c +0 -297
- data/src/ruby/bin/grpc_ruby_interop_client +0 -33
- data/src/ruby/bin/grpc_ruby_interop_server +0 -33
- data/third_party/boringssl/crypto/dsa/internal.h +0 -78
@@ -85,6 +85,9 @@ extern "C" {
|
|
85
85
|
#define V_ASN1_ANY -4 /* used in ASN1 template code */
|
86
86
|
|
87
87
|
#define V_ASN1_NEG 0x100 /* negative flag */
|
88
|
+
/* No supported universal tags may exceed this value, to avoid ambiguity with
|
89
|
+
* V_ASN1_NEG. */
|
90
|
+
#define V_ASN1_MAX_UNIVERSAL 0xff
|
88
91
|
|
89
92
|
#define V_ASN1_UNDEF -1
|
90
93
|
#define V_ASN1_EOC 0
|
@@ -1126,43 +1129,42 @@ OPENSSL_EXPORT int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_f
|
|
1126
1129
|
#define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 147
|
1127
1130
|
#define ASN1_R_INVALID_UTF8STRING 148
|
1128
1131
|
#define ASN1_R_LIST_ERROR 149
|
1129
|
-
#define
|
1130
|
-
#define
|
1131
|
-
#define
|
1132
|
-
#define
|
1133
|
-
#define
|
1134
|
-
#define
|
1135
|
-
#define
|
1136
|
-
#define
|
1137
|
-
#define
|
1138
|
-
#define
|
1139
|
-
#define
|
1140
|
-
#define
|
1141
|
-
#define
|
1142
|
-
#define
|
1143
|
-
#define
|
1144
|
-
#define
|
1145
|
-
#define
|
1146
|
-
#define
|
1147
|
-
#define
|
1148
|
-
#define
|
1149
|
-
#define
|
1150
|
-
#define
|
1151
|
-
#define
|
1152
|
-
#define
|
1153
|
-
#define
|
1154
|
-
#define
|
1155
|
-
#define
|
1156
|
-
#define
|
1157
|
-
#define
|
1158
|
-
#define
|
1159
|
-
#define
|
1160
|
-
#define
|
1161
|
-
#define
|
1162
|
-
#define
|
1163
|
-
#define
|
1164
|
-
#define
|
1165
|
-
#define
|
1166
|
-
#define ASN1_R_WRONG_TYPE 187
|
1132
|
+
#define ASN1_R_MISSING_ASN1_EOS 150
|
1133
|
+
#define ASN1_R_MISSING_EOC 151
|
1134
|
+
#define ASN1_R_MISSING_SECOND_NUMBER 152
|
1135
|
+
#define ASN1_R_MISSING_VALUE 153
|
1136
|
+
#define ASN1_R_MSTRING_NOT_UNIVERSAL 154
|
1137
|
+
#define ASN1_R_MSTRING_WRONG_TAG 155
|
1138
|
+
#define ASN1_R_NESTED_ASN1_ERROR 156
|
1139
|
+
#define ASN1_R_NESTED_ASN1_STRING 157
|
1140
|
+
#define ASN1_R_NON_HEX_CHARACTERS 158
|
1141
|
+
#define ASN1_R_NOT_ASCII_FORMAT 159
|
1142
|
+
#define ASN1_R_NOT_ENOUGH_DATA 160
|
1143
|
+
#define ASN1_R_NO_MATCHING_CHOICE_TYPE 161
|
1144
|
+
#define ASN1_R_NULL_IS_WRONG_LENGTH 162
|
1145
|
+
#define ASN1_R_OBJECT_NOT_ASCII_FORMAT 163
|
1146
|
+
#define ASN1_R_ODD_NUMBER_OF_CHARS 164
|
1147
|
+
#define ASN1_R_SECOND_NUMBER_TOO_LARGE 165
|
1148
|
+
#define ASN1_R_SEQUENCE_LENGTH_MISMATCH 166
|
1149
|
+
#define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 167
|
1150
|
+
#define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 168
|
1151
|
+
#define ASN1_R_SHORT_LINE 169
|
1152
|
+
#define ASN1_R_STREAMING_NOT_SUPPORTED 170
|
1153
|
+
#define ASN1_R_STRING_TOO_LONG 171
|
1154
|
+
#define ASN1_R_STRING_TOO_SHORT 172
|
1155
|
+
#define ASN1_R_TAG_VALUE_TOO_HIGH 173
|
1156
|
+
#define ASN1_R_TIME_NOT_ASCII_FORMAT 174
|
1157
|
+
#define ASN1_R_TOO_LONG 175
|
1158
|
+
#define ASN1_R_TYPE_NOT_CONSTRUCTED 176
|
1159
|
+
#define ASN1_R_TYPE_NOT_PRIMITIVE 177
|
1160
|
+
#define ASN1_R_UNEXPECTED_EOC 178
|
1161
|
+
#define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 179
|
1162
|
+
#define ASN1_R_UNKNOWN_FORMAT 180
|
1163
|
+
#define ASN1_R_UNKNOWN_TAG 181
|
1164
|
+
#define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 182
|
1165
|
+
#define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 183
|
1166
|
+
#define ASN1_R_UNSUPPORTED_TYPE 184
|
1167
|
+
#define ASN1_R_WRONG_TAG 185
|
1168
|
+
#define ASN1_R_WRONG_TYPE 186
|
1167
1169
|
|
1168
1170
|
#endif
|
@@ -108,7 +108,7 @@ extern "C" {
|
|
108
108
|
#endif
|
109
109
|
|
110
110
|
#define OPENSSL_IS_BORINGSSL
|
111
|
-
#define
|
111
|
+
#define BORINGSSL_201512
|
112
112
|
#define OPENSSL_VERSION_NUMBER 0x10002000
|
113
113
|
#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
|
114
114
|
|
@@ -138,6 +138,15 @@ extern "C" {
|
|
138
138
|
|
139
139
|
#endif /* defined(BORINGSSL_SHARED_LIBRARY) */
|
140
140
|
|
141
|
+
|
142
|
+
#if defined(__GNUC__)
|
143
|
+
#define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \
|
144
|
+
__attribute__((format(printf, string_index, first_to_check)))
|
145
|
+
#else
|
146
|
+
#define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check)
|
147
|
+
#endif
|
148
|
+
|
149
|
+
|
141
150
|
/* CRYPTO_THREADID is a dummy value. */
|
142
151
|
typedef int CRYPTO_THREADID;
|
143
152
|
|
@@ -308,18 +308,12 @@ OPENSSL_EXPORT BIO *BIO_find_type(BIO *bio, int type);
|
|
308
308
|
OPENSSL_EXPORT void BIO_copy_next_retry(BIO *bio);
|
309
309
|
|
310
310
|
|
311
|
-
/* Printf functions.
|
312
|
-
|
313
|
-
|
314
|
-
*
|
315
|
-
#ifdef __GNUC__
|
316
|
-
#define __bio_h__attr__ __attribute__
|
317
|
-
#else
|
318
|
-
#define __bio_h__attr__(x)
|
319
|
-
#endif
|
311
|
+
/* Printf functions. */
|
312
|
+
|
313
|
+
/* BIO_printf behaves like |printf| but outputs to |bio| rather than a |FILE|.
|
314
|
+
* It returns the number of bytes written or a negative number on error. */
|
320
315
|
OPENSSL_EXPORT int BIO_printf(BIO *bio, const char *format, ...)
|
321
|
-
|
322
|
-
#undef __bio_h__attr__
|
316
|
+
OPENSSL_PRINTF_FORMAT_FUNC(2, 3);
|
323
317
|
|
324
318
|
|
325
319
|
/* Utility functions. */
|
@@ -717,6 +711,11 @@ OPENSSL_EXPORT int BIO_zero_copy_get_write_buf_done(BIO* bio,
|
|
717
711
|
#define BIO_CTRL_GET_CALLBACK 15 /* opt - set callback function */
|
718
712
|
#define BIO_CTRL_SET_FILENAME 30 /* BIO_s_file special */
|
719
713
|
|
714
|
+
/* These are never used, but exist to allow code to compile more easily. */
|
715
|
+
#define BIO_CTRL_DUP 100
|
716
|
+
#define BIO_CTRL_PUSH 101
|
717
|
+
#define BIO_CTRL_POP 102
|
718
|
+
|
720
719
|
|
721
720
|
/* Android compatibility section.
|
722
721
|
*
|
@@ -253,6 +253,9 @@ OPENSSL_EXPORT size_t BN_bn2bin(const BIGNUM *in, uint8_t *out);
|
|
253
253
|
* returns 0. Otherwise, it returns 1. */
|
254
254
|
OPENSSL_EXPORT int BN_bn2bin_padded(uint8_t *out, size_t len, const BIGNUM *in);
|
255
255
|
|
256
|
+
/* BN_bn2cbb_padded behaves like |BN_bn2bin_padded| but writes to a |CBB|. */
|
257
|
+
OPENSSL_EXPORT int BN_bn2cbb_padded(CBB *out, size_t len, const BIGNUM *in);
|
258
|
+
|
256
259
|
/* BN_bn2hex returns an allocated string that contains a NUL-terminated, hex
|
257
260
|
* representation of |bn|. If |bn| is negative, the first char in the resulting
|
258
261
|
* string will be '-'. Returns NULL on allocation failure. */
|
@@ -300,17 +303,17 @@ OPENSSL_EXPORT BN_ULONG BN_get_word(const BIGNUM *bn);
|
|
300
303
|
|
301
304
|
/* ASN.1 functions. */
|
302
305
|
|
303
|
-
/*
|
304
|
-
* result to |ret|. It returns one on success and zero on failure. */
|
305
|
-
OPENSSL_EXPORT int
|
306
|
+
/* BN_parse_asn1_unsigned parses a non-negative DER INTEGER from |cbs| writes
|
307
|
+
* the result to |ret|. It returns one on success and zero on failure. */
|
308
|
+
OPENSSL_EXPORT int BN_parse_asn1_unsigned(CBS *cbs, BIGNUM *ret);
|
306
309
|
|
307
|
-
/*
|
308
|
-
* encodings. Do not use this function. */
|
309
|
-
OPENSSL_EXPORT int
|
310
|
+
/* BN_parse_asn1_unsigned_buggy acts like |BN_parse_asn1_unsigned| but tolerates
|
311
|
+
* some invalid encodings. Do not use this function. */
|
312
|
+
OPENSSL_EXPORT int BN_parse_asn1_unsigned_buggy(CBS *cbs, BIGNUM *ret);
|
310
313
|
|
311
|
-
/*
|
312
|
-
* to |cbb|. It returns one on success and zero on failure. */
|
313
|
-
OPENSSL_EXPORT int
|
314
|
+
/* BN_marshal_asn1 marshals |bn| as a non-negative DER INTEGER and appends the
|
315
|
+
* result to |cbb|. It returns one on success and zero on failure. */
|
316
|
+
OPENSSL_EXPORT int BN_marshal_asn1(CBB *cbb, const BIGNUM *bn);
|
314
317
|
|
315
318
|
|
316
319
|
/* Internal functions.
|
@@ -67,7 +67,7 @@ extern "C" {
|
|
67
67
|
/* Memory and string functions, see also mem.h. */
|
68
68
|
|
69
69
|
|
70
|
-
/* BUF_MEM is a generic buffer object used by OpenSSL. */
|
70
|
+
/* buf_mem_st (aka |BUF_MEM|) is a generic buffer object used by OpenSSL. */
|
71
71
|
struct buf_mem_st {
|
72
72
|
size_t length; /* current number of bytes */
|
73
73
|
char *data;
|
@@ -130,7 +130,18 @@ OPENSSL_EXPORT int CBS_get_u24_length_prefixed(CBS *cbs, CBS *out);
|
|
130
130
|
#define CBS_ASN1_ENUMERATED 0xa
|
131
131
|
#define CBS_ASN1_SEQUENCE (0x10 | CBS_ASN1_CONSTRUCTED)
|
132
132
|
#define CBS_ASN1_SET (0x11 | CBS_ASN1_CONSTRUCTED)
|
133
|
+
#define CBS_ASN1_NUMERICSTRING 0x12
|
134
|
+
#define CBS_ASN1_PRINTABLESTRING 0x13
|
135
|
+
#define CBS_ASN1_T16STRING 0x14
|
136
|
+
#define CBS_ASN1_VIDEOTEXSTRING 0x15
|
137
|
+
#define CBS_ASN1_IA5STRING 0x16
|
138
|
+
#define CBS_ASN1_UTCTIME 0x17
|
133
139
|
#define CBS_ASN1_GENERALIZEDTIME 0x18
|
140
|
+
#define CBS_ASN1_GRAPHICSTRING 0x19
|
141
|
+
#define CBS_ASN1_VISIBLESTRING 0x1a
|
142
|
+
#define CBS_ASN1_GENERALSTRING 0x1b
|
143
|
+
#define CBS_ASN1_UNIVERSALSTRING 0x1c
|
144
|
+
#define CBS_ASN1_BMPSTRING 0x1e
|
134
145
|
|
135
146
|
#define CBS_ASN1_CONSTRUCTED 0x20
|
136
147
|
#define CBS_ASN1_CONTEXT_SPECIFIC 0x80
|
@@ -292,6 +303,13 @@ OPENSSL_EXPORT int CBB_finish(CBB *cbb, uint8_t **out_data, size_t *out_len);
|
|
292
303
|
* on error. */
|
293
304
|
OPENSSL_EXPORT int CBB_flush(CBB *cbb);
|
294
305
|
|
306
|
+
/* CBB_data returns a pointer to the bytes written to |cbb|. It does not flush
|
307
|
+
* |cbb|. The pointer is valid until the next operation to |cbb|.
|
308
|
+
*
|
309
|
+
* To avoid unfinalized length prefixes, it is a fatal error to call this on a
|
310
|
+
* CBB with any active children. */
|
311
|
+
OPENSSL_EXPORT const uint8_t *CBB_data(const CBB *cbb);
|
312
|
+
|
295
313
|
/* CBB_len returns the number of bytes written to |cbb|. It does not flush
|
296
314
|
* |cbb|.
|
297
315
|
*
|
@@ -331,6 +349,17 @@ OPENSSL_EXPORT int CBB_add_bytes(CBB *cbb, const uint8_t *data, size_t len);
|
|
331
349
|
* otherwise. */
|
332
350
|
OPENSSL_EXPORT int CBB_add_space(CBB *cbb, uint8_t **out_data, size_t len);
|
333
351
|
|
352
|
+
/* CBB_reserve ensures |cbb| has room for |len| additional bytes and sets
|
353
|
+
* |*out_data| to point to the beginning of that space. It returns one on
|
354
|
+
* success and zero otherwise. The caller may write up to |len| bytes to
|
355
|
+
* |*out_data| and call |CBB_did_write| to complete the write. |*out_data| is
|
356
|
+
* valid until the next operation on |cbb| or an ancestor |CBB|. */
|
357
|
+
OPENSSL_EXPORT int CBB_reserve(CBB *cbb, uint8_t **out_data, size_t len);
|
358
|
+
|
359
|
+
/* CBB_did_write advances |cbb| by |len| bytes, assuming the space has been
|
360
|
+
* written to by the caller. It returns one on success and zero on error. */
|
361
|
+
OPENSSL_EXPORT int CBB_did_write(CBB *cbb, size_t len);
|
362
|
+
|
334
363
|
/* CBB_add_u8 appends an 8-bit number from |value| to |cbb|. It returns one on
|
335
364
|
* success and zero otherwise. */
|
336
365
|
OPENSSL_EXPORT int CBB_add_u8(CBB *cbb, uint8_t value);
|
@@ -131,6 +131,31 @@ int CONF_parse_list(const char *list, char sep, int remove_whitespace,
|
|
131
131
|
int (*list_cb)(const char *elem, int len, void *usr),
|
132
132
|
void *arg);
|
133
133
|
|
134
|
+
|
135
|
+
/* Deprecated functions */
|
136
|
+
|
137
|
+
/* These defines do nothing but are provided to make old code easier to
|
138
|
+
* compile. */
|
139
|
+
#define CONF_MFLAGS_DEFAULT_SECTION 0
|
140
|
+
#define CONF_MFLAGS_IGNORE_MISSING_FILE 0
|
141
|
+
|
142
|
+
typedef struct conf_must_be_null_st CONF_MUST_BE_NULL;
|
143
|
+
|
144
|
+
/* CONF_modules_load_file returns one. |filename| was originally a string, with
|
145
|
+
* NULL indicating the default. BoringSSL does not support configuration files,
|
146
|
+
* so this stub emulates the "default" no-op file but intentionally breaks
|
147
|
+
* compilation of consumers actively attempting to use this subsystem. */
|
148
|
+
OPENSSL_EXPORT int CONF_modules_load_file(CONF_MUST_BE_NULL *filename,
|
149
|
+
const char *appname,
|
150
|
+
unsigned long flags);
|
151
|
+
|
152
|
+
/* CONF_modules_free does nothing. */
|
153
|
+
OPENSSL_EXPORT void CONF_modules_free(void);
|
154
|
+
|
155
|
+
/* OPENSSL_config does nothing. */
|
156
|
+
OPENSSL_EXPORT void OPENSSL_config(CONF_MUST_BE_NULL *config_name);
|
157
|
+
|
158
|
+
|
134
159
|
#if defined(__cplusplus)
|
135
160
|
} /* extern C */
|
136
161
|
#endif
|
@@ -42,7 +42,9 @@ OPENSSL_EXPORT void CRYPTO_library_init(void);
|
|
42
42
|
|
43
43
|
/* Deprecated functions. */
|
44
44
|
|
45
|
-
|
45
|
+
/* OPENSSL_VERSION_TEXT contains a string the identifies the version of
|
46
|
+
* “OpenSSL”. node.js requires a version number in this text. */
|
47
|
+
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2 (compatible; BoringSSL)"
|
46
48
|
|
47
49
|
#define SSLEAY_VERSION 0
|
48
50
|
|
@@ -60,6 +62,9 @@ OPENSSL_EXPORT int CRYPTO_malloc_init(void);
|
|
60
62
|
/* ENGINE_load_builtin_engines does nothing. */
|
61
63
|
OPENSSL_EXPORT void ENGINE_load_builtin_engines(void);
|
62
64
|
|
65
|
+
/* OPENSSL_load_builtin_modules does nothing. */
|
66
|
+
OPENSSL_EXPORT void OPENSSL_load_builtin_modules(void);
|
67
|
+
|
63
68
|
|
64
69
|
#if defined(__cplusplus)
|
65
70
|
} /* extern C */
|
@@ -24,8 +24,7 @@ extern "C" {
|
|
24
24
|
|
25
25
|
/* Curve25519.
|
26
26
|
*
|
27
|
-
* Curve25519 is an elliptic curve. See
|
28
|
-
* https://tools.ietf.org/html/draft-irtf-cfrg-curves-11. */
|
27
|
+
* Curve25519 is an elliptic curve. See https://tools.ietf.org/html/rfc7748. */
|
29
28
|
|
30
29
|
|
31
30
|
/* X25519.
|
@@ -33,7 +32,7 @@ extern "C" {
|
|
33
32
|
* Curve25519 is an elliptic curve. The same name is also sometimes used for
|
34
33
|
* the Diffie-Hellman primitive built from it but “X25519” is a more precise
|
35
34
|
* name for that, which is the one used here. See http://cr.yp.to/ecdh.html and
|
36
|
-
* https://tools.ietf.org/html/
|
35
|
+
* https://tools.ietf.org/html/rfc7748. */
|
37
36
|
|
38
37
|
/* X25519_keypair sets |out_public_value| and |out_private_key| to a freshly
|
39
38
|
* generated, public–private key pair. */
|
@@ -61,6 +60,10 @@ OPENSSL_EXPORT void X25519_public_from_private(uint8_t out_public_value[32],
|
|
61
60
|
* Ed25519 is a signature scheme using a twisted-Edwards curve that is
|
62
61
|
* birationally equivalent to curve25519. */
|
63
62
|
|
63
|
+
#define ED25519_PRIVATE_KEY_LEN 64
|
64
|
+
#define ED25519_PUBLIC_KEY_LEN 32
|
65
|
+
#define ED25519_SIGNATURE_LEN 64
|
66
|
+
|
64
67
|
/* ED25519_keypair sets |out_public_key| and |out_private_key| to a freshly
|
65
68
|
* generated, public–private key pair. */
|
66
69
|
OPENSSL_EXPORT void ED25519_keypair(uint8_t out_public_key[32],
|
@@ -156,8 +156,9 @@ OPENSSL_EXPORT unsigned DH_num_bits(const DH *dh);
|
|
156
156
|
* Note: these checks may be quite computationally expensive. */
|
157
157
|
OPENSSL_EXPORT int DH_check(const DH *dh, int *out_flags);
|
158
158
|
|
159
|
-
#define DH_CHECK_PUBKEY_TOO_SMALL
|
160
|
-
#define DH_CHECK_PUBKEY_TOO_LARGE
|
159
|
+
#define DH_CHECK_PUBKEY_TOO_SMALL 0x1
|
160
|
+
#define DH_CHECK_PUBKEY_TOO_LARGE 0x2
|
161
|
+
#define DH_CHECK_PUBKEY_INVALID 0x4
|
161
162
|
|
162
163
|
/* DH_check_pub_key checks the suitability of |pub_key| as a public key for the
|
163
164
|
* DH group in |dh| and sets |DH_CHECK_PUBKEY_*| flags in |*out_flags| if it
|
@@ -177,7 +178,10 @@ OPENSSL_EXPORT DH *DHparams_dup(const DH *dh);
|
|
177
178
|
* structure from |len| bytes at |*inp|. If |ret| is not NULL then, on exit, a
|
178
179
|
* pointer to the result is in |*ret|. If |*ret| is already non-NULL on entry
|
179
180
|
* then the result is written directly into |*ret|, otherwise a fresh |DH| is
|
180
|
-
* allocated.
|
181
|
+
* allocated. However, one should not depend on writing into |*ret| because
|
182
|
+
* this behaviour is likely to change in the future.
|
183
|
+
*
|
184
|
+
* On successful exit, |*inp| is advanced past the DER structure. It
|
181
185
|
* returns the result or NULL on error. */
|
182
186
|
OPENSSL_EXPORT DH *d2i_DHparams(DH **ret, const unsigned char **inp, long len);
|
183
187
|
|
@@ -128,7 +128,7 @@ OPENSSL_EXPORT int DSA_generate_key(DSA *dsa);
|
|
128
128
|
|
129
129
|
/* Signatures. */
|
130
130
|
|
131
|
-
/* DSA_SIG contains a DSA signature as a pair of integers. */
|
131
|
+
/* DSA_SIG_st (aka |DSA_SIG|) contains a DSA signature as a pair of integers. */
|
132
132
|
typedef struct DSA_SIG_st {
|
133
133
|
BIGNUM *r, *s;
|
134
134
|
} DSA_SIG;
|
@@ -218,62 +218,41 @@ OPENSSL_EXPORT int DSA_size(const DSA *dsa);
|
|
218
218
|
|
219
219
|
/* ASN.1 encoding. */
|
220
220
|
|
221
|
-
/*
|
222
|
-
*
|
223
|
-
*
|
224
|
-
* written directly into |*out_sig|, otherwise a fresh |DSA_SIG| is allocated.
|
225
|
-
* On successful exit, |*inp| is advanced past the DER structure. It returns
|
226
|
-
* the result or NULL on error. */
|
227
|
-
OPENSSL_EXPORT DSA_SIG *d2i_DSA_SIG(DSA_SIG **out_sig, const uint8_t **inp,
|
228
|
-
long len);
|
221
|
+
/* DSA_SIG_parse parses a DER-encoded DSA-Sig-Value structure from |cbs| and
|
222
|
+
* advances |cbs|. It returns a newly-allocated |DSA_SIG| or NULL on error. */
|
223
|
+
OPENSSL_EXPORT DSA_SIG *DSA_SIG_parse(CBS *cbs);
|
229
224
|
|
230
|
-
/*
|
231
|
-
*
|
232
|
-
|
233
|
-
* or a negative value on error. */
|
234
|
-
OPENSSL_EXPORT int i2d_DSA_SIG(const DSA_SIG *in, uint8_t **outp);
|
225
|
+
/* DSA_SIG_marshal marshals |sig| as a DER-encoded DSA-Sig-Value and appends the
|
226
|
+
* result to |cbb|. It returns one on success and zero on error. */
|
227
|
+
OPENSSL_EXPORT int DSA_SIG_marshal(CBB *cbb, const DSA_SIG *sig);
|
235
228
|
|
236
|
-
/*
|
237
|
-
*
|
238
|
-
*
|
239
|
-
* written directly into |*out|, otherwise a fresh |DSA| is allocated. On
|
240
|
-
* successful exit, |*inp| is advanced past the DER structure. It returns the
|
241
|
-
* result or NULL on error. */
|
242
|
-
OPENSSL_EXPORT DSA *d2i_DSAPublicKey(DSA **out, const uint8_t **inp, long len);
|
229
|
+
/* DSA_parse_public_key parses a DER-encoded DSA public key from |cbs| and
|
230
|
+
* advances |cbs|. It returns a newly-allocated |DSA| or NULL on error. */
|
231
|
+
OPENSSL_EXPORT DSA *DSA_parse_public_key(CBS *cbs);
|
243
232
|
|
244
|
-
/*
|
245
|
-
*
|
246
|
-
*
|
247
|
-
|
248
|
-
OPENSSL_EXPORT int i2d_DSAPublicKey(const DSA *in, unsigned char **outp);
|
233
|
+
/* DSA_marshal_public_key marshals |dsa| as a DER-encoded DSA public key and
|
234
|
+
* appends the result to |cbb|. It returns one on success and zero on
|
235
|
+
* failure. */
|
236
|
+
OPENSSL_EXPORT int DSA_marshal_public_key(CBB *cbb, const DSA *dsa);
|
249
237
|
|
250
|
-
/*
|
251
|
-
*
|
252
|
-
*
|
253
|
-
* written directly into |*out|, otherwise a fresh |DSA| is allocated. On
|
254
|
-
* successful exit, |*inp| is advanced past the DER structure. It returns the
|
255
|
-
* result or NULL on error. */
|
256
|
-
OPENSSL_EXPORT DSA *d2i_DSAPrivateKey(DSA **out, const uint8_t **inp, long len);
|
238
|
+
/* DSA_parse_private_key parses a DER-encoded DSA private key from |cbs| and
|
239
|
+
* advances |cbs|. It returns a newly-allocated |DSA| or NULL on error. */
|
240
|
+
OPENSSL_EXPORT DSA *DSA_parse_private_key(CBS *cbs);
|
257
241
|
|
258
|
-
/*
|
259
|
-
*
|
260
|
-
*
|
261
|
-
|
262
|
-
OPENSSL_EXPORT int i2d_DSAPrivateKey(const DSA *in, unsigned char **outp);
|
242
|
+
/* DSA_marshal_private_key marshals |dsa| as a DER-encoded DSA private key and
|
243
|
+
* appends the result to |cbb|. It returns one on success and zero on
|
244
|
+
* failure. */
|
245
|
+
OPENSSL_EXPORT int DSA_marshal_private_key(CBB *cbb, const DSA *dsa);
|
263
246
|
|
264
|
-
/*
|
265
|
-
*
|
266
|
-
*
|
267
|
-
|
268
|
-
* exit, |*inp| is advanced past the DER structure. It returns the result or
|
269
|
-
* NULL on error. */
|
270
|
-
OPENSSL_EXPORT DSA *d2i_DSAparams(DSA **out, const uint8_t **inp, long len);
|
247
|
+
/* DSA_parse_parameters parses a DER-encoded Dss-Parms structure (RFC 3279)
|
248
|
+
* from |cbs| and advances |cbs|. It returns a newly-allocated |DSA| or NULL on
|
249
|
+
* error. */
|
250
|
+
OPENSSL_EXPORT DSA *DSA_parse_parameters(CBS *cbs);
|
271
251
|
|
272
|
-
/*
|
273
|
-
*
|
274
|
-
*
|
275
|
-
|
276
|
-
OPENSSL_EXPORT int i2d_DSAparams(const DSA *in, unsigned char **outp);
|
252
|
+
/* DSA_marshal_parameters marshals |dsa| as a DER-encoded Dss-Parms structure
|
253
|
+
* (RFC 3447) and appends the result to |cbb|. It returns one on success and
|
254
|
+
* zero on failure. */
|
255
|
+
OPENSSL_EXPORT int DSA_marshal_parameters(CBB *cbb, const DSA *dsa);
|
277
256
|
|
278
257
|
|
279
258
|
/* Precomputation. */
|
@@ -309,9 +288,84 @@ OPENSSL_EXPORT int DSA_set_ex_data(DSA *d, int idx, void *arg);
|
|
309
288
|
OPENSSL_EXPORT void *DSA_get_ex_data(const DSA *d, int idx);
|
310
289
|
|
311
290
|
|
291
|
+
/* Deprecated functions. */
|
292
|
+
|
293
|
+
/* d2i_DSA_SIG parses an ASN.1, DER-encoded, DSA signature from |len| bytes at
|
294
|
+
* |*inp|. If |out_sig| is not NULL then, on exit, a pointer to the result is
|
295
|
+
* in |*out_sig|. Note that, even if |*out_sig| is already non-NULL on entry, it
|
296
|
+
* will not be written to. Rather, a fresh |DSA_SIG| is allocated and the
|
297
|
+
* previous one is freed. On successful exit, |*inp| is advanced past the DER
|
298
|
+
* structure. It returns the result or NULL on error.
|
299
|
+
*
|
300
|
+
* Use |DSA_SIG_parse| instead. */
|
301
|
+
OPENSSL_EXPORT DSA_SIG *d2i_DSA_SIG(DSA_SIG **out_sig, const uint8_t **inp,
|
302
|
+
long len);
|
303
|
+
|
304
|
+
/* i2d_DSA_SIG marshals |in| to an ASN.1, DER structure. If |outp| is not NULL
|
305
|
+
* then the result is written to |*outp| and |*outp| is advanced just past the
|
306
|
+
* output. It returns the number of bytes in the result, whether written or not,
|
307
|
+
* or a negative value on error.
|
308
|
+
*
|
309
|
+
* Use |DSA_SIG_marshal| instead. */
|
310
|
+
OPENSSL_EXPORT int i2d_DSA_SIG(const DSA_SIG *in, uint8_t **outp);
|
311
|
+
|
312
|
+
/* d2i_DSAPublicKey parses an ASN.1, DER-encoded, DSA public key from |len|
|
313
|
+
* bytes at |*inp|. If |out| is not NULL then, on exit, a pointer to the result
|
314
|
+
* is in |*out|. Note that, even if |*ou| is already non-NULL on entry, it will
|
315
|
+
* not be written to. Rather, a fresh |DSA| is allocated and the previous one is
|
316
|
+
* freed. On successful exit, |*inp| is advanced past the DER structure. It
|
317
|
+
* returns the result or NULL on error.
|
318
|
+
*
|
319
|
+
* Use |DSA_parse_public_key| instead. */
|
320
|
+
OPENSSL_EXPORT DSA *d2i_DSAPublicKey(DSA **out, const uint8_t **inp, long len);
|
321
|
+
|
322
|
+
/* i2d_DSAPublicKey marshals a public key from |in| to an ASN.1, DER structure.
|
323
|
+
* If |outp| is not NULL then the result is written to |*outp| and |*outp| is
|
324
|
+
* advanced just past the output. It returns the number of bytes in the result,
|
325
|
+
* whether written or not, or a negative value on error.
|
326
|
+
*
|
327
|
+
* Use |DSA_marshal_public_key| instead. */
|
328
|
+
OPENSSL_EXPORT int i2d_DSAPublicKey(const DSA *in, uint8_t **outp);
|
329
|
+
|
330
|
+
/* d2i_DSAPrivateKey parses an ASN.1, DER-encoded, DSA private key from |len|
|
331
|
+
* bytes at |*inp|. If |out| is not NULL then, on exit, a pointer to the result
|
332
|
+
* is in |*out|. Note that, even if |*out| is already non-NULL on entry, it will
|
333
|
+
* not be written to. Rather, a fresh |DSA| is allocated and the previous one is
|
334
|
+
* freed. On successful exit, |*inp| is advanced past the DER structure. It
|
335
|
+
* returns the result or NULL on error.
|
336
|
+
*
|
337
|
+
* Use |DSA_parse_private_key| instead. */
|
338
|
+
OPENSSL_EXPORT DSA *d2i_DSAPrivateKey(DSA **out, const uint8_t **inp, long len);
|
339
|
+
|
340
|
+
/* i2d_DSAPrivateKey marshals a private key from |in| to an ASN.1, DER structure.
|
341
|
+
* If |outp| is not NULL then the result is written to |*outp| and |*outp| is
|
342
|
+
* advanced just past the output. It returns the number of bytes in the result,
|
343
|
+
* whether written or not, or a negative value on error.
|
344
|
+
*
|
345
|
+
* Use |DSA_marshal_private_key| instead. */
|
346
|
+
OPENSSL_EXPORT int i2d_DSAPrivateKey(const DSA *in, uint8_t **outp);
|
347
|
+
|
348
|
+
/* d2i_DSAparams parses ASN.1, DER-encoded, DSA parameters from |len| bytes at
|
349
|
+
* |*inp|. If |out| is not NULL then, on exit, a pointer to the result is in
|
350
|
+
* |*out|. Note that, even if |*out| is already non-NULL on entry, it will not
|
351
|
+
* be written to. Rather, a fresh |DSA| is allocated and the previous one is
|
352
|
+
* freed. On successful exit, |*inp| is advanced past the DER structure. It
|
353
|
+
* returns the result or NULL on error.
|
354
|
+
*
|
355
|
+
* Use |DSA_parse_parameters| instead. */
|
356
|
+
OPENSSL_EXPORT DSA *d2i_DSAparams(DSA **out, const uint8_t **inp, long len);
|
357
|
+
|
358
|
+
/* i2d_DSAparams marshals DSA parameters from |in| to an ASN.1, DER structure.
|
359
|
+
* If |outp| is not NULL then the result is written to |*outp| and |*outp| is
|
360
|
+
* advanced just past the output. It returns the number of bytes in the result,
|
361
|
+
* whether written or not, or a negative value on error.
|
362
|
+
*
|
363
|
+
* Use |DSA_marshal_parameters| instead. */
|
364
|
+
OPENSSL_EXPORT int i2d_DSAparams(const DSA *in, uint8_t **outp);
|
365
|
+
|
366
|
+
|
312
367
|
struct dsa_st {
|
313
368
|
long version;
|
314
|
-
int write_params;
|
315
369
|
BIGNUM *p;
|
316
370
|
BIGNUM *q; /* == 20 */
|
317
371
|
BIGNUM *g;
|
@@ -339,5 +393,8 @@ struct dsa_st {
|
|
339
393
|
#define DSA_R_MISSING_PARAMETERS 101
|
340
394
|
#define DSA_R_MODULUS_TOO_LARGE 102
|
341
395
|
#define DSA_R_NEED_NEW_SETUP_VALUES 103
|
396
|
+
#define DSA_R_BAD_VERSION 104
|
397
|
+
#define DSA_R_DECODE_ERROR 105
|
398
|
+
#define DSA_R_ENCODE_ERROR 106
|
342
399
|
|
343
400
|
#endif /* OPENSSL_HEADER_DSA_H */
|