grpc 1.9.1 → 1.10.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 +2654 -953
- data/etc/roots.pem +282 -683
- data/include/grpc/compression.h +9 -26
- data/include/grpc/grpc.h +10 -24
- data/include/grpc/grpc_security.h +7 -1
- data/include/grpc/impl/codegen/compression_types.h +5 -62
- data/include/grpc/impl/codegen/grpc_types.h +10 -6
- data/include/grpc/module.modulemap +1 -10
- data/include/grpc/support/alloc.h +3 -2
- data/include/grpc/support/log.h +1 -2
- data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
- data/src/boringssl/err_data.c +550 -496
- data/src/core/ext/census/grpc_context.cc +2 -1
- data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
- data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
- data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
- data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
- data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver.cc +6 -52
- data/src/core/ext/filters/client_channel/resolver.h +98 -55
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
- data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
- data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
- data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
- data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
- data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
- data/src/core/ext/filters/client_channel/subchannel.h +38 -45
- data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
- data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
- data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
- data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
- data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
- data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
- data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
- data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
- data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
- data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
- data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
- data/src/core/lib/{gpr → avl}/avl.cc +61 -57
- data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
- data/src/core/lib/backoff/backoff.cc +6 -5
- data/src/core/lib/channel/channel_args.cc +23 -109
- data/src/core/lib/channel/channel_args.h +5 -31
- data/src/core/lib/channel/channel_stack.cc +11 -8
- data/src/core/lib/channel/channel_stack_builder.cc +10 -7
- data/src/core/lib/channel/connected_channel.cc +18 -17
- data/src/core/lib/channel/handshaker.cc +8 -8
- data/src/core/lib/channel/handshaker_registry.cc +3 -2
- data/src/core/lib/compression/algorithm_metadata.h +13 -6
- data/src/core/lib/compression/compression.cc +72 -183
- data/src/core/lib/compression/compression_internal.cc +274 -0
- data/src/core/lib/compression/compression_internal.h +86 -0
- data/src/core/lib/compression/message_compress.cc +15 -15
- data/src/core/lib/compression/message_compress.h +4 -3
- data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
- data/src/core/lib/compression/stream_compression_identity.cc +1 -1
- data/src/core/lib/debug/stats.cc +10 -8
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/trace.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +7 -11
- data/src/core/lib/gpr/arena.cc +34 -12
- data/src/core/lib/gpr/atm.cc +2 -1
- data/src/core/lib/gpr/cpu_linux.cc +3 -3
- data/src/core/lib/gpr/cpu_posix.cc +2 -1
- data/src/core/lib/gpr/env.h +1 -1
- data/src/core/lib/gpr/env_linux.cc +1 -1
- data/src/core/lib/gpr/env_windows.cc +4 -4
- data/src/core/lib/gpr/fork.cc +16 -2
- data/src/core/lib/gpr/host_port.cc +5 -4
- data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
- data/src/core/lib/gpr/log.cc +5 -4
- data/src/core/lib/gpr/log_linux.cc +1 -1
- data/src/core/lib/gpr/mpscq.cc +1 -0
- data/src/core/lib/gpr/murmur_hash.cc +4 -4
- data/src/core/lib/gpr/string.cc +19 -16
- data/src/core/lib/gpr/string_posix.cc +3 -3
- data/src/core/lib/gpr/sync_posix.cc +5 -9
- data/src/core/lib/gpr/thd.cc +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
- data/src/core/lib/gpr/thd_posix.cc +6 -4
- data/src/core/lib/gpr/thd_windows.cc +3 -1
- data/src/core/lib/gpr/time.cc +6 -4
- data/src/core/lib/gpr/time_posix.cc +2 -2
- data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
- data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
- data/src/core/lib/gpr/tls_pthread.cc +1 -1
- data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
- data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
- data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
- data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
- data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
- data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
- data/src/core/lib/http/format_request.cc +3 -3
- data/src/core/lib/http/httpcli.cc +6 -7
- data/src/core/lib/http/httpcli_security_connector.cc +10 -10
- data/src/core/lib/http/parser.cc +16 -12
- data/src/core/lib/iomgr/call_combiner.cc +12 -13
- data/src/core/lib/iomgr/closure.h +4 -6
- data/src/core/lib/iomgr/combiner.cc +10 -21
- data/src/core/lib/iomgr/error.cc +50 -55
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
- data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
- data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
- data/src/core/lib/iomgr/ev_posix.cc +47 -6
- data/src/core/lib/iomgr/exec_ctx.cc +10 -10
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +16 -13
- data/src/core/lib/iomgr/fork_posix.cc +1 -3
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -2
- data/src/core/lib/iomgr/iomgr.cc +2 -2
- data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
- data/src/core/lib/iomgr/iomgr_uv.h +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
- data/src/core/lib/iomgr/load_file.cc +3 -3
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
- data/src/core/lib/iomgr/resource_quota.cc +36 -34
- data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
- data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
- data/src/core/lib/iomgr/socket_mutator.cc +7 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
- data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +47 -55
- data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
- data/src/core/lib/iomgr/tcp_windows.cc +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +16 -14
- data/src/core/lib/iomgr/timer_heap.cc +8 -7
- data/src/core/lib/iomgr/timer_manager.cc +4 -3
- data/src/core/lib/iomgr/udp_server.cc +24 -16
- data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
- data/src/core/lib/json/json.cc +1 -1
- data/src/core/lib/json/json_reader.cc +8 -6
- data/src/core/lib/json/json_string.cc +19 -18
- data/src/core/lib/json/json_writer.cc +10 -8
- data/src/core/lib/profiling/basic_timers.cc +1 -1
- data/src/core/lib/profiling/timers.h +3 -20
- data/src/core/lib/security/context/security_context.cc +16 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
- data/src/core/lib/security/credentials/credentials.cc +9 -8
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
- data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
- data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
- data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
- data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
- data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
- data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
- data/src/core/lib/security/transport/security_handshaker.cc +19 -18
- data/src/core/lib/security/transport/security_handshaker.h +1 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/slice/b64.cc +19 -16
- data/src/core/lib/slice/percent_encoding.cc +5 -5
- data/src/core/lib/slice/slice.cc +35 -33
- data/src/core/lib/slice/slice_buffer.cc +16 -14
- data/src/core/lib/slice/slice_hash_table.cc +3 -2
- data/src/core/lib/slice/slice_intern.cc +21 -25
- data/src/core/lib/slice/slice_string_helpers.cc +45 -9
- data/src/core/lib/slice/slice_string_helpers.h +6 -0
- data/src/core/lib/surface/byte_buffer.cc +2 -2
- data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
- data/src/core/lib/surface/call.cc +171 -260
- data/src/core/lib/surface/call_test_only.h +1 -13
- data/src/core/lib/surface/channel.cc +20 -43
- data/src/core/lib/surface/channel_init.cc +7 -7
- data/src/core/lib/surface/channel_ping.cc +2 -2
- data/src/core/lib/surface/completion_queue.cc +69 -75
- data/src/core/lib/surface/init.cc +4 -5
- data/src/core/lib/surface/init_secure.cc +1 -1
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/server.cc +64 -59
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +6 -5
- data/src/core/lib/transport/byte_stream.cc +23 -14
- data/src/core/lib/transport/byte_stream.h +1 -1
- data/src/core/lib/transport/connectivity_state.cc +9 -13
- data/src/core/lib/transport/error_utils.cc +10 -7
- data/src/core/lib/transport/metadata.cc +27 -26
- data/src/core/lib/transport/metadata.h +1 -1
- data/src/core/lib/transport/pid_controller.cc +2 -1
- data/src/core/lib/transport/service_config.cc +5 -5
- data/src/core/lib/transport/static_metadata.cc +225 -222
- data/src/core/lib/transport/static_metadata.h +77 -76
- data/src/core/lib/transport/timeout_encoding.cc +3 -2
- data/src/core/lib/transport/transport.cc +6 -5
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
- data/src/core/tsi/alts_transport_security.cc +61 -0
- data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
- data/src/core/tsi/fake_transport_security.cc +59 -43
- data/src/core/tsi/ssl_transport_security.cc +122 -107
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_adapter.cc +16 -10
- data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +3 -4
- data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
- data/src/ruby/ext/grpc/rb_server.c +52 -28
- data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/test/client.rb +1 -1
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +4 -2
- data/src/ruby/spec/generic/active_call_spec.rb +2 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
- data/src/ruby/spec/server_spec.rb +26 -7
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
- data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
- data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
- data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
- data/third_party/boringssl/crypto/base64/base64.c +65 -43
- data/third_party/boringssl/crypto/bio/bio.c +134 -110
- data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
- data/third_party/boringssl/crypto/bio/connect.c +17 -17
- data/third_party/boringssl/crypto/bio/fd.c +2 -1
- data/third_party/boringssl/crypto/bio/file.c +14 -14
- data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
- data/third_party/boringssl/crypto/bio/internal.h +14 -14
- data/third_party/boringssl/crypto/bio/pair.c +45 -45
- data/third_party/boringssl/crypto/bio/printf.c +6 -10
- data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
- data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
- data/third_party/boringssl/crypto/buf/buf.c +20 -44
- data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
- data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
- data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
- data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
- data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
- data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
- data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
- data/third_party/boringssl/crypto/conf/conf.c +32 -20
- data/third_party/boringssl/crypto/conf/internal.h +3 -3
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
- data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
- data/third_party/boringssl/crypto/cpu-intel.c +68 -43
- data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
- data/third_party/boringssl/crypto/crypto.c +54 -32
- data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
- data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
- data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
- data/third_party/boringssl/crypto/dh/check.c +33 -34
- data/third_party/boringssl/crypto/dh/dh.c +72 -36
- data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
- data/third_party/boringssl/crypto/dh/params.c +1 -161
- data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
- data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
- data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
- data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
- data/third_party/boringssl/crypto/engine/engine.c +6 -6
- data/third_party/boringssl/crypto/err/err.c +197 -106
- data/third_party/boringssl/crypto/err/internal.h +58 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
- data/third_party/boringssl/crypto/evp/evp.c +6 -11
- data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
- data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
- data/third_party/boringssl/crypto/evp/internal.h +66 -51
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
- data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
- data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
- data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
- data/third_party/boringssl/crypto/evp/print.c +5 -36
- data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
- data/third_party/boringssl/crypto/ex_data.c +15 -45
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
- data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
- data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
- data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
- data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
- data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
- data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
- data/third_party/boringssl/crypto/internal.h +301 -233
- data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
- data/third_party/boringssl/crypto/mem.c +76 -33
- data/third_party/boringssl/crypto/obj/obj.c +44 -28
- data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
- data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
- data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
- data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
- data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
- data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
- data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
- data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
- data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
- data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
- data/third_party/boringssl/crypto/pool/internal.h +2 -2
- data/third_party/boringssl/crypto/pool/pool.c +15 -15
- data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
- data/third_party/boringssl/crypto/refcount_c11.c +2 -2
- data/third_party/boringssl/crypto/refcount_lock.c +1 -1
- data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
- data/third_party/boringssl/crypto/stack/stack.c +13 -13
- data/third_party/boringssl/crypto/thread_none.c +1 -1
- data/third_party/boringssl/crypto/thread_pthread.c +1 -1
- data/third_party/boringssl/crypto/thread_win.c +40 -40
- data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
- data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
- data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
- data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
- data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
- data/third_party/boringssl/crypto/x509/by_file.c +2 -2
- data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
- data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
- data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
- data/third_party/boringssl/crypto/x509/x_name.c +13 -16
- data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
- data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
- data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
- data/third_party/boringssl/include/openssl/aead.h +280 -191
- data/third_party/boringssl/include/openssl/aes.h +50 -50
- data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
- data/third_party/boringssl/include/openssl/asn1.h +14 -77
- data/third_party/boringssl/include/openssl/asn1t.h +11 -15
- data/third_party/boringssl/include/openssl/base.h +78 -51
- data/third_party/boringssl/include/openssl/base64.h +68 -68
- data/third_party/boringssl/include/openssl/bio.h +472 -406
- data/third_party/boringssl/include/openssl/blowfish.h +1 -1
- data/third_party/boringssl/include/openssl/bn.h +454 -435
- data/third_party/boringssl/include/openssl/buf.h +27 -27
- data/third_party/boringssl/include/openssl/bytestring.h +282 -267
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/chacha.h +5 -5
- data/third_party/boringssl/include/openssl/cipher.h +209 -200
- data/third_party/boringssl/include/openssl/cmac.h +27 -27
- data/third_party/boringssl/include/openssl/conf.h +49 -46
- data/third_party/boringssl/include/openssl/cpu.h +60 -45
- data/third_party/boringssl/include/openssl/crypto.h +59 -35
- data/third_party/boringssl/include/openssl/curve25519.h +97 -92
- data/third_party/boringssl/include/openssl/des.h +25 -25
- data/third_party/boringssl/include/openssl/dh.h +98 -97
- data/third_party/boringssl/include/openssl/digest.h +143 -114
- data/third_party/boringssl/include/openssl/dsa.h +217 -202
- data/third_party/boringssl/include/openssl/ec.h +132 -131
- data/third_party/boringssl/include/openssl/ec_key.h +132 -128
- data/third_party/boringssl/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
- data/third_party/boringssl/include/openssl/engine.h +38 -38
- data/third_party/boringssl/include/openssl/err.h +189 -219
- data/third_party/boringssl/include/openssl/evp.h +473 -397
- data/third_party/boringssl/include/openssl/ex_data.h +46 -56
- data/third_party/boringssl/include/openssl/hkdf.h +17 -17
- data/third_party/boringssl/include/openssl/hmac.h +55 -43
- data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- data/third_party/boringssl/include/openssl/lhash.h +67 -67
- data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
- data/third_party/boringssl/include/openssl/md4.h +14 -14
- data/third_party/boringssl/include/openssl/md5.h +14 -14
- data/third_party/boringssl/include/openssl/mem.h +39 -33
- data/third_party/boringssl/include/openssl/nid.h +43 -0
- data/third_party/boringssl/include/openssl/obj.h +93 -87
- data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
- data/third_party/boringssl/include/openssl/pem.h +2 -122
- data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
- data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
- data/third_party/boringssl/include/openssl/poly1305.h +11 -11
- data/third_party/boringssl/include/openssl/pool.h +29 -25
- data/third_party/boringssl/include/openssl/rand.h +48 -45
- data/third_party/boringssl/include/openssl/rc4.h +9 -9
- data/third_party/boringssl/include/openssl/ripemd.h +13 -13
- data/third_party/boringssl/include/openssl/rsa.h +371 -340
- data/third_party/boringssl/include/openssl/sha.h +71 -71
- data/third_party/boringssl/include/openssl/span.h +191 -0
- data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
- data/third_party/boringssl/include/openssl/ssl3.h +39 -122
- data/third_party/boringssl/include/openssl/stack.h +355 -164
- data/third_party/boringssl/include/openssl/thread.h +43 -43
- data/third_party/boringssl/include/openssl/tls1.h +60 -63
- data/third_party/boringssl/include/openssl/type_check.h +10 -14
- data/third_party/boringssl/include/openssl/x509.h +41 -116
- data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
- data/third_party/boringssl/include/openssl/x509v3.h +27 -21
- data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
- data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
- data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
- data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
- data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
- data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
- data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
- data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
- data/third_party/boringssl/ssl/handshake.cc +547 -0
- data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
- data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
- data/third_party/boringssl/ssl/internal.h +2027 -1280
- data/third_party/boringssl/ssl/s3_both.cc +603 -0
- data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
- data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
- data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
- data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
- data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
- data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
- data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
- data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
- data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
- data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
- data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
- data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
- data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
- data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
- data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
- data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
- data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
- data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
- data/third_party/boringssl/ssl/tls13_client.cc +842 -0
- data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
- data/third_party/boringssl/ssl/tls13_server.cc +967 -0
- data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
- data/third_party/boringssl/ssl/tls_record.cc +675 -0
- metadata +117 -168
- data/include/grpc/support/cmdline.h +0 -88
- data/include/grpc/support/subprocess.h +0 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
- data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
- data/src/core/lib/gpr/cmdline.cc +0 -330
- data/src/core/lib/gpr/subprocess_posix.cc +0 -99
- data/src/core/lib/gpr/subprocess_windows.cc +0 -126
- data/src/core/lib/surface/alarm.cc +0 -137
- data/src/core/lib/surface/alarm_internal.h +0 -40
- data/src/core/tsi/gts_transport_security.cc +0 -40
- data/third_party/boringssl/crypto/aes/aes.c +0 -1142
- data/third_party/boringssl/crypto/aes/internal.h +0 -87
- data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
- data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
- data/third_party/boringssl/crypto/bn/add.c +0 -377
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
- data/third_party/boringssl/crypto/bn/bn.c +0 -365
- data/third_party/boringssl/crypto/bn/cmp.c +0 -239
- data/third_party/boringssl/crypto/bn/ctx.c +0 -313
- data/third_party/boringssl/crypto/bn/div.c +0 -728
- data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
- data/third_party/boringssl/crypto/bn/gcd.c +0 -635
- data/third_party/boringssl/crypto/bn/generic.c +0 -707
- data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
- data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
- data/third_party/boringssl/crypto/bn/mul.c +0 -871
- data/third_party/boringssl/crypto/bn/prime.c +0 -861
- data/third_party/boringssl/crypto/bn/random.c +0 -343
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
- data/third_party/boringssl/crypto/bn/shift.c +0 -307
- data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
- data/third_party/boringssl/crypto/cipher/aead.c +0 -156
- data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
- data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
- data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
- data/third_party/boringssl/crypto/des/des.c +0 -771
- data/third_party/boringssl/crypto/digest/digest.c +0 -251
- data/third_party/boringssl/crypto/digest/digests.c +0 -358
- data/third_party/boringssl/crypto/ec/ec.c +0 -847
- data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
- data/third_party/boringssl/crypto/ec/oct.c +0 -416
- data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
- data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
- data/third_party/boringssl/crypto/ec/simple.c +0 -1118
- data/third_party/boringssl/crypto/ec/util-64.c +0 -109
- data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
- data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
- data/third_party/boringssl/crypto/md4/md4.c +0 -236
- data/third_party/boringssl/crypto/md5/md5.c +0 -285
- data/third_party/boringssl/crypto/modes/cbc.c +0 -212
- data/third_party/boringssl/crypto/modes/cfb.c +0 -230
- data/third_party/boringssl/crypto/modes/ctr.c +0 -219
- data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
- data/third_party/boringssl/crypto/modes/ofb.c +0 -95
- data/third_party/boringssl/crypto/modes/polyval.c +0 -94
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
- data/third_party/boringssl/crypto/rand/rand.c +0 -244
- data/third_party/boringssl/crypto/rand/urandom.c +0 -335
- data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
- data/third_party/boringssl/crypto/rsa/padding.c +0 -708
- data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
- data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
- data/third_party/boringssl/crypto/sha/sha1.c +0 -355
- data/third_party/boringssl/crypto/sha/sha256.c +0 -329
- data/third_party/boringssl/crypto/sha/sha512.c +0 -609
- data/third_party/boringssl/crypto/x509/x509type.c +0 -126
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
- data/third_party/boringssl/ssl/handshake_client.c +0 -1883
- data/third_party/boringssl/ssl/handshake_server.c +0 -1950
- data/third_party/boringssl/ssl/s3_both.c +0 -895
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
- data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
- data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
- data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
- data/third_party/boringssl/ssl/tls13_client.c +0 -712
- data/third_party/boringssl/ssl/tls13_server.c +0 -680
- data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -64,32 +64,28 @@ extern "C" {
|
|
64
64
|
#endif
|
65
65
|
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
// This header file contains some common macros for enforcing type checking.
|
68
|
+
// Several, common OpenSSL structures (i.e. stack and lhash) operate on void
|
69
|
+
// pointers, but we wish to have type checking when they are used with a
|
70
|
+
// specific type.
|
71
71
|
|
72
|
-
|
72
|
+
// CHECKED_CAST casts |p| from type |from| to type |to|.
|
73
73
|
#define CHECKED_CAST(to, from, p) ((to) (1 ? (p) : (from)0))
|
74
74
|
|
75
|
-
|
76
|
-
|
75
|
+
// CHECKED_PTR_OF casts a given pointer to void* and statically checks that it
|
76
|
+
// was a pointer to |type|.
|
77
77
|
#define CHECKED_PTR_OF(type, p) CHECKED_CAST(void*, type*, (p))
|
78
78
|
|
79
79
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
80
80
|
#define OPENSSL_COMPILE_ASSERT(cond, msg) _Static_assert(cond, #msg)
|
81
|
-
#elif defined(__GNUC__)
|
82
|
-
#define OPENSSL_COMPILE_ASSERT(cond, msg) \
|
83
|
-
typedef char OPENSSL_COMPILE_ASSERT_##msg[((cond) ? 1 : -1)] \
|
84
|
-
__attribute__((unused))
|
85
81
|
#else
|
86
82
|
#define OPENSSL_COMPILE_ASSERT(cond, msg) \
|
87
|
-
typedef char OPENSSL_COMPILE_ASSERT_##msg[((cond) ? 1 : -1)]
|
83
|
+
typedef char OPENSSL_COMPILE_ASSERT_##msg[((cond) ? 1 : -1)] OPENSSL_UNUSED
|
88
84
|
#endif
|
89
85
|
|
90
86
|
|
91
87
|
#if defined(__cplusplus)
|
92
|
-
}
|
88
|
+
} // extern C
|
93
89
|
#endif
|
94
90
|
|
95
|
-
#endif
|
91
|
+
#endif // OPENSSL_HEADER_TYPE_CHECK_H
|
@@ -77,6 +77,7 @@
|
|
77
77
|
#include <openssl/ec.h>
|
78
78
|
#include <openssl/evp.h>
|
79
79
|
#include <openssl/obj.h>
|
80
|
+
#include <openssl/pkcs7.h>
|
80
81
|
#include <openssl/pool.h>
|
81
82
|
#include <openssl/rsa.h>
|
82
83
|
#include <openssl/sha.h>
|
@@ -88,6 +89,14 @@ extern "C" {
|
|
88
89
|
#endif
|
89
90
|
|
90
91
|
|
92
|
+
/* Legacy X.509 library.
|
93
|
+
*
|
94
|
+
* This header is part of OpenSSL's X.509 implementation. It is retained for
|
95
|
+
* compatibility but otherwise underdocumented and not actively maintained. In
|
96
|
+
* the future, a replacement library will be available. Meanwhile, minimize
|
97
|
+
* dependencies on this header where possible. */
|
98
|
+
|
99
|
+
|
91
100
|
#define X509_FILETYPE_PEM 1
|
92
101
|
#define X509_FILETYPE_ASN1 2
|
93
102
|
#define X509_FILETYPE_DEFAULT 3
|
@@ -103,13 +112,7 @@ extern "C" {
|
|
103
112
|
#define X509v3_KU_DECIPHER_ONLY 0x8000
|
104
113
|
#define X509v3_KU_UNDEF 0xffff
|
105
114
|
|
106
|
-
|
107
|
-
{
|
108
|
-
int nid;
|
109
|
-
int (*a2i)(void);
|
110
|
-
int (*i2a)(void);
|
111
|
-
} /* X509_OBJECTS */;
|
112
|
-
|
115
|
+
DEFINE_STACK_OF(X509_ALGOR)
|
113
116
|
DECLARE_ASN1_SET_OF(X509_ALGOR)
|
114
117
|
|
115
118
|
typedef STACK_OF(X509_ALGOR) X509_ALGORS;
|
@@ -141,7 +144,7 @@ struct X509_name_entry_st
|
|
141
144
|
int size; /* temp variable */
|
142
145
|
} /* X509_NAME_ENTRY */;
|
143
146
|
|
144
|
-
|
147
|
+
DEFINE_STACK_OF(X509_NAME_ENTRY)
|
145
148
|
DECLARE_ASN1_SET_OF(X509_NAME_ENTRY)
|
146
149
|
|
147
150
|
/* we always keep X509_NAMEs in 2 forms. */
|
@@ -149,20 +152,14 @@ struct X509_name_st
|
|
149
152
|
{
|
150
153
|
STACK_OF(X509_NAME_ENTRY) *entries;
|
151
154
|
int modified; /* true if 'bytes' needs to be built */
|
152
|
-
#ifndef OPENSSL_NO_BUFFER
|
153
155
|
BUF_MEM *bytes;
|
154
|
-
#else
|
155
|
-
char *bytes;
|
156
|
-
#endif
|
157
156
|
/* unsigned long hash; Keep the hash around for lookups */
|
158
157
|
unsigned char *canon_enc;
|
159
158
|
int canon_enclen;
|
160
159
|
} /* X509_NAME */;
|
161
160
|
|
162
|
-
|
161
|
+
DEFINE_STACK_OF(X509_NAME)
|
163
162
|
|
164
|
-
#define X509_EX_V_NETSCAPE_HACK 0x8000
|
165
|
-
#define X509_EX_V_INIT 0x0001
|
166
163
|
struct X509_extension_st
|
167
164
|
{
|
168
165
|
ASN1_OBJECT *object;
|
@@ -172,7 +169,7 @@ struct X509_extension_st
|
|
172
169
|
|
173
170
|
typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS;
|
174
171
|
|
175
|
-
|
172
|
+
DEFINE_STACK_OF(X509_EXTENSION)
|
176
173
|
DECLARE_ASN1_SET_OF(X509_EXTENSION)
|
177
174
|
|
178
175
|
/* a sequence of these are used */
|
@@ -187,7 +184,7 @@ struct x509_attributes_st
|
|
187
184
|
} value;
|
188
185
|
} /* X509_ATTRIBUTE */;
|
189
186
|
|
190
|
-
|
187
|
+
DEFINE_STACK_OF(X509_ATTRIBUTE)
|
191
188
|
DECLARE_ASN1_SET_OF(X509_ATTRIBUTE)
|
192
189
|
|
193
190
|
|
@@ -239,6 +236,9 @@ struct x509_cert_aux_st
|
|
239
236
|
STACK_OF(X509_ALGOR) *other; /* other unspecified info */
|
240
237
|
} /* X509_CERT_AUX */;
|
241
238
|
|
239
|
+
DECLARE_STACK_OF(DIST_POINT)
|
240
|
+
DECLARE_STACK_OF(GENERAL_NAME)
|
241
|
+
|
242
242
|
struct x509_st
|
243
243
|
{
|
244
244
|
X509_CINF *cert_info;
|
@@ -266,7 +266,7 @@ struct x509_st
|
|
266
266
|
CRYPTO_MUTEX lock;
|
267
267
|
} /* X509 */;
|
268
268
|
|
269
|
-
|
269
|
+
DEFINE_STACK_OF(X509)
|
270
270
|
DECLARE_ASN1_SET_OF(X509)
|
271
271
|
|
272
272
|
/* This is used for a table of trust checking functions */
|
@@ -280,12 +280,7 @@ struct x509_trust_st {
|
|
280
280
|
void *arg2;
|
281
281
|
} /* X509_TRUST */;
|
282
282
|
|
283
|
-
|
284
|
-
|
285
|
-
struct x509_cert_pair_st {
|
286
|
-
X509 *forward;
|
287
|
-
X509 *reverse;
|
288
|
-
} /* X509_CERT_PAIR */;
|
283
|
+
DEFINE_STACK_OF(X509_TRUST)
|
289
284
|
|
290
285
|
/* standard trust ids */
|
291
286
|
|
@@ -402,7 +397,7 @@ struct x509_revoked_st
|
|
402
397
|
int sequence; /* load sequence */
|
403
398
|
};
|
404
399
|
|
405
|
-
|
400
|
+
DEFINE_STACK_OF(X509_REVOKED)
|
406
401
|
DECLARE_ASN1_SET_OF(X509_REVOKED)
|
407
402
|
|
408
403
|
struct X509_crl_info_st
|
@@ -417,6 +412,8 @@ struct X509_crl_info_st
|
|
417
412
|
ASN1_ENCODING enc;
|
418
413
|
} /* X509_CRL_INFO */;
|
419
414
|
|
415
|
+
DECLARE_STACK_OF(GENERAL_NAMES)
|
416
|
+
|
420
417
|
struct X509_crl_st
|
421
418
|
{
|
422
419
|
/* actual signature */
|
@@ -440,7 +437,7 @@ struct X509_crl_st
|
|
440
437
|
void *meth_data;
|
441
438
|
} /* X509_CRL */;
|
442
439
|
|
443
|
-
|
440
|
+
DEFINE_STACK_OF(X509_CRL)
|
444
441
|
DECLARE_ASN1_SET_OF(X509_CRL)
|
445
442
|
|
446
443
|
struct private_key_st
|
@@ -475,7 +472,7 @@ struct X509_info_st
|
|
475
472
|
|
476
473
|
} /* X509_INFO */;
|
477
474
|
|
478
|
-
|
475
|
+
DEFINE_STACK_OF(X509_INFO)
|
479
476
|
#endif
|
480
477
|
|
481
478
|
/* The next 2 structures and their 8 routines were sent to me by
|
@@ -495,20 +492,6 @@ struct Netscape_spki_st
|
|
495
492
|
ASN1_BIT_STRING *signature;
|
496
493
|
} /* NETSCAPE_SPKI */;
|
497
494
|
|
498
|
-
/* Netscape certificate sequence structure */
|
499
|
-
struct Netscape_certificate_sequence
|
500
|
-
{
|
501
|
-
ASN1_OBJECT *type;
|
502
|
-
STACK_OF(X509) *certs;
|
503
|
-
} /* NETSCAPE_CERT_SEQUENCE */;
|
504
|
-
|
505
|
-
/* Unused (and iv length is wrong)
|
506
|
-
typedef struct CBCParameter_st
|
507
|
-
{
|
508
|
-
unsigned char iv[8];
|
509
|
-
} CBC_PARAM;
|
510
|
-
*/
|
511
|
-
|
512
495
|
/* PKCS#8 private key info structure */
|
513
496
|
|
514
497
|
struct pkcs8_priv_key_info_st
|
@@ -535,9 +518,6 @@ struct pkcs8_priv_key_info_st
|
|
535
518
|
extern "C" {
|
536
519
|
#endif
|
537
520
|
|
538
|
-
#define X509_EXT_PACK_UNKNOWN 1
|
539
|
-
#define X509_EXT_PACK_STRING 2
|
540
|
-
|
541
521
|
#define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version)
|
542
522
|
/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */
|
543
523
|
#define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore)
|
@@ -595,7 +575,8 @@ OPENSSL_EXPORT int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey);
|
|
595
575
|
OPENSSL_EXPORT int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki);
|
596
576
|
|
597
577
|
OPENSSL_EXPORT int X509_signature_dump(BIO *bp,const ASN1_STRING *sig, int indent);
|
598
|
-
OPENSSL_EXPORT int X509_signature_print(BIO *bp,X509_ALGOR *alg,
|
578
|
+
OPENSSL_EXPORT int X509_signature_print(BIO *bp, const X509_ALGOR *alg,
|
579
|
+
const ASN1_STRING *sig);
|
599
580
|
|
600
581
|
OPENSSL_EXPORT int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md);
|
601
582
|
OPENSSL_EXPORT int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx);
|
@@ -706,6 +687,7 @@ OPENSSL_EXPORT int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
|
|
706
687
|
|
707
688
|
OPENSSL_EXPORT X509_NAME *X509_NAME_dup(X509_NAME *xn);
|
708
689
|
OPENSSL_EXPORT X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);
|
690
|
+
OPENSSL_EXPORT int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne);
|
709
691
|
|
710
692
|
OPENSSL_EXPORT int X509_cmp_time(const ASN1_TIME *s, time_t *t);
|
711
693
|
OPENSSL_EXPORT int X509_cmp_current_time(const ASN1_TIME *s);
|
@@ -766,20 +748,18 @@ DECLARE_ASN1_FUNCTIONS(X509_CINF)
|
|
766
748
|
DECLARE_ASN1_FUNCTIONS(X509)
|
767
749
|
DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
|
768
750
|
|
769
|
-
DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR)
|
770
|
-
|
771
751
|
/* X509_up_ref adds one to the reference count of |x| and returns one. */
|
772
752
|
OPENSSL_EXPORT int X509_up_ref(X509 *x);
|
773
753
|
|
774
754
|
OPENSSL_EXPORT int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused,
|
775
|
-
CRYPTO_EX_dup *
|
755
|
+
CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func);
|
776
756
|
OPENSSL_EXPORT int X509_set_ex_data(X509 *r, int idx, void *arg);
|
777
757
|
OPENSSL_EXPORT void *X509_get_ex_data(X509 *r, int idx);
|
778
758
|
OPENSSL_EXPORT int i2d_X509_AUX(X509 *a,unsigned char **pp);
|
779
759
|
OPENSSL_EXPORT X509 * d2i_X509_AUX(X509 **a,const unsigned char **pp,long length);
|
780
760
|
|
781
|
-
OPENSSL_EXPORT void X509_get0_signature(ASN1_BIT_STRING **psig,
|
782
|
-
|
761
|
+
OPENSSL_EXPORT void X509_get0_signature(const ASN1_BIT_STRING **psig,
|
762
|
+
const X509_ALGOR **palg, const X509 *x);
|
783
763
|
OPENSSL_EXPORT int X509_get_signature_nid(const X509 *x);
|
784
764
|
|
785
765
|
OPENSSL_EXPORT int X509_alias_set1(X509 *x, unsigned char *name, int len);
|
@@ -807,7 +787,6 @@ OPENSSL_EXPORT void X509_PKEY_free(X509_PKEY *a);
|
|
807
787
|
|
808
788
|
DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI)
|
809
789
|
DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
|
810
|
-
DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE)
|
811
790
|
|
812
791
|
#ifndef OPENSSL_NO_EVP
|
813
792
|
OPENSSL_EXPORT X509_INFO * X509_INFO_new(void);
|
@@ -839,11 +818,12 @@ OPENSSL_EXPORT X509_NAME * X509_get_issuer_name(X509 *a);
|
|
839
818
|
OPENSSL_EXPORT int X509_set_subject_name(X509 *x, X509_NAME *name);
|
840
819
|
OPENSSL_EXPORT X509_NAME * X509_get_subject_name(X509 *a);
|
841
820
|
OPENSSL_EXPORT int X509_set_notBefore(X509 *x, const ASN1_TIME *tm);
|
821
|
+
OPENSSL_EXPORT const ASN1_TIME *X509_get0_notBefore(const X509 *x);
|
842
822
|
OPENSSL_EXPORT int X509_set_notAfter(X509 *x, const ASN1_TIME *tm);
|
823
|
+
OPENSSL_EXPORT const ASN1_TIME *X509_get0_notAfter(const X509 *x);
|
843
824
|
OPENSSL_EXPORT int X509_set_pubkey(X509 *x, EVP_PKEY *pkey);
|
844
825
|
OPENSSL_EXPORT EVP_PKEY * X509_get_pubkey(X509 *x);
|
845
826
|
OPENSSL_EXPORT ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x);
|
846
|
-
OPENSSL_EXPORT int X509_certificate_type(X509 *x,EVP_PKEY *pubkey /* optional */);
|
847
827
|
OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x);
|
848
828
|
|
849
829
|
OPENSSL_EXPORT int X509_REQ_set_version(X509_REQ *x,long version);
|
@@ -1115,76 +1095,16 @@ typedef struct rsa_pss_params_st {
|
|
1115
1095
|
DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
|
1116
1096
|
|
1117
1097
|
|
1118
|
-
/* PKCS7_get_certificates parses a PKCS#7, SignedData structure from |cbs| and
|
1119
|
-
* appends the included certificates to |out_certs|. It returns one on success
|
1120
|
-
* and zero on error. */
|
1121
|
-
OPENSSL_EXPORT int PKCS7_get_certificates(STACK_OF(X509) *out_certs, CBS *cbs);
|
1122
|
-
|
1123
|
-
/* PKCS7_bundle_certificates appends a PKCS#7, SignedData structure containing
|
1124
|
-
* |certs| to |out|. It returns one on success and zero on error. */
|
1125
|
-
OPENSSL_EXPORT int PKCS7_bundle_certificates(
|
1126
|
-
CBB *out, const STACK_OF(X509) *certs);
|
1127
|
-
|
1128
|
-
/* PKCS7_get_CRLs parses a PKCS#7, SignedData structure from |cbs| and appends
|
1129
|
-
* the included CRLs to |out_crls|. It returns one on success and zero on
|
1130
|
-
* error. */
|
1131
|
-
OPENSSL_EXPORT int PKCS7_get_CRLs(STACK_OF(X509_CRL) *out_crls, CBS *cbs);
|
1132
|
-
|
1133
|
-
/* PKCS7_bundle_CRLs appends a PKCS#7, SignedData structure containing
|
1134
|
-
* |crls| to |out|. It returns one on success and zero on error. */
|
1135
|
-
OPENSSL_EXPORT int PKCS7_bundle_CRLs(CBB *out, const STACK_OF(X509_CRL) *crls);
|
1136
|
-
|
1137
|
-
/* PKCS7_get_PEM_certificates reads a PEM-encoded, PKCS#7, SignedData structure
|
1138
|
-
* from |pem_bio| and appends the included certificates to |out_certs|. It
|
1139
|
-
* returns one on success and zero on error. */
|
1140
|
-
OPENSSL_EXPORT int PKCS7_get_PEM_certificates(STACK_OF(X509) *out_certs,
|
1141
|
-
BIO *pem_bio);
|
1142
|
-
|
1143
|
-
/* PKCS7_get_PEM_CRLs reads a PEM-encoded, PKCS#7, SignedData structure from
|
1144
|
-
* |pem_bio| and appends the included CRLs to |out_crls|. It returns one on
|
1145
|
-
* success and zero on error. */
|
1146
|
-
OPENSSL_EXPORT int PKCS7_get_PEM_CRLs(STACK_OF(X509_CRL) *out_crls,
|
1147
|
-
BIO *pem_bio);
|
1148
|
-
|
1149
|
-
/* EVP_PK values indicate the algorithm of the public key in a certificate. */
|
1150
|
-
|
1151
|
-
#define EVP_PK_RSA 0x0001
|
1152
|
-
#define EVP_PK_DSA 0x0002
|
1153
|
-
#define EVP_PK_DH 0x0004
|
1154
|
-
#define EVP_PK_EC 0x0008
|
1155
|
-
|
1156
|
-
/* EVP_PKS values indicate the algorithm used to sign a certificate. */
|
1157
|
-
|
1158
|
-
#define EVP_PKS_RSA 0x0100
|
1159
|
-
#define EVP_PKS_DSA 0x0200
|
1160
|
-
#define EVP_PKS_EC 0x0400
|
1161
|
-
|
1162
|
-
/* EVP_PKT values are flags that define what public-key operations can be
|
1163
|
-
* performed with the public key from a certificate. */
|
1164
|
-
|
1165
|
-
/* EVP_PKT_SIGN indicates that the public key can be used for signing. */
|
1166
|
-
#define EVP_PKT_SIGN 0x0010
|
1167
|
-
/* EVP_PKT_ENC indicates that a session key can be encrypted to the public
|
1168
|
-
* key. */
|
1169
|
-
#define EVP_PKT_ENC 0x0020
|
1170
|
-
/* EVP_PKT_EXCH indicates that key-agreement can be performed. */
|
1171
|
-
#define EVP_PKT_EXCH 0x0040
|
1172
|
-
/* EVP_PKT_EXP indicates that key is weak (i.e. "export"). */
|
1173
|
-
#define EVP_PKT_EXP 0x1000
|
1174
|
-
|
1175
1098
|
|
1176
1099
|
#ifdef __cplusplus
|
1177
1100
|
}
|
1101
|
+
#endif
|
1178
1102
|
|
1103
|
+
#if !defined(BORINGSSL_NO_CXX)
|
1179
1104
|
extern "C++" {
|
1180
1105
|
|
1181
1106
|
namespace bssl {
|
1182
1107
|
|
1183
|
-
BORINGSSL_MAKE_STACK_DELETER(X509, X509_free)
|
1184
|
-
BORINGSSL_MAKE_STACK_DELETER(X509_CRL, X509_CRL_free)
|
1185
|
-
BORINGSSL_MAKE_STACK_DELETER(X509_EXTENSION, X509_EXTENSION_free)
|
1186
|
-
BORINGSSL_MAKE_STACK_DELETER(X509_NAME, X509_NAME_free)
|
1187
|
-
|
1188
1108
|
BORINGSSL_MAKE_DELETER(NETSCAPE_SPKI, NETSCAPE_SPKI_free)
|
1189
1109
|
BORINGSSL_MAKE_DELETER(X509, X509_free)
|
1190
1110
|
BORINGSSL_MAKE_DELETER(X509_ALGOR, X509_ALGOR_free)
|
@@ -1197,6 +1117,7 @@ BORINGSSL_MAKE_DELETER(X509_NAME, X509_NAME_free)
|
|
1197
1117
|
BORINGSSL_MAKE_DELETER(X509_NAME_ENTRY, X509_NAME_ENTRY_free)
|
1198
1118
|
BORINGSSL_MAKE_DELETER(X509_PKEY, X509_PKEY_free)
|
1199
1119
|
BORINGSSL_MAKE_DELETER(X509_POLICY_TREE, X509_policy_tree_free)
|
1120
|
+
BORINGSSL_MAKE_DELETER(X509_PUBKEY, X509_PUBKEY_free)
|
1200
1121
|
BORINGSSL_MAKE_DELETER(X509_REQ, X509_REQ_free)
|
1201
1122
|
BORINGSSL_MAKE_DELETER(X509_REVOKED, X509_REVOKED_free)
|
1202
1123
|
BORINGSSL_MAKE_DELETER(X509_SIG, X509_SIG_free)
|
@@ -1204,11 +1125,14 @@ BORINGSSL_MAKE_DELETER(X509_STORE, X509_STORE_free)
|
|
1204
1125
|
BORINGSSL_MAKE_DELETER(X509_STORE_CTX, X509_STORE_CTX_free)
|
1205
1126
|
BORINGSSL_MAKE_DELETER(X509_VERIFY_PARAM, X509_VERIFY_PARAM_free)
|
1206
1127
|
|
1128
|
+
using ScopedX509_STORE_CTX =
|
1129
|
+
internal::StackAllocated<X509_STORE_CTX, void, X509_STORE_CTX_zero,
|
1130
|
+
X509_STORE_CTX_cleanup>;
|
1131
|
+
|
1207
1132
|
} // namespace bssl
|
1208
1133
|
|
1209
1134
|
} /* extern C++ */
|
1210
|
-
|
1211
|
-
#endif
|
1135
|
+
#endif /* !BORINGSSL_NO_CXX */
|
1212
1136
|
|
1213
1137
|
#define X509_R_AKID_MISMATCH 100
|
1214
1138
|
#define X509_R_BAD_PKCS7_VERSION 101
|
@@ -1246,5 +1170,6 @@ BORINGSSL_MAKE_DELETER(X509_VERIFY_PARAM, X509_VERIFY_PARAM_free)
|
|
1246
1170
|
#define X509_R_WRONG_LOOKUP_TYPE 133
|
1247
1171
|
#define X509_R_WRONG_TYPE 134
|
1248
1172
|
#define X509_R_NAME_TOO_LONG 135
|
1173
|
+
#define X509_R_INVALID_PARAMETER 136
|
1249
1174
|
|
1250
1175
|
#endif
|
@@ -72,24 +72,13 @@
|
|
72
72
|
extern "C" {
|
73
73
|
#endif
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
int *dirs_type;
|
82
|
-
int num_dirs_alloced;
|
83
|
-
} X509_HASH_DIR_CTX;
|
84
|
-
#endif
|
75
|
+
/* Legacy X.509 library.
|
76
|
+
*
|
77
|
+
* This header is part of OpenSSL's X.509 implementation. It is retained for
|
78
|
+
* compatibility but otherwise underdocumented and not actively maintained. In
|
79
|
+
* the future, a replacement library will be available. Meanwhile, minimize
|
80
|
+
* dependencies on this header where possible. */
|
85
81
|
|
86
|
-
typedef struct x509_file_st
|
87
|
-
{
|
88
|
-
int num_paths; /* number of paths to files or directories */
|
89
|
-
int num_alloced;
|
90
|
-
char **paths; /* the list of paths or directories */
|
91
|
-
int *path_type;
|
92
|
-
} X509_CERT_FILE_CTX;
|
93
82
|
|
94
83
|
/*******************************/
|
95
84
|
/*
|
@@ -109,10 +98,6 @@ The X509_STORE then calls a function to actually verify the
|
|
109
98
|
certificate chain.
|
110
99
|
*/
|
111
100
|
|
112
|
-
/* The following are legacy constants that should not be used. */
|
113
|
-
#define X509_LU_RETRY (-1)
|
114
|
-
#define X509_LU_FAIL 0
|
115
|
-
|
116
101
|
#define X509_LU_X509 1
|
117
102
|
#define X509_LU_CRL 2
|
118
103
|
#define X509_LU_PKEY 3
|
@@ -129,8 +114,8 @@ typedef struct x509_object_st
|
|
129
114
|
} data;
|
130
115
|
} X509_OBJECT;
|
131
116
|
|
132
|
-
|
133
|
-
|
117
|
+
DEFINE_STACK_OF(X509_LOOKUP)
|
118
|
+
DEFINE_STACK_OF(X509_OBJECT)
|
134
119
|
|
135
120
|
/* This is a static that defines the function interface */
|
136
121
|
typedef struct x509_lookup_method_st
|
@@ -173,7 +158,7 @@ struct X509_VERIFY_PARAM_st
|
|
173
158
|
X509_VERIFY_PARAM_ID *id; /* opaque ID data */
|
174
159
|
};
|
175
160
|
|
176
|
-
|
161
|
+
DEFINE_STACK_OF(X509_VERIFY_PARAM)
|
177
162
|
|
178
163
|
/* This is used to hold everything. It is used for all certificate
|
179
164
|
* validation. Once we have a certificate chain, the 'verify'
|
@@ -438,16 +423,20 @@ OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT
|
|
438
423
|
OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x);
|
439
424
|
OPENSSL_EXPORT int X509_OBJECT_up_ref_count(X509_OBJECT *a);
|
440
425
|
OPENSSL_EXPORT void X509_OBJECT_free_contents(X509_OBJECT *a);
|
426
|
+
OPENSSL_EXPORT int X509_OBJECT_get_type(const X509_OBJECT *a);
|
427
|
+
OPENSSL_EXPORT X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a);
|
441
428
|
OPENSSL_EXPORT X509_STORE *X509_STORE_new(void );
|
442
429
|
OPENSSL_EXPORT int X509_STORE_up_ref(X509_STORE *store);
|
443
430
|
OPENSSL_EXPORT void X509_STORE_free(X509_STORE *v);
|
444
431
|
|
432
|
+
OPENSSL_EXPORT STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *st);
|
445
433
|
OPENSSL_EXPORT STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm);
|
446
434
|
OPENSSL_EXPORT STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm);
|
447
435
|
OPENSSL_EXPORT int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
|
448
436
|
OPENSSL_EXPORT int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
|
449
437
|
OPENSSL_EXPORT int X509_STORE_set_trust(X509_STORE *ctx, int trust);
|
450
438
|
OPENSSL_EXPORT int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm);
|
439
|
+
OPENSSL_EXPORT X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx);
|
451
440
|
/* X509_STORE_set0_additional_untrusted sets a stack of additional, untrusted
|
452
441
|
* certificates that are available for chain building. This function does not
|
453
442
|
* take ownership of the stack. */
|
@@ -464,6 +453,7 @@ OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_new(void);
|
|
464
453
|
|
465
454
|
OPENSSL_EXPORT int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);
|
466
455
|
|
456
|
+
OPENSSL_EXPORT void X509_STORE_CTX_zero(X509_STORE_CTX *ctx);
|
467
457
|
OPENSSL_EXPORT void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
|
468
458
|
OPENSSL_EXPORT int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store,
|
469
459
|
X509 *x509, STACK_OF(X509) *chain);
|
@@ -513,7 +503,7 @@ OPENSSL_EXPORT int X509_STORE_set_default_paths(X509_STORE *ctx);
|
|
513
503
|
#endif
|
514
504
|
|
515
505
|
OPENSSL_EXPORT int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused,
|
516
|
-
CRYPTO_EX_dup *
|
506
|
+
CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func);
|
517
507
|
OPENSSL_EXPORT int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx,int idx,void *data);
|
518
508
|
OPENSSL_EXPORT void * X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx,int idx);
|
519
509
|
OPENSSL_EXPORT int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
|
@@ -527,6 +517,8 @@ OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
|
|
527
517
|
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx);
|
528
518
|
OPENSSL_EXPORT void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x);
|
529
519
|
OPENSSL_EXPORT void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK_OF(X509) *sk);
|
520
|
+
OPENSSL_EXPORT STACK_OF(X509) *
|
521
|
+
X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx);
|
530
522
|
OPENSSL_EXPORT void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c,STACK_OF(X509_CRL) *sk);
|
531
523
|
OPENSSL_EXPORT int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
|
532
524
|
OPENSSL_EXPORT int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust);
|