grpc 1.0.1 → 1.1.2
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 +3696 -867
- data/etc/roots.pem +39 -111
- data/include/grpc/byte_buffer.h +64 -1
- data/include/grpc/census.h +40 -96
- data/include/grpc/compression.h +2 -1
- data/include/grpc/grpc.h +42 -7
- data/include/grpc/grpc_posix.h +8 -5
- data/include/grpc/impl/codegen/atm.h +3 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +8 -0
- data/include/grpc/impl/codegen/atm_windows.h +4 -0
- data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -4
- data/include/grpc/impl/codegen/compression_types.h +1 -1
- data/include/grpc/impl/codegen/connectivity_state.h +2 -0
- data/include/grpc/impl/codegen/exec_ctx_fwd.h +41 -0
- data/include/grpc/impl/codegen/gpr_slice.h +84 -0
- data/include/grpc/impl/codegen/{alloc.h → gpr_types.h} +30 -29
- data/include/grpc/impl/codegen/grpc_types.h +91 -9
- data/include/grpc/impl/codegen/port_platform.h +25 -92
- data/include/grpc/impl/codegen/slice.h +54 -97
- data/include/grpc/impl/codegen/sync.h +0 -253
- data/include/grpc/module.modulemap +0 -2
- data/include/grpc/slice.h +132 -0
- data/include/grpc/{impl/codegen/slice_buffer.h → slice_buffer.h} +22 -39
- data/include/grpc/support/alloc.h +40 -1
- data/include/grpc/support/log.h +80 -1
- data/include/grpc/support/log_windows.h +2 -0
- data/include/grpc/support/string_util.h +1 -1
- data/include/grpc/support/sync.h +252 -0
- data/include/grpc/support/time.h +67 -1
- data/src/boringssl/err_data.c +639 -627
- data/src/core/ext/census/base_resources.c +71 -0
- data/src/core/ext/census/base_resources.h +39 -0
- data/src/core/ext/census/gen/census.pb.c +26 -29
- data/src/core/ext/census/gen/census.pb.h +68 -67
- data/src/core/ext/census/gen/trace_context.pb.c +81 -0
- data/src/core/ext/census/gen/trace_context.pb.h +99 -0
- data/src/core/ext/census/grpc_filter.c +22 -16
- data/src/core/ext/census/grpc_plugin.c +2 -1
- data/src/core/ext/census/initialize.c +16 -4
- data/src/core/ext/census/mlog.h +1 -1
- data/src/core/ext/census/placeholders.c +0 -45
- data/src/core/ext/census/resource.c +312 -0
- data/src/core/ext/census/resource.h +63 -0
- data/src/core/ext/census/trace_context.c +86 -0
- data/src/core/ext/census/trace_context.h +68 -0
- data/src/core/ext/census/tracing.c +8 -2
- data/src/core/ext/{client_config → client_channel}/channel_connectivity.c +8 -4
- data/src/core/ext/client_channel/client_channel.c +1218 -0
- data/src/core/ext/{client_config → client_channel}/client_channel.h +8 -11
- data/src/core/ext/{client_config → client_channel}/client_channel_factory.c +33 -3
- data/src/core/ext/{client_config → client_channel}/client_channel_factory.h +15 -8
- data/src/core/ext/{client_config/client_config_plugin.c → client_channel/client_channel_plugin.c} +16 -15
- data/src/core/ext/{client_config → client_channel}/connector.c +1 -1
- data/src/core/ext/{client_config → client_channel}/connector.h +5 -8
- data/{include/grpc/support/slice_buffer.h → src/core/ext/client_channel/default_initial_connect_string.c} +4 -5
- data/src/core/ext/client_channel/http_connect_handshaker.c +399 -0
- data/src/core/ext/client_channel/http_connect_handshaker.h +52 -0
- data/src/core/ext/{client_config → client_channel}/initial_connect_string.c +6 -7
- data/src/core/ext/{client_config → client_channel}/initial_connect_string.h +10 -10
- data/src/core/ext/{client_config → client_channel}/lb_policy.c +11 -11
- data/src/core/ext/{client_config → client_channel}/lb_policy.h +68 -27
- data/src/core/ext/client_channel/lb_policy_factory.c +163 -0
- data/src/core/ext/{client_config → client_channel}/lb_policy_factory.h +64 -9
- data/src/core/ext/{client_config → client_channel}/lb_policy_registry.c +6 -4
- data/src/core/ext/{client_config → client_channel}/lb_policy_registry.h +4 -4
- data/src/core/ext/{client_config → client_channel}/parse_address.c +21 -14
- data/src/core/ext/{client_config → client_channel}/parse_address.h +8 -10
- data/src/core/ext/{client_config → client_channel}/resolver.c +3 -4
- data/src/core/ext/{client_config → client_channel}/resolver.h +11 -15
- data/src/core/ext/{client_config → client_channel}/resolver_factory.c +4 -3
- data/src/core/ext/{client_config → client_channel}/resolver_factory.h +13 -11
- data/src/core/ext/{client_config → client_channel}/resolver_registry.c +54 -34
- data/src/core/ext/{client_config → client_channel}/resolver_registry.h +21 -8
- data/src/core/ext/{client_config → client_channel}/subchannel.c +208 -119
- data/src/core/ext/{client_config → client_channel}/subchannel.h +21 -11
- data/src/core/ext/{client_config → client_channel}/subchannel_index.c +6 -17
- data/src/core/ext/{client_config → client_channel}/subchannel_index.h +7 -7
- data/src/core/ext/{client_config → client_channel}/uri_parser.c +21 -28
- data/src/core/ext/{client_config → client_channel}/uri_parser.h +3 -3
- data/src/core/ext/lb_policy/grpclb/grpclb.c +1406 -0
- data/src/core/ext/lb_policy/grpclb/grpclb.h +44 -0
- data/src/core/ext/lb_policy/grpclb/load_balancer_api.c +117 -37
- data/src/core/ext/lb_policy/grpclb/load_balancer_api.h +31 -12
- data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +6 -36
- data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +22 -42
- data/src/core/ext/lb_policy/pick_first/pick_first.c +64 -46
- data/src/core/ext/lb_policy/round_robin/round_robin.c +324 -160
- data/src/core/ext/load_reporting/load_reporting.c +7 -56
- data/src/core/ext/load_reporting/load_reporting.h +41 -28
- data/src/core/ext/load_reporting/load_reporting_filter.c +132 -42
- data/src/core/ext/load_reporting/load_reporting_filter.h +1 -0
- data/src/core/ext/resolver/dns/native/dns_resolver.c +88 -80
- data/src/core/ext/resolver/sockaddr/sockaddr_resolver.c +57 -102
- data/src/core/ext/transport/chttp2/alpn/alpn.c +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.c +253 -0
- data/src/core/{lib/iomgr/ev_poll_and_epoll_posix.h → ext/transport/chttp2/client/chttp2_connector.h} +5 -5
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +31 -160
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +5 -5
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +44 -243
- data/src/core/ext/transport/chttp2/server/chttp2_server.c +342 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +47 -0
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +11 -124
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c +20 -9
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +28 -236
- data/src/core/ext/transport/chttp2/transport/bin_decoder.c +31 -27
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +5 -4
- data/src/core/ext/transport/chttp2/transport/bin_encoder.c +25 -22
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -7
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +0 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +1345 -1521
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -1
- data/src/core/ext/transport/chttp2/transport/frame.h +3 -5
- data/src/core/ext/transport/chttp2/transport/frame_data.c +50 -47
- data/src/core/ext/transport/chttp2/transport/frame_data.h +8 -9
- data/src/core/ext/transport/chttp2/transport/frame_goaway.c +19 -21
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +9 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.c +13 -12
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +31 -19
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.c +22 -25
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +9 -8
- data/src/core/ext/transport/chttp2/transport/frame_window_update.c +26 -18
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +68 -58
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser.c +327 -214
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +14 -9
- data/src/core/ext/transport/chttp2/transport/hpack_table.c +24 -19
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +9 -6
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +284 -436
- data/src/core/ext/transport/chttp2/transport/parsing.c +355 -590
- data/src/core/ext/transport/chttp2/transport/stream_lists.c +36 -309
- data/src/core/ext/transport/chttp2/transport/stream_map.c +13 -34
- data/src/core/ext/transport/chttp2/transport/stream_map.h +3 -4
- data/src/core/ext/transport/chttp2/transport/writing.c +174 -286
- data/src/core/lib/channel/channel_args.c +70 -13
- data/src/core/lib/channel/channel_args.h +28 -2
- data/src/core/lib/channel/channel_stack.c +77 -28
- data/src/core/lib/channel/channel_stack.h +61 -23
- data/src/core/lib/channel/channel_stack_builder.c +33 -25
- data/src/core/lib/channel/channel_stack_builder.h +17 -8
- data/src/core/lib/channel/compress_filter.c +52 -36
- data/src/core/lib/channel/connected_channel.c +20 -12
- data/src/core/lib/channel/connected_channel.h +2 -1
- data/src/core/lib/channel/context.h +13 -1
- data/src/core/lib/channel/deadline_filter.c +344 -0
- data/src/core/lib/channel/deadline_filter.h +99 -0
- data/src/core/lib/channel/handshaker.c +240 -0
- data/src/core/lib/channel/handshaker.h +164 -0
- data/src/core/lib/{security/credentials/google_default/credentials_windows.c → channel/handshaker_factory.c} +16 -23
- data/src/core/lib/channel/handshaker_factory.h +66 -0
- data/src/core/lib/channel/handshaker_registry.c +113 -0
- data/src/core/{ext/client_config/client_config.h → lib/channel/handshaker_registry.h} +26 -16
- data/src/core/lib/channel/http_client_filter.c +248 -46
- data/src/core/lib/channel/http_client_filter.h +3 -0
- data/src/core/lib/channel/http_server_filter.c +136 -24
- data/src/core/lib/channel/message_size_filter.c +261 -0
- data/src/core/lib/channel/message_size_filter.h +39 -0
- data/src/core/lib/compression/message_compress.c +43 -37
- data/src/core/lib/compression/message_compress.h +7 -5
- data/src/core/lib/http/format_request.c +26 -11
- data/src/core/lib/http/format_request.h +7 -5
- data/src/core/lib/http/httpcli.c +45 -27
- data/src/core/lib/http/httpcli.h +4 -4
- data/src/core/lib/http/httpcli_security_connector.c +56 -46
- data/src/core/lib/http/parser.c +17 -14
- data/src/core/lib/http/parser.h +4 -2
- data/src/core/lib/iomgr/closure.c +49 -7
- data/src/core/lib/iomgr/closure.h +56 -14
- data/src/core/lib/iomgr/combiner.c +422 -0
- data/src/core/lib/iomgr/combiner.h +64 -0
- data/src/core/lib/iomgr/endpoint.c +8 -2
- data/src/core/lib/iomgr/endpoint.h +17 -7
- data/src/core/lib/iomgr/endpoint_pair.h +3 -2
- data/src/core/lib/iomgr/endpoint_pair_posix.c +9 -8
- data/src/core/{ext/client_config/lb_policy_factory.c → lib/iomgr/endpoint_pair_uv.c} +18 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.c +7 -6
- data/src/core/lib/iomgr/error.c +72 -6
- data/src/core/lib/iomgr/error.h +30 -3
- data/src/core/lib/iomgr/ev_epoll_linux.c +500 -382
- data/src/core/lib/iomgr/ev_epoll_linux.h +3 -2
- data/src/core/lib/iomgr/ev_poll_posix.c +317 -30
- data/src/core/lib/iomgr/ev_poll_posix.h +1 -0
- data/src/core/lib/iomgr/ev_posix.c +26 -5
- data/src/core/lib/iomgr/ev_posix.h +12 -1
- data/src/core/lib/iomgr/exec_ctx.c +27 -94
- data/src/core/lib/iomgr/exec_ctx.h +19 -22
- data/src/core/lib/iomgr/executor.c +29 -8
- data/src/core/lib/iomgr/executor.h +2 -4
- data/src/core/lib/iomgr/iocp_windows.c +3 -4
- data/src/core/lib/iomgr/iomgr.c +14 -10
- data/src/core/lib/iomgr/iomgr.h +6 -2
- data/src/core/lib/iomgr/iomgr_posix.c +2 -2
- data/src/core/lib/iomgr/iomgr_uv.c +49 -0
- data/src/core/lib/iomgr/iomgr_windows.c +2 -2
- data/src/core/lib/iomgr/load_file.c +3 -3
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/network_status_tracker.c +1 -1
- data/src/core/lib/iomgr/pollset_set_uv.c +62 -0
- data/src/core/lib/iomgr/pollset_set_windows.c +3 -3
- data/src/core/lib/iomgr/pollset_uv.c +142 -0
- data/src/core/lib/iomgr/pollset_uv.h +42 -0
- data/src/core/lib/iomgr/pollset_windows.c +5 -6
- data/src/core/lib/iomgr/port.h +129 -0
- data/src/core/lib/iomgr/resolve_address.h +2 -1
- data/src/core/lib/iomgr/resolve_address_posix.c +14 -13
- data/src/core/lib/iomgr/resolve_address_uv.c +233 -0
- data/src/core/lib/iomgr/resolve_address_windows.c +14 -12
- data/src/core/lib/iomgr/resource_quota.c +832 -0
- data/src/core/lib/iomgr/resource_quota.h +159 -0
- data/src/core/lib/iomgr/sockaddr.h +10 -2
- data/src/core/lib/iomgr/sockaddr_utils.c +63 -36
- data/src/core/lib/iomgr/sockaddr_utils.h +14 -14
- data/src/core/lib/iomgr/socket_mutator.c +98 -0
- data/src/core/lib/iomgr/socket_mutator.h +80 -0
- data/src/core/lib/iomgr/socket_utils.h +42 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.c +28 -13
- data/src/core/lib/iomgr/socket_utils_linux.c +11 -5
- data/src/core/lib/iomgr/socket_utils_posix.c +10 -7
- data/src/core/lib/iomgr/socket_utils_posix.h +11 -4
- data/src/core/lib/iomgr/socket_utils_uv.c +49 -0
- data/src/core/lib/iomgr/socket_utils_windows.c +52 -0
- data/src/core/lib/iomgr/socket_windows.c +14 -6
- data/src/core/lib/iomgr/socket_windows.h +1 -0
- data/src/core/lib/iomgr/tcp_client.h +8 -2
- data/src/core/lib/iomgr/tcp_client_posix.c +131 -82
- data/src/core/lib/iomgr/tcp_client_posix.h +45 -0
- data/src/core/lib/iomgr/tcp_client_uv.c +190 -0
- data/src/core/lib/iomgr/tcp_client_windows.c +54 -30
- data/src/core/lib/iomgr/tcp_posix.c +135 -56
- data/src/core/lib/iomgr/tcp_posix.h +2 -2
- data/src/core/lib/iomgr/tcp_server.h +14 -6
- data/src/core/lib/iomgr/tcp_server_posix.c +154 -118
- data/src/core/lib/iomgr/tcp_server_uv.c +388 -0
- data/src/core/lib/iomgr/tcp_server_windows.c +127 -100
- data/src/core/lib/iomgr/tcp_uv.c +367 -0
- data/src/core/lib/iomgr/tcp_uv.h +59 -0
- data/src/core/lib/iomgr/tcp_windows.c +65 -48
- data/src/core/lib/iomgr/tcp_windows.h +3 -1
- data/src/core/lib/iomgr/timer.h +21 -21
- data/src/core/lib/iomgr/{timer.c → timer_generic.c} +15 -10
- data/src/core/lib/iomgr/timer_generic.h +49 -0
- data/src/core/lib/iomgr/timer_heap.c +6 -0
- data/src/core/lib/iomgr/timer_uv.c +99 -0
- data/src/core/lib/iomgr/timer_uv.h +47 -0
- data/src/core/lib/iomgr/udp_server.c +116 -98
- data/src/core/lib/iomgr/udp_server.h +5 -3
- data/src/core/lib/iomgr/unix_sockets_posix.c +14 -6
- data/src/core/lib/iomgr/unix_sockets_posix.h +6 -5
- data/src/core/lib/iomgr/unix_sockets_posix_noop.c +4 -4
- data/src/core/lib/iomgr/wakeup_fd_cv.c +118 -0
- data/src/core/lib/iomgr/wakeup_fd_cv.h +80 -0
- data/src/core/lib/iomgr/wakeup_fd_eventfd.c +3 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.c +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.c +12 -6
- data/src/core/lib/iomgr/wakeup_fd_posix.c +34 -5
- data/src/core/lib/iomgr/wakeup_fd_posix.h +5 -0
- data/src/core/lib/iomgr/workqueue.h +12 -20
- data/src/core/{ext/client_config/client_config.c → lib/iomgr/workqueue_uv.c} +24 -33
- data/{include/grpc/support/slice.h → src/core/lib/iomgr/workqueue_uv.h} +4 -6
- data/src/core/lib/iomgr/workqueue_windows.c +9 -8
- data/src/core/lib/json/json.c +3 -3
- data/src/core/lib/json/json.h +11 -11
- data/src/core/lib/json/json_reader.c +9 -5
- data/src/core/lib/profiling/basic_timers.c +10 -1
- data/src/core/lib/profiling/timers.h +2 -0
- data/src/core/lib/security/context/security_context.c +13 -3
- data/src/core/lib/security/context/security_context.h +20 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.c +28 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.c +48 -19
- data/src/core/lib/security/credentials/credentials.h +36 -19
- data/src/core/lib/security/credentials/credentials_metadata.c +11 -8
- data/src/core/lib/security/credentials/fake/fake_credentials.c +15 -11
- data/src/core/lib/security/credentials/google_default/{credentials_posix.c → credentials_generic.c} +7 -14
- data/src/core/lib/security/credentials/google_default/google_default_credentials.c +33 -21
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +14 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.c +3 -2
- data/src/core/lib/security/credentials/jwt/json_token.c +1 -0
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.c +54 -19
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.c +129 -79
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +9 -6
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +63 -28
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
- data/src/core/lib/security/credentials/plugin/plugin_credentials.c +32 -11
- data/src/core/lib/security/credentials/ssl/ssl_credentials.c +13 -9
- data/src/core/lib/security/transport/client_auth_filter.c +33 -27
- data/src/core/lib/security/transport/secure_endpoint.c +93 -68
- data/src/core/lib/security/transport/secure_endpoint.h +2 -2
- data/src/core/lib/security/transport/security_connector.c +133 -168
- data/src/core/lib/security/transport/security_connector.h +31 -46
- data/src/core/lib/security/transport/security_handshaker.c +501 -0
- data/src/core/lib/security/transport/{handshake.h → security_handshaker.h} +10 -10
- data/src/core/lib/security/transport/server_auth_filter.c +50 -38
- data/src/core/lib/security/util/b64.c +11 -8
- data/src/core/lib/security/util/b64.h +5 -4
- data/src/core/lib/slice/percent_encoding.c +182 -0
- data/src/core/lib/slice/percent_encoding.h +78 -0
- data/src/core/lib/{support → slice}/slice.c +81 -50
- data/src/core/lib/{support → slice}/slice_buffer.c +78 -60
- data/src/core/lib/slice/slice_internal.h +49 -0
- data/src/core/lib/slice/slice_string_helpers.c +90 -0
- data/src/core/lib/{iomgr/workqueue_posix.h → slice/slice_string_helpers.h} +18 -18
- data/src/core/lib/support/backoff.c +24 -13
- data/src/core/lib/support/backoff.h +5 -2
- data/src/core/lib/support/env.h +0 -2
- data/src/core/lib/support/log.c +5 -4
- data/src/core/lib/support/log_linux.c +0 -1
- data/src/core/lib/support/log_posix.c +1 -1
- data/src/core/lib/support/mpscq.c +83 -0
- data/src/core/lib/support/mpscq.h +65 -0
- data/src/core/lib/support/string.c +58 -49
- data/src/core/lib/support/string.h +11 -8
- data/src/core/lib/support/subprocess_posix.c +5 -2
- data/src/core/lib/support/thd.c +1 -1
- data/src/core/lib/support/time.c +43 -79
- data/src/core/lib/support/time_posix.c +1 -1
- data/src/core/lib/support/tmpfile.h +0 -2
- data/src/core/lib/surface/alarm.c +4 -1
- data/src/core/lib/surface/byte_buffer.c +17 -11
- data/src/core/lib/surface/byte_buffer_reader.c +23 -15
- data/src/core/lib/surface/call.c +294 -276
- data/src/core/lib/surface/call.h +24 -9
- data/src/core/lib/surface/call_log_batch.c +5 -3
- data/src/core/lib/surface/channel.c +127 -111
- data/src/core/lib/surface/channel.h +14 -5
- data/src/core/lib/surface/channel_init.c +1 -1
- data/src/core/lib/surface/channel_init.h +10 -1
- data/src/core/lib/surface/channel_ping.c +7 -6
- data/src/core/lib/surface/completion_queue.c +154 -18
- data/src/core/lib/surface/completion_queue.h +5 -0
- data/src/core/lib/surface/init.c +40 -6
- data/src/core/lib/surface/init.h +1 -0
- data/src/core/lib/surface/init_secure.c +5 -2
- data/src/core/lib/surface/lame_client.c +28 -18
- data/src/core/lib/surface/server.c +134 -87
- data/src/core/lib/surface/server.h +8 -0
- data/src/core/lib/surface/validate_metadata.c +1 -1
- data/src/core/lib/surface/version.c +3 -1
- data/src/core/lib/transport/byte_stream.c +7 -4
- data/src/core/lib/transport/byte_stream.h +6 -10
- data/src/core/lib/transport/connectivity_state.c +21 -12
- data/src/core/lib/transport/connectivity_state.h +4 -1
- data/src/core/lib/transport/mdstr_hash_table.c +118 -0
- data/src/core/lib/transport/mdstr_hash_table.h +77 -0
- data/src/core/lib/transport/metadata.c +83 -60
- data/src/core/lib/transport/metadata.h +41 -23
- data/src/core/lib/transport/metadata_batch.c +17 -11
- data/src/core/lib/transport/metadata_batch.h +20 -6
- data/src/core/lib/transport/pid_controller.c +57 -0
- data/src/core/lib/transport/pid_controller.h +64 -0
- data/src/core/lib/transport/service_config.c +251 -0
- data/src/core/lib/transport/service_config.h +71 -0
- data/src/core/lib/transport/static_metadata.c +18 -16
- data/src/core/lib/transport/static_metadata.h +113 -107
- data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.c +3 -3
- data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.h +7 -7
- data/src/core/lib/transport/transport.c +84 -23
- data/src/core/lib/transport/transport.h +53 -8
- data/src/core/lib/transport/transport_impl.h +3 -0
- data/src/core/lib/transport/transport_op_string.c +92 -20
- data/src/core/lib/tsi/ssl_transport_security.c +3 -1
- data/src/core/plugin_registry/grpc_plugin_registry.c +8 -4
- data/src/ruby/ext/grpc/extconf.rb +0 -1
- data/src/ruby/ext/grpc/rb_byte_buffer.c +8 -7
- data/src/ruby/ext/grpc/rb_call.c +15 -5
- data/src/ruby/ext/grpc/rb_channel.c +1 -1
- data/src/ruby/ext/grpc/rb_compression_options.c +466 -0
- data/src/{core/ext/client_config/default_initial_connect_string.c → ruby/ext/grpc/rb_compression_options.h} +10 -5
- data/src/ruby/ext/grpc/rb_grpc.c +3 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +198 -190
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +306 -294
- data/src/ruby/ext/grpc/rb_server.c +18 -12
- data/src/ruby/lib/grpc/errors.rb +154 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +144 -63
- data/src/ruby/lib/grpc/generic/bidi_call.rb +18 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +7 -5
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +39 -13
- data/src/ruby/lib/grpc/generic/rpc_server.rb +51 -24
- data/src/ruby/lib/grpc/generic/service.rb +3 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/checker.rb +3 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +7 -0
- data/src/ruby/pb/test/client.rb +307 -7
- data/src/ruby/pb/test/server.rb +26 -1
- data/src/ruby/spec/compression_options_spec.rb +164 -0
- data/src/ruby/spec/error_sanity_spec.rb +64 -0
- data/src/ruby/spec/generic/active_call_spec.rb +290 -12
- data/src/ruby/spec/generic/client_stub_spec.rb +91 -41
- data/src/ruby/spec/generic/rpc_desc_spec.rb +36 -16
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +22 -28
- data/src/ruby/spec/generic/rpc_server_spec.rb +6 -6
- data/src/ruby/spec/pb/health/checker_spec.rb +27 -19
- data/src/ruby/spec/spec_helper.rb +2 -0
- data/third_party/boringssl/crypto/aes/aes.c +12 -12
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +6 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +28 -13
- data/third_party/boringssl/crypto/asn1/a_gentm.c +2 -0
- data/third_party/boringssl/crypto/asn1/a_object.c +7 -3
- data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +0 -11
- data/third_party/boringssl/crypto/asn1/a_type.c +0 -2
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -30
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +56 -76
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +0 -10
- data/third_party/boringssl/crypto/asn1/asn1_par.c +0 -322
- data/third_party/boringssl/crypto/asn1/f_enum.c +1 -108
- data/third_party/boringssl/crypto/asn1/f_int.c +1 -106
- data/third_party/boringssl/crypto/asn1/f_string.c +1 -106
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +10 -14
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +17 -11
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +29 -42
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +1 -1
- data/third_party/boringssl/crypto/base64/base64.c +249 -285
- data/third_party/boringssl/crypto/bio/bio.c +13 -23
- data/third_party/boringssl/crypto/bio/bio_mem.c +3 -2
- data/third_party/boringssl/crypto/bio/connect.c +12 -3
- data/third_party/boringssl/crypto/bio/fd.c +22 -15
- data/third_party/boringssl/crypto/bio/file.c +2 -38
- data/third_party/boringssl/crypto/bio/hexdump.c +1 -2
- data/third_party/boringssl/crypto/bio/internal.h +3 -0
- data/third_party/boringssl/crypto/bio/pair.c +1 -1
- data/third_party/boringssl/crypto/bio/socket.c +10 -2
- data/third_party/boringssl/crypto/bio/socket_helper.c +2 -2
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -8
- data/third_party/boringssl/crypto/bn/bn.c +38 -0
- data/third_party/boringssl/crypto/bn/cmp.c +25 -0
- data/third_party/boringssl/crypto/bn/convert.c +73 -76
- data/third_party/boringssl/crypto/bn/div.c +136 -70
- data/third_party/boringssl/crypto/bn/exponentiation.c +86 -381
- data/third_party/boringssl/crypto/bn/gcd.c +213 -296
- data/third_party/boringssl/crypto/bn/generic.c +0 -80
- data/third_party/boringssl/crypto/bn/internal.h +15 -3
- data/third_party/boringssl/crypto/bn/montgomery.c +57 -207
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +160 -0
- data/third_party/boringssl/crypto/bn/mul.c +2 -1
- data/third_party/boringssl/crypto/bn/prime.c +24 -8
- data/third_party/boringssl/crypto/bn/random.c +47 -33
- data/third_party/boringssl/crypto/bn/sqrt.c +4 -5
- data/third_party/boringssl/crypto/buf/buf.c +25 -21
- data/third_party/boringssl/crypto/bytestring/ber.c +1 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +50 -22
- data/third_party/boringssl/crypto/bytestring/cbs.c +28 -4
- data/third_party/boringssl/crypto/chacha/{chacha_generic.c → chacha.c} +56 -29
- data/third_party/boringssl/crypto/cipher/aead.c +11 -22
- data/third_party/boringssl/crypto/cipher/cipher.c +2 -2
- data/third_party/boringssl/crypto/cipher/e_aes.c +53 -103
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +2 -8
- data/third_party/boringssl/crypto/cipher/e_des.c +3 -5
- data/third_party/boringssl/crypto/cipher/e_null.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_rc2.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_rc4.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +3 -63
- data/third_party/boringssl/crypto/cipher/e_tls.c +12 -83
- data/third_party/boringssl/crypto/cipher/internal.h +8 -10
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +69 -40
- data/third_party/boringssl/crypto/conf/conf.c +2 -1
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +61 -0
- data/third_party/boringssl/crypto/cpu-arm-linux.c +360 -0
- data/third_party/boringssl/crypto/cpu-arm.c +0 -161
- data/third_party/boringssl/crypto/cpu-intel.c +5 -3
- data/third_party/boringssl/{ssl/test/scoped_types.h → crypto/cpu-ppc64le.c} +21 -9
- data/third_party/boringssl/crypto/crypto.c +29 -7
- data/third_party/boringssl/crypto/curve25519/curve25519.c +284 -242
- data/third_party/boringssl/crypto/curve25519/internal.h +64 -0
- data/third_party/boringssl/crypto/curve25519/spake25519.c +464 -0
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +21 -0
- data/third_party/boringssl/crypto/dh/check.c +22 -6
- data/third_party/boringssl/crypto/dh/dh.c +45 -21
- data/third_party/boringssl/crypto/dh/dh_asn1.c +96 -20
- data/third_party/boringssl/crypto/dh/params.c +30 -78
- data/third_party/boringssl/crypto/digest/digest.c +3 -3
- data/third_party/boringssl/crypto/dsa/dsa.c +59 -29
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +4 -0
- data/third_party/boringssl/crypto/ec/ec.c +84 -140
- data/third_party/boringssl/crypto/ec/ec_asn1.c +82 -52
- data/third_party/boringssl/crypto/ec/ec_key.c +15 -15
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +87 -50
- data/third_party/boringssl/crypto/ec/internal.h +12 -36
- data/third_party/boringssl/crypto/ec/oct.c +11 -11
- data/third_party/boringssl/crypto/ec/p224-64.c +59 -116
- data/third_party/boringssl/crypto/ec/p256-64.c +88 -163
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +46 -58
- data/third_party/boringssl/crypto/ec/simple.c +81 -201
- data/third_party/boringssl/crypto/ec/util-64.c +0 -74
- data/third_party/boringssl/crypto/ecdh/ecdh.c +7 -1
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +28 -46
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +1 -0
- data/third_party/boringssl/crypto/engine/engine.c +1 -1
- data/third_party/boringssl/crypto/err/err.c +3 -3
- data/third_party/boringssl/crypto/evp/evp.c +14 -59
- data/third_party/boringssl/crypto/evp/evp_asn1.c +144 -87
- data/third_party/boringssl/crypto/evp/evp_ctx.c +7 -7
- data/third_party/boringssl/crypto/evp/internal.h +4 -46
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +8 -157
- data/third_party/boringssl/crypto/evp/p_ec.c +1 -1
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +22 -170
- data/third_party/boringssl/crypto/evp/p_rsa.c +1 -1
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +10 -548
- data/third_party/boringssl/crypto/evp/print.c +520 -0
- data/third_party/boringssl/crypto/ex_data.c +4 -6
- data/third_party/boringssl/crypto/hkdf/hkdf.c +38 -17
- data/third_party/boringssl/crypto/hmac/hmac.c +6 -6
- data/third_party/boringssl/crypto/internal.h +57 -77
- data/third_party/boringssl/crypto/lhash/lhash.c +6 -10
- data/third_party/boringssl/crypto/md4/md4.c +9 -0
- data/third_party/boringssl/crypto/mem.c +19 -19
- data/third_party/boringssl/crypto/modes/cfb.c +5 -6
- data/third_party/boringssl/crypto/modes/ctr.c +10 -18
- data/third_party/boringssl/crypto/modes/gcm.c +100 -66
- data/third_party/boringssl/crypto/modes/internal.h +15 -27
- data/third_party/boringssl/crypto/modes/ofb.c +9 -22
- data/third_party/boringssl/crypto/newhope/error_correction.c +131 -0
- data/third_party/boringssl/crypto/newhope/internal.h +71 -0
- data/third_party/boringssl/crypto/newhope/newhope.c +174 -0
- data/third_party/boringssl/crypto/newhope/ntt.c +148 -0
- data/third_party/boringssl/crypto/newhope/poly.c +183 -0
- data/third_party/boringssl/crypto/newhope/precomp.c +306 -0
- data/third_party/boringssl/crypto/newhope/reduce.c +42 -0
- data/third_party/boringssl/crypto/obj/obj.c +111 -135
- data/third_party/boringssl/crypto/obj/obj_dat.h +4 -10
- data/third_party/boringssl/crypto/pem/pem_lib.c +6 -43
- data/third_party/boringssl/crypto/pem/pem_pkey.c +10 -19
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +1 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +2 -1
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +2 -2
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +95 -87
- data/third_party/boringssl/crypto/{test/test_util.h → poly1305/internal.h} +15 -10
- data/third_party/boringssl/crypto/poly1305/poly1305.c +8 -15
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +1 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +3 -3
- data/third_party/boringssl/crypto/rand/deterministic.c +47 -0
- data/third_party/boringssl/crypto/rand/rand.c +4 -1
- data/third_party/boringssl/crypto/rand/urandom.c +5 -7
- data/third_party/boringssl/crypto/rand/windows.c +5 -8
- data/third_party/boringssl/crypto/rc4/rc4.c +24 -209
- data/third_party/boringssl/crypto/refcount_lock.c +2 -2
- data/third_party/boringssl/crypto/rsa/blinding.c +74 -232
- data/third_party/boringssl/crypto/rsa/internal.h +5 -13
- data/third_party/boringssl/crypto/rsa/padding.c +64 -63
- data/third_party/boringssl/crypto/rsa/rsa.c +50 -28
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +8 -16
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +134 -122
- data/third_party/boringssl/crypto/sha/sha256.c +2 -2
- data/third_party/boringssl/crypto/sha/sha512.c +7 -7
- data/third_party/boringssl/crypto/stack/stack.c +13 -22
- data/third_party/boringssl/crypto/thread.c +21 -12
- data/third_party/boringssl/crypto/thread_none.c +6 -2
- data/third_party/boringssl/crypto/thread_pthread.c +16 -7
- data/third_party/boringssl/crypto/thread_win.c +38 -85
- data/third_party/boringssl/crypto/x509/a_sign.c +3 -3
- data/third_party/boringssl/crypto/x509/a_strex.c +1 -1
- data/third_party/boringssl/crypto/x509/a_verify.c +2 -2
- data/third_party/boringssl/crypto/{evp → x509}/algorithm.c +37 -53
- data/third_party/boringssl/crypto/x509/asn1_gen.c +1 -2
- data/third_party/boringssl/crypto/x509/by_dir.c +6 -6
- data/third_party/boringssl/crypto/x509/internal.h +66 -0
- data/third_party/boringssl/crypto/x509/rsa_pss.c +385 -0
- data/third_party/boringssl/crypto/x509/t_x509.c +10 -12
- data/third_party/boringssl/crypto/x509/x509.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_att.c +9 -3
- data/third_party/boringssl/crypto/x509/x509_lu.c +34 -44
- data/third_party/boringssl/crypto/x509/x509_obj.c +19 -2
- data/third_party/boringssl/crypto/x509/x509_r2x.c +9 -5
- data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +63 -32
- data/third_party/boringssl/crypto/x509/x509_vpm.c +29 -18
- data/third_party/boringssl/crypto/x509/x509cset.c +2 -1
- data/third_party/boringssl/crypto/x509/x_crl.c +2 -2
- data/third_party/boringssl/crypto/x509/x_name.c +14 -17
- data/third_party/boringssl/crypto/x509/x_pubkey.c +10 -7
- data/third_party/boringssl/crypto/x509/x_x509.c +67 -6
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +4 -3
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +5 -0
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +0 -3
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +2 -2
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +2 -1
- data/third_party/boringssl/include/openssl/aead.h +72 -73
- data/third_party/boringssl/include/openssl/arm_arch.h +0 -6
- data/third_party/boringssl/include/openssl/asn1.h +103 -235
- data/third_party/boringssl/include/openssl/asn1_mac.h +17 -74
- data/third_party/boringssl/include/openssl/asn1t.h +1 -11
- data/third_party/boringssl/include/openssl/base.h +145 -3
- data/third_party/boringssl/include/openssl/base64.h +20 -17
- data/third_party/boringssl/include/openssl/bio.h +59 -34
- data/third_party/boringssl/include/openssl/bn.h +118 -51
- data/third_party/boringssl/include/openssl/buf.h +15 -0
- data/third_party/boringssl/include/openssl/bytestring.h +52 -4
- data/third_party/boringssl/include/openssl/chacha.h +2 -2
- data/third_party/boringssl/include/openssl/cipher.h +18 -1
- data/third_party/boringssl/include/openssl/cmac.h +11 -0
- data/third_party/boringssl/include/openssl/conf.h +13 -2
- data/third_party/boringssl/include/openssl/cpu.h +20 -23
- data/third_party/boringssl/include/openssl/crypto.h +22 -1
- data/third_party/boringssl/include/openssl/curve25519.h +96 -4
- data/third_party/boringssl/include/openssl/dh.h +71 -16
- data/third_party/boringssl/include/openssl/digest.h +38 -11
- data/third_party/boringssl/include/openssl/dsa.h +40 -4
- data/third_party/boringssl/include/openssl/ec.h +44 -18
- data/third_party/boringssl/include/openssl/ec_key.h +27 -6
- data/third_party/boringssl/include/openssl/ecdsa.h +11 -0
- data/third_party/boringssl/include/openssl/engine.h +11 -0
- data/third_party/boringssl/include/openssl/evp.h +52 -88
- data/third_party/boringssl/include/openssl/hkdf.h +24 -4
- data/third_party/boringssl/include/openssl/hmac.h +20 -6
- data/third_party/boringssl/include/openssl/md4.h +4 -0
- data/third_party/boringssl/include/openssl/mem.h +19 -0
- data/third_party/boringssl/include/openssl/newhope.h +158 -0
- data/third_party/boringssl/include/openssl/nid.h +4166 -0
- data/third_party/boringssl/include/openssl/obj.h +31 -3
- data/third_party/boringssl/include/openssl/obj_mac.h +17 -4143
- data/third_party/boringssl/include/openssl/{opensslfeatures.h → opensslconf.h} +3 -3
- data/third_party/boringssl/include/openssl/pem.h +5 -0
- data/third_party/boringssl/include/openssl/pkcs8.h +12 -0
- data/third_party/boringssl/include/openssl/rand.h +6 -0
- data/third_party/boringssl/include/openssl/rc4.h +6 -0
- data/third_party/boringssl/{crypto/dh/internal.h → include/openssl/ripemd.h} +38 -11
- data/third_party/boringssl/include/openssl/rsa.h +127 -65
- data/third_party/boringssl/include/openssl/sha.h +14 -10
- data/third_party/boringssl/include/openssl/ssl.h +561 -275
- data/third_party/boringssl/include/openssl/ssl3.h +18 -25
- data/third_party/boringssl/include/openssl/stack.h +2 -4
- data/third_party/boringssl/include/openssl/stack_macros.h +321 -353
- data/third_party/boringssl/include/openssl/thread.h +31 -13
- data/third_party/boringssl/include/openssl/time_support.h +1 -0
- data/third_party/boringssl/include/openssl/tls1.h +37 -33
- data/third_party/boringssl/include/openssl/x509.h +69 -26
- data/third_party/boringssl/include/openssl/x509_vfy.h +12 -10
- data/third_party/boringssl/include/openssl/x509v3.h +23 -2
- data/third_party/boringssl/ssl/custom_extensions.c +3 -5
- data/third_party/boringssl/ssl/d1_both.c +463 -499
- data/third_party/boringssl/ssl/d1_lib.c +38 -109
- data/third_party/boringssl/ssl/d1_pkt.c +173 -334
- data/third_party/boringssl/ssl/d1_srtp.c +20 -18
- data/third_party/boringssl/ssl/{d1_meth.c → dtls_method.c} +88 -15
- data/third_party/boringssl/ssl/dtls_record.c +27 -26
- data/third_party/boringssl/ssl/{s3_clnt.c → handshake_client.c} +816 -904
- data/third_party/boringssl/ssl/handshake_server.c +1932 -0
- data/third_party/boringssl/ssl/internal.h +712 -439
- data/third_party/boringssl/ssl/s3_both.c +445 -257
- data/third_party/boringssl/ssl/s3_enc.c +53 -36
- data/third_party/boringssl/ssl/s3_lib.c +23 -268
- data/third_party/boringssl/ssl/s3_pkt.c +168 -364
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +46 -17
- data/third_party/boringssl/ssl/ssl_asn1.c +56 -26
- data/third_party/boringssl/ssl/ssl_buffer.c +16 -24
- data/third_party/boringssl/ssl/ssl_cert.c +324 -49
- data/third_party/boringssl/ssl/ssl_cipher.c +205 -150
- data/third_party/boringssl/ssl/ssl_ecdh.c +287 -51
- data/third_party/boringssl/ssl/ssl_file.c +21 -68
- data/third_party/boringssl/ssl/ssl_lib.c +881 -510
- data/third_party/boringssl/ssl/ssl_rsa.c +404 -34
- data/third_party/boringssl/ssl/ssl_session.c +324 -103
- data/third_party/boringssl/ssl/ssl_stat.c +6 -88
- data/third_party/boringssl/ssl/t1_enc.c +23 -39
- data/third_party/boringssl/ssl/t1_lib.c +1120 -622
- data/third_party/boringssl/ssl/tls13_both.c +440 -0
- data/third_party/boringssl/ssl/tls13_client.c +682 -0
- data/third_party/boringssl/ssl/tls13_enc.c +391 -0
- data/third_party/boringssl/ssl/tls13_server.c +672 -0
- data/third_party/boringssl/ssl/{s3_meth.c → tls_method.c} +100 -21
- data/third_party/boringssl/ssl/tls_record.c +159 -77
- data/third_party/nanopb/pb.h +60 -28
- data/third_party/nanopb/pb_decode.c +120 -92
- data/third_party/nanopb/pb_decode.h +3 -3
- data/third_party/nanopb/pb_encode.c +73 -67
- data/third_party/nanopb/pb_encode.h +4 -4
- metadata +155 -89
- data/include/grpc/impl/codegen/byte_buffer.h +0 -122
- data/include/grpc/impl/codegen/log.h +0 -118
- data/include/grpc/impl/codegen/time.h +0 -130
- data/src/core/ext/client_config/client_channel.c +0 -593
- data/src/core/ext/client_config/subchannel_call_holder.c +0 -272
- data/src/core/ext/client_config/subchannel_call_holder.h +0 -99
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +0 -2046
- data/src/core/lib/iomgr/workqueue_posix.c +0 -151
- data/src/core/lib/security/transport/handshake.c +0 -368
- data/third_party/boringssl/crypto/asn1/a_bytes.c +0 -308
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +0 -477
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +0 -251
- data/third_party/boringssl/crypto/asn1/t_pkey.c +0 -110
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +0 -596
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +0 -328
- data/third_party/boringssl/crypto/directory.h +0 -66
- data/third_party/boringssl/crypto/directory_posix.c +0 -108
- data/third_party/boringssl/crypto/directory_win.c +0 -144
- data/third_party/boringssl/crypto/test/scoped_types.h +0 -140
- data/third_party/boringssl/include/openssl/pqueue.h +0 -146
- data/third_party/boringssl/ssl/d1_clnt.c +0 -561
- data/third_party/boringssl/ssl/d1_srvr.c +0 -476
- data/third_party/boringssl/ssl/pqueue/pqueue.c +0 -197
- data/third_party/boringssl/ssl/s3_srvr.c +0 -2272
- data/third_party/boringssl/ssl/test/async_bio.h +0 -45
- data/third_party/boringssl/ssl/test/packeted_bio.h +0 -44
- data/third_party/boringssl/ssl/test/test_config.h +0 -110
@@ -67,14 +67,15 @@ extern "C" {
|
|
67
67
|
|
68
68
|
|
69
69
|
#if defined(OPENSSL_NO_THREADS)
|
70
|
-
typedef struct crypto_mutex_st {
|
70
|
+
typedef struct crypto_mutex_st {
|
71
|
+
char padding; /* Empty structs have different sizes in C and C++. */
|
72
|
+
} CRYPTO_MUTEX;
|
71
73
|
#elif defined(OPENSSL_WINDOWS)
|
72
74
|
/* CRYPTO_MUTEX can appear in public header files so we really don't want to
|
73
75
|
* pull in windows.h. It's statically asserted that this structure is large
|
74
|
-
* enough to contain a Windows
|
76
|
+
* enough to contain a Windows SRWLOCK by thread_win.c. */
|
75
77
|
typedef union crypto_mutex_st {
|
76
|
-
|
77
|
-
uint8_t padding[4*sizeof(void*) + 2*sizeof(int)];
|
78
|
+
void *handle;
|
78
79
|
} CRYPTO_MUTEX;
|
79
80
|
#elif defined(__MACH__) && defined(__APPLE__)
|
80
81
|
typedef pthread_rwlock_t CRYPTO_MUTEX;
|
@@ -100,7 +101,11 @@ typedef union crypto_mutex_st {
|
|
100
101
|
typedef uint32_t CRYPTO_refcount_t;
|
101
102
|
|
102
103
|
|
103
|
-
/* Deprecated functions
|
104
|
+
/* Deprecated functions.
|
105
|
+
*
|
106
|
+
* Historically, OpenSSL required callers to provide locking callbacks.
|
107
|
+
* BoringSSL is thread-safe by default, but some old code calls these functions
|
108
|
+
* and so no-op implementations are provided. */
|
104
109
|
|
105
110
|
/* These defines do nothing but are provided to make old code easier to
|
106
111
|
* compile. */
|
@@ -122,6 +127,11 @@ OPENSSL_EXPORT void CRYPTO_set_locking_callback(
|
|
122
127
|
OPENSSL_EXPORT void CRYPTO_set_add_lock_callback(int (*func)(
|
123
128
|
int *num, int amount, int lock_num, const char *file, int line));
|
124
129
|
|
130
|
+
/* CRYPTO_get_locking_callback returns NULL. */
|
131
|
+
OPENSSL_EXPORT void (*CRYPTO_get_locking_callback(void))(int mode, int lock_num,
|
132
|
+
const char *file,
|
133
|
+
int line);
|
134
|
+
|
125
135
|
/* CRYPTO_get_lock_name returns a fixed, dummy string. */
|
126
136
|
OPENSSL_EXPORT const char *CRYPTO_get_lock_name(int lock_num);
|
127
137
|
|
@@ -139,14 +149,7 @@ OPENSSL_EXPORT void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);
|
|
139
149
|
/* CRYPTO_THREADID_current does nothing. */
|
140
150
|
OPENSSL_EXPORT void CRYPTO_THREADID_current(CRYPTO_THREADID *id);
|
141
151
|
|
142
|
-
|
143
|
-
/* Private functions.
|
144
|
-
*
|
145
|
-
* Some old code calls these functions and so no-op implementations are
|
146
|
-
* provided.
|
147
|
-
*
|
148
|
-
* TODO(fork): cleanup callers and remove. */
|
149
|
-
|
152
|
+
/* CRYPTO_set_id_callback does nothing. */
|
150
153
|
OPENSSL_EXPORT void CRYPTO_set_id_callback(unsigned long (*func)(void));
|
151
154
|
|
152
155
|
typedef struct {
|
@@ -154,17 +157,32 @@ typedef struct {
|
|
154
157
|
struct CRYPTO_dynlock_value *data;
|
155
158
|
} CRYPTO_dynlock;
|
156
159
|
|
160
|
+
/* CRYPTO_set_dynlock_create_callback does nothing. */
|
157
161
|
OPENSSL_EXPORT void CRYPTO_set_dynlock_create_callback(
|
158
162
|
struct CRYPTO_dynlock_value *(*dyn_create_function)(const char *file,
|
159
163
|
int line));
|
160
164
|
|
165
|
+
/* CRYPTO_set_dynlock_lock_callback does nothing. */
|
161
166
|
OPENSSL_EXPORT void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(
|
162
167
|
int mode, struct CRYPTO_dynlock_value *l, const char *file, int line));
|
163
168
|
|
169
|
+
/* CRYPTO_set_dynlock_destroy_callback does nothing. */
|
164
170
|
OPENSSL_EXPORT void CRYPTO_set_dynlock_destroy_callback(
|
165
171
|
void (*dyn_destroy_function)(struct CRYPTO_dynlock_value *l,
|
166
172
|
const char *file, int line));
|
167
173
|
|
174
|
+
/* CRYPTO_get_dynlock_create_callback returns NULL. */
|
175
|
+
OPENSSL_EXPORT struct CRYPTO_dynlock_value *(
|
176
|
+
*CRYPTO_get_dynlock_create_callback(void))(const char *file, int line);
|
177
|
+
|
178
|
+
/* CRYPTO_get_dynlock_lock_callback returns NULL. */
|
179
|
+
OPENSSL_EXPORT void (*CRYPTO_get_dynlock_lock_callback(void))(
|
180
|
+
int mode, struct CRYPTO_dynlock_value *l, const char *file, int line);
|
181
|
+
|
182
|
+
/* CRYPTO_get_dynlock_destroy_callback returns NULL. */
|
183
|
+
OPENSSL_EXPORT void (*CRYPTO_get_dynlock_destroy_callback(void))(
|
184
|
+
struct CRYPTO_dynlock_value *l, const char *file, int line);
|
185
|
+
|
168
186
|
|
169
187
|
#if defined(__cplusplus)
|
170
188
|
} /* extern C */
|
@@ -157,8 +157,7 @@ extern "C" {
|
|
157
157
|
#endif
|
158
158
|
|
159
159
|
|
160
|
-
#define
|
161
|
-
|
160
|
+
#define TLS1_AD_END_OF_EARLY_DATA 1
|
162
161
|
#define TLS1_AD_DECRYPTION_FAILED 21
|
163
162
|
#define TLS1_AD_RECORD_OVERFLOW 22
|
164
163
|
#define TLS1_AD_UNKNOWN_CA 48 /* fatal */
|
@@ -171,6 +170,7 @@ extern "C" {
|
|
171
170
|
#define TLS1_AD_INTERNAL_ERROR 80 /* fatal */
|
172
171
|
#define TLS1_AD_USER_CANCELLED 90
|
173
172
|
#define TLS1_AD_NO_RENEGOTIATION 100
|
173
|
+
#define TLS1_AD_MISSING_EXTENSION 109
|
174
174
|
/* codes 110-114 are from RFC3546 */
|
175
175
|
#define TLS1_AD_UNSUPPORTED_EXTENSION 110
|
176
176
|
#define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111
|
@@ -179,39 +179,19 @@ extern "C" {
|
|
179
179
|
#define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114
|
180
180
|
#define TLS1_AD_UNKNOWN_PSK_IDENTITY 115 /* fatal */
|
181
181
|
|
182
|
-
/* ExtensionType values from
|
182
|
+
/* ExtensionType values from RFC6066 */
|
183
183
|
#define TLSEXT_TYPE_server_name 0
|
184
|
-
#define TLSEXT_TYPE_max_fragment_length 1
|
185
|
-
#define TLSEXT_TYPE_client_certificate_url 2
|
186
|
-
#define TLSEXT_TYPE_trusted_ca_keys 3
|
187
|
-
#define TLSEXT_TYPE_truncated_hmac 4
|
188
184
|
#define TLSEXT_TYPE_status_request 5
|
189
|
-
/* ExtensionType values from RFC4681 */
|
190
|
-
#define TLSEXT_TYPE_user_mapping 6
|
191
|
-
|
192
|
-
/* ExtensionType values from RFC5878 */
|
193
|
-
#define TLSEXT_TYPE_client_authz 7
|
194
|
-
#define TLSEXT_TYPE_server_authz 8
|
195
|
-
|
196
|
-
/* ExtensionType values from RFC6091 */
|
197
|
-
#define TLSEXT_TYPE_cert_type 9
|
198
185
|
|
199
186
|
/* ExtensionType values from RFC4492 */
|
200
|
-
#define TLSEXT_TYPE_elliptic_curves 10
|
201
187
|
#define TLSEXT_TYPE_ec_point_formats 11
|
202
188
|
|
203
|
-
/* ExtensionType value from RFC5054 */
|
204
|
-
#define TLSEXT_TYPE_srp 12
|
205
|
-
|
206
189
|
/* ExtensionType values from RFC5246 */
|
207
190
|
#define TLSEXT_TYPE_signature_algorithms 13
|
208
191
|
|
209
192
|
/* ExtensionType value from RFC5764 */
|
210
193
|
#define TLSEXT_TYPE_srtp 14
|
211
194
|
|
212
|
-
/* ExtensionType value from RFC5620 */
|
213
|
-
#define TLSEXT_TYPE_heartbeat 15
|
214
|
-
|
215
195
|
/* ExtensionType value from RFC7301 */
|
216
196
|
#define TLSEXT_TYPE_application_layer_protocol_negotiation 16
|
217
197
|
|
@@ -224,6 +204,14 @@ extern "C" {
|
|
224
204
|
/* ExtensionType value from RFC4507 */
|
225
205
|
#define TLSEXT_TYPE_session_ticket 35
|
226
206
|
|
207
|
+
/* ExtensionType values from draft-ietf-tls-tls13-13 */
|
208
|
+
#define TLSEXT_TYPE_supported_groups 10
|
209
|
+
#define TLSEXT_TYPE_key_share 40
|
210
|
+
#define TLSEXT_TYPE_pre_shared_key 41
|
211
|
+
#define TLSEXT_TYPE_early_data 42
|
212
|
+
#define TLSEXT_TYPE_supported_versions 43
|
213
|
+
#define TLSEXT_TYPE_cookie 44
|
214
|
+
|
227
215
|
/* ExtensionType value from RFC5746 */
|
228
216
|
#define TLSEXT_TYPE_renegotiate 0xff01
|
229
217
|
|
@@ -242,7 +230,6 @@ extern "C" {
|
|
242
230
|
/* ECPointFormat values from RFC 4492 */
|
243
231
|
#define TLSEXT_ECPOINTFORMAT_uncompressed 0
|
244
232
|
#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1
|
245
|
-
#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2
|
246
233
|
|
247
234
|
/* Signature and hash algorithms from RFC 5246 */
|
248
235
|
|
@@ -259,15 +246,6 @@ extern "C" {
|
|
259
246
|
#define TLSEXT_hash_sha384 5
|
260
247
|
#define TLSEXT_hash_sha512 6
|
261
248
|
|
262
|
-
/* Flag set for unrecognised algorithms */
|
263
|
-
#define TLSEXT_nid_unknown 0x1000000
|
264
|
-
|
265
|
-
/* ECC curves */
|
266
|
-
|
267
|
-
#define TLSEXT_curve_P_256 23
|
268
|
-
#define TLSEXT_curve_P_384 24
|
269
|
-
|
270
|
-
|
271
249
|
#define TLSEXT_MAXLEN_host_name 255
|
272
250
|
|
273
251
|
/* PSK ciphersuites from 4279 */
|
@@ -430,15 +408,26 @@ extern "C" {
|
|
430
408
|
#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD 0x0300CC13
|
431
409
|
#define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD 0x0300CC14
|
432
410
|
|
411
|
+
/* ChaCha20-Poly1305 cipher suites from RFC 7905. */
|
433
412
|
#define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0x0300CCA8
|
434
413
|
#define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0x0300CCA9
|
435
414
|
#define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0x0300CCAC
|
436
415
|
|
416
|
+
/* PSK ciphersuites from mattsson-tls-ecdhe-psk-aead */
|
417
|
+
#define TLS1_CK_ECDHE_PSK_WITH_AES_128_GCM_SHA256 0x0300D001
|
418
|
+
#define TLS1_CK_ECDHE_PSK_WITH_AES_256_GCM_SHA384 0x0300D002
|
419
|
+
|
437
420
|
/* TODO(davidben): Remove this. Historically, the CK names for CHACHA20_POLY1305
|
438
421
|
* were missing 'WITH' and 'SHA256'. */
|
439
422
|
#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 \
|
440
423
|
TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
|
441
424
|
|
425
|
+
/* CECPQ1 ciphersuites. These are specific to BoringSSL and not standard. */
|
426
|
+
#define TLS1_CK_CECPQ1_RSA_WITH_CHACHA20_POLY1305_SHA256 0x030016B7
|
427
|
+
#define TLS1_CK_CECPQ1_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0x030016B8
|
428
|
+
#define TLS1_CK_CECPQ1_RSA_WITH_AES_256_GCM_SHA384 0x030016B9
|
429
|
+
#define TLS1_CK_CECPQ1_ECDSA_WITH_AES_256_GCM_SHA384 0x030016BA
|
430
|
+
|
442
431
|
/* XXX
|
443
432
|
* Inconsistency alert:
|
444
433
|
* The OpenSSL names of ciphers with ephemeral DH here include the string
|
@@ -619,6 +608,21 @@ extern "C" {
|
|
619
608
|
#define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 \
|
620
609
|
TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
|
621
610
|
|
611
|
+
/* PSK ciphersuites from mattsson-tls-ecdhe-psk-aead */
|
612
|
+
#define TLS1_TXT_ECDHE_PSK_WITH_AES_128_GCM_SHA256 "ECDHE-PSK-AES128-GCM-SHA256"
|
613
|
+
#define TLS1_TXT_ECDHE_PSK_WITH_AES_256_GCM_SHA384 "ECDHE-PSK-AES256-GCM-SHA384"
|
614
|
+
|
615
|
+
/* CECPQ1 ciphersuites. These are specific to BoringSSL and not standard. */
|
616
|
+
#define TLS1_TXT_CECPQ1_RSA_WITH_CHACHA20_POLY1305_SHA256 \
|
617
|
+
"CECPQ1-RSA-CHACHA20-POLY1305-SHA256"
|
618
|
+
#define TLS1_TXT_CECPQ1_ECDSA_WITH_CHACHA20_POLY1305_SHA256 \
|
619
|
+
"CECPQ1-ECDSA-CHACHA20-POLY1305-SHA256"
|
620
|
+
#define TLS1_TXT_CECPQ1_RSA_WITH_AES_256_GCM_SHA384 \
|
621
|
+
"CECPQ1-RSA-AES256-GCM-SHA384"
|
622
|
+
#define TLS1_TXT_CECPQ1_ECDSA_WITH_AES_256_GCM_SHA384 \
|
623
|
+
"CECPQ1-ECDSA-AES256-GCM-SHA384"
|
624
|
+
|
625
|
+
|
622
626
|
#define TLS_CT_RSA_SIGN 1
|
623
627
|
#define TLS_CT_DSS_SIGN 2
|
624
628
|
#define TLS_CT_RSA_FIXED_DH 3
|
@@ -76,6 +76,7 @@
|
|
76
76
|
#include <openssl/ecdsa.h>
|
77
77
|
#include <openssl/ec.h>
|
78
78
|
#include <openssl/evp.h>
|
79
|
+
#include <openssl/obj.h>
|
79
80
|
#include <openssl/rsa.h>
|
80
81
|
#include <openssl/sha.h>
|
81
82
|
#include <openssl/stack.h>
|
@@ -242,7 +243,6 @@ struct x509_st
|
|
242
243
|
X509_CINF *cert_info;
|
243
244
|
X509_ALGOR *sig_alg;
|
244
245
|
ASN1_BIT_STRING *signature;
|
245
|
-
int valid;
|
246
246
|
CRYPTO_refcount_t references;
|
247
247
|
char *name;
|
248
248
|
CRYPTO_EX_DATA ex_data;
|
@@ -781,9 +781,8 @@ DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
|
|
781
781
|
|
782
782
|
DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR)
|
783
783
|
|
784
|
-
/* X509_up_ref adds one to the reference count of |x| and returns
|
785
|
-
*
|
786
|
-
OPENSSL_EXPORT X509 *X509_up_ref(X509 *x);
|
784
|
+
/* X509_up_ref adds one to the reference count of |x| and returns one. */
|
785
|
+
OPENSSL_EXPORT int X509_up_ref(X509 *x);
|
787
786
|
|
788
787
|
OPENSSL_EXPORT int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused,
|
789
788
|
CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
|
@@ -858,6 +857,7 @@ OPENSSL_EXPORT int X509_set_pubkey(X509 *x, EVP_PKEY *pkey);
|
|
858
857
|
OPENSSL_EXPORT EVP_PKEY * X509_get_pubkey(X509 *x);
|
859
858
|
OPENSSL_EXPORT ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x);
|
860
859
|
OPENSSL_EXPORT int X509_certificate_type(X509 *x,EVP_PKEY *pubkey /* optional */);
|
860
|
+
OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x);
|
861
861
|
|
862
862
|
OPENSSL_EXPORT int X509_REQ_set_version(X509_REQ *x,long version);
|
863
863
|
OPENSSL_EXPORT int X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name);
|
@@ -893,7 +893,7 @@ OPENSSL_EXPORT int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name);
|
|
893
893
|
OPENSSL_EXPORT int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm);
|
894
894
|
OPENSSL_EXPORT int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm);
|
895
895
|
OPENSSL_EXPORT int X509_CRL_sort(X509_CRL *crl);
|
896
|
-
OPENSSL_EXPORT
|
896
|
+
OPENSSL_EXPORT int X509_CRL_up_ref(X509_CRL *crl);
|
897
897
|
|
898
898
|
OPENSSL_EXPORT int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial);
|
899
899
|
OPENSSL_EXPORT int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm);
|
@@ -1153,6 +1153,17 @@ OPENSSL_EXPORT int X509_TRUST_get_flags(X509_TRUST *xp);
|
|
1153
1153
|
OPENSSL_EXPORT char *X509_TRUST_get0_name(X509_TRUST *xp);
|
1154
1154
|
OPENSSL_EXPORT int X509_TRUST_get_trust(X509_TRUST *xp);
|
1155
1155
|
|
1156
|
+
|
1157
|
+
typedef struct rsa_pss_params_st {
|
1158
|
+
X509_ALGOR *hashAlgorithm;
|
1159
|
+
X509_ALGOR *maskGenAlgorithm;
|
1160
|
+
ASN1_INTEGER *saltLength;
|
1161
|
+
ASN1_INTEGER *trailerField;
|
1162
|
+
} RSA_PSS_PARAMS;
|
1163
|
+
|
1164
|
+
DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
|
1165
|
+
|
1166
|
+
|
1156
1167
|
/* PKCS7_get_certificates parses a PKCS#7, SignedData structure from |cbs| and
|
1157
1168
|
* appends the included certificates to |out_certs|. It returns one on success
|
1158
1169
|
* and zero on error. */
|
@@ -1213,6 +1224,39 @@ OPENSSL_EXPORT int PKCS7_get_PEM_CRLs(STACK_OF(X509_CRL) *out_crls,
|
|
1213
1224
|
|
1214
1225
|
#ifdef __cplusplus
|
1215
1226
|
}
|
1227
|
+
|
1228
|
+
extern "C++" {
|
1229
|
+
|
1230
|
+
namespace bssl {
|
1231
|
+
|
1232
|
+
BORINGSSL_MAKE_STACK_DELETER(X509, X509_free)
|
1233
|
+
BORINGSSL_MAKE_STACK_DELETER(X509_CRL, X509_CRL_free)
|
1234
|
+
BORINGSSL_MAKE_STACK_DELETER(X509_EXTENSION, X509_EXTENSION_free)
|
1235
|
+
BORINGSSL_MAKE_STACK_DELETER(X509_NAME, X509_NAME_free)
|
1236
|
+
|
1237
|
+
BORINGSSL_MAKE_DELETER(NETSCAPE_SPKI, NETSCAPE_SPKI_free)
|
1238
|
+
BORINGSSL_MAKE_DELETER(X509, X509_free)
|
1239
|
+
BORINGSSL_MAKE_DELETER(X509_ALGOR, X509_ALGOR_free)
|
1240
|
+
BORINGSSL_MAKE_DELETER(X509_CRL, X509_CRL_free)
|
1241
|
+
BORINGSSL_MAKE_DELETER(X509_CRL_METHOD, X509_CRL_METHOD_free)
|
1242
|
+
BORINGSSL_MAKE_DELETER(X509_EXTENSION, X509_EXTENSION_free)
|
1243
|
+
BORINGSSL_MAKE_DELETER(X509_INFO, X509_INFO_free)
|
1244
|
+
BORINGSSL_MAKE_DELETER(X509_LOOKUP, X509_LOOKUP_free)
|
1245
|
+
BORINGSSL_MAKE_DELETER(X509_NAME, X509_NAME_free)
|
1246
|
+
BORINGSSL_MAKE_DELETER(X509_NAME_ENTRY, X509_NAME_ENTRY_free)
|
1247
|
+
BORINGSSL_MAKE_DELETER(X509_PKEY, X509_PKEY_free)
|
1248
|
+
BORINGSSL_MAKE_DELETER(X509_POLICY_TREE, X509_policy_tree_free)
|
1249
|
+
BORINGSSL_MAKE_DELETER(X509_REQ, X509_REQ_free)
|
1250
|
+
BORINGSSL_MAKE_DELETER(X509_REVOKED, X509_REVOKED_free)
|
1251
|
+
BORINGSSL_MAKE_DELETER(X509_SIG, X509_SIG_free)
|
1252
|
+
BORINGSSL_MAKE_DELETER(X509_STORE, X509_STORE_free)
|
1253
|
+
BORINGSSL_MAKE_DELETER(X509_STORE_CTX, X509_STORE_CTX_free)
|
1254
|
+
BORINGSSL_MAKE_DELETER(X509_VERIFY_PARAM, X509_VERIFY_PARAM_free)
|
1255
|
+
|
1256
|
+
} // namespace bssl
|
1257
|
+
|
1258
|
+
} /* extern C++ */
|
1259
|
+
|
1216
1260
|
#endif
|
1217
1261
|
|
1218
1262
|
#define X509_R_AKID_MISMATCH 100
|
@@ -1227,30 +1271,29 @@ OPENSSL_EXPORT int PKCS7_get_PEM_CRLs(STACK_OF(X509_CRL) *out_crls,
|
|
1227
1271
|
#define X509_R_INVALID_BIT_STRING_BITS_LEFT 109
|
1228
1272
|
#define X509_R_INVALID_DIRECTORY 110
|
1229
1273
|
#define X509_R_INVALID_FIELD_NAME 111
|
1230
|
-
#define
|
1231
|
-
#define
|
1232
|
-
#define
|
1233
|
-
#define
|
1234
|
-
#define
|
1235
|
-
#define
|
1236
|
-
#define
|
1274
|
+
#define X509_R_INVALID_PSS_PARAMETERS 112
|
1275
|
+
#define X509_R_INVALID_TRUST 113
|
1276
|
+
#define X509_R_ISSUER_MISMATCH 114
|
1277
|
+
#define X509_R_KEY_TYPE_MISMATCH 115
|
1278
|
+
#define X509_R_KEY_VALUES_MISMATCH 116
|
1279
|
+
#define X509_R_LOADING_CERT_DIR 117
|
1280
|
+
#define X509_R_LOADING_DEFAULTS 118
|
1237
1281
|
#define X509_R_NEWER_CRL_NOT_NEWER 119
|
1238
1282
|
#define X509_R_NOT_PKCS7_SIGNED_DATA 120
|
1239
1283
|
#define X509_R_NO_CERTIFICATES_INCLUDED 121
|
1240
1284
|
#define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 122
|
1241
|
-
#define
|
1242
|
-
#define
|
1243
|
-
#define
|
1244
|
-
#define
|
1245
|
-
#define
|
1246
|
-
#define
|
1247
|
-
#define
|
1248
|
-
#define
|
1249
|
-
#define
|
1250
|
-
#define
|
1251
|
-
#define
|
1252
|
-
#define
|
1253
|
-
#define
|
1254
|
-
#define X509_R_NO_CRLS_INCLUDED 136
|
1285
|
+
#define X509_R_NO_CRLS_INCLUDED 123
|
1286
|
+
#define X509_R_NO_CRL_NUMBER 124
|
1287
|
+
#define X509_R_PUBLIC_KEY_DECODE_ERROR 125
|
1288
|
+
#define X509_R_PUBLIC_KEY_ENCODE_ERROR 126
|
1289
|
+
#define X509_R_SHOULD_RETRY 127
|
1290
|
+
#define X509_R_UNKNOWN_KEY_TYPE 128
|
1291
|
+
#define X509_R_UNKNOWN_NID 129
|
1292
|
+
#define X509_R_UNKNOWN_PURPOSE_ID 130
|
1293
|
+
#define X509_R_UNKNOWN_TRUST_ID 131
|
1294
|
+
#define X509_R_UNSUPPORTED_ALGORITHM 132
|
1295
|
+
#define X509_R_WRONG_LOOKUP_TYPE 133
|
1296
|
+
#define X509_R_WRONG_TYPE 134
|
1297
|
+
#define X509_R_NAME_TOO_LONG 135
|
1255
1298
|
|
1256
1299
|
#endif
|
@@ -109,8 +109,10 @@ The X509_STORE then calls a function to actually verify the
|
|
109
109
|
certificate chain.
|
110
110
|
*/
|
111
111
|
|
112
|
+
/* The following are legacy constants that should not be used. */
|
112
113
|
#define X509_LU_RETRY -1
|
113
114
|
#define X509_LU_FAIL 0
|
115
|
+
|
114
116
|
#define X509_LU_X509 1
|
115
117
|
#define X509_LU_CRL 2
|
116
118
|
#define X509_LU_PKEY 3
|
@@ -127,8 +129,6 @@ typedef struct x509_object_st
|
|
127
129
|
} data;
|
128
130
|
} X509_OBJECT;
|
129
131
|
|
130
|
-
typedef struct x509_lookup_st X509_LOOKUP;
|
131
|
-
|
132
132
|
DECLARE_STACK_OF(X509_LOOKUP)
|
133
133
|
DECLARE_STACK_OF(X509_OBJECT)
|
134
134
|
|
@@ -160,7 +160,7 @@ typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID;
|
|
160
160
|
* parameters used can be customized
|
161
161
|
*/
|
162
162
|
|
163
|
-
|
163
|
+
struct X509_VERIFY_PARAM_st
|
164
164
|
{
|
165
165
|
char *name;
|
166
166
|
time_t check_time; /* Time to use */
|
@@ -171,7 +171,7 @@ typedef struct X509_VERIFY_PARAM_st
|
|
171
171
|
int depth; /* Verify depth */
|
172
172
|
STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */
|
173
173
|
X509_VERIFY_PARAM_ID *id; /* opaque ID data */
|
174
|
-
}
|
174
|
+
};
|
175
175
|
|
176
176
|
DECLARE_STACK_OF(X509_VERIFY_PARAM)
|
177
177
|
|
@@ -228,7 +228,6 @@ struct x509_lookup_st
|
|
228
228
|
struct x509_store_ctx_st /* X509_STORE_CTX */
|
229
229
|
{
|
230
230
|
X509_STORE *ctx;
|
231
|
-
int current_method; /* used when looking up certs */
|
232
231
|
|
233
232
|
/* The following are set by the caller */
|
234
233
|
X509 *cert; /* The cert to check */
|
@@ -292,7 +291,7 @@ OPENSSL_EXPORT void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
|
292
291
|
X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL)
|
293
292
|
|
294
293
|
#define X509_V_OK 0
|
295
|
-
|
294
|
+
#define X509_V_ERR_UNSPECIFIED 1
|
296
295
|
|
297
296
|
#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2
|
298
297
|
#define X509_V_ERR_UNABLE_TO_GET_CRL 3
|
@@ -347,6 +346,7 @@ OPENSSL_EXPORT void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
|
347
346
|
#define X509_V_ERR_PERMITTED_VIOLATION 47
|
348
347
|
#define X509_V_ERR_EXCLUDED_VIOLATION 48
|
349
348
|
#define X509_V_ERR_SUBTREE_MINMAX 49
|
349
|
+
#define X509_V_ERR_APPLICATION_VERIFICATION 50
|
350
350
|
#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51
|
351
351
|
#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52
|
352
352
|
#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53
|
@@ -365,8 +365,10 @@ OPENSSL_EXPORT void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
|
365
365
|
#define X509_V_ERR_EMAIL_MISMATCH 63
|
366
366
|
#define X509_V_ERR_IP_ADDRESS_MISMATCH 64
|
367
367
|
|
368
|
-
/*
|
369
|
-
#define
|
368
|
+
/* Caller error */
|
369
|
+
#define X509_V_ERR_INVALID_CALL 65
|
370
|
+
/* Issuer lookup error */
|
371
|
+
#define X509_V_ERR_STORE_LOOKUP 66
|
370
372
|
|
371
373
|
/* Certificate verify flags */
|
372
374
|
|
@@ -433,9 +435,10 @@ OPENSSL_EXPORT int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type
|
|
433
435
|
X509_NAME *name);
|
434
436
|
OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h,int type,X509_NAME *name);
|
435
437
|
OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x);
|
436
|
-
OPENSSL_EXPORT
|
438
|
+
OPENSSL_EXPORT int X509_OBJECT_up_ref_count(X509_OBJECT *a);
|
437
439
|
OPENSSL_EXPORT void X509_OBJECT_free_contents(X509_OBJECT *a);
|
438
440
|
OPENSSL_EXPORT X509_STORE *X509_STORE_new(void );
|
441
|
+
OPENSSL_EXPORT int X509_STORE_up_ref(X509_STORE *store);
|
439
442
|
OPENSSL_EXPORT void X509_STORE_free(X509_STORE *v);
|
440
443
|
|
441
444
|
OPENSSL_EXPORT STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm);
|
@@ -613,4 +616,3 @@ OPENSSL_EXPORT const X509_POLICY_NODE *
|
|
613
616
|
}
|
614
617
|
#endif
|
615
618
|
#endif
|
616
|
-
|