grpc 1.4.5 → 1.6.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +1235 -1100
- data/etc/roots.pem +0 -412
- data/include/grpc/byte_buffer.h +10 -25
- data/include/grpc/byte_buffer_reader.h +10 -25
- data/include/grpc/census.h +10 -25
- data/include/grpc/compression.h +10 -25
- data/include/grpc/grpc.h +15 -26
- data/include/grpc/grpc_cronet.h +10 -25
- data/include/grpc/grpc_posix.h +10 -25
- data/include/grpc/grpc_security.h +10 -25
- data/include/grpc/grpc_security_constants.h +10 -25
- data/include/grpc/impl/codegen/atm.h +11 -25
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +10 -25
- data/include/grpc/impl/codegen/atm_gcc_sync.h +10 -25
- data/include/grpc/impl/codegen/atm_windows.h +10 -25
- data/include/grpc/impl/codegen/byte_buffer_reader.h +11 -26
- data/include/grpc/impl/codegen/compression_types.h +12 -27
- data/include/grpc/impl/codegen/connectivity_state.h +10 -25
- data/include/grpc/impl/codegen/exec_ctx_fwd.h +10 -25
- data/include/grpc/impl/codegen/gpr_slice.h +10 -25
- data/include/grpc/impl/codegen/gpr_types.h +10 -25
- data/include/grpc/impl/codegen/grpc_types.h +42 -43
- data/include/grpc/impl/codegen/port_platform.h +10 -25
- data/include/grpc/impl/codegen/propagation_bits.h +10 -25
- data/include/grpc/impl/codegen/slice.h +13 -28
- data/include/grpc/impl/codegen/status.h +10 -25
- data/include/grpc/impl/codegen/sync.h +10 -25
- data/include/grpc/impl/codegen/sync_generic.h +10 -25
- data/include/grpc/impl/codegen/sync_posix.h +10 -25
- data/include/grpc/impl/codegen/sync_windows.h +10 -25
- data/include/grpc/load_reporting.h +10 -25
- data/include/grpc/slice.h +10 -25
- data/include/grpc/slice_buffer.h +10 -25
- data/include/grpc/status.h +10 -25
- data/include/grpc/support/alloc.h +10 -25
- data/include/grpc/support/atm.h +10 -25
- data/include/grpc/support/atm_gcc_atomic.h +10 -25
- data/include/grpc/support/atm_gcc_sync.h +10 -25
- data/include/grpc/support/atm_windows.h +10 -25
- data/include/grpc/support/avl.h +46 -49
- data/include/grpc/support/cmdline.h +10 -25
- data/include/grpc/support/cpu.h +10 -25
- data/include/grpc/support/histogram.h +10 -25
- data/include/grpc/support/host_port.h +10 -25
- data/include/grpc/support/log.h +10 -25
- data/include/grpc/support/log_windows.h +10 -25
- data/include/grpc/support/port_platform.h +10 -25
- data/include/grpc/support/string_util.h +10 -25
- data/include/grpc/support/subprocess.h +10 -25
- data/include/grpc/support/sync.h +10 -25
- data/include/grpc/support/sync_generic.h +10 -25
- data/include/grpc/support/sync_posix.h +10 -25
- data/include/grpc/support/sync_windows.h +10 -25
- data/include/grpc/support/thd.h +10 -25
- data/include/grpc/support/time.h +10 -25
- data/include/grpc/support/tls.h +10 -25
- data/include/grpc/support/tls_gcc.h +10 -25
- data/include/grpc/support/tls_msvc.h +10 -25
- data/include/grpc/support/tls_pthread.h +10 -25
- data/include/grpc/support/useful.h +10 -25
- data/include/grpc/support/workaround_list.h +11 -26
- data/src/boringssl/err_data.c +277 -259
- data/src/core/ext/census/aggregation.h +10 -25
- data/src/core/ext/census/base_resources.c +10 -25
- data/src/core/ext/census/base_resources.h +10 -25
- data/src/core/ext/census/census_interface.h +10 -25
- data/src/core/ext/census/census_rpc_stats.h +10 -25
- data/src/core/ext/census/context.c +10 -25
- data/src/core/ext/census/gen/census.pb.c +10 -25
- data/src/core/ext/census/gen/census.pb.h +10 -25
- data/src/core/ext/census/gen/trace_context.pb.c +10 -25
- data/src/core/ext/census/gen/trace_context.pb.h +10 -25
- data/src/core/ext/census/grpc_context.c +10 -25
- data/src/core/ext/census/grpc_filter.c +11 -26
- data/src/core/ext/census/grpc_filter.h +10 -25
- data/src/core/ext/census/grpc_plugin.c +10 -25
- data/src/core/ext/census/initialize.c +10 -25
- data/src/core/ext/census/intrusive_hash_map.c +10 -25
- data/src/core/ext/census/intrusive_hash_map.h +10 -25
- data/src/core/ext/census/intrusive_hash_map_internal.h +10 -25
- data/src/core/ext/census/mlog.c +10 -25
- data/src/core/ext/census/mlog.h +10 -25
- data/src/core/ext/census/operation.c +10 -25
- data/src/core/ext/census/placeholders.c +10 -25
- data/src/core/ext/census/resource.c +10 -25
- data/src/core/ext/census/resource.h +10 -25
- data/src/core/ext/census/rpc_metric_id.h +10 -25
- data/src/core/ext/census/trace_context.c +10 -25
- data/src/core/ext/census/trace_context.h +10 -25
- data/src/core/ext/census/trace_label.h +10 -25
- data/src/core/ext/census/trace_propagation.h +10 -25
- data/src/core/ext/census/trace_status.h +10 -25
- data/src/core/ext/census/trace_string.h +10 -25
- data/src/core/ext/census/tracing.c +10 -26
- data/src/core/ext/census/tracing.h +10 -25
- data/src/core/ext/filters/client_channel/channel_connectivity.c +20 -33
- data/src/core/ext/filters/client_channel/client_channel.c +617 -520
- data/src/core/ext/filters/client_channel/client_channel.h +15 -28
- data/src/core/ext/filters/client_channel/client_channel_factory.c +13 -31
- data/src/core/ext/filters/client_channel/client_channel_factory.h +10 -25
- data/src/core/ext/filters/client_channel/client_channel_plugin.c +16 -29
- data/src/core/ext/filters/client_channel/connector.c +10 -25
- data/src/core/ext/filters/client_channel/connector.h +10 -25
- data/src/core/ext/filters/client_channel/http_connect_handshaker.c +15 -30
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -25
- data/src/core/ext/filters/client_channel/http_proxy.c +112 -38
- data/src/core/ext/filters/client_channel/http_proxy.h +10 -25
- data/src/core/ext/filters/client_channel/lb_policy.c +32 -36
- data/src/core/ext/filters/client_channel/lb_policy.h +24 -27
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c +14 -30
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +10 -25
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +464 -279
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +10 -25
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +15 -28
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c +40 -48
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c +65 -49
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +31 -31
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c +47 -32
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +11 -26
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +13 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +27 -21
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +373 -136
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +504 -279
- data/src/core/ext/filters/client_channel/lb_policy_factory.c +12 -31
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +12 -27
- data/src/core/ext/filters/client_channel/lb_policy_registry.c +10 -25
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +10 -25
- data/src/core/ext/filters/client_channel/parse_address.c +10 -25
- data/src/core/ext/filters/client_channel/parse_address.h +10 -25
- data/src/core/ext/filters/client_channel/proxy_mapper.c +10 -25
- data/src/core/ext/filters/client_channel/proxy_mapper.h +10 -25
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.c +10 -25
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +10 -25
- data/src/core/ext/filters/client_channel/resolver.c +33 -38
- data/src/core/ext/filters/client_channel/resolver.h +19 -30
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c +153 -50
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +14 -27
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c +33 -30
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c +326 -116
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +35 -36
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +60 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c +19 -34
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c +254 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +60 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c +16 -28
- data/src/core/ext/filters/client_channel/resolver_factory.c +10 -25
- data/src/core/ext/filters/client_channel/resolver_factory.h +10 -25
- data/src/core/ext/filters/client_channel/resolver_registry.c +10 -25
- data/src/core/ext/filters/client_channel/resolver_registry.h +10 -25
- data/src/core/ext/filters/client_channel/retry_throttle.c +23 -34
- data/src/core/ext/filters/client_channel/retry_throttle.h +10 -25
- data/src/core/ext/filters/client_channel/subchannel.c +33 -55
- data/src/core/ext/filters/client_channel/subchannel.h +16 -26
- data/src/core/ext/filters/client_channel/subchannel_index.c +55 -92
- data/src/core/ext/filters/client_channel/subchannel_index.h +26 -29
- data/src/core/ext/filters/client_channel/uri_parser.c +10 -25
- data/src/core/ext/filters/client_channel/uri_parser.h +10 -25
- data/src/core/ext/filters/deadline/deadline_filter.c +30 -45
- data/src/core/ext/filters/deadline/deadline_filter.h +10 -25
- data/src/core/ext/filters/http/client/http_client_filter.c +255 -294
- data/src/core/ext/filters/http/client/http_client_filter.h +10 -25
- data/src/core/ext/filters/http/http_filters_plugin.c +11 -26
- data/src/core/ext/filters/http/message_compress/message_compress_filter.c +133 -105
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +10 -25
- data/src/core/ext/filters/http/server/http_server_filter.c +17 -32
- data/src/core/ext/filters/http/server/http_server_filter.h +10 -25
- data/src/core/ext/filters/load_reporting/load_reporting.c +11 -30
- data/src/core/ext/filters/load_reporting/load_reporting.h +10 -25
- data/src/core/ext/filters/load_reporting/load_reporting_filter.c +11 -26
- data/src/core/ext/filters/load_reporting/load_reporting_filter.h +10 -25
- data/src/core/ext/filters/max_age/max_age_filter.c +28 -43
- data/src/core/ext/filters/max_age/max_age_filter.h +10 -25
- data/src/core/ext/filters/message_size/message_size_filter.c +24 -37
- data/src/core/ext/filters/message_size/message_size_filter.h +10 -25
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c +16 -31
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +10 -25
- data/src/core/ext/filters/workarounds/workaround_utils.c +12 -26
- data/src/core/ext/filters/workarounds/workaround_utils.h +11 -26
- data/src/core/ext/transport/chttp2/alpn/alpn.c +10 -25
- data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.c +13 -28
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +10 -25
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +13 -30
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +12 -29
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +13 -30
- data/src/core/ext/transport/chttp2/server/chttp2_server.c +11 -26
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -25
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +10 -25
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c +10 -25
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +10 -25
- data/src/core/ext/transport/chttp2/transport/bin_decoder.c +11 -25
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +10 -25
- data/src/core/ext/transport/chttp2/transport/bin_encoder.c +10 -25
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +10 -25
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +15 -27
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +421 -443
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -25
- data/src/core/ext/transport/chttp2/transport/flow_control.c +500 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_data.c +20 -28
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_goaway.c +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_ping.c +11 -26
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +11 -26
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_settings.c +16 -29
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +10 -25
- data/src/core/ext/transport/chttp2/transport/frame_window_update.c +17 -33
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +10 -25
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +18 -31
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +12 -25
- data/src/core/ext/transport/chttp2/transport/hpack_parser.c +15 -30
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -25
- data/src/core/ext/transport/chttp2/transport/hpack_table.c +10 -25
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +10 -25
- data/src/core/ext/transport/chttp2/transport/http2_settings.c +10 -25
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -25
- data/src/core/ext/transport/chttp2/transport/huffsyms.c +10 -25
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +10 -25
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +10 -25
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +10 -25
- data/src/core/ext/transport/chttp2/transport/internal.h +191 -179
- data/src/core/ext/transport/chttp2/transport/parsing.c +33 -102
- data/src/core/ext/transport/chttp2/transport/stream_lists.c +26 -28
- data/src/core/ext/transport/chttp2/transport/stream_map.c +10 -25
- data/src/core/ext/transport/chttp2/transport/stream_map.h +10 -25
- data/src/core/ext/transport/chttp2/transport/varint.c +14 -25
- data/src/core/ext/transport/chttp2/transport/varint.h +10 -25
- data/src/core/ext/transport/chttp2/transport/writing.c +164 -106
- data/src/core/ext/transport/inproc/inproc_plugin.c +29 -0
- data/src/core/ext/transport/inproc/inproc_transport.c +1303 -0
- data/src/core/ext/transport/inproc/inproc_transport.h +41 -0
- data/src/core/lib/channel/channel_args.c +52 -27
- data/src/core/lib/channel/channel_args.h +18 -27
- data/src/core/lib/channel/channel_stack.c +11 -26
- data/src/core/lib/channel/channel_stack.h +12 -27
- data/src/core/lib/channel/channel_stack_builder.c +11 -26
- data/src/core/lib/channel/channel_stack_builder.h +10 -25
- data/src/core/lib/channel/connected_channel.c +10 -25
- data/src/core/lib/channel/connected_channel.h +10 -25
- data/src/core/lib/channel/context.h +10 -25
- data/src/core/lib/channel/handshaker.c +14 -29
- data/src/core/lib/channel/handshaker.h +10 -25
- data/src/core/lib/channel/handshaker_factory.c +10 -25
- data/src/core/lib/channel/handshaker_factory.h +10 -25
- data/src/core/lib/channel/handshaker_registry.c +10 -25
- data/src/core/lib/channel/handshaker_registry.h +10 -25
- data/src/core/lib/compression/algorithm_metadata.h +10 -25
- data/src/core/lib/compression/compression.c +10 -25
- data/src/core/lib/compression/message_compress.c +10 -25
- data/src/core/lib/compression/message_compress.h +10 -25
- data/src/core/lib/compression/stream_compression.c +191 -0
- data/src/core/lib/compression/stream_compression.h +90 -0
- data/src/core/lib/debug/trace.c +28 -29
- data/src/core/lib/debug/trace.h +16 -30
- data/src/core/lib/http/format_request.c +10 -25
- data/src/core/lib/http/format_request.h +10 -25
- data/src/core/lib/http/httpcli.c +19 -35
- data/src/core/lib/http/httpcli.h +10 -25
- data/src/core/lib/http/httpcli_security_connector.c +17 -30
- data/src/core/lib/http/parser.c +11 -26
- data/src/core/lib/http/parser.h +10 -25
- data/src/core/lib/iomgr/closure.c +62 -25
- data/src/core/lib/iomgr/closure.h +81 -26
- data/src/core/lib/iomgr/combiner.c +103 -200
- data/src/core/lib/iomgr/combiner.h +14 -32
- data/src/core/lib/iomgr/endpoint.c +10 -29
- data/src/core/lib/iomgr/endpoint.h +10 -29
- data/src/core/lib/iomgr/endpoint_pair.h +10 -25
- data/src/core/lib/iomgr/endpoint_pair_posix.c +10 -25
- data/src/core/lib/iomgr/endpoint_pair_uv.c +10 -25
- data/src/core/lib/iomgr/endpoint_pair_windows.c +10 -25
- data/src/core/lib/iomgr/error.c +45 -46
- data/src/core/lib/iomgr/error.h +21 -34
- data/src/core/lib/iomgr/error_internal.h +10 -25
- data/src/core/lib/iomgr/ev_epoll1_linux.c +279 -179
- data/src/core/lib/iomgr/ev_epoll1_linux.h +10 -25
- data/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c +75 -264
- data/src/core/lib/iomgr/ev_epoll_limited_pollers_linux.h +10 -25
- data/src/core/lib/iomgr/ev_epoll_thread_pool_linux.c +44 -199
- data/src/core/lib/iomgr/ev_epoll_thread_pool_linux.h +10 -25
- data/src/core/lib/iomgr/ev_epollex_linux.c +184 -247
- data/src/core/lib/iomgr/ev_epollex_linux.h +10 -25
- data/src/core/lib/iomgr/ev_epollsig_linux.c +116 -323
- data/src/core/lib/iomgr/ev_epollsig_linux.h +10 -25
- data/src/core/lib/iomgr/ev_poll_posix.c +328 -184
- data/src/core/lib/iomgr/ev_poll_posix.h +10 -25
- data/src/core/lib/iomgr/ev_posix.c +25 -56
- data/src/core/lib/iomgr/ev_posix.h +15 -44
- data/src/core/lib/iomgr/ev_windows.c +11 -26
- data/src/core/lib/iomgr/exec_ctx.c +36 -45
- data/src/core/lib/iomgr/exec_ctx.h +10 -25
- data/src/core/lib/iomgr/executor.c +152 -127
- data/src/core/lib/iomgr/executor.h +18 -26
- data/src/core/lib/iomgr/gethostname.h +26 -0
- data/src/core/lib/iomgr/gethostname_fallback.c +27 -0
- data/src/core/lib/iomgr/gethostname_host_name_max.c +37 -0
- data/src/core/lib/iomgr/gethostname_sysconf.c +37 -0
- data/src/core/lib/iomgr/iocp_windows.c +10 -25
- data/src/core/lib/iomgr/iocp_windows.h +10 -25
- data/src/core/lib/iomgr/iomgr.c +17 -28
- data/src/core/lib/iomgr/iomgr.h +12 -27
- data/src/core/lib/iomgr/iomgr_internal.h +10 -25
- data/src/core/lib/iomgr/iomgr_posix.c +11 -26
- data/src/core/lib/iomgr/iomgr_posix.h +10 -25
- data/src/core/lib/iomgr/iomgr_uv.c +19 -26
- data/src/core/lib/iomgr/iomgr_uv.h +37 -0
- data/src/core/lib/iomgr/iomgr_windows.c +10 -25
- data/src/core/lib/iomgr/is_epollexclusive_available.c +10 -25
- data/src/core/lib/iomgr/is_epollexclusive_available.h +10 -25
- data/src/core/lib/iomgr/load_file.c +10 -25
- data/src/core/lib/iomgr/load_file.h +10 -25
- data/src/core/lib/iomgr/lockfree_event.c +22 -35
- data/src/core/lib/iomgr/lockfree_event.h +13 -27
- data/src/core/lib/iomgr/nameser.h +104 -0
- data/src/core/lib/iomgr/network_status_tracker.c +10 -25
- data/src/core/lib/iomgr/network_status_tracker.h +10 -25
- data/src/core/lib/iomgr/polling_entity.c +10 -25
- data/src/core/lib/iomgr/polling_entity.h +14 -34
- data/src/core/lib/iomgr/pollset.h +14 -25
- data/src/core/lib/iomgr/pollset_set.h +10 -25
- data/src/core/lib/iomgr/pollset_set_uv.c +10 -25
- data/src/core/lib/iomgr/pollset_set_windows.c +10 -25
- data/src/core/lib/iomgr/pollset_set_windows.h +10 -25
- data/src/core/lib/iomgr/pollset_uv.c +25 -26
- data/src/core/lib/iomgr/pollset_uv.h +10 -25
- data/src/core/lib/iomgr/pollset_windows.c +17 -27
- data/src/core/lib/iomgr/pollset_windows.h +10 -25
- data/src/core/lib/iomgr/port.h +24 -25
- data/src/core/lib/iomgr/resolve_address.h +10 -25
- data/src/core/lib/iomgr/resolve_address_posix.c +13 -28
- data/src/core/lib/iomgr/resolve_address_uv.c +31 -35
- data/src/core/lib/iomgr/resolve_address_windows.c +13 -28
- data/src/core/lib/iomgr/resource_quota.c +52 -67
- data/src/core/lib/iomgr/resource_quota.h +10 -25
- data/src/core/lib/iomgr/sockaddr.h +10 -25
- data/src/core/lib/iomgr/sockaddr_posix.h +10 -25
- data/src/core/lib/iomgr/sockaddr_utils.c +15 -25
- data/src/core/lib/iomgr/sockaddr_utils.h +12 -25
- data/src/core/lib/iomgr/sockaddr_windows.h +10 -25
- data/src/core/lib/iomgr/socket_factory_posix.c +13 -31
- data/src/core/lib/iomgr/socket_factory_posix.h +10 -25
- data/src/core/lib/iomgr/socket_mutator.c +14 -31
- data/src/core/lib/iomgr/socket_mutator.h +10 -25
- data/src/core/lib/iomgr/socket_utils.h +10 -25
- data/src/core/lib/iomgr/socket_utils_common_posix.c +10 -25
- data/src/core/lib/iomgr/socket_utils_linux.c +10 -25
- data/src/core/lib/iomgr/socket_utils_posix.c +10 -25
- data/src/core/lib/iomgr/socket_utils_posix.h +10 -25
- data/src/core/lib/iomgr/socket_utils_uv.c +10 -25
- data/src/core/lib/iomgr/socket_utils_windows.c +10 -25
- data/src/core/lib/iomgr/socket_windows.c +12 -27
- data/src/core/lib/iomgr/socket_windows.h +10 -25
- data/src/core/lib/iomgr/sys_epoll_wrapper.h +10 -25
- data/src/core/lib/iomgr/tcp_client.h +10 -25
- data/src/core/lib/iomgr/tcp_client_posix.c +21 -34
- data/src/core/lib/iomgr/tcp_client_posix.h +10 -25
- data/src/core/lib/iomgr/tcp_client_uv.c +18 -27
- data/src/core/lib/iomgr/tcp_client_windows.c +14 -29
- data/src/core/lib/iomgr/tcp_posix.c +36 -55
- data/src/core/lib/iomgr/tcp_posix.h +10 -25
- data/src/core/lib/iomgr/tcp_server.h +10 -25
- data/src/core/lib/iomgr/tcp_server_posix.c +16 -31
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +10 -25
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.c +11 -26
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c +10 -25
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c +10 -25
- data/src/core/lib/iomgr/tcp_server_uv.c +103 -64
- data/src/core/lib/iomgr/tcp_server_windows.c +14 -29
- data/src/core/lib/iomgr/tcp_uv.c +41 -45
- data/src/core/lib/iomgr/tcp_uv.h +10 -25
- data/src/core/lib/iomgr/tcp_windows.c +39 -53
- data/src/core/lib/iomgr/tcp_windows.h +10 -25
- data/src/core/lib/iomgr/time_averaged_stats.c +10 -25
- data/src/core/lib/iomgr/time_averaged_stats.h +10 -25
- data/src/core/lib/iomgr/timer.h +18 -27
- data/src/core/lib/iomgr/timer_generic.c +91 -87
- data/src/core/lib/iomgr/timer_generic.h +10 -25
- data/src/core/lib/iomgr/timer_heap.c +10 -25
- data/src/core/lib/iomgr/timer_heap.h +10 -25
- data/src/core/lib/iomgr/timer_manager.c +178 -100
- data/src/core/lib/iomgr/timer_manager.h +10 -25
- data/src/core/lib/iomgr/timer_uv.c +23 -33
- data/src/core/lib/iomgr/timer_uv.h +10 -25
- data/src/core/lib/iomgr/udp_server.c +17 -32
- data/src/core/lib/iomgr/udp_server.h +10 -25
- data/src/core/lib/iomgr/unix_sockets_posix.c +10 -25
- data/src/core/lib/iomgr/unix_sockets_posix.h +10 -25
- data/src/core/lib/iomgr/unix_sockets_posix_noop.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_cv.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_cv.h +13 -28
- data/src/core/lib/iomgr/wakeup_fd_eventfd.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_nospecial.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_pipe.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +10 -25
- data/src/core/lib/iomgr/wakeup_fd_posix.c +10 -25
- data/src/core/lib/iomgr/wakeup_fd_posix.h +10 -25
- data/src/core/lib/json/json.c +10 -25
- data/src/core/lib/json/json.h +10 -25
- data/src/core/lib/json/json_common.h +10 -25
- data/src/core/lib/json/json_reader.c +11 -25
- data/src/core/lib/json/json_reader.h +10 -25
- data/src/core/lib/json/json_string.c +10 -25
- data/src/core/lib/json/json_writer.c +10 -25
- data/src/core/lib/json/json_writer.h +10 -25
- data/src/core/lib/profiling/basic_timers.c +10 -25
- data/src/core/lib/profiling/stap_timers.c +10 -25
- data/src/core/lib/profiling/timers.h +10 -25
- data/src/core/lib/security/context/security_context.c +32 -40
- data/src/core/lib/security/context/security_context.h +15 -26
- data/src/core/lib/security/credentials/composite/composite_credentials.c +76 -81
- data/src/core/lib/security/credentials/composite/composite_credentials.h +10 -25
- data/src/core/lib/security/credentials/credentials.c +29 -49
- data/src/core/lib/security/credentials/credentials.h +48 -61
- data/src/core/lib/security/credentials/credentials_metadata.c +34 -78
- data/src/core/lib/security/credentials/fake/fake_credentials.c +33 -56
- data/src/core/lib/security/credentials/fake/fake_credentials.h +12 -27
- data/src/core/lib/security/credentials/google_default/credentials_generic.c +10 -25
- data/src/core/lib/security/credentials/google_default/google_default_credentials.c +12 -27
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +10 -25
- data/src/core/lib/security/credentials/iam/iam_credentials.c +40 -40
- data/src/core/lib/security/credentials/iam/iam_credentials.h +11 -26
- data/src/core/lib/security/credentials/jwt/json_token.c +10 -25
- data/src/core/lib/security/credentials/jwt/json_token.h +10 -25
- data/src/core/lib/security/credentials/jwt/jwt_credentials.c +45 -48
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -26
- data/src/core/lib/security/credentials/jwt/jwt_verifier.c +53 -33
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +10 -25
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +155 -87
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +24 -28
- data/src/core/lib/security/credentials/plugin/plugin_credentials.c +118 -82
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +24 -27
- data/src/core/lib/security/credentials/ssl/ssl_credentials.c +13 -32
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -25
- data/src/core/lib/security/transport/auth_filters.h +10 -25
- data/src/core/lib/security/transport/client_auth_filter.c +217 -112
- data/src/core/lib/security/transport/lb_targets_info.c +16 -32
- data/src/core/lib/security/transport/lb_targets_info.h +10 -25
- data/src/core/lib/security/transport/secure_endpoint.c +29 -43
- data/src/core/lib/security/transport/secure_endpoint.h +10 -25
- data/src/core/lib/security/transport/security_connector.c +80 -61
- data/src/core/lib/security/transport/security_connector.h +35 -35
- data/src/core/lib/security/transport/security_handshaker.c +18 -33
- data/src/core/lib/security/transport/security_handshaker.h +10 -25
- data/src/core/lib/security/transport/server_auth_filter.c +62 -116
- data/src/core/lib/security/transport/tsi_error.c +10 -25
- data/src/core/lib/security/transport/tsi_error.h +10 -25
- data/src/core/lib/security/util/json_util.c +10 -25
- data/src/core/lib/security/util/json_util.h +10 -25
- data/src/core/lib/slice/b64.c +10 -25
- data/src/core/lib/slice/b64.h +10 -25
- data/src/core/lib/slice/percent_encoding.c +10 -25
- data/src/core/lib/slice/percent_encoding.h +10 -25
- data/src/core/lib/slice/slice.c +10 -25
- data/src/core/lib/slice/slice_buffer.c +10 -25
- data/src/core/lib/slice/slice_hash_table.c +48 -26
- data/src/core/lib/slice/slice_hash_table.h +26 -28
- data/src/core/lib/slice/slice_intern.c +10 -25
- data/src/core/lib/slice/slice_internal.h +10 -25
- data/src/core/lib/slice/slice_string_helpers.c +10 -25
- data/src/core/lib/slice/slice_string_helpers.h +10 -25
- data/src/core/lib/support/alloc.c +10 -25
- data/src/core/lib/support/arena.c +12 -27
- data/src/core/lib/support/arena.h +10 -25
- data/src/core/lib/support/atm.c +17 -32
- data/src/core/lib/support/atomic.h +10 -25
- data/src/core/lib/support/atomic_with_atm.h +10 -25
- data/src/core/lib/support/atomic_with_std.h +10 -25
- data/src/core/lib/support/avl.c +101 -101
- data/src/core/lib/support/backoff.c +10 -25
- data/src/core/lib/support/backoff.h +10 -25
- data/src/core/lib/support/block_annotate.h +10 -25
- data/src/core/lib/support/cmdline.c +10 -25
- data/src/core/lib/support/cpu_iphone.c +10 -25
- data/src/core/lib/support/cpu_linux.c +10 -25
- data/src/core/lib/support/cpu_posix.c +10 -25
- data/src/core/lib/support/cpu_windows.c +10 -25
- data/src/core/lib/support/env.h +16 -25
- data/src/core/lib/support/env_linux.c +30 -37
- data/src/core/lib/support/env_posix.c +15 -25
- data/src/core/lib/support/env_windows.c +15 -25
- data/src/core/lib/support/histogram.c +10 -25
- data/src/core/lib/support/host_port.c +10 -25
- data/src/core/lib/support/log.c +20 -29
- data/src/core/lib/support/log_android.c +10 -25
- data/src/core/lib/support/log_linux.c +13 -26
- data/src/core/lib/support/log_posix.c +10 -25
- data/src/core/lib/support/log_windows.c +10 -25
- data/src/core/lib/support/memory.h +10 -25
- data/src/core/lib/support/mpscq.c +11 -49
- data/src/core/lib/support/mpscq.h +11 -50
- data/src/core/lib/support/murmur_hash.c +12 -25
- data/src/core/lib/support/murmur_hash.h +10 -25
- data/src/core/lib/support/spinlock.h +10 -25
- data/src/core/lib/support/stack_lockfree.c +10 -25
- data/src/core/lib/support/stack_lockfree.h +10 -25
- data/src/core/lib/support/string.c +10 -25
- data/src/core/lib/support/string.h +10 -25
- data/src/core/lib/support/string_posix.c +10 -25
- data/src/core/lib/support/string_util_windows.c +10 -25
- data/src/core/lib/support/string_windows.c +10 -25
- data/src/core/lib/support/string_windows.h +10 -25
- data/src/core/lib/support/subprocess_posix.c +10 -25
- data/src/core/lib/support/subprocess_windows.c +10 -25
- data/src/core/lib/support/sync.c +10 -25
- data/src/core/lib/support/sync_posix.c +10 -25
- data/src/core/lib/support/sync_windows.c +10 -25
- data/src/core/lib/support/thd.c +10 -25
- data/src/core/lib/support/thd_internal.h +10 -25
- data/src/core/lib/support/thd_posix.c +10 -25
- data/src/core/lib/support/thd_windows.c +10 -25
- data/src/core/lib/support/time.c +10 -25
- data/src/core/lib/support/time_posix.c +10 -25
- data/src/core/lib/support/time_precise.c +18 -33
- data/src/core/lib/support/time_precise.h +10 -25
- data/src/core/lib/support/time_windows.c +10 -25
- data/src/core/lib/support/tls_pthread.c +10 -25
- data/src/core/lib/support/tmpfile.h +10 -25
- data/src/core/lib/support/tmpfile_msys.c +10 -25
- data/src/core/lib/support/tmpfile_posix.c +10 -25
- data/src/core/lib/support/tmpfile_windows.c +10 -25
- data/src/core/lib/support/wrap_memcpy.c +10 -25
- data/src/core/lib/surface/alarm.c +78 -35
- data/src/core/lib/surface/alarm_internal.h +40 -0
- data/src/core/lib/surface/api_trace.c +11 -26
- data/src/core/lib/surface/api_trace.h +10 -25
- data/src/core/lib/surface/byte_buffer.c +10 -25
- data/src/core/lib/surface/byte_buffer_reader.c +10 -25
- data/src/core/lib/surface/call.c +64 -84
- data/src/core/lib/surface/call.h +11 -26
- data/src/core/lib/surface/call_details.c +10 -25
- data/src/core/lib/surface/call_log_batch.c +10 -25
- data/src/core/lib/surface/call_test_only.h +10 -25
- data/src/core/lib/surface/channel.c +11 -26
- data/src/core/lib/surface/channel.h +11 -26
- data/src/core/lib/surface/channel_init.c +10 -25
- data/src/core/lib/surface/channel_init.h +10 -25
- data/src/core/lib/surface/channel_ping.c +12 -27
- data/src/core/lib/surface/channel_stack_type.c +10 -25
- data/src/core/lib/surface/channel_stack_type.h +10 -25
- data/src/core/lib/surface/completion_queue.c +442 -331
- data/src/core/lib/surface/completion_queue.h +16 -33
- data/src/core/lib/surface/completion_queue_factory.c +10 -25
- data/src/core/lib/surface/completion_queue_factory.h +10 -25
- data/src/core/lib/surface/event_string.c +10 -25
- data/src/core/lib/surface/event_string.h +10 -25
- data/src/core/lib/surface/init.c +38 -47
- data/src/core/lib/surface/init.h +10 -25
- data/src/core/lib/surface/init_secure.c +20 -27
- data/src/core/lib/surface/lame_client.cc +14 -29
- data/src/core/lib/surface/lame_client.h +10 -25
- data/src/core/lib/surface/metadata_array.c +10 -25
- data/src/core/lib/surface/server.c +128 -81
- data/src/core/lib/surface/server.h +10 -25
- data/src/core/lib/surface/validate_metadata.c +10 -25
- data/src/core/lib/surface/validate_metadata.h +10 -25
- data/src/core/lib/surface/version.c +11 -26
- data/src/core/lib/transport/bdp_estimator.c +19 -29
- data/src/core/lib/transport/bdp_estimator.h +16 -29
- data/src/core/lib/transport/byte_stream.c +127 -36
- data/src/core/lib/transport/byte_stream.h +88 -46
- data/src/core/lib/transport/connectivity_state.c +17 -31
- data/src/core/lib/transport/connectivity_state.h +10 -25
- data/src/core/lib/transport/error_utils.c +10 -25
- data/src/core/lib/transport/error_utils.h +10 -25
- data/src/core/lib/transport/http2_errors.h +10 -25
- data/src/core/lib/transport/metadata.c +87 -85
- data/src/core/lib/transport/metadata.h +15 -28
- data/src/core/lib/transport/metadata_batch.c +10 -25
- data/src/core/lib/transport/metadata_batch.h +10 -25
- data/src/core/lib/transport/pid_controller.c +10 -25
- data/src/core/lib/transport/pid_controller.h +10 -25
- data/src/core/lib/transport/service_config.c +11 -26
- data/src/core/lib/transport/service_config.h +10 -25
- data/src/core/lib/transport/static_metadata.c +12 -26
- data/src/core/lib/transport/static_metadata.h +10 -25
- data/src/core/lib/transport/status_conversion.c +10 -25
- data/src/core/lib/transport/status_conversion.h +10 -25
- data/src/core/lib/transport/timeout_encoding.c +10 -25
- data/src/core/lib/transport/timeout_encoding.h +10 -25
- data/src/core/lib/transport/transport.c +60 -53
- data/src/core/lib/transport/transport.h +36 -34
- data/src/core/lib/transport/transport_impl.h +10 -25
- data/src/core/lib/transport/transport_op_string.c +10 -28
- data/src/core/plugin_registry/grpc_plugin_registry.c +22 -25
- data/src/core/tsi/fake_transport_security.c +199 -94
- data/src/core/tsi/fake_transport_security.h +11 -26
- data/src/core/tsi/gts_transport_security.c +40 -0
- data/src/core/tsi/gts_transport_security.h +37 -0
- data/src/core/tsi/ssl_transport_security.c +13 -32
- data/src/core/tsi/ssl_transport_security.h +10 -25
- data/src/core/tsi/ssl_types.h +10 -25
- data/src/core/tsi/transport_security.c +48 -78
- data/src/core/tsi/transport_security.h +18 -27
- data/src/core/tsi/transport_security_adapter.c +17 -29
- data/src/core/tsi/transport_security_adapter.h +10 -25
- data/src/core/tsi/transport_security_grpc.c +64 -0
- data/src/core/tsi/transport_security_grpc.h +80 -0
- data/src/core/tsi/transport_security_interface.h +21 -27
- data/src/ruby/bin/apis/google/protobuf/empty.rb +10 -25
- data/src/ruby/bin/apis/pubsub_demo.rb +10 -25
- data/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb +10 -25
- data/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb +10 -25
- data/src/ruby/bin/math_client.rb +10 -25
- data/src/ruby/bin/math_server.rb +10 -25
- data/src/ruby/bin/math_services_pb.rb +10 -25
- data/src/ruby/bin/noproto_client.rb +10 -25
- data/src/ruby/bin/noproto_server.rb +10 -25
- data/src/ruby/ext/grpc/extconf.rb +10 -25
- data/src/ruby/ext/grpc/rb_byte_buffer.c +10 -25
- data/src/ruby/ext/grpc/rb_byte_buffer.h +10 -25
- data/src/ruby/ext/grpc/rb_call.c +44 -25
- data/src/ruby/ext/grpc/rb_call.h +10 -25
- data/src/ruby/ext/grpc/rb_call_credentials.c +10 -25
- data/src/ruby/ext/grpc/rb_call_credentials.h +10 -25
- data/src/ruby/ext/grpc/rb_channel.c +10 -25
- data/src/ruby/ext/grpc/rb_channel.h +10 -25
- data/src/ruby/ext/grpc/rb_channel_args.c +10 -25
- data/src/ruby/ext/grpc/rb_channel_args.h +10 -25
- data/src/ruby/ext/grpc/rb_channel_credentials.c +10 -25
- data/src/ruby/ext/grpc/rb_channel_credentials.h +10 -25
- data/src/ruby/ext/grpc/rb_completion_queue.c +10 -25
- data/src/ruby/ext/grpc/rb_completion_queue.h +10 -25
- data/src/ruby/ext/grpc/rb_compression_options.c +10 -25
- data/src/ruby/ext/grpc/rb_compression_options.h +10 -25
- data/src/ruby/ext/grpc/rb_event_thread.c +10 -25
- data/src/ruby/ext/grpc/rb_event_thread.h +10 -25
- data/src/ruby/ext/grpc/rb_grpc.c +10 -25
- data/src/ruby/ext/grpc/rb_grpc.h +10 -25
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +10 -25
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +16 -31
- data/src/ruby/ext/grpc/rb_loader.c +10 -25
- data/src/ruby/ext/grpc/rb_loader.h +10 -25
- data/src/ruby/ext/grpc/rb_server.c +10 -25
- data/src/ruby/ext/grpc/rb_server.h +10 -25
- data/src/ruby/ext/grpc/rb_server_credentials.c +10 -25
- data/src/ruby/ext/grpc/rb_server_credentials.h +10 -25
- data/src/ruby/lib/grpc.rb +10 -25
- data/src/ruby/lib/grpc/core/time_consts.rb +10 -25
- data/src/ruby/lib/grpc/errors.rb +16 -30
- data/src/ruby/lib/grpc/generic/active_call.rb +25 -27
- data/src/ruby/lib/grpc/generic/bidi_call.rb +17 -27
- data/src/ruby/lib/grpc/generic/client_stub.rb +10 -25
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +10 -25
- data/src/ruby/lib/grpc/generic/rpc_server.rb +10 -25
- data/src/ruby/lib/grpc/generic/service.rb +10 -25
- data/src/ruby/lib/grpc/grpc.rb +10 -25
- data/src/ruby/lib/grpc/logconfig.rb +10 -25
- data/src/ruby/lib/grpc/notifier.rb +10 -25
- data/src/ruby/lib/grpc/version.rb +11 -26
- data/src/ruby/pb/generate_proto_ruby.sh +10 -25
- data/src/ruby/pb/grpc/health/checker.rb +10 -25
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +10 -25
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +10 -25
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +10 -25
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +10 -25
- data/src/ruby/pb/test/client.rb +10 -25
- data/src/ruby/pb/test/server.rb +10 -25
- data/src/ruby/spec/call_credentials_spec.rb +10 -25
- data/src/ruby/spec/call_spec.rb +43 -25
- data/src/ruby/spec/channel_connection_spec.rb +10 -25
- data/src/ruby/spec/channel_credentials_spec.rb +11 -26
- data/src/ruby/spec/channel_spec.rb +10 -25
- data/src/ruby/spec/client_auth_spec.rb +10 -25
- data/src/ruby/spec/client_server_spec.rb +66 -25
- data/src/ruby/spec/compression_options_spec.rb +10 -25
- data/src/ruby/spec/error_sanity_spec.rb +10 -25
- data/src/ruby/spec/generic/active_call_spec.rb +10 -25
- data/src/ruby/spec/generic/client_stub_spec.rb +146 -35
- data/src/ruby/spec/generic/rpc_desc_spec.rb +10 -25
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +10 -25
- data/src/ruby/spec/generic/rpc_server_spec.rb +124 -34
- data/src/ruby/spec/generic/service_spec.rb +10 -25
- data/src/ruby/spec/pb/duplicate/codegen_spec.rb +10 -25
- data/src/ruby/spec/pb/health/checker_spec.rb +10 -25
- data/src/ruby/spec/server_credentials_spec.rb +10 -25
- data/src/ruby/spec/server_spec.rb +10 -25
- data/src/ruby/spec/spec_helper.rb +10 -25
- data/src/ruby/spec/time_consts_spec.rb +10 -25
- data/third_party/boringssl/crypto/aes/key_wrap.c +138 -0
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +6 -3
- data/third_party/boringssl/crypto/asn1/a_enum.c +4 -1
- data/third_party/boringssl/crypto/asn1/a_gentm.c +20 -15
- data/third_party/boringssl/crypto/asn1/a_int.c +7 -4
- data/third_party/boringssl/crypto/asn1/a_object.c +5 -2
- data/third_party/boringssl/crypto/asn1/a_time.c +0 -1
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -2
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -2
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +35 -0
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +3 -1
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +6 -3
- data/third_party/boringssl/crypto/asn1/tasn_new.c +12 -7
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +22 -8
- data/third_party/boringssl/crypto/{time_support.c → asn1/time_support.c} +1 -1
- data/third_party/boringssl/crypto/asn1/x_long.c +5 -2
- data/third_party/boringssl/crypto/base64/base64.c +7 -5
- data/third_party/boringssl/crypto/bio/bio.c +24 -10
- data/third_party/boringssl/crypto/bio/bio_mem.c +12 -10
- data/third_party/boringssl/crypto/bio/connect.c +7 -18
- data/third_party/boringssl/crypto/bio/fd.c +3 -6
- data/third_party/boringssl/crypto/bio/file.c +6 -6
- data/third_party/boringssl/crypto/bio/hexdump.c +4 -2
- data/third_party/boringssl/crypto/bio/pair.c +30 -344
- data/third_party/boringssl/crypto/bio/socket.c +6 -7
- data/third_party/boringssl/crypto/bio/socket_helper.c +4 -3
- data/third_party/boringssl/crypto/bn/add.c +1 -1
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +11 -10
- data/third_party/boringssl/crypto/bn/bn.c +6 -20
- data/third_party/boringssl/crypto/bn/cmp.c +14 -0
- data/third_party/boringssl/crypto/bn/convert.c +73 -2
- data/third_party/boringssl/crypto/bn/ctx.c +3 -1
- data/third_party/boringssl/crypto/bn/div.c +108 -51
- data/third_party/boringssl/crypto/bn/exponentiation.c +15 -33
- data/third_party/boringssl/crypto/bn/gcd.c +29 -22
- data/third_party/boringssl/crypto/bn/generic.c +71 -67
- data/third_party/boringssl/crypto/bn/internal.h +19 -6
- data/third_party/boringssl/crypto/bn/kronecker.c +1 -0
- data/third_party/boringssl/crypto/bn/montgomery.c +9 -10
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +47 -0
- data/third_party/boringssl/crypto/bn/mul.c +11 -9
- data/third_party/boringssl/crypto/bn/random.c +6 -3
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -65
- data/third_party/boringssl/crypto/bn/rsaz_exp.h +0 -3
- data/third_party/boringssl/crypto/bn/shift.c +9 -1
- data/third_party/boringssl/crypto/bn/sqrt.c +3 -1
- data/third_party/boringssl/crypto/buf/buf.c +6 -4
- data/third_party/boringssl/crypto/bytestring/asn1_compat.c +2 -1
- data/third_party/boringssl/crypto/bytestring/ber.c +2 -1
- data/third_party/boringssl/crypto/bytestring/cbb.c +9 -7
- data/third_party/boringssl/crypto/bytestring/cbs.c +54 -2
- data/third_party/boringssl/crypto/chacha/chacha.c +1 -1
- data/third_party/boringssl/crypto/cipher/aead.c +3 -3
- data/third_party/boringssl/crypto/cipher/cipher.c +18 -13
- data/third_party/boringssl/crypto/cipher/e_aes.c +335 -281
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +113 -137
- data/third_party/boringssl/crypto/cipher/e_null.c +2 -1
- data/third_party/boringssl/crypto/cipher/e_rc2.c +54 -49
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +4 -3
- data/third_party/boringssl/crypto/cipher/e_tls.c +5 -5
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +41 -112
- data/third_party/boringssl/crypto/cmac/cmac.c +6 -4
- data/third_party/boringssl/crypto/conf/conf.c +6 -3
- data/third_party/boringssl/crypto/cpu-arm-linux.c +2 -2
- data/third_party/boringssl/crypto/curve25519/curve25519.c +28 -34
- data/third_party/boringssl/crypto/curve25519/spake25519.c +7 -6
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +2 -1
- data/third_party/boringssl/crypto/des/des.c +1 -1
- data/third_party/boringssl/crypto/des/internal.h +58 -46
- data/third_party/boringssl/crypto/dh/dh.c +4 -8
- data/third_party/boringssl/crypto/digest/digest.c +5 -2
- data/third_party/boringssl/crypto/digest/digests.c +70 -33
- data/third_party/boringssl/crypto/digest/md32_common.h +39 -27
- data/third_party/boringssl/crypto/dsa/dsa.c +11 -19
- data/third_party/boringssl/crypto/ec/ec.c +1 -1
- data/third_party/boringssl/crypto/ec/ec_asn1.c +3 -2
- data/third_party/boringssl/crypto/ec/ec_key.c +1 -1
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +6 -11
- data/third_party/boringssl/crypto/ec/oct.c +2 -14
- data/third_party/boringssl/crypto/ec/p224-64.c +78 -122
- data/third_party/boringssl/crypto/ec/p256-64.c +93 -133
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +48 -61
- data/third_party/boringssl/crypto/ec/p256-x86_64.h +113 -0
- data/third_party/boringssl/crypto/ec/simple.c +2 -1
- data/third_party/boringssl/crypto/ec/wnaf.c +52 -43
- data/third_party/boringssl/crypto/ecdh/ecdh.c +4 -2
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +17 -16
- data/third_party/boringssl/crypto/engine/engine.c +3 -1
- data/third_party/boringssl/crypto/err/err.c +5 -5
- data/third_party/boringssl/crypto/evp/evp.c +1 -1
- data/third_party/boringssl/crypto/evp/evp_asn1.c +1 -1
- data/third_party/boringssl/crypto/evp/evp_ctx.c +23 -29
- data/third_party/boringssl/crypto/evp/p_ec.c +2 -1
- data/third_party/boringssl/crypto/evp/p_rsa.c +9 -3
- data/third_party/boringssl/crypto/evp/pbkdf.c +3 -1
- data/third_party/boringssl/crypto/hkdf/hkdf.c +3 -1
- data/third_party/boringssl/crypto/hmac/hmac.c +4 -2
- data/third_party/boringssl/crypto/internal.h +81 -0
- data/third_party/boringssl/crypto/lhash/lhash.c +7 -13
- data/third_party/boringssl/crypto/md4/md4.c +20 -18
- data/third_party/boringssl/crypto/md5/md5.c +31 -21
- data/third_party/boringssl/crypto/mem.c +4 -10
- data/third_party/boringssl/crypto/modes/cbc.c +2 -6
- data/third_party/boringssl/crypto/modes/cfb.c +2 -2
- data/third_party/boringssl/crypto/modes/ctr.c +1 -1
- data/third_party/boringssl/crypto/modes/gcm.c +117 -334
- data/third_party/boringssl/crypto/modes/internal.h +107 -84
- data/third_party/boringssl/crypto/modes/ofb.c +3 -3
- data/third_party/boringssl/crypto/modes/polyval.c +94 -0
- data/third_party/boringssl/crypto/obj/obj.c +13 -8
- data/third_party/boringssl/crypto/obj/obj_dat.h +6109 -5187
- data/third_party/boringssl/crypto/obj/obj_xref.c +55 -57
- data/third_party/boringssl/crypto/pem/pem_lib.c +6 -3
- data/third_party/boringssl/crypto/pkcs8/internal.h +27 -8
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +137 -352
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +371 -364
- data/third_party/boringssl/crypto/poly1305/poly1305.c +12 -18
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +2 -2
- data/third_party/boringssl/crypto/{newhope/reduce.c → pool/internal.h} +24 -21
- data/third_party/boringssl/crypto/pool/pool.c +200 -0
- data/third_party/boringssl/crypto/rand/deterministic.c +6 -5
- data/third_party/boringssl/crypto/rand/fuchsia.c +43 -0
- data/third_party/boringssl/crypto/rand/rand.c +7 -7
- data/third_party/boringssl/crypto/rand/urandom.c +136 -22
- data/third_party/boringssl/crypto/rand/windows.c +2 -2
- data/third_party/boringssl/crypto/rsa/blinding.c +2 -1
- data/third_party/boringssl/crypto/rsa/padding.c +11 -11
- data/third_party/boringssl/crypto/rsa/rsa.c +4 -4
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +7 -1
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +41 -80
- data/third_party/boringssl/crypto/sha/sha1-altivec.c +346 -0
- data/third_party/boringssl/crypto/sha/sha1.c +60 -42
- data/third_party/boringssl/crypto/sha/sha256.c +4 -2
- data/third_party/boringssl/crypto/sha/sha512.c +9 -7
- data/third_party/boringssl/crypto/stack/stack.c +10 -7
- data/third_party/boringssl/crypto/thread_pthread.c +2 -2
- data/third_party/boringssl/crypto/thread_win.c +2 -2
- data/third_party/boringssl/crypto/x509/a_verify.c +1 -1
- data/third_party/boringssl/crypto/x509/asn1_gen.c +1 -1
- data/third_party/boringssl/crypto/x509/by_dir.c +1 -1
- data/third_party/boringssl/crypto/x509/t_x509.c +78 -38
- data/third_party/boringssl/crypto/x509/x509_cmp.c +8 -5
- data/third_party/boringssl/crypto/x509/x509_lu.c +6 -1
- data/third_party/boringssl/crypto/x509/x509_obj.c +4 -1
- data/third_party/boringssl/crypto/x509/x509_vfy.c +42 -8
- data/third_party/boringssl/crypto/x509/x509_vpm.c +8 -6
- data/third_party/boringssl/crypto/x509/x509name.c +4 -1
- data/third_party/boringssl/crypto/x509/x_crl.c +4 -2
- data/third_party/boringssl/crypto/x509/x_name.c +23 -13
- data/third_party/boringssl/crypto/x509/x_pkey.c +4 -1
- data/third_party/boringssl/crypto/x509/x_x509.c +42 -3
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +1 -1
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +4 -1
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +4 -1
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +6 -3
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +13 -21
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +19 -33
- data/third_party/boringssl/include/openssl/aead.h +9 -20
- data/third_party/boringssl/include/openssl/aes.h +21 -9
- data/third_party/boringssl/include/openssl/asn1.h +9 -1
- data/third_party/boringssl/include/openssl/base.h +33 -6
- data/third_party/boringssl/include/openssl/bio.h +10 -103
- data/third_party/boringssl/include/openssl/bn.h +58 -42
- data/third_party/boringssl/include/openssl/bytestring.h +17 -0
- data/third_party/boringssl/include/openssl/cipher.h +4 -3
- data/third_party/boringssl/include/openssl/conf.h +4 -1
- data/third_party/boringssl/include/openssl/curve25519.h +13 -0
- data/third_party/boringssl/include/openssl/digest.h +5 -3
- data/third_party/boringssl/include/openssl/dsa.h +5 -5
- data/third_party/boringssl/include/openssl/ec.h +2 -2
- data/third_party/boringssl/include/openssl/ecdh.h +3 -4
- data/third_party/boringssl/include/openssl/ecdsa.h +10 -10
- data/third_party/boringssl/include/openssl/err.h +5 -5
- data/third_party/boringssl/include/openssl/evp.h +11 -7
- data/third_party/boringssl/include/openssl/lhash.h +2 -3
- data/third_party/boringssl/include/openssl/lhash_macros.h +56 -14
- data/third_party/boringssl/include/openssl/nid.h +2949 -2916
- data/third_party/boringssl/include/openssl/obj.h +1 -1
- data/third_party/boringssl/include/openssl/pkcs8.h +21 -42
- data/third_party/boringssl/include/openssl/pool.h +87 -0
- data/third_party/boringssl/include/openssl/rand.h +1 -1
- data/third_party/boringssl/include/openssl/rsa.h +4 -2
- data/third_party/boringssl/include/openssl/sha.h +0 -4
- data/third_party/boringssl/include/openssl/ssl.h +327 -662
- data/third_party/boringssl/include/openssl/ssl3.h +1 -21
- data/third_party/boringssl/include/openssl/stack.h +1 -0
- data/third_party/boringssl/include/openssl/stack_macros.h +85 -0
- data/third_party/boringssl/include/openssl/tls1.h +23 -52
- data/third_party/boringssl/include/openssl/type_check.h +4 -0
- data/third_party/boringssl/include/openssl/x509.h +10 -59
- data/third_party/boringssl/include/openssl/x509_vfy.h +7 -1
- data/third_party/boringssl/include/openssl/x509v3.h +4 -4
- data/third_party/boringssl/ssl/bio_ssl.c +175 -0
- data/third_party/boringssl/ssl/custom_extensions.c +24 -21
- data/third_party/boringssl/ssl/d1_both.c +259 -289
- data/third_party/boringssl/ssl/d1_lib.c +8 -20
- data/third_party/boringssl/ssl/d1_pkt.c +6 -15
- data/third_party/boringssl/ssl/dtls_method.c +22 -8
- data/third_party/boringssl/ssl/dtls_record.c +27 -2
- data/third_party/boringssl/ssl/handshake_client.c +460 -579
- data/third_party/boringssl/ssl/handshake_server.c +662 -644
- data/third_party/boringssl/ssl/internal.h +1009 -375
- data/third_party/boringssl/ssl/s3_both.c +312 -162
- data/third_party/boringssl/ssl/s3_lib.c +12 -128
- data/third_party/boringssl/ssl/s3_pkt.c +22 -30
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +28 -22
- data/third_party/boringssl/ssl/ssl_asn1.c +210 -114
- data/third_party/boringssl/ssl/ssl_buffer.c +2 -1
- data/third_party/boringssl/ssl/ssl_cert.c +417 -219
- data/third_party/boringssl/ssl/ssl_cipher.c +191 -393
- data/third_party/boringssl/ssl/ssl_ecdh.c +19 -164
- data/third_party/boringssl/ssl/ssl_file.c +0 -11
- data/third_party/boringssl/ssl/ssl_lib.c +325 -652
- data/third_party/boringssl/ssl/{ssl_rsa.c → ssl_privkey.c} +21 -131
- data/third_party/boringssl/ssl/ssl_privkey_cc.cc +76 -0
- data/third_party/boringssl/ssl/ssl_session.c +206 -95
- data/third_party/boringssl/ssl/ssl_stat.c +18 -84
- data/third_party/boringssl/ssl/{s3_enc.c → ssl_transcript.c} +150 -157
- data/third_party/boringssl/ssl/ssl_x509.c +815 -0
- data/third_party/boringssl/ssl/t1_enc.c +188 -174
- data/third_party/boringssl/ssl/t1_lib.c +1064 -764
- data/third_party/boringssl/ssl/tls13_both.c +290 -96
- data/third_party/boringssl/ssl/tls13_client.c +344 -314
- data/third_party/boringssl/ssl/tls13_enc.c +239 -200
- data/third_party/boringssl/ssl/tls13_server.c +374 -366
- data/third_party/boringssl/ssl/tls_method.c +40 -5
- data/third_party/boringssl/ssl/tls_record.c +166 -71
- metadata +39 -25
- data/src/core/lib/iomgr/workqueue.h +0 -87
- data/src/core/lib/iomgr/workqueue_uv.c +0 -65
- data/src/core/lib/iomgr/workqueue_uv.h +0 -37
- data/src/core/lib/iomgr/workqueue_windows.c +0 -63
- data/src/core/lib/iomgr/workqueue_windows.h +0 -37
- data/third_party/boringssl/crypto/bio/buffer.c +0 -496
- data/third_party/boringssl/crypto/newhope/error_correction.c +0 -131
- data/third_party/boringssl/crypto/newhope/internal.h +0 -71
- data/third_party/boringssl/crypto/newhope/newhope.c +0 -174
- data/third_party/boringssl/crypto/newhope/ntt.c +0 -148
- data/third_party/boringssl/crypto/newhope/poly.c +0 -183
- data/third_party/boringssl/crypto/newhope/precomp.c +0 -306
- data/third_party/boringssl/crypto/obj/obj_xref.h +0 -96
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +0 -151
- data/third_party/boringssl/include/openssl/newhope.h +0 -158
- data/third_party/boringssl/include/openssl/time_support.h +0 -91
@@ -71,6 +71,8 @@
|
|
71
71
|
#include <openssl/x509v3.h>
|
72
72
|
|
73
73
|
#include "../conf/internal.h"
|
74
|
+
#include "../internal.h"
|
75
|
+
|
74
76
|
|
75
77
|
static char *strip_spaces(char *name);
|
76
78
|
static int sk_strcmp(const OPENSSL_STRING *a, const OPENSSL_STRING *b);
|
@@ -690,7 +692,7 @@ static int equal_nocase(const unsigned char *pattern, size_t pattern_len,
|
|
690
692
|
return 1;
|
691
693
|
}
|
692
694
|
|
693
|
-
/* Compare using
|
695
|
+
/* Compare using OPENSSL_memcmp. */
|
694
696
|
static int equal_case(const unsigned char *pattern, size_t pattern_len,
|
695
697
|
const unsigned char *subject, size_t subject_len,
|
696
698
|
unsigned int flags)
|
@@ -698,7 +700,7 @@ static int equal_case(const unsigned char *pattern, size_t pattern_len,
|
|
698
700
|
skip_prefix(&pattern, &pattern_len, subject, subject_len, flags);
|
699
701
|
if (pattern_len != subject_len)
|
700
702
|
return 0;
|
701
|
-
return !
|
703
|
+
return !OPENSSL_memcmp(pattern, subject, pattern_len);
|
702
704
|
}
|
703
705
|
|
704
706
|
/*
|
@@ -822,32 +824,16 @@ static const unsigned char *valid_star(const unsigned char *p, size_t len,
|
|
822
824
|
return NULL;
|
823
825
|
star = &p[i];
|
824
826
|
state &= ~LABEL_START;
|
825
|
-
} else if ((state & LABEL_START) != 0) {
|
826
|
-
/*
|
827
|
-
* At the start of a label, skip any "xn--" and
|
828
|
-
* remain in the LABEL_START state, but set the
|
829
|
-
* IDNA label state
|
830
|
-
*/
|
831
|
-
if ((state & LABEL_IDNA) == 0 && len - i >= 4
|
832
|
-
&& OPENSSL_strncasecmp((char *)&p[i], "xn--", 4) == 0) {
|
833
|
-
i += 3;
|
834
|
-
state |= LABEL_IDNA;
|
835
|
-
continue;
|
836
|
-
}
|
837
|
-
/* Labels must start with a letter or digit */
|
838
|
-
state &= ~LABEL_START;
|
839
|
-
if (('a' <= p[i] && p[i] <= 'z')
|
840
|
-
|| ('A' <= p[i] && p[i] <= 'Z')
|
841
|
-
|| ('0' <= p[i] && p[i] <= '9'))
|
842
|
-
continue;
|
843
|
-
return NULL;
|
844
827
|
} else if (('a' <= p[i] && p[i] <= 'z')
|
845
828
|
|| ('A' <= p[i] && p[i] <= 'Z')
|
846
829
|
|| ('0' <= p[i] && p[i] <= '9')) {
|
847
|
-
state
|
848
|
-
|
830
|
+
if ((state & LABEL_START) != 0
|
831
|
+
&& len - i >= 4
|
832
|
+
&& OPENSSL_strncasecmp((char *)&p[i], "xn--", 4) == 0)
|
833
|
+
state |= LABEL_IDNA;
|
834
|
+
state &= ~(LABEL_HYPHEN | LABEL_START);
|
849
835
|
} else if (p[i] == '.') {
|
850
|
-
if (state & (LABEL_HYPHEN | LABEL_START))
|
836
|
+
if ((state & (LABEL_HYPHEN | LABEL_START)) != 0)
|
851
837
|
return NULL;
|
852
838
|
state = LABEL_START;
|
853
839
|
++dots;
|
@@ -909,7 +895,7 @@ static int do_check_string(ASN1_STRING *a, int cmp_type, equal_fn equal,
|
|
909
895
|
return 0;
|
910
896
|
if (cmp_type == V_ASN1_IA5STRING)
|
911
897
|
rv = equal(a->data, a->length, (unsigned char *)b, blen, flags);
|
912
|
-
else if (a->length == (int)blen && !
|
898
|
+
else if (a->length == (int)blen && !OPENSSL_memcmp(a->data, b, blen))
|
913
899
|
rv = 1;
|
914
900
|
if (rv > 0 && peername)
|
915
901
|
*peername = BUF_strndup((char *)a->data, a->length);
|
@@ -1014,7 +1000,7 @@ int X509_check_host(X509 *x, const char *chk, size_t chklen,
|
|
1014
1000
|
{
|
1015
1001
|
if (chk == NULL)
|
1016
1002
|
return -2;
|
1017
|
-
if (
|
1003
|
+
if (OPENSSL_memchr(chk, '\0', chklen))
|
1018
1004
|
return -2;
|
1019
1005
|
return do_x509_check(x, chk, chklen, flags, GEN_DNS, peername);
|
1020
1006
|
}
|
@@ -1024,7 +1010,7 @@ int X509_check_email(X509 *x, const char *chk, size_t chklen,
|
|
1024
1010
|
{
|
1025
1011
|
if (chk == NULL)
|
1026
1012
|
return -2;
|
1027
|
-
if (
|
1013
|
+
if (OPENSSL_memchr(chk, '\0', chklen))
|
1028
1014
|
return -2;
|
1029
1015
|
return do_x509_check(x, chk, chklen, flags, GEN_EMAIL, NULL);
|
1030
1016
|
}
|
@@ -1213,16 +1199,16 @@ static int ipv6_from_asc(unsigned char *v6, const char *in)
|
|
1213
1199
|
|
1214
1200
|
if (v6stat.zero_pos >= 0) {
|
1215
1201
|
/* Copy initial part */
|
1216
|
-
|
1202
|
+
OPENSSL_memcpy(v6, v6stat.tmp, v6stat.zero_pos);
|
1217
1203
|
/* Zero middle */
|
1218
|
-
|
1204
|
+
OPENSSL_memset(v6 + v6stat.zero_pos, 0, 16 - v6stat.total);
|
1219
1205
|
/* Copy final part */
|
1220
1206
|
if (v6stat.total != v6stat.zero_pos)
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1207
|
+
OPENSSL_memcpy(v6 + v6stat.zero_pos + 16 - v6stat.total,
|
1208
|
+
v6stat.tmp + v6stat.zero_pos,
|
1209
|
+
v6stat.total - v6stat.zero_pos);
|
1224
1210
|
} else
|
1225
|
-
|
1211
|
+
OPENSSL_memcpy(v6, v6stat.tmp, 16);
|
1226
1212
|
|
1227
1213
|
return 1;
|
1228
1214
|
}
|
@@ -64,7 +64,7 @@ extern "C" {
|
|
64
64
|
*
|
65
65
|
* The "seal" and "open" operations are atomic - an entire message must be
|
66
66
|
* encrypted or decrypted in a single call. Large messages may have to be split
|
67
|
-
* up in order to
|
67
|
+
* up in order to accommodate this. When doing so, be mindful of the need not to
|
68
68
|
* repeat nonces and the possibility that an attacker could duplicate, reorder
|
69
69
|
* or drop message chunks. For example, using a single key for a given (large)
|
70
70
|
* message and sealing chunks with nonces counting from zero would be secure as
|
@@ -100,25 +100,6 @@ OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void);
|
|
100
100
|
* Poly1305 as described in RFC 7539. */
|
101
101
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void);
|
102
102
|
|
103
|
-
/* EVP_aead_chacha20_poly1305_old is an AEAD built from ChaCha20 and
|
104
|
-
* Poly1305 that is used in the experimental ChaCha20-Poly1305 TLS cipher
|
105
|
-
* suites. */
|
106
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305_old(void);
|
107
|
-
|
108
|
-
/* EVP_aead_aes_128_key_wrap is AES-128 Key Wrap mode. This should never be
|
109
|
-
* used except to interoperate with existing systems that use this mode.
|
110
|
-
*
|
111
|
-
* If the nonce is empty then the default nonce will be used, otherwise it must
|
112
|
-
* be eight bytes long. The input must be a multiple of eight bytes long. No
|
113
|
-
* additional data can be given to this mode. */
|
114
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_key_wrap(void);
|
115
|
-
|
116
|
-
/* EVP_aead_aes_256_key_wrap is AES-256 in Key Wrap mode. This should never be
|
117
|
-
* used except to interoperate with existing systems that use this mode.
|
118
|
-
*
|
119
|
-
* See |EVP_aead_aes_128_key_wrap| for details. */
|
120
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_key_wrap(void);
|
121
|
-
|
122
103
|
/* EVP_aead_aes_128_ctr_hmac_sha256 is AES-128 in CTR mode with HMAC-SHA256 for
|
123
104
|
* authentication. The nonce is 12 bytes; the bottom 32-bits are used as the
|
124
105
|
* block counter, thus the maximum plaintext size is 64GB. */
|
@@ -128,6 +109,14 @@ OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_ctr_hmac_sha256(void);
|
|
128
109
|
* authentication. See |EVP_aead_aes_128_ctr_hmac_sha256| for details. */
|
129
110
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_ctr_hmac_sha256(void);
|
130
111
|
|
112
|
+
/* EVP_aead_aes_128_gcm_siv is AES-128 in GCM-SIV mode. See
|
113
|
+
* https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-02 */
|
114
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_siv(void);
|
115
|
+
|
116
|
+
/* EVP_aead_aes_256_gcm_siv is AES-256 in GCM-SIV mode. See
|
117
|
+
* https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-02 */
|
118
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_siv(void);
|
119
|
+
|
131
120
|
/* EVP_has_aes_hardware returns one if we enable hardware support for fast and
|
132
121
|
* constant-time AES-GCM. */
|
133
122
|
OPENSSL_EXPORT int EVP_has_aes_hardware(void);
|
@@ -139,16 +139,28 @@ OPENSSL_EXPORT void AES_cfb128_encrypt(const uint8_t *in, uint8_t *out,
|
|
139
139
|
uint8_t *ivec, int *num, int enc);
|
140
140
|
|
141
141
|
|
142
|
-
/*
|
142
|
+
/* AES key wrap.
|
143
143
|
*
|
144
|
-
* These functions
|
145
|
-
*
|
146
|
-
*
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
144
|
+
* These functions implement AES Key Wrap mode, as defined in RFC 3394. They
|
145
|
+
* should never be used except to interoperate with existing systems that use
|
146
|
+
* this mode. */
|
147
|
+
|
148
|
+
/* AES_wrap_key performs AES key wrap on |in| which must be a multiple of 8
|
149
|
+
* bytes. |iv| must point to an 8 byte value or be NULL to use the default IV.
|
150
|
+
* |key| must have been configured for encryption. On success, it writes
|
151
|
+
* |in_len| + 8 bytes to |out| and returns |in_len| + 8. Otherwise, it returns
|
152
|
+
* -1. */
|
153
|
+
OPENSSL_EXPORT int AES_wrap_key(const AES_KEY *key, const uint8_t *iv,
|
154
|
+
uint8_t *out, const uint8_t *in, size_t in_len);
|
155
|
+
|
156
|
+
/* AES_unwrap_key performs AES key unwrap on |in| which must be a multiple of 8
|
157
|
+
* bytes. |iv| must point to an 8 byte value or be NULL to use the default IV.
|
158
|
+
* |key| must have been configured for decryption. On success, it writes
|
159
|
+
* |in_len| - 8 bytes to |out| and returns |in_len| - 8. Otherwise, it returns
|
160
|
+
* -1. */
|
161
|
+
OPENSSL_EXPORT int AES_unwrap_key(const AES_KEY *key, const uint8_t *iv,
|
162
|
+
uint8_t *out, const uint8_t *in,
|
163
|
+
size_t in_len);
|
152
164
|
|
153
165
|
|
154
166
|
#if defined(__cplusplus)
|
@@ -246,7 +246,15 @@ typedef struct ASN1_ENCODING_st
|
|
246
246
|
{
|
247
247
|
unsigned char *enc; /* DER encoding */
|
248
248
|
long len; /* Length of encoding */
|
249
|
-
int modified;
|
249
|
+
int modified; /* set to 1 if 'enc' is invalid */
|
250
|
+
/* alias_only is zero if |enc| owns the buffer that it points to
|
251
|
+
* (although |enc| may still be NULL). If one, |enc| points into a
|
252
|
+
* buffer that is owned elsewhere. */
|
253
|
+
unsigned alias_only:1;
|
254
|
+
/* alias_only_on_next_parse is one iff the next parsing operation
|
255
|
+
* should avoid taking a copy of the input and rather set
|
256
|
+
* |alias_only|. */
|
257
|
+
unsigned alias_only_on_next_parse:1;
|
250
258
|
} ASN1_ENCODING;
|
251
259
|
|
252
260
|
/* Used with ASN1 LONG type: if a long is set to this it is omitted */
|
@@ -60,6 +60,11 @@
|
|
60
60
|
#include <stdint.h>
|
61
61
|
#include <sys/types.h>
|
62
62
|
|
63
|
+
#if defined(__MINGW32__)
|
64
|
+
/* stdio.h is needed on MinGW for __MINGW_PRINTF_FORMAT. */
|
65
|
+
#include <stdio.h>
|
66
|
+
#endif
|
67
|
+
|
63
68
|
#include <openssl/opensslconf.h>
|
64
69
|
|
65
70
|
#if defined(BORINGSSL_PREFIX)
|
@@ -109,6 +114,14 @@ extern "C" {
|
|
109
114
|
#define OPENSSL_WINDOWS
|
110
115
|
#endif
|
111
116
|
|
117
|
+
#if defined(__linux__)
|
118
|
+
#define OPENSSL_LINUX
|
119
|
+
#endif
|
120
|
+
|
121
|
+
#if defined(__Fuchsia__)
|
122
|
+
#define OPENSSL_FUCHSIA
|
123
|
+
#endif
|
124
|
+
|
112
125
|
#if defined(TRUSTY)
|
113
126
|
#define OPENSSL_TRUSTY
|
114
127
|
#define OPENSSL_NO_THREADS
|
@@ -117,7 +130,7 @@ extern "C" {
|
|
117
130
|
#define OPENSSL_IS_BORINGSSL
|
118
131
|
#define BORINGSSL_201512
|
119
132
|
#define BORINGSSL_201603
|
120
|
-
#define OPENSSL_VERSION_NUMBER
|
133
|
+
#define OPENSSL_VERSION_NUMBER 0x100020af
|
121
134
|
#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
|
122
135
|
|
123
136
|
/* BORINGSSL_API_VERSION is a positive integer that increments as BoringSSL
|
@@ -158,8 +171,17 @@ extern "C" {
|
|
158
171
|
|
159
172
|
|
160
173
|
#if defined(__GNUC__)
|
174
|
+
/* MinGW has two different printf implementations. Ensure the format macro
|
175
|
+
* matches the selected implementation. See
|
176
|
+
* https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/. */
|
177
|
+
#if defined(__MINGW_PRINTF_FORMAT)
|
161
178
|
#define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \
|
162
|
-
|
179
|
+
__attribute__( \
|
180
|
+
(__format__(__MINGW_PRINTF_FORMAT, string_index, first_to_check)))
|
181
|
+
#else
|
182
|
+
#define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \
|
183
|
+
__attribute__((__format__(__printf__, string_index, first_to_check)))
|
184
|
+
#endif
|
163
185
|
#else
|
164
186
|
#define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check)
|
165
187
|
#endif
|
@@ -171,6 +193,10 @@ extern "C" {
|
|
171
193
|
#define OPENSSL_MSVC_PRAGMA(arg)
|
172
194
|
#endif
|
173
195
|
|
196
|
+
#if defined(BORINGSSL_UNSAFE_FUZZER_MODE) && \
|
197
|
+
!defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
|
198
|
+
#define BORINGSSL_UNSAFE_DETERMINISTIC_MODE
|
199
|
+
#endif
|
174
200
|
|
175
201
|
/* CRYPTO_THREADID is a dummy value. */
|
176
202
|
typedef int CRYPTO_THREADID;
|
@@ -207,9 +233,6 @@ typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS;
|
|
207
233
|
typedef struct Netscape_certificate_sequence NETSCAPE_CERT_SEQUENCE;
|
208
234
|
typedef struct Netscape_spkac_st NETSCAPE_SPKAC;
|
209
235
|
typedef struct Netscape_spki_st NETSCAPE_SPKI;
|
210
|
-
typedef struct PBE2PARAM_st PBE2PARAM;
|
211
|
-
typedef struct PBEPARAM_st PBEPARAM;
|
212
|
-
typedef struct PBKDF2PARAM_st PBKDF2PARAM;
|
213
236
|
typedef struct RIPEMD160state_st RIPEMD160_CTX;
|
214
237
|
typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE;
|
215
238
|
typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL;
|
@@ -241,6 +264,8 @@ typedef struct cbs_st CBS;
|
|
241
264
|
typedef struct cmac_ctx_st CMAC_CTX;
|
242
265
|
typedef struct conf_st CONF;
|
243
266
|
typedef struct conf_value_st CONF_VALUE;
|
267
|
+
typedef struct crypto_buffer_pool_st CRYPTO_BUFFER_POOL;
|
268
|
+
typedef struct crypto_buffer_st CRYPTO_BUFFER;
|
244
269
|
typedef struct dh_st DH;
|
245
270
|
typedef struct dsa_st DSA;
|
246
271
|
typedef struct ec_group_st EC_GROUP;
|
@@ -262,7 +287,6 @@ typedef struct evp_pkey_st EVP_PKEY;
|
|
262
287
|
typedef struct hmac_ctx_st HMAC_CTX;
|
263
288
|
typedef struct md4_state_st MD4_CTX;
|
264
289
|
typedef struct md5_state_st MD5_CTX;
|
265
|
-
typedef struct newhope_poly_st NEWHOPE_POLY;
|
266
290
|
typedef struct pkcs12_st PKCS12;
|
267
291
|
typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO;
|
268
292
|
typedef struct private_key_st X509_PKEY;
|
@@ -361,6 +385,9 @@ class StackAllocated {
|
|
361
385
|
StackAllocated() { init(&ctx_); }
|
362
386
|
~StackAllocated() { cleanup(&ctx_); }
|
363
387
|
|
388
|
+
StackAllocated(const StackAllocated<T, CleanupRet, init, cleanup> &) = delete;
|
389
|
+
T& operator=(const StackAllocated<T, CleanupRet, init, cleanup> &) = delete;
|
390
|
+
|
364
391
|
T *get() { return &ctx_; }
|
365
392
|
const T *get() const { return &ctx_; }
|
366
393
|
|
@@ -184,22 +184,12 @@ OPENSSL_EXPORT int BIO_should_retry(const BIO *bio);
|
|
184
184
|
* |BIO_get_retry_reason|. */
|
185
185
|
OPENSSL_EXPORT int BIO_should_io_special(const BIO *bio);
|
186
186
|
|
187
|
-
/* BIO_RR_SSL_X509_LOOKUP indicates that an SSL BIO blocked because the SSL
|
188
|
-
* library returned with SSL_ERROR_WANT_X509_LOOKUP.
|
189
|
-
*
|
190
|
-
* TODO(fork): remove. */
|
191
|
-
#define BIO_RR_SSL_X509_LOOKUP 0x01
|
192
|
-
|
193
187
|
/* BIO_RR_CONNECT indicates that a connect would have blocked */
|
194
188
|
#define BIO_RR_CONNECT 0x02
|
195
189
|
|
196
190
|
/* BIO_RR_ACCEPT indicates that an accept would have blocked */
|
197
191
|
#define BIO_RR_ACCEPT 0x03
|
198
192
|
|
199
|
-
/* BIO_RR_SSL_CHANNEL_ID_LOOKUP indicates that the ChannelID code cannot find
|
200
|
-
* a private key for a TLS connection. */
|
201
|
-
#define BIO_RR_SSL_CHANNEL_ID_LOOKUP 0x04
|
202
|
-
|
203
193
|
/* BIO_get_retry_reason returns the special I/O operation that needs to be
|
204
194
|
* retried. The return value is one of the |BIO_RR_*| values. */
|
205
195
|
OPENSSL_EXPORT int BIO_get_retry_reason(const BIO *bio);
|
@@ -236,7 +226,7 @@ typedef long (*bio_info_cb)(BIO *bio, int event, const char *parg, int cmd,
|
|
236
226
|
long larg, long return_value);
|
237
227
|
|
238
228
|
/* BIO_callback_ctrl allows the callback function to be manipulated. The |cmd|
|
239
|
-
* arg will generally be |BIO_CTRL_SET_CALLBACK| but
|
229
|
+
* arg will generally be |BIO_CTRL_SET_CALLBACK| but arbitrary command values
|
240
230
|
* can be interpreted by the |BIO|. */
|
241
231
|
OPENSSL_EXPORT long BIO_callback_ctrl(BIO *bio, int cmd, bio_info_cb fp);
|
242
232
|
|
@@ -333,9 +323,9 @@ OPENSSL_EXPORT int BIO_indent(BIO *bio, unsigned indent, unsigned max_indent);
|
|
333
323
|
OPENSSL_EXPORT int BIO_hexdump(BIO *bio, const uint8_t *data, size_t len,
|
334
324
|
unsigned indent);
|
335
325
|
|
336
|
-
/*
|
326
|
+
/* ERR_print_errors prints the current contents of the error stack to |bio|
|
337
327
|
* using human readable strings where possible. */
|
338
|
-
OPENSSL_EXPORT void
|
328
|
+
OPENSSL_EXPORT void ERR_print_errors(BIO *bio);
|
339
329
|
|
340
330
|
/* BIO_read_asn1 reads a single ASN.1 object from |bio|. If successful it sets
|
341
331
|
* |*out| to be an allocated buffer (that should be freed with |OPENSSL_free|),
|
@@ -479,7 +469,7 @@ OPENSSL_EXPORT int BIO_get_fp(BIO *bio, FILE **out_file);
|
|
479
469
|
|
480
470
|
/* BIO_set_fp sets the |FILE| for |bio|. If |close_flag| is |BIO_CLOSE| then
|
481
471
|
* |fclose| will be called on |file| when |bio| is closed. It returns one on
|
482
|
-
*
|
472
|
+
* success and zero otherwise. */
|
483
473
|
OPENSSL_EXPORT int BIO_set_fp(BIO *bio, FILE *file, int close_flag);
|
484
474
|
|
485
475
|
/* BIO_read_filename opens |filename| for reading and sets the result as the
|
@@ -503,23 +493,6 @@ OPENSSL_EXPORT int BIO_append_filename(BIO *bio, const char *filename);
|
|
503
493
|
OPENSSL_EXPORT int BIO_rw_filename(BIO *bio, const char *filename);
|
504
494
|
|
505
495
|
|
506
|
-
/* Buffer BIOs.
|
507
|
-
*
|
508
|
-
* Buffer BIOs are a filter-type BIO, i.e. they are designed to be used in a
|
509
|
-
* chain of BIOs. They provide buffering to reduce the number of operations on
|
510
|
-
* the underlying BIOs. */
|
511
|
-
|
512
|
-
OPENSSL_EXPORT const BIO_METHOD *BIO_f_buffer(void);
|
513
|
-
|
514
|
-
/* BIO_set_read_buffer_size sets the size, in bytes, of the read buffer and
|
515
|
-
* clears it. It returns one on success and zero on failure. */
|
516
|
-
OPENSSL_EXPORT int BIO_set_read_buffer_size(BIO *bio, int buffer_size);
|
517
|
-
|
518
|
-
/* BIO_set_write_buffer_size sets the size, in bytes, of the write buffer and
|
519
|
-
* clears it. It returns one on success and zero on failure. */
|
520
|
-
OPENSSL_EXPORT int BIO_set_write_buffer_size(BIO *bio, int buffer_size);
|
521
|
-
|
522
|
-
|
523
496
|
/* Socket BIOs.
|
524
497
|
*
|
525
498
|
* Socket BIOs behave like file descriptor BIOs but, on Windows systems, wrap
|
@@ -616,18 +589,6 @@ OPENSSL_EXPORT int BIO_do_connect(BIO *bio);
|
|
616
589
|
OPENSSL_EXPORT int BIO_new_bio_pair(BIO **out1, size_t writebuf1, BIO **out2,
|
617
590
|
size_t writebuf2);
|
618
591
|
|
619
|
-
/* BIO_new_bio_pair_external_buf is the same as |BIO_new_bio_pair| with the
|
620
|
-
* difference that the caller keeps ownership of the write buffers
|
621
|
-
* |ext_writebuf1_len| and |ext_writebuf2_len|. This is useful when using zero
|
622
|
-
* copy API for read and write operations, in cases where the buffers need to
|
623
|
-
* outlive the BIO pairs. It returns one on success and zero on error. */
|
624
|
-
OPENSSL_EXPORT int BIO_new_bio_pair_external_buf(BIO** bio1_p,
|
625
|
-
size_t writebuf1_len,
|
626
|
-
uint8_t* ext_writebuf1,
|
627
|
-
BIO** bio2_p,
|
628
|
-
size_t writebuf2_len,
|
629
|
-
uint8_t* ext_writebuf2);
|
630
|
-
|
631
592
|
/* BIO_ctrl_get_read_request returns the number of bytes that the other side of
|
632
593
|
* |bio| tried (unsuccessfully) to read. */
|
633
594
|
OPENSSL_EXPORT size_t BIO_ctrl_get_read_request(BIO *bio);
|
@@ -643,63 +604,6 @@ OPENSSL_EXPORT size_t BIO_ctrl_get_write_guarantee(BIO *bio);
|
|
643
604
|
OPENSSL_EXPORT int BIO_shutdown_wr(BIO *bio);
|
644
605
|
|
645
606
|
|
646
|
-
/* Zero copy versions of BIO_read and BIO_write for BIO pairs. */
|
647
|
-
|
648
|
-
/* BIO_zero_copy_get_read_buf initiates a zero copy read operation.
|
649
|
-
* |out_read_buf| is set to the internal read buffer, and |out_buf_offset| is
|
650
|
-
* set to the current read position of |out_read_buf|. The number of bytes
|
651
|
-
* available for read from |out_read_buf| + |out_buf_offset| is returned in
|
652
|
-
* |out_available_bytes|. Note that this function might report fewer bytes
|
653
|
-
* available than |BIO_pending|, if the internal ring buffer is wrapped. It
|
654
|
-
* returns one on success. In case of error it returns zero and pushes to the
|
655
|
-
* error stack.
|
656
|
-
*
|
657
|
-
* The zero copy read operation is completed by calling
|
658
|
-
* |BIO_zero_copy_get_read_buf_done|. Neither |BIO_zero_copy_get_read_buf| nor
|
659
|
-
* any other I/O read operation may be called while a zero copy read operation
|
660
|
-
* is active. */
|
661
|
-
OPENSSL_EXPORT int BIO_zero_copy_get_read_buf(BIO* bio,
|
662
|
-
uint8_t** out_read_buf,
|
663
|
-
size_t* out_buf_offset,
|
664
|
-
size_t* out_available_bytes);
|
665
|
-
|
666
|
-
/* BIO_zero_copy_get_read_buf_done must be called after reading from a BIO using
|
667
|
-
* |BIO_zero_copy_get_read_buf| to finish the read operation. The |bytes_read|
|
668
|
-
* argument is the number of bytes read.
|
669
|
-
*
|
670
|
-
* It returns one on success. In case of error it returns zero and pushes to the
|
671
|
-
* error stack. */
|
672
|
-
OPENSSL_EXPORT int BIO_zero_copy_get_read_buf_done(BIO* bio, size_t bytes_read);
|
673
|
-
|
674
|
-
/* BIO_zero_copy_get_write_buf initiates a zero copy write operation.
|
675
|
-
* |out_write_buf| is set to to the internal write buffer, and |out_buf_offset|
|
676
|
-
* is set to the current write position of |out_write_buf|.
|
677
|
-
* The number of bytes available for write from |out_write_buf| +
|
678
|
-
* |out_buf_offset| is returned in |out_available_bytes|. Note that this
|
679
|
-
* function might report fewer bytes available than
|
680
|
-
* |BIO_ctrl_get_write_guarantee|, if the internal buffer is wrapped. It returns
|
681
|
-
* one on success. In case of error it returns zero and pushes to the error
|
682
|
-
* stack.
|
683
|
-
*
|
684
|
-
* The zero copy write operation is completed by calling
|
685
|
-
* |BIO_zero_copy_get_write_buf_done|. Neither |BIO_zero_copy_get_write_buf|
|
686
|
-
* nor any other I/O write operation may be called while a zero copy write
|
687
|
-
* operation is active. */
|
688
|
-
OPENSSL_EXPORT int BIO_zero_copy_get_write_buf(BIO* bio,
|
689
|
-
uint8_t** out_write_buf,
|
690
|
-
size_t* out_buf_offset,
|
691
|
-
size_t* out_available_bytes);
|
692
|
-
|
693
|
-
/* BIO_zero_copy_get_write_buf_done must be called after writing to a BIO using
|
694
|
-
* |BIO_zero_copy_get_write_buf| to finish the write operation. The
|
695
|
-
* |bytes_written| argument gives the number of bytes written.
|
696
|
-
*
|
697
|
-
* It returns one on success. In case of error it returns zero and pushes to the
|
698
|
-
* error stack. */
|
699
|
-
OPENSSL_EXPORT int BIO_zero_copy_get_write_buf_done(BIO* bio,
|
700
|
-
size_t bytes_written);
|
701
|
-
|
702
|
-
|
703
607
|
/* BIO_NOCLOSE and |BIO_CLOSE| can be used as symbolic arguments when a "close
|
704
608
|
* flag" is passed to a BIO function. */
|
705
609
|
#define BIO_NOCLOSE 0
|
@@ -735,7 +639,8 @@ OPENSSL_EXPORT int BIO_zero_copy_get_write_buf_done(BIO* bio,
|
|
735
639
|
#define BIO_CTRL_GET_CALLBACK 15 /* opt - set callback function */
|
736
640
|
#define BIO_CTRL_SET_FILENAME 30 /* BIO_s_file special */
|
737
641
|
|
738
|
-
/* BIO_CTRL_DUP is never used, but exists to allow code to compile more
|
642
|
+
/* BIO_CTRL_DUP is never used, but exists to allow code to compile more
|
643
|
+
* easily. */
|
739
644
|
#define BIO_CTRL_DUP 12
|
740
645
|
|
741
646
|
|
@@ -748,8 +653,10 @@ OPENSSL_EXPORT int BIO_zero_copy_get_write_buf_done(BIO* bio,
|
|
748
653
|
* on one line. */
|
749
654
|
OPENSSL_EXPORT const BIO_METHOD *BIO_f_base64(void);
|
750
655
|
|
751
|
-
|
752
|
-
|
656
|
+
OPENSSL_EXPORT void BIO_set_retry_special(BIO *bio);
|
657
|
+
|
658
|
+
/* BIO_set_write_buffer_size returns zero. */
|
659
|
+
OPENSSL_EXPORT int BIO_set_write_buffer_size(BIO *bio, int buffer_size);
|
753
660
|
|
754
661
|
|
755
662
|
/* Private functions */
|