grpc 1.41.0 → 1.42.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 +57 -44
- data/etc/roots.pem +335 -326
- data/include/grpc/event_engine/event_engine.h +82 -42
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
- data/include/grpc/event_engine/memory_allocator.h +210 -0
- data/include/grpc/grpc.h +4 -0
- data/include/grpc/grpc_security.h +18 -0
- data/include/grpc/grpc_security_constants.h +1 -0
- data/include/grpc/impl/codegen/port_platform.h +7 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +18 -19
- data/src/core/ext/filters/client_channel/backup_poller.cc +2 -1
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +71 -89
- data/src/core/ext/filters/client_channel/client_channel.cc +187 -252
- data/src/core/ext/filters/client_channel/client_channel.h +74 -27
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -14
- data/src/core/ext/filters/client_channel/config_selector.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +4 -5
- data/src/core/ext/filters/client_channel/connector.h +18 -18
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -1
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +0 -1
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +12 -11
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +4 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -15
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +166 -82
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +4 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -4
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +23 -7
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -10
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +6 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +8 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +7 -16
- data/src/core/ext/filters/client_channel/lb_policy.h +11 -1
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +11 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +12 -39
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +21 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +77 -68
- data/src/core/ext/filters/client_channel/resolver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver_factory.h +2 -0
- data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -8
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +1 -1
- data/src/core/ext/filters/client_channel/retry_filter.cc +48 -86
- data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
- data/src/core/ext/filters/client_channel/retry_throttle.cc +17 -48
- data/src/core/ext/filters/client_channel/server_address.h +1 -1
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +49 -36
- data/src/core/ext/filters/client_channel/subchannel.cc +85 -143
- data/src/core/ext/filters/client_channel/subchannel.h +29 -49
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +27 -210
- data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
- data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +23 -26
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -19
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +41 -44
- data/src/core/ext/filters/http/client_authority_filter.cc +14 -15
- data/src/core/ext/filters/http/http_filters_plugin.cc +53 -71
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +17 -12
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +72 -69
- data/src/core/ext/filters/max_age/max_age_filter.cc +24 -26
- data/src/core/ext/filters/message_size/message_size_filter.cc +19 -16
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/{filters/client_channel → service_config}/service_config.cc +2 -2
- data/src/core/ext/{filters/client_channel → service_config}/service_config.h +4 -4
- data/src/core/ext/service_config/service_config_call_data.h +72 -0
- data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.cc +3 -3
- data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.h +8 -6
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -5
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +19 -24
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +27 -50
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +14 -16
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +59 -58
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +19 -16
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +41 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +136 -98
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +27 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +12 -25
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +37 -30
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +30 -173
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +1 -1
- data/src/core/ext/transport/chttp2/transport/writing.cc +29 -22
- data/src/core/ext/transport/inproc/inproc_transport.cc +105 -109
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +68 -34
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +139 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +16 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +53 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +15 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +13 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +23 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +14 -11
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +17 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -12
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +49 -19
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -2
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
- data/src/core/ext/upb-generated/{udpa/type/v1 → xds/type/v3}/typed_struct.upb.c +7 -7
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +310 -286
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +101 -88
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +59 -56
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +59 -46
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +78 -82
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +323 -316
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +5 -4
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +19 -23
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -3
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +5 -3
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +5 -4
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +13 -12
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +25 -24
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +16 -15
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +17 -16
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +33 -32
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +19 -18
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/xds/xds_api.cc +325 -362
- data/src/core/ext/xds/xds_api.h +134 -82
- data/src/core/ext/xds/xds_bootstrap.h +10 -0
- data/src/core/ext/xds/xds_certificate_provider.cc +3 -3
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
- data/src/core/ext/xds/xds_client.cc +527 -314
- data/src/core/ext/xds/xds_client.h +42 -37
- data/src/core/ext/xds/xds_client_stats.h +1 -1
- data/src/core/ext/xds/xds_server_config_fetcher.cc +5 -7
- data/src/core/lib/address_utils/parse_address.cc +2 -0
- data/src/core/lib/avl/avl.cc +5 -5
- data/src/core/lib/backoff/backoff.cc +1 -1
- data/src/core/lib/channel/channel_args.cc +24 -6
- data/src/core/lib/channel/channel_args.h +9 -0
- data/src/core/lib/channel/channel_stack_builder.cc +3 -3
- data/src/core/lib/channel/channel_trace.cc +1 -1
- data/src/core/lib/channel/channel_trace.h +1 -1
- data/src/core/lib/channel/channelz.cc +3 -3
- data/src/core/lib/channel/channelz.h +2 -2
- data/src/core/lib/channel/channelz_registry.cc +1 -1
- data/src/core/lib/channel/channelz_registry.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +1 -3
- data/src/core/lib/channel/connected_channel.h +1 -2
- data/src/core/lib/compression/compression.cc +2 -2
- data/src/core/lib/compression/compression_args.cc +6 -4
- data/src/core/lib/compression/compression_internal.cc +2 -2
- data/src/core/lib/compression/compression_internal.h +1 -1
- data/src/core/lib/config/core_configuration.cc +44 -2
- data/src/core/lib/config/core_configuration.h +39 -1
- data/src/core/lib/debug/stats.cc +1 -1
- data/src/core/lib/debug/stats_data.cc +13 -13
- data/src/core/lib/gpr/atm.cc +1 -1
- data/src/core/lib/gpr/cpu_posix.cc +1 -1
- data/src/core/lib/gpr/string.cc +2 -2
- data/src/core/lib/gpr/tls.h +1 -1
- data/src/core/lib/gpr/useful.h +79 -32
- data/src/core/lib/gprpp/arena.h +10 -0
- data/src/core/lib/gprpp/bitset.h +38 -16
- data/src/core/lib/gprpp/chunked_vector.h +211 -0
- data/src/core/lib/gprpp/construct_destruct.h +1 -1
- data/src/core/lib/gprpp/match.h +1 -1
- data/src/core/lib/gprpp/memory.h +6 -0
- data/src/core/lib/gprpp/overload.h +1 -1
- data/src/core/lib/gprpp/status_helper.cc +23 -3
- data/src/core/lib/gprpp/status_helper.h +12 -1
- data/src/core/lib/gprpp/table.h +411 -0
- data/src/core/lib/http/httpcli.cc +200 -182
- data/src/core/lib/http/parser.cc +2 -2
- data/src/core/lib/iomgr/call_combiner.cc +28 -10
- data/src/core/lib/iomgr/combiner.cc +6 -21
- data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -6
- data/src/core/lib/iomgr/error.cc +113 -52
- data/src/core/lib/iomgr/error.h +50 -9
- data/src/core/lib/iomgr/error_cfstream.cc +5 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -2
- data/src/core/lib/iomgr/ev_epollex_linux.cc +7 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +29 -20
- data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
- data/src/core/lib/iomgr/event_engine/closure.h +10 -1
- data/src/core/lib/iomgr/event_engine/endpoint.cc +3 -3
- data/src/core/lib/iomgr/event_engine/iomgr.cc +1 -1
- data/src/core/lib/iomgr/event_engine/pollset.cc +5 -4
- data/src/core/lib/iomgr/event_engine/resolver.cc +10 -7
- data/src/core/lib/iomgr/event_engine/tcp.cc +9 -8
- data/src/core/lib/iomgr/event_engine/timer.cc +7 -2
- data/src/core/lib/iomgr/exec_ctx.cc +1 -9
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +5 -7
- data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -8
- data/src/core/lib/iomgr/executor.cc +6 -20
- data/src/core/lib/iomgr/iomgr.cc +3 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +4 -9
- data/src/core/lib/iomgr/iomgr_internal.h +3 -2
- data/src/core/lib/iomgr/load_file.cc +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +18 -0
- data/src/core/lib/iomgr/pollset_custom.cc +1 -1
- data/src/core/lib/iomgr/pollset_custom.h +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +5 -7
- data/src/core/lib/iomgr/resource_quota.cc +13 -11
- data/src/core/lib/iomgr/socket_factory_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_mutator.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +5 -3
- data/src/core/lib/iomgr/tcp_client_custom.cc +1 -1
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -18
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -3
- data/src/core/lib/iomgr/tcp_posix.cc +4 -5
- data/src/core/lib/iomgr/tcp_server_custom.cc +2 -1
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +4 -5
- data/src/core/lib/iomgr/tcp_windows.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +13 -13
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/json/json_util.cc +68 -0
- data/src/core/lib/json/json_util.h +57 -99
- data/src/core/lib/json/json_writer.cc +0 -3
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +14 -12
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +13 -1
- data/src/core/lib/security/context/security_context.cc +4 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/credentials.cc +4 -2
- data/src/core/lib/security/credentials/credentials.h +6 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +47 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -9
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/security_connector.cc +9 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -1
- data/src/core/lib/security/security_connector/ssl_utils.cc +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +1 -0
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -2
- data/src/core/lib/security/transport/client_auth_filter.cc +5 -5
- data/src/core/lib/security/transport/security_handshaker.cc +73 -43
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -5
- data/src/core/lib/security/transport/tsi_error.cc +3 -5
- data/src/core/lib/slice/slice.cc +0 -16
- data/src/core/lib/slice/slice_api.cc +39 -0
- data/src/core/lib/slice/slice_buffer.cc +5 -5
- data/src/core/lib/slice/slice_intern.cc +8 -13
- data/src/core/lib/slice/slice_internal.h +1 -244
- data/src/core/lib/slice/slice_refcount.cc +17 -0
- data/src/core/lib/slice/slice_refcount.h +121 -0
- data/src/core/lib/slice/slice_refcount_base.h +173 -0
- data/src/core/lib/slice/slice_split.cc +100 -0
- data/src/core/lib/slice/slice_split.h +40 -0
- data/src/core/lib/slice/slice_string_helpers.cc +0 -83
- data/src/core/lib/slice/slice_string_helpers.h +0 -11
- data/src/core/lib/slice/static_slice.cc +529 -0
- data/src/core/lib/slice/static_slice.h +331 -0
- data/src/core/lib/surface/builtins.cc +49 -0
- data/src/core/{ext/filters/workarounds/workaround_cronet_compression_filter.h → lib/surface/builtins.h} +8 -9
- data/src/core/lib/surface/call.cc +103 -120
- data/src/core/lib/surface/call.h +0 -6
- data/src/core/lib/surface/channel.cc +19 -32
- data/src/core/lib/surface/channel.h +0 -9
- data/src/core/lib/surface/channel_init.cc +23 -76
- data/src/core/lib/surface/channel_init.h +52 -44
- data/src/core/lib/surface/completion_queue.cc +6 -5
- data/src/core/lib/surface/init.cc +0 -39
- data/src/core/lib/surface/init_secure.cc +17 -14
- data/src/core/lib/surface/lame_client.cc +18 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +25 -17
- data/src/core/lib/surface/server.h +17 -10
- data/src/core/lib/surface/validate_metadata.cc +5 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +42 -17
- data/src/core/lib/transport/error_utils.h +1 -1
- data/src/core/lib/transport/metadata.cc +31 -10
- data/src/core/lib/transport/metadata.h +2 -1
- data/src/core/lib/transport/metadata_batch.cc +35 -371
- data/src/core/lib/transport/metadata_batch.h +905 -71
- data/src/core/lib/transport/parsed_metadata.h +263 -0
- data/src/core/lib/transport/pid_controller.cc +4 -4
- data/src/core/lib/transport/static_metadata.cc +714 -846
- data/src/core/lib/transport/static_metadata.h +115 -379
- data/src/core/lib/transport/status_metadata.cc +1 -0
- data/src/core/lib/transport/transport.cc +4 -5
- data/src/core/lib/transport/transport_op_string.cc +40 -20
- data/src/core/plugin_registry/grpc_plugin_registry.cc +64 -43
- data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -1
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +12 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
- data/src/core/tsi/fake_transport_security.cc +15 -7
- data/src/core/tsi/local_transport_security.cc +36 -73
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +16 -50
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -3
- data/src/core/tsi/ssl_transport_security.cc +10 -2
- data/src/core/tsi/transport_security.cc +12 -0
- data/src/core/tsi/transport_security.h +16 -1
- data/src/core/tsi/transport_security_interface.h +26 -0
- data/src/ruby/ext/grpc/extconf.rb +12 -9
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -6
- data/third_party/address_sorting/address_sorting_posix.c +1 -0
- data/third_party/boringssl-with-bazel/err_data.c +278 -272
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +21 -22
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +15 -22
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +13 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
- data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/a_strex.c +268 -271
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +106 -153
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -39
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +38 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +289 -198
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +9 -13
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +11 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +45 -65
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +21 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +4 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +24 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +12 -9
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +151 -12
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +181 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -179
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +11 -50
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +22 -18
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +11 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +24 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +17 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +71 -26
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +366 -227
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +2 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +3 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +8 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +9 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -20
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +12 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +5 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +37 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +28 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +31 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +529 -91
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -695
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +48 -8
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +266 -357
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +90 -152
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +15 -13
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +75 -79
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +96 -97
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +63 -43
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +6 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +14 -17
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +14 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +203 -203
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +30 -41
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +47 -33
- data/third_party/re2/re2/compile.cc +91 -109
- data/third_party/re2/re2/dfa.cc +27 -39
- data/third_party/re2/re2/filtered_re2.cc +18 -2
- data/third_party/re2/re2/filtered_re2.h +10 -5
- data/third_party/re2/re2/nfa.cc +1 -1
- data/third_party/re2/re2/parse.cc +42 -23
- data/third_party/re2/re2/perl_groups.cc +34 -34
- data/third_party/re2/re2/prefilter.cc +3 -2
- data/third_party/re2/re2/prog.cc +182 -4
- data/third_party/re2/re2/prog.h +28 -9
- data/third_party/re2/re2/re2.cc +87 -118
- data/third_party/re2/re2/re2.h +156 -141
- data/third_party/re2/re2/regexp.cc +12 -5
- data/third_party/re2/re2/regexp.h +8 -2
- data/third_party/re2/re2/set.cc +31 -9
- data/third_party/re2/re2/set.h +9 -4
- data/third_party/re2/re2/simplify.cc +11 -3
- data/third_party/re2/re2/tostring.cc +1 -1
- data/third_party/re2/re2/walker-inl.h +1 -1
- data/third_party/re2/util/mutex.h +2 -2
- data/third_party/re2/util/pcre.h +3 -3
- metadata +83 -70
- data/include/grpc/event_engine/slice_allocator.h +0 -71
- data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
- data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
- data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
- data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
- data/src/core/ext/transport/chttp2/client/authority.h +0 -36
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -67
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -130
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -83
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
- data/src/core/lib/iomgr/udp_server.cc +0 -747
- data/src/core/lib/iomgr/udp_server.h +0 -103
- data/src/core/lib/transport/authority_override.cc +0 -40
- data/src/core/lib/transport/authority_override.h +0 -37
@@ -110,28 +110,19 @@ extern "C" {
|
|
110
110
|
#define X509v3_KU_DECIPHER_ONLY 0x8000
|
111
111
|
#define X509v3_KU_UNDEF 0xffff
|
112
112
|
|
113
|
+
struct X509_algor_st {
|
114
|
+
ASN1_OBJECT *algorithm;
|
115
|
+
ASN1_TYPE *parameter;
|
116
|
+
} /* X509_ALGOR */;
|
117
|
+
|
118
|
+
DECLARE_ASN1_FUNCTIONS(X509_ALGOR)
|
119
|
+
|
113
120
|
DEFINE_STACK_OF(X509_ALGOR)
|
114
121
|
|
115
122
|
typedef STACK_OF(X509_ALGOR) X509_ALGORS;
|
116
123
|
|
117
|
-
struct X509_name_entry_st {
|
118
|
-
ASN1_OBJECT *object;
|
119
|
-
ASN1_STRING *value;
|
120
|
-
int set;
|
121
|
-
} /* X509_NAME_ENTRY */;
|
122
|
-
|
123
124
|
DEFINE_STACK_OF(X509_NAME_ENTRY)
|
124
125
|
|
125
|
-
// we always keep X509_NAMEs in 2 forms.
|
126
|
-
struct X509_name_st {
|
127
|
-
STACK_OF(X509_NAME_ENTRY) *entries;
|
128
|
-
int modified; // true if 'bytes' needs to be built
|
129
|
-
BUF_MEM *bytes;
|
130
|
-
// unsigned long hash; Keep the hash around for lookups
|
131
|
-
unsigned char *canon_enc;
|
132
|
-
int canon_enclen;
|
133
|
-
} /* X509_NAME */;
|
134
|
-
|
135
126
|
DEFINE_STACK_OF(X509_NAME)
|
136
127
|
|
137
128
|
typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS;
|
@@ -140,20 +131,6 @@ DEFINE_STACK_OF(X509_EXTENSION)
|
|
140
131
|
|
141
132
|
DEFINE_STACK_OF(X509_ATTRIBUTE)
|
142
133
|
|
143
|
-
struct x509_cinf_st {
|
144
|
-
ASN1_INTEGER *version; // [ 0 ] default of v1
|
145
|
-
ASN1_INTEGER *serialNumber;
|
146
|
-
X509_ALGOR *signature;
|
147
|
-
X509_NAME *issuer;
|
148
|
-
X509_VAL *validity;
|
149
|
-
X509_NAME *subject;
|
150
|
-
X509_PUBKEY *key;
|
151
|
-
ASN1_BIT_STRING *issuerUID; // [ 1 ] optional in v2
|
152
|
-
ASN1_BIT_STRING *subjectUID; // [ 2 ] optional in v2
|
153
|
-
STACK_OF(X509_EXTENSION) *extensions; // [ 3 ] optional in v3
|
154
|
-
ASN1_ENCODING enc;
|
155
|
-
} /* X509_CINF */;
|
156
|
-
|
157
134
|
// This stuff is certificate "auxiliary info"
|
158
135
|
// it contains details which are useful in certificate
|
159
136
|
// stores and databases. When used this is tagged onto
|
@@ -162,31 +139,6 @@ struct x509_cinf_st {
|
|
162
139
|
DECLARE_STACK_OF(DIST_POINT)
|
163
140
|
DECLARE_STACK_OF(GENERAL_NAME)
|
164
141
|
|
165
|
-
struct x509_st {
|
166
|
-
X509_CINF *cert_info;
|
167
|
-
X509_ALGOR *sig_alg;
|
168
|
-
ASN1_BIT_STRING *signature;
|
169
|
-
CRYPTO_refcount_t references;
|
170
|
-
CRYPTO_EX_DATA ex_data;
|
171
|
-
// These contain copies of various extension values
|
172
|
-
long ex_pathlen;
|
173
|
-
long ex_pcpathlen;
|
174
|
-
unsigned long ex_flags;
|
175
|
-
unsigned long ex_kusage;
|
176
|
-
unsigned long ex_xkusage;
|
177
|
-
unsigned long ex_nscert;
|
178
|
-
ASN1_OCTET_STRING *skid;
|
179
|
-
AUTHORITY_KEYID *akid;
|
180
|
-
X509_POLICY_CACHE *policy_cache;
|
181
|
-
STACK_OF(DIST_POINT) *crldp;
|
182
|
-
STACK_OF(GENERAL_NAME) *altname;
|
183
|
-
NAME_CONSTRAINTS *nc;
|
184
|
-
unsigned char sha1_hash[SHA_DIGEST_LENGTH];
|
185
|
-
X509_CERT_AUX *aux;
|
186
|
-
CRYPTO_BUFFER *buf;
|
187
|
-
CRYPTO_MUTEX lock;
|
188
|
-
} /* X509 */;
|
189
|
-
|
190
142
|
DEFINE_STACK_OF(X509)
|
191
143
|
|
192
144
|
// This is used for a table of trust checking functions
|
@@ -254,7 +206,7 @@ DEFINE_STACK_OF(X509_TRUST)
|
|
254
206
|
#define XN_FLAG_SEP_MASK (0xf << 16)
|
255
207
|
|
256
208
|
#define XN_FLAG_COMPAT 0 // Traditional SSLeay: use old X509_NAME_print
|
257
|
-
#define XN_FLAG_SEP_COMMA_PLUS (1 << 16) //
|
209
|
+
#define XN_FLAG_SEP_COMMA_PLUS (1 << 16) // RFC 2253 ,+
|
258
210
|
#define XN_FLAG_SEP_CPLUS_SPC (2 << 16) // ,+ spaced: more readable
|
259
211
|
#define XN_FLAG_SEP_SPLUS_SPC (3 << 16) // ;+ spaced
|
260
212
|
#define XN_FLAG_SEP_MULTILINE (4 << 16) // One line per field
|
@@ -273,13 +225,13 @@ DEFINE_STACK_OF(X509_TRUST)
|
|
273
225
|
#define XN_FLAG_SPC_EQ (1 << 23) // Put spaces round '='
|
274
226
|
|
275
227
|
// This determines if we dump fields we don't recognise:
|
276
|
-
//
|
228
|
+
// RFC 2253 requires this.
|
277
229
|
|
278
230
|
#define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24)
|
279
231
|
|
280
232
|
#define XN_FLAG_FN_ALIGN (1 << 25) // Align field names to 20 characters
|
281
233
|
|
282
|
-
// Complete set of
|
234
|
+
// Complete set of RFC 2253 flags
|
283
235
|
|
284
236
|
#define XN_FLAG_RFC2253 \
|
285
237
|
(ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | \
|
@@ -332,7 +284,6 @@ struct private_key_st {
|
|
332
284
|
EVP_CIPHER_INFO cipher;
|
333
285
|
} /* X509_PKEY */;
|
334
286
|
|
335
|
-
#ifndef OPENSSL_NO_EVP
|
336
287
|
struct X509_info_st {
|
337
288
|
X509 *x509;
|
338
289
|
X509_CRL *crl;
|
@@ -345,7 +296,6 @@ struct X509_info_st {
|
|
345
296
|
} /* X509_INFO */;
|
346
297
|
|
347
298
|
DEFINE_STACK_OF(X509_INFO)
|
348
|
-
#endif
|
349
299
|
|
350
300
|
// The next 2 structures and their 8 routines were sent to me by
|
351
301
|
// Pat Richard <patr@x509.com> and are used to manipulate
|
@@ -361,16 +311,6 @@ struct Netscape_spki_st {
|
|
361
311
|
ASN1_BIT_STRING *signature;
|
362
312
|
} /* NETSCAPE_SPKI */;
|
363
313
|
|
364
|
-
#ifdef __cplusplus
|
365
|
-
}
|
366
|
-
#endif
|
367
|
-
|
368
|
-
#include <openssl/x509_vfy.h>
|
369
|
-
|
370
|
-
#ifdef __cplusplus
|
371
|
-
extern "C" {
|
372
|
-
#endif
|
373
|
-
|
374
314
|
// TODO(davidben): Document remaining functions, reorganize them, and define
|
375
315
|
// supported patterns for using |X509| objects in general. In particular, when
|
376
316
|
// it is safe to call mutating functions is a little tricky due to various
|
@@ -456,7 +396,7 @@ OPENSSL_EXPORT void X509_get0_uids(const X509 *x509,
|
|
456
396
|
#define X509_extract_key(x) X509_get_pubkey(x)
|
457
397
|
|
458
398
|
// X509_get_pathlen returns path length constraint from the basic constraints
|
459
|
-
// extension in |x509|. (See
|
399
|
+
// extension in |x509|. (See RFC 5280, section 4.2.1.9.) It returns -1 if the
|
460
400
|
// constraint is not present, or if some extension in |x509| was invalid.
|
461
401
|
//
|
462
402
|
// Note that decoding an |X509| object will not check for invalid extensions. To
|
@@ -570,9 +510,6 @@ OPENSSL_EXPORT X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x509);
|
|
570
510
|
// X509_verify_cert_error_string returns |err| as a human-readable string, where
|
571
511
|
// |err| should be one of the |X509_V_*| values. If |err| is unknown, it returns
|
572
512
|
// a default description.
|
573
|
-
//
|
574
|
-
// TODO(davidben): Move this function to x509_vfy.h, with the |X509_V_*|
|
575
|
-
// definitions, or fold x509_vfy.h into this function.
|
576
513
|
OPENSSL_EXPORT const char *X509_verify_cert_error_string(long err);
|
577
514
|
|
578
515
|
// X509_verify checks that |x509| has a valid signature by |pkey|. It returns
|
@@ -724,7 +661,6 @@ OPENSSL_EXPORT int X509_NAME_digest(const X509_NAME *name, const EVP_MD *md,
|
|
724
661
|
// copying parts of it as a normal |d2i_X509| call would do.
|
725
662
|
OPENSSL_EXPORT X509 *X509_parse_from_buffer(CRYPTO_BUFFER *buf);
|
726
663
|
|
727
|
-
#ifndef OPENSSL_NO_FP_API
|
728
664
|
OPENSSL_EXPORT X509 *d2i_X509_fp(FILE *fp, X509 **x509);
|
729
665
|
OPENSSL_EXPORT int i2d_X509_fp(FILE *fp, X509 *x509);
|
730
666
|
OPENSSL_EXPORT X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl);
|
@@ -758,7 +694,6 @@ OPENSSL_EXPORT int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey);
|
|
758
694
|
OPENSSL_EXPORT EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a);
|
759
695
|
OPENSSL_EXPORT int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey);
|
760
696
|
OPENSSL_EXPORT EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
|
761
|
-
#endif
|
762
697
|
|
763
698
|
OPENSSL_EXPORT X509 *d2i_X509_bio(BIO *bp, X509 **x509);
|
764
699
|
OPENSSL_EXPORT int i2d_X509_bio(BIO *bp, X509 *x509);
|
@@ -860,12 +795,30 @@ OPENSSL_EXPORT int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne);
|
|
860
795
|
OPENSSL_EXPORT int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder,
|
861
796
|
size_t *pderlen);
|
862
797
|
|
798
|
+
// X509_cmp_time compares |s| against |*t|. On success, it returns a negative
|
799
|
+
// number if |s| <= |*t| and a positive number if |s| > |*t|. On error, it
|
800
|
+
// returns zero. If |t| is NULL, it uses the current time instead of |*t|.
|
801
|
+
//
|
802
|
+
// WARNING: Unlike most comparison functions, this function returns zero on
|
803
|
+
// error, not equality.
|
863
804
|
OPENSSL_EXPORT int X509_cmp_time(const ASN1_TIME *s, time_t *t);
|
805
|
+
|
806
|
+
// X509_cmp_current_time behaves like |X509_cmp_time| but compares |s| against
|
807
|
+
// the current time.
|
864
808
|
OPENSSL_EXPORT int X509_cmp_current_time(const ASN1_TIME *s);
|
865
|
-
|
809
|
+
|
810
|
+
// X509_time_adj calls |X509_time_adj_ex| with |offset_day| equal to zero.
|
811
|
+
OPENSSL_EXPORT ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec,
|
812
|
+
time_t *t);
|
813
|
+
|
814
|
+
// X509_time_adj_ex behaves like |ASN1_TIME_adj|, but adds an offset to |*t|. If
|
815
|
+
// |t| is NULL, it uses the current time instead of |*t|.
|
866
816
|
OPENSSL_EXPORT ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, int offset_day,
|
867
817
|
long offset_sec, time_t *t);
|
868
|
-
|
818
|
+
|
819
|
+
// X509_gmtime_adj behaves like |X509_time_adj_ex| but adds |offset_sec| to the
|
820
|
+
// current time.
|
821
|
+
OPENSSL_EXPORT ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long offset_sec);
|
869
822
|
|
870
823
|
OPENSSL_EXPORT const char *X509_get_default_cert_area(void);
|
871
824
|
OPENSSL_EXPORT const char *X509_get_default_cert_dir(void);
|
@@ -882,7 +835,15 @@ DECLARE_ASN1_FUNCTIONS(X509_VAL)
|
|
882
835
|
|
883
836
|
DECLARE_ASN1_FUNCTIONS(X509_PUBKEY)
|
884
837
|
|
838
|
+
// X509_PUBKEY_set serializes |pkey| into a newly-allocated |X509_PUBKEY|
|
839
|
+
// structure. On success, it frees |*x|, sets |*x| to the new object, and
|
840
|
+
// returns one. Otherwise, it returns zero.
|
885
841
|
OPENSSL_EXPORT int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey);
|
842
|
+
|
843
|
+
// X509_PUBKEY_get decodes the public key in |key| and returns an |EVP_PKEY| on
|
844
|
+
// success, or NULL on error. The caller must release the result with
|
845
|
+
// |EVP_PKEY_free| when done. The |EVP_PKEY| is cached in |key|, so callers must
|
846
|
+
// not mutate the result.
|
886
847
|
OPENSSL_EXPORT EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key);
|
887
848
|
|
888
849
|
DECLARE_ASN1_FUNCTIONS(X509_SIG)
|
@@ -904,10 +865,10 @@ DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY)
|
|
904
865
|
|
905
866
|
DECLARE_ASN1_FUNCTIONS(X509_NAME)
|
906
867
|
|
868
|
+
// X509_NAME_set makes a copy of |name|. On success, it frees |*xn|, sets |*xn|
|
869
|
+
// to the copy, and returns one. Otherwise, it returns zero.
|
907
870
|
OPENSSL_EXPORT int X509_NAME_set(X509_NAME **xn, X509_NAME *name);
|
908
871
|
|
909
|
-
DECLARE_ASN1_FUNCTIONS(X509_CINF)
|
910
|
-
|
911
872
|
DECLARE_ASN1_FUNCTIONS(X509)
|
912
873
|
DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
|
913
874
|
|
@@ -1111,7 +1072,7 @@ OPENSSL_EXPORT void X509_REQ_get0_signature(const X509_REQ *req,
|
|
1111
1072
|
// a known NID.
|
1112
1073
|
OPENSSL_EXPORT int X509_REQ_get_signature_nid(const X509_REQ *req);
|
1113
1074
|
|
1114
|
-
// i2d_re_X509_REQ_tbs serializes the CertificationRequestInfo (see
|
1075
|
+
// i2d_re_X509_REQ_tbs serializes the CertificationRequestInfo (see RFC 2986)
|
1115
1076
|
// portion of |req|. If |outp| is NULL, nothing is written. Otherwise, if
|
1116
1077
|
// |*outp| is not NULL, the result is written to |*outp|, which must have enough
|
1117
1078
|
// space available, and |*outp| is advanced just past the output. If |outp| is
|
@@ -1138,7 +1099,7 @@ OPENSSL_EXPORT EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
|
|
1138
1099
|
|
1139
1100
|
// X509_REQ_extension_nid returns one if |nid| is a supported CSR attribute type
|
1140
1101
|
// for carrying extensions and zero otherwise. The supported types are
|
1141
|
-
// |NID_ext_req| (pkcs-9-at-extensionRequest from
|
1102
|
+
// |NID_ext_req| (pkcs-9-at-extensionRequest from RFC 2985) and |NID_ms_ext_req|
|
1142
1103
|
// (a Microsoft szOID_CERT_EXTENSIONS variant).
|
1143
1104
|
OPENSSL_EXPORT int X509_REQ_extension_nid(int nid);
|
1144
1105
|
|
@@ -1146,7 +1107,7 @@ OPENSSL_EXPORT int X509_REQ_extension_nid(int nid);
|
|
1146
1107
|
// returns a newly-allocated |STACK_OF(X509_EXTENSION)| containing the result.
|
1147
1108
|
// It returns NULL on error, or if |req| did not request extensions.
|
1148
1109
|
//
|
1149
|
-
// This function supports both pkcs-9-at-extensionRequest from
|
1110
|
+
// This function supports both pkcs-9-at-extensionRequest from RFC 2985 and the
|
1150
1111
|
// Microsoft szOID_CERT_EXTENSIONS variant.
|
1151
1112
|
OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req);
|
1152
1113
|
|
@@ -1366,7 +1327,6 @@ OPENSSL_EXPORT unsigned long X509_NAME_hash_old(X509_NAME *x);
|
|
1366
1327
|
|
1367
1328
|
OPENSSL_EXPORT int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b);
|
1368
1329
|
OPENSSL_EXPORT int X509_CRL_match(const X509_CRL *a, const X509_CRL *b);
|
1369
|
-
#ifndef OPENSSL_NO_FP_API
|
1370
1330
|
OPENSSL_EXPORT int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag,
|
1371
1331
|
unsigned long cflag);
|
1372
1332
|
OPENSSL_EXPORT int X509_print_fp(FILE *bp, X509 *x);
|
@@ -1374,7 +1334,6 @@ OPENSSL_EXPORT int X509_CRL_print_fp(FILE *bp, X509_CRL *x);
|
|
1374
1334
|
OPENSSL_EXPORT int X509_REQ_print_fp(FILE *bp, X509_REQ *req);
|
1375
1335
|
OPENSSL_EXPORT int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm,
|
1376
1336
|
int indent, unsigned long flags);
|
1377
|
-
#endif
|
1378
1337
|
|
1379
1338
|
OPENSSL_EXPORT int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase);
|
1380
1339
|
OPENSSL_EXPORT int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
|
@@ -1913,15 +1872,498 @@ OPENSSL_EXPORT char *X509_TRUST_get0_name(const X509_TRUST *xp);
|
|
1913
1872
|
OPENSSL_EXPORT int X509_TRUST_get_trust(const X509_TRUST *xp);
|
1914
1873
|
|
1915
1874
|
|
1916
|
-
|
1875
|
+
struct rsa_pss_params_st {
|
1917
1876
|
X509_ALGOR *hashAlgorithm;
|
1918
1877
|
X509_ALGOR *maskGenAlgorithm;
|
1919
1878
|
ASN1_INTEGER *saltLength;
|
1920
1879
|
ASN1_INTEGER *trailerField;
|
1921
|
-
|
1880
|
+
// OpenSSL caches the MGF hash on |RSA_PSS_PARAMS| in some cases. None of the
|
1881
|
+
// cases apply to BoringSSL, so this is always NULL, but Node expects the
|
1882
|
+
// field to be present.
|
1883
|
+
X509_ALGOR *maskHash;
|
1884
|
+
} /* RSA_PSS_PARAMS */;
|
1922
1885
|
|
1923
1886
|
DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
|
1924
1887
|
|
1888
|
+
/*
|
1889
|
+
SSL_CTX -> X509_STORE
|
1890
|
+
-> X509_LOOKUP
|
1891
|
+
->X509_LOOKUP_METHOD
|
1892
|
+
-> X509_LOOKUP
|
1893
|
+
->X509_LOOKUP_METHOD
|
1894
|
+
|
1895
|
+
SSL -> X509_STORE_CTX
|
1896
|
+
->X509_STORE
|
1897
|
+
|
1898
|
+
The X509_STORE holds the tables etc for verification stuff.
|
1899
|
+
A X509_STORE_CTX is used while validating a single certificate.
|
1900
|
+
The X509_STORE has X509_LOOKUPs for looking up certs.
|
1901
|
+
The X509_STORE then calls a function to actually verify the
|
1902
|
+
certificate chain.
|
1903
|
+
*/
|
1904
|
+
|
1905
|
+
#define X509_LU_X509 1
|
1906
|
+
#define X509_LU_CRL 2
|
1907
|
+
#define X509_LU_PKEY 3
|
1908
|
+
|
1909
|
+
DEFINE_STACK_OF(X509_LOOKUP)
|
1910
|
+
DEFINE_STACK_OF(X509_OBJECT)
|
1911
|
+
DEFINE_STACK_OF(X509_VERIFY_PARAM)
|
1912
|
+
|
1913
|
+
typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
|
1914
|
+
typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
|
1915
|
+
typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, X509_STORE_CTX *ctx,
|
1916
|
+
X509 *x);
|
1917
|
+
typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, X509 *x,
|
1918
|
+
X509 *issuer);
|
1919
|
+
typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
|
1920
|
+
typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, X509_CRL **crl,
|
1921
|
+
X509 *x);
|
1922
|
+
typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl);
|
1923
|
+
typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl,
|
1924
|
+
X509 *x);
|
1925
|
+
typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx);
|
1926
|
+
typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx,
|
1927
|
+
X509_NAME *nm);
|
1928
|
+
typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(
|
1929
|
+
X509_STORE_CTX *ctx, X509_NAME *nm);
|
1930
|
+
typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx);
|
1931
|
+
|
1932
|
+
OPENSSL_EXPORT int X509_STORE_set_depth(X509_STORE *store, int depth);
|
1933
|
+
|
1934
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
1935
|
+
|
1936
|
+
#define X509_STORE_CTX_set_app_data(ctx, data) \
|
1937
|
+
X509_STORE_CTX_set_ex_data(ctx, 0, data)
|
1938
|
+
#define X509_STORE_CTX_get_app_data(ctx) X509_STORE_CTX_get_ex_data(ctx, 0)
|
1939
|
+
|
1940
|
+
#define X509_L_FILE_LOAD 1
|
1941
|
+
#define X509_L_ADD_DIR 2
|
1942
|
+
|
1943
|
+
#define X509_LOOKUP_load_file(x, name, type) \
|
1944
|
+
X509_LOOKUP_ctrl((x), X509_L_FILE_LOAD, (name), (long)(type), NULL)
|
1945
|
+
|
1946
|
+
#define X509_LOOKUP_add_dir(x, name, type) \
|
1947
|
+
X509_LOOKUP_ctrl((x), X509_L_ADD_DIR, (name), (long)(type), NULL)
|
1948
|
+
|
1949
|
+
#define X509_V_OK 0
|
1950
|
+
#define X509_V_ERR_UNSPECIFIED 1
|
1951
|
+
|
1952
|
+
#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2
|
1953
|
+
#define X509_V_ERR_UNABLE_TO_GET_CRL 3
|
1954
|
+
#define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4
|
1955
|
+
#define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5
|
1956
|
+
#define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6
|
1957
|
+
#define X509_V_ERR_CERT_SIGNATURE_FAILURE 7
|
1958
|
+
#define X509_V_ERR_CRL_SIGNATURE_FAILURE 8
|
1959
|
+
#define X509_V_ERR_CERT_NOT_YET_VALID 9
|
1960
|
+
#define X509_V_ERR_CERT_HAS_EXPIRED 10
|
1961
|
+
#define X509_V_ERR_CRL_NOT_YET_VALID 11
|
1962
|
+
#define X509_V_ERR_CRL_HAS_EXPIRED 12
|
1963
|
+
#define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13
|
1964
|
+
#define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14
|
1965
|
+
#define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15
|
1966
|
+
#define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16
|
1967
|
+
#define X509_V_ERR_OUT_OF_MEM 17
|
1968
|
+
#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18
|
1969
|
+
#define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19
|
1970
|
+
#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20
|
1971
|
+
#define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21
|
1972
|
+
#define X509_V_ERR_CERT_CHAIN_TOO_LONG 22
|
1973
|
+
#define X509_V_ERR_CERT_REVOKED 23
|
1974
|
+
#define X509_V_ERR_INVALID_CA 24
|
1975
|
+
#define X509_V_ERR_PATH_LENGTH_EXCEEDED 25
|
1976
|
+
#define X509_V_ERR_INVALID_PURPOSE 26
|
1977
|
+
#define X509_V_ERR_CERT_UNTRUSTED 27
|
1978
|
+
#define X509_V_ERR_CERT_REJECTED 28
|
1979
|
+
// These are 'informational' when looking for issuer cert
|
1980
|
+
#define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29
|
1981
|
+
#define X509_V_ERR_AKID_SKID_MISMATCH 30
|
1982
|
+
#define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31
|
1983
|
+
#define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32
|
1984
|
+
|
1985
|
+
#define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33
|
1986
|
+
#define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34
|
1987
|
+
#define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35
|
1988
|
+
#define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36
|
1989
|
+
#define X509_V_ERR_INVALID_NON_CA 37
|
1990
|
+
#define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38
|
1991
|
+
#define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39
|
1992
|
+
#define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40
|
1993
|
+
|
1994
|
+
#define X509_V_ERR_INVALID_EXTENSION 41
|
1995
|
+
#define X509_V_ERR_INVALID_POLICY_EXTENSION 42
|
1996
|
+
#define X509_V_ERR_NO_EXPLICIT_POLICY 43
|
1997
|
+
#define X509_V_ERR_DIFFERENT_CRL_SCOPE 44
|
1998
|
+
#define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45
|
1999
|
+
|
2000
|
+
#define X509_V_ERR_UNNESTED_RESOURCE 46
|
2001
|
+
|
2002
|
+
#define X509_V_ERR_PERMITTED_VIOLATION 47
|
2003
|
+
#define X509_V_ERR_EXCLUDED_VIOLATION 48
|
2004
|
+
#define X509_V_ERR_SUBTREE_MINMAX 49
|
2005
|
+
#define X509_V_ERR_APPLICATION_VERIFICATION 50
|
2006
|
+
#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51
|
2007
|
+
#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52
|
2008
|
+
#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53
|
2009
|
+
#define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54
|
2010
|
+
|
2011
|
+
// Suite B mode algorithm violation
|
2012
|
+
#define X509_V_ERR_SUITE_B_INVALID_VERSION 56
|
2013
|
+
#define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57
|
2014
|
+
#define X509_V_ERR_SUITE_B_INVALID_CURVE 58
|
2015
|
+
#define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59
|
2016
|
+
#define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60
|
2017
|
+
#define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61
|
2018
|
+
|
2019
|
+
// Host, email and IP check errors
|
2020
|
+
#define X509_V_ERR_HOSTNAME_MISMATCH 62
|
2021
|
+
#define X509_V_ERR_EMAIL_MISMATCH 63
|
2022
|
+
#define X509_V_ERR_IP_ADDRESS_MISMATCH 64
|
2023
|
+
|
2024
|
+
// Caller error
|
2025
|
+
#define X509_V_ERR_INVALID_CALL 65
|
2026
|
+
// Issuer lookup error
|
2027
|
+
#define X509_V_ERR_STORE_LOOKUP 66
|
2028
|
+
|
2029
|
+
#define X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS 67
|
2030
|
+
|
2031
|
+
// Certificate verify flags
|
2032
|
+
|
2033
|
+
// Send issuer+subject checks to verify_cb
|
2034
|
+
#define X509_V_FLAG_CB_ISSUER_CHECK 0x1
|
2035
|
+
// Use check time instead of current time
|
2036
|
+
#define X509_V_FLAG_USE_CHECK_TIME 0x2
|
2037
|
+
// Lookup CRLs
|
2038
|
+
#define X509_V_FLAG_CRL_CHECK 0x4
|
2039
|
+
// Lookup CRLs for whole chain
|
2040
|
+
#define X509_V_FLAG_CRL_CHECK_ALL 0x8
|
2041
|
+
// Ignore unhandled critical extensions
|
2042
|
+
#define X509_V_FLAG_IGNORE_CRITICAL 0x10
|
2043
|
+
// Does nothing as its functionality has been enabled by default.
|
2044
|
+
#define X509_V_FLAG_X509_STRICT 0x00
|
2045
|
+
// Enable proxy certificate validation
|
2046
|
+
#define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40
|
2047
|
+
// Enable policy checking
|
2048
|
+
#define X509_V_FLAG_POLICY_CHECK 0x80
|
2049
|
+
// Policy variable require-explicit-policy
|
2050
|
+
#define X509_V_FLAG_EXPLICIT_POLICY 0x100
|
2051
|
+
// Policy variable inhibit-any-policy
|
2052
|
+
#define X509_V_FLAG_INHIBIT_ANY 0x200
|
2053
|
+
// Policy variable inhibit-policy-mapping
|
2054
|
+
#define X509_V_FLAG_INHIBIT_MAP 0x400
|
2055
|
+
// Notify callback that policy is OK
|
2056
|
+
#define X509_V_FLAG_NOTIFY_POLICY 0x800
|
2057
|
+
// Extended CRL features such as indirect CRLs, alternate CRL signing keys
|
2058
|
+
#define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000
|
2059
|
+
// Delta CRL support
|
2060
|
+
#define X509_V_FLAG_USE_DELTAS 0x2000
|
2061
|
+
// Check selfsigned CA signature
|
2062
|
+
#define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000
|
2063
|
+
// Use trusted store first
|
2064
|
+
#define X509_V_FLAG_TRUSTED_FIRST 0x8000
|
2065
|
+
// Suite B 128 bit only mode: not normally used
|
2066
|
+
#define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000
|
2067
|
+
// Suite B 192 bit only mode
|
2068
|
+
#define X509_V_FLAG_SUITEB_192_LOS 0x20000
|
2069
|
+
// Suite B 128 bit mode allowing 192 bit algorithms
|
2070
|
+
#define X509_V_FLAG_SUITEB_128_LOS 0x30000
|
2071
|
+
|
2072
|
+
// Allow partial chains if at least one certificate is in trusted store
|
2073
|
+
#define X509_V_FLAG_PARTIAL_CHAIN 0x80000
|
2074
|
+
|
2075
|
+
// If the initial chain is not trusted, do not attempt to build an alternative
|
2076
|
+
// chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag
|
2077
|
+
// will force the behaviour to match that of previous versions.
|
2078
|
+
#define X509_V_FLAG_NO_ALT_CHAINS 0x100000
|
2079
|
+
|
2080
|
+
#define X509_VP_FLAG_DEFAULT 0x1
|
2081
|
+
#define X509_VP_FLAG_OVERWRITE 0x2
|
2082
|
+
#define X509_VP_FLAG_RESET_FLAGS 0x4
|
2083
|
+
#define X509_VP_FLAG_LOCKED 0x8
|
2084
|
+
#define X509_VP_FLAG_ONCE 0x10
|
2085
|
+
|
2086
|
+
// Internal use: mask of policy related options
|
2087
|
+
#define X509_V_FLAG_POLICY_MASK \
|
2088
|
+
(X509_V_FLAG_POLICY_CHECK | X509_V_FLAG_EXPLICIT_POLICY | \
|
2089
|
+
X509_V_FLAG_INHIBIT_ANY | X509_V_FLAG_INHIBIT_MAP)
|
2090
|
+
|
2091
|
+
OPENSSL_EXPORT int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h,
|
2092
|
+
int type, X509_NAME *name);
|
2093
|
+
OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_by_subject(
|
2094
|
+
STACK_OF(X509_OBJECT) *h, int type, X509_NAME *name);
|
2095
|
+
OPENSSL_EXPORT X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h,
|
2096
|
+
X509_OBJECT *x);
|
2097
|
+
OPENSSL_EXPORT int X509_OBJECT_up_ref_count(X509_OBJECT *a);
|
2098
|
+
OPENSSL_EXPORT void X509_OBJECT_free_contents(X509_OBJECT *a);
|
2099
|
+
OPENSSL_EXPORT int X509_OBJECT_get_type(const X509_OBJECT *a);
|
2100
|
+
OPENSSL_EXPORT X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a);
|
2101
|
+
OPENSSL_EXPORT X509_STORE *X509_STORE_new(void);
|
2102
|
+
OPENSSL_EXPORT int X509_STORE_up_ref(X509_STORE *store);
|
2103
|
+
OPENSSL_EXPORT void X509_STORE_free(X509_STORE *v);
|
2104
|
+
|
2105
|
+
OPENSSL_EXPORT STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *st);
|
2106
|
+
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_get1_certs(X509_STORE_CTX *st,
|
2107
|
+
X509_NAME *nm);
|
2108
|
+
OPENSSL_EXPORT STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st,
|
2109
|
+
X509_NAME *nm);
|
2110
|
+
OPENSSL_EXPORT int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
|
2111
|
+
OPENSSL_EXPORT int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
|
2112
|
+
OPENSSL_EXPORT int X509_STORE_set_trust(X509_STORE *ctx, int trust);
|
2113
|
+
OPENSSL_EXPORT int X509_STORE_set1_param(X509_STORE *ctx,
|
2114
|
+
X509_VERIFY_PARAM *pm);
|
2115
|
+
OPENSSL_EXPORT X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx);
|
2116
|
+
|
2117
|
+
OPENSSL_EXPORT void X509_STORE_set_verify(X509_STORE *ctx,
|
2118
|
+
X509_STORE_CTX_verify_fn verify);
|
2119
|
+
#define X509_STORE_set_verify_func(ctx, func) \
|
2120
|
+
X509_STORE_set_verify((ctx), (func))
|
2121
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
|
2122
|
+
X509_STORE_CTX_verify_fn verify);
|
2123
|
+
OPENSSL_EXPORT X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx);
|
2124
|
+
OPENSSL_EXPORT void X509_STORE_set_verify_cb(
|
2125
|
+
X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
|
2126
|
+
#define X509_STORE_set_verify_cb_func(ctx, func) \
|
2127
|
+
X509_STORE_set_verify_cb((ctx), (func))
|
2128
|
+
OPENSSL_EXPORT X509_STORE_CTX_verify_cb
|
2129
|
+
X509_STORE_get_verify_cb(X509_STORE *ctx);
|
2130
|
+
OPENSSL_EXPORT void X509_STORE_set_get_issuer(
|
2131
|
+
X509_STORE *ctx, X509_STORE_CTX_get_issuer_fn get_issuer);
|
2132
|
+
OPENSSL_EXPORT X509_STORE_CTX_get_issuer_fn
|
2133
|
+
X509_STORE_get_get_issuer(X509_STORE *ctx);
|
2134
|
+
OPENSSL_EXPORT void X509_STORE_set_check_issued(
|
2135
|
+
X509_STORE *ctx, X509_STORE_CTX_check_issued_fn check_issued);
|
2136
|
+
OPENSSL_EXPORT X509_STORE_CTX_check_issued_fn
|
2137
|
+
X509_STORE_get_check_issued(X509_STORE *ctx);
|
2138
|
+
OPENSSL_EXPORT void X509_STORE_set_check_revocation(
|
2139
|
+
X509_STORE *ctx, X509_STORE_CTX_check_revocation_fn check_revocation);
|
2140
|
+
OPENSSL_EXPORT X509_STORE_CTX_check_revocation_fn
|
2141
|
+
X509_STORE_get_check_revocation(X509_STORE *ctx);
|
2142
|
+
OPENSSL_EXPORT void X509_STORE_set_get_crl(X509_STORE *ctx,
|
2143
|
+
X509_STORE_CTX_get_crl_fn get_crl);
|
2144
|
+
OPENSSL_EXPORT X509_STORE_CTX_get_crl_fn
|
2145
|
+
X509_STORE_get_get_crl(X509_STORE *ctx);
|
2146
|
+
OPENSSL_EXPORT void X509_STORE_set_check_crl(
|
2147
|
+
X509_STORE *ctx, X509_STORE_CTX_check_crl_fn check_crl);
|
2148
|
+
OPENSSL_EXPORT X509_STORE_CTX_check_crl_fn
|
2149
|
+
X509_STORE_get_check_crl(X509_STORE *ctx);
|
2150
|
+
OPENSSL_EXPORT void X509_STORE_set_cert_crl(
|
2151
|
+
X509_STORE *ctx, X509_STORE_CTX_cert_crl_fn cert_crl);
|
2152
|
+
OPENSSL_EXPORT X509_STORE_CTX_cert_crl_fn
|
2153
|
+
X509_STORE_get_cert_crl(X509_STORE *ctx);
|
2154
|
+
OPENSSL_EXPORT void X509_STORE_set_lookup_certs(
|
2155
|
+
X509_STORE *ctx, X509_STORE_CTX_lookup_certs_fn lookup_certs);
|
2156
|
+
OPENSSL_EXPORT X509_STORE_CTX_lookup_certs_fn
|
2157
|
+
X509_STORE_get_lookup_certs(X509_STORE *ctx);
|
2158
|
+
OPENSSL_EXPORT void X509_STORE_set_lookup_crls(
|
2159
|
+
X509_STORE *ctx, X509_STORE_CTX_lookup_crls_fn lookup_crls);
|
2160
|
+
#define X509_STORE_set_lookup_crls_cb(ctx, func) \
|
2161
|
+
X509_STORE_set_lookup_crls((ctx), (func))
|
2162
|
+
OPENSSL_EXPORT X509_STORE_CTX_lookup_crls_fn
|
2163
|
+
X509_STORE_get_lookup_crls(X509_STORE *ctx);
|
2164
|
+
OPENSSL_EXPORT void X509_STORE_set_cleanup(X509_STORE *ctx,
|
2165
|
+
X509_STORE_CTX_cleanup_fn cleanup);
|
2166
|
+
OPENSSL_EXPORT X509_STORE_CTX_cleanup_fn
|
2167
|
+
X509_STORE_get_cleanup(X509_STORE *ctx);
|
2168
|
+
|
2169
|
+
OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_new(void);
|
2170
|
+
|
2171
|
+
OPENSSL_EXPORT int X509_STORE_CTX_get1_issuer(X509 **issuer,
|
2172
|
+
X509_STORE_CTX *ctx, X509 *x);
|
2173
|
+
|
2174
|
+
OPENSSL_EXPORT void X509_STORE_CTX_zero(X509_STORE_CTX *ctx);
|
2175
|
+
OPENSSL_EXPORT void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
|
2176
|
+
OPENSSL_EXPORT int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store,
|
2177
|
+
X509 *x509, STACK_OF(X509) *chain);
|
2178
|
+
OPENSSL_EXPORT void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx,
|
2179
|
+
STACK_OF(X509) *sk);
|
2180
|
+
OPENSSL_EXPORT void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
|
2181
|
+
|
2182
|
+
OPENSSL_EXPORT X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx);
|
2183
|
+
OPENSSL_EXPORT X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx);
|
2184
|
+
|
2185
|
+
OPENSSL_EXPORT X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v,
|
2186
|
+
X509_LOOKUP_METHOD *m);
|
2187
|
+
|
2188
|
+
OPENSSL_EXPORT X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
|
2189
|
+
OPENSSL_EXPORT X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
|
2190
|
+
|
2191
|
+
OPENSSL_EXPORT int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
|
2192
|
+
OPENSSL_EXPORT int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
|
2193
|
+
|
2194
|
+
OPENSSL_EXPORT int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type,
|
2195
|
+
X509_NAME *name, X509_OBJECT *ret);
|
2196
|
+
|
2197
|
+
OPENSSL_EXPORT int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
|
2198
|
+
long argl, char **ret);
|
2199
|
+
|
2200
|
+
#ifndef OPENSSL_NO_STDIO
|
2201
|
+
OPENSSL_EXPORT int X509_load_cert_file(X509_LOOKUP *ctx, const char *file,
|
2202
|
+
int type);
|
2203
|
+
OPENSSL_EXPORT int X509_load_crl_file(X509_LOOKUP *ctx, const char *file,
|
2204
|
+
int type);
|
2205
|
+
OPENSSL_EXPORT int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file,
|
2206
|
+
int type);
|
2207
|
+
#endif
|
2208
|
+
|
2209
|
+
OPENSSL_EXPORT X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method);
|
2210
|
+
OPENSSL_EXPORT void X509_LOOKUP_free(X509_LOOKUP *ctx);
|
2211
|
+
OPENSSL_EXPORT int X509_LOOKUP_init(X509_LOOKUP *ctx);
|
2212
|
+
OPENSSL_EXPORT int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type,
|
2213
|
+
X509_NAME *name, X509_OBJECT *ret);
|
2214
|
+
OPENSSL_EXPORT int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type,
|
2215
|
+
X509_NAME *name,
|
2216
|
+
ASN1_INTEGER *serial,
|
2217
|
+
X509_OBJECT *ret);
|
2218
|
+
OPENSSL_EXPORT int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type,
|
2219
|
+
unsigned char *bytes, int len,
|
2220
|
+
X509_OBJECT *ret);
|
2221
|
+
OPENSSL_EXPORT int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str,
|
2222
|
+
int len, X509_OBJECT *ret);
|
2223
|
+
OPENSSL_EXPORT int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
|
2224
|
+
|
2225
|
+
#ifndef OPENSSL_NO_STDIO
|
2226
|
+
OPENSSL_EXPORT int X509_STORE_load_locations(X509_STORE *ctx, const char *file,
|
2227
|
+
const char *dir);
|
2228
|
+
OPENSSL_EXPORT int X509_STORE_set_default_paths(X509_STORE *ctx);
|
2229
|
+
#endif
|
2230
|
+
|
2231
|
+
OPENSSL_EXPORT int X509_STORE_CTX_get_ex_new_index(long argl, void *argp,
|
2232
|
+
CRYPTO_EX_unused *unused,
|
2233
|
+
CRYPTO_EX_dup *dup_unused,
|
2234
|
+
CRYPTO_EX_free *free_func);
|
2235
|
+
OPENSSL_EXPORT int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx,
|
2236
|
+
void *data);
|
2237
|
+
OPENSSL_EXPORT void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx);
|
2238
|
+
OPENSSL_EXPORT int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
|
2239
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s);
|
2240
|
+
OPENSSL_EXPORT int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
|
2241
|
+
OPENSSL_EXPORT X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
|
2242
|
+
OPENSSL_EXPORT X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx);
|
2243
|
+
OPENSSL_EXPORT X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx);
|
2244
|
+
OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(
|
2245
|
+
X509_STORE_CTX *ctx);
|
2246
|
+
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
|
2247
|
+
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
|
2248
|
+
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx);
|
2249
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x);
|
2250
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,
|
2251
|
+
STACK_OF(X509) *sk);
|
2252
|
+
OPENSSL_EXPORT STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(
|
2253
|
+
X509_STORE_CTX *ctx);
|
2254
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c,
|
2255
|
+
STACK_OF(X509_CRL) *sk);
|
2256
|
+
OPENSSL_EXPORT int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
|
2257
|
+
OPENSSL_EXPORT int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust);
|
2258
|
+
OPENSSL_EXPORT int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx,
|
2259
|
+
int def_purpose, int purpose,
|
2260
|
+
int trust);
|
2261
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx,
|
2262
|
+
unsigned long flags);
|
2263
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx,
|
2264
|
+
unsigned long flags, time_t t);
|
2265
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set_verify_cb(
|
2266
|
+
X509_STORE_CTX *ctx, int (*verify_cb)(int, X509_STORE_CTX *));
|
2267
|
+
|
2268
|
+
OPENSSL_EXPORT X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(
|
2269
|
+
X509_STORE_CTX *ctx);
|
2270
|
+
OPENSSL_EXPORT int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx);
|
2271
|
+
|
2272
|
+
OPENSSL_EXPORT X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(
|
2273
|
+
X509_STORE_CTX *ctx);
|
2274
|
+
OPENSSL_EXPORT void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx,
|
2275
|
+
X509_VERIFY_PARAM *param);
|
2276
|
+
OPENSSL_EXPORT int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx,
|
2277
|
+
const char *name);
|
2278
|
+
|
2279
|
+
// X509_VERIFY_PARAM functions
|
2280
|
+
|
2281
|
+
OPENSSL_EXPORT X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void);
|
2282
|
+
OPENSSL_EXPORT void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param);
|
2283
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to,
|
2284
|
+
const X509_VERIFY_PARAM *from);
|
2285
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to,
|
2286
|
+
const X509_VERIFY_PARAM *from);
|
2287
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param,
|
2288
|
+
const char *name);
|
2289
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param,
|
2290
|
+
unsigned long flags);
|
2291
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param,
|
2292
|
+
unsigned long flags);
|
2293
|
+
OPENSSL_EXPORT unsigned long X509_VERIFY_PARAM_get_flags(
|
2294
|
+
X509_VERIFY_PARAM *param);
|
2295
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param,
|
2296
|
+
int purpose);
|
2297
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param,
|
2298
|
+
int trust);
|
2299
|
+
OPENSSL_EXPORT void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param,
|
2300
|
+
int depth);
|
2301
|
+
OPENSSL_EXPORT void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param,
|
2302
|
+
time_t t);
|
2303
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,
|
2304
|
+
ASN1_OBJECT *policy);
|
2305
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_policies(
|
2306
|
+
X509_VERIFY_PARAM *param, STACK_OF(ASN1_OBJECT) *policies);
|
2307
|
+
|
2308
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,
|
2309
|
+
const char *name,
|
2310
|
+
size_t namelen);
|
2311
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,
|
2312
|
+
const char *name,
|
2313
|
+
size_t namelen);
|
2314
|
+
OPENSSL_EXPORT void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param,
|
2315
|
+
unsigned int flags);
|
2316
|
+
OPENSSL_EXPORT char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *);
|
2317
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param,
|
2318
|
+
const char *email,
|
2319
|
+
size_t emaillen);
|
2320
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param,
|
2321
|
+
const unsigned char *ip,
|
2322
|
+
size_t iplen);
|
2323
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param,
|
2324
|
+
const char *ipasc);
|
2325
|
+
|
2326
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param);
|
2327
|
+
OPENSSL_EXPORT const char *X509_VERIFY_PARAM_get0_name(
|
2328
|
+
const X509_VERIFY_PARAM *param);
|
2329
|
+
|
2330
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param);
|
2331
|
+
OPENSSL_EXPORT int X509_VERIFY_PARAM_get_count(void);
|
2332
|
+
OPENSSL_EXPORT const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id);
|
2333
|
+
OPENSSL_EXPORT const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(
|
2334
|
+
const char *name);
|
2335
|
+
OPENSSL_EXPORT void X509_VERIFY_PARAM_table_cleanup(void);
|
2336
|
+
|
2337
|
+
OPENSSL_EXPORT int X509_policy_check(X509_POLICY_TREE **ptree,
|
2338
|
+
int *pexplicit_policy,
|
2339
|
+
STACK_OF(X509) *certs,
|
2340
|
+
STACK_OF(ASN1_OBJECT) *policy_oids,
|
2341
|
+
unsigned int flags);
|
2342
|
+
|
2343
|
+
OPENSSL_EXPORT void X509_policy_tree_free(X509_POLICY_TREE *tree);
|
2344
|
+
|
2345
|
+
OPENSSL_EXPORT int X509_policy_tree_level_count(const X509_POLICY_TREE *tree);
|
2346
|
+
OPENSSL_EXPORT X509_POLICY_LEVEL *X509_policy_tree_get0_level(
|
2347
|
+
const X509_POLICY_TREE *tree, int i);
|
2348
|
+
|
2349
|
+
OPENSSL_EXPORT STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(
|
2350
|
+
const X509_POLICY_TREE *tree);
|
2351
|
+
|
2352
|
+
OPENSSL_EXPORT STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(
|
2353
|
+
const X509_POLICY_TREE *tree);
|
2354
|
+
|
2355
|
+
OPENSSL_EXPORT int X509_policy_level_node_count(X509_POLICY_LEVEL *level);
|
2356
|
+
|
2357
|
+
OPENSSL_EXPORT X509_POLICY_NODE *X509_policy_level_get0_node(
|
2358
|
+
X509_POLICY_LEVEL *level, int i);
|
2359
|
+
|
2360
|
+
OPENSSL_EXPORT const ASN1_OBJECT *X509_policy_node_get0_policy(
|
2361
|
+
const X509_POLICY_NODE *node);
|
2362
|
+
|
2363
|
+
OPENSSL_EXPORT STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(
|
2364
|
+
const X509_POLICY_NODE *node);
|
2365
|
+
OPENSSL_EXPORT const X509_POLICY_NODE *X509_policy_node_get0_parent(
|
2366
|
+
const X509_POLICY_NODE *node);
|
1925
2367
|
|
1926
2368
|
|
1927
2369
|
#ifdef __cplusplus
|
@@ -1958,10 +2400,6 @@ BORINGSSL_MAKE_UP_REF(X509_STORE, X509_STORE_up_ref)
|
|
1958
2400
|
BORINGSSL_MAKE_DELETER(X509_STORE_CTX, X509_STORE_CTX_free)
|
1959
2401
|
BORINGSSL_MAKE_DELETER(X509_VERIFY_PARAM, X509_VERIFY_PARAM_free)
|
1960
2402
|
|
1961
|
-
using ScopedX509_STORE_CTX =
|
1962
|
-
internal::StackAllocated<X509_STORE_CTX, void, X509_STORE_CTX_zero,
|
1963
|
-
X509_STORE_CTX_cleanup>;
|
1964
|
-
|
1965
2403
|
BSSL_NAMESPACE_END
|
1966
2404
|
|
1967
2405
|
} // extern C++
|