grpc 1.69.0 → 1.70.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +251 -249
- data/include/grpc/support/atm.h +0 -13
- data/src/core/call/request_buffer.cc +224 -0
- data/src/core/call/request_buffer.h +192 -0
- data/src/core/client_channel/client_channel.cc +2 -3
- data/src/core/client_channel/client_channel_args.h +21 -0
- data/src/core/client_channel/client_channel_filter.h +1 -3
- data/src/core/client_channel/retry_interceptor.cc +406 -0
- data/src/core/client_channel/retry_interceptor.h +157 -0
- data/src/core/client_channel/retry_service_config.h +13 -0
- data/src/core/client_channel/retry_throttle.cc +33 -18
- data/src/core/client_channel/retry_throttle.h +3 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +596 -94
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +189 -13
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -3
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +40 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +66 -36
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +19 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +116 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +67 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +12 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +228 -21
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +65 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +6 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +7 -106
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +7 -28
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +85 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +25 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +152 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +40 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +135 -4
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +41 -9
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +3 -2
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +60 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +102 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +28 -19
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +251 -18
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +41 -16
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +2 -1
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +11 -10
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +418 -413
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +161 -153
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +267 -261
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +29 -19
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +15 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +58 -65
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +73 -63
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +49 -48
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +117 -100
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +905 -897
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +15 -18
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +460 -457
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +16 -19
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +95 -95
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +202 -191
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +148 -135
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +23 -22
- data/src/core/filter/filter_args.h +112 -0
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +1 -1
- data/src/core/lib/channel/promise_based_filter.h +5 -79
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +14 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +7 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +0 -2
- data/src/core/lib/event_engine/windows/windows_engine.cc +1 -0
- data/src/core/lib/experiments/experiments.cc +90 -39
- data/src/core/lib/experiments/experiments.h +43 -24
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +1 -1
- data/src/core/lib/promise/activity.cc +2 -0
- data/src/core/lib/promise/activity.h +29 -8
- data/src/core/lib/promise/map.h +42 -0
- data/src/core/lib/promise/party.cc +36 -1
- data/src/core/lib/promise/party.h +13 -5
- data/src/core/lib/promise/sleep.h +1 -0
- data/src/core/lib/promise/status_flag.h +10 -0
- data/src/core/lib/resource_quota/arena.h +8 -0
- data/src/core/lib/resource_quota/connection_quota.h +4 -0
- data/src/core/lib/surface/call_utils.h +2 -0
- data/src/core/lib/surface/client_call.cc +43 -35
- data/src/core/lib/surface/client_call.h +5 -0
- data/src/core/lib/surface/event_string.cc +7 -1
- data/src/core/lib/surface/init_internally.h +13 -2
- data/src/core/lib/surface/server_call.cc +100 -85
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/call_filters.cc +10 -4
- data/src/core/lib/transport/call_filters.h +8 -0
- data/src/core/lib/transport/call_spine.cc +36 -71
- data/src/core/lib/transport/call_spine.h +131 -7
- data/src/core/lib/transport/call_state.h +132 -39
- data/src/core/lib/transport/interception_chain.cc +8 -0
- data/src/core/lib/transport/interception_chain.h +9 -0
- data/src/core/load_balancing/endpoint_list.cc +10 -0
- data/src/core/load_balancing/endpoint_list.h +13 -6
- data/src/core/load_balancing/lb_policy.h +0 -8
- data/src/core/load_balancing/pick_first/pick_first.cc +89 -56
- data/src/core/load_balancing/ring_hash/ring_hash.cc +158 -70
- data/src/core/load_balancing/ring_hash/ring_hash.h +4 -11
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -14
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +12 -15
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +4 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +139 -135
- data/src/core/resolver/xds/xds_dependency_manager.h +24 -18
- data/src/core/resolver/xds/xds_resolver.cc +28 -47
- data/src/core/server/server.cc +290 -24
- data/src/core/server/server.h +199 -61
- data/src/core/server/xds_server_config_fetcher.cc +78 -142
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/util/backoff.cc +15 -4
- data/src/core/util/http_client/httpcli.cc +66 -18
- data/src/core/util/http_client/httpcli.h +14 -4
- data/src/core/util/matchers.h +5 -10
- data/src/core/util/ref_counted.h +1 -0
- data/src/core/util/ref_counted_ptr.h +1 -1
- data/src/core/util/useful.h +9 -11
- data/src/core/xds/grpc/xds_endpoint_parser.cc +54 -23
- data/src/core/xds/grpc/xds_metadata.h +8 -0
- data/src/core/xds/xds_client/xds_api.cc +0 -223
- data/src/core/xds/xds_client/xds_api.h +1 -133
- data/src/core/xds/xds_client/xds_client.cc +599 -466
- data/src/core/xds/xds_client/xds_client.h +107 -26
- data/src/core/xds/xds_client/xds_resource_type_impl.h +10 -5
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bitstr.c → a_bitstr.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_d2i_fp.c → a_d2i_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_dup.c → a_dup.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_i2d_fp.c → a_i2d_fp.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_int.c → a_int.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_mbstr.c → a_mbstr.cc} +9 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_object.c → a_object.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strnid.c → a_strnid.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_type.c → a_type.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_lib.c → asn1_lib.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn_pack.c → asn_pack.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{posix_time.c → posix_time.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_dec.c → tasn_dec.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_enc.c → tasn_enc.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_fre.c → tasn_fre.cc} +14 -20
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_new.c → tasn_new.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_utl.c → tasn_utl.cc} +13 -10
- data/third_party/boringssl-with-bazel/src/crypto/base64/{base64.c → base64.cc} +9 -12
- data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +7 -1
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio.c → bio.cc} +32 -58
- data/third_party/boringssl-with-bazel/src/crypto/bio/{bio_mem.c → bio_mem.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/bio/{connect.c → connect.cc} +24 -16
- data/third_party/boringssl-with-bazel/src/crypto/bio/{file.c → file.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/{pair.c → pair.cc} +22 -20
- data/third_party/boringssl-with-bazel/src/crypto/bio/{printf.c → printf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/{socket_helper.c → socket_helper.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/blake2/{blake2.c → blake2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{bn_asn1.c → bn_asn1.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/{convert.c → convert.cc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/buf/{buf.c → buf.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{asn1_compat.c → asn1_compat.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{ber.c → ber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbb.c → cbb.cc} +33 -49
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{cbs.c → cbs.cc} +20 -27
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/{unicode.c → unicode.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/{chacha.c → chacha.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesctrhmac.c → e_aesctrhmac.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_aesgcmsiv.c → e_aesgcmsiv.cc} +23 -26
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_chacha20poly1305.c → e_chacha20poly1305.cc} +1 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_des.c → e_des.cc} +61 -49
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_null.c → e_null.cc} +12 -9
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc2.c → e_rc2.cc} +23 -19
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_rc4.c → e_rc4.cc} +10 -8
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{e_tls.c → e_tls.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/{conf.c → conf.cc} +17 -14
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_apple.c → cpu_aarch64_apple.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_fuchsia.c → cpu_aarch64_fuchsia.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_linux.c → cpu_aarch64_linux.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_openbsd.c → cpu_aarch64_openbsd.cc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_sysreg.c → cpu_aarch64_sysreg.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_aarch64_win.c → cpu_aarch64_win.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_freebsd.c → cpu_arm_freebsd.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_arm_linux.c → cpu_arm_linux.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{cpu_intel.c → cpu_intel.cc} +47 -32
- data/third_party/boringssl-with-bazel/src/crypto/{crypto.c → crypto.cc} +6 -11
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519.c → curve25519.cc} +28 -31
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{curve25519_64_adx.c → curve25519_64_adx.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/{spake25519.c → spake25519.cc} +20 -16
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{dh_asn1.c → dh_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/{digest_extra.c → digest_extra.cc} +113 -31
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa.c → dsa.cc} +153 -154
- data/third_party/boringssl-with-bazel/src/crypto/dsa/{dsa_asn1.c → dsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_asn1.c → ec_asn1.cc} +35 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{ec_derive.c → ec_derive.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/{hash_to_curve.c → hash_to_curve.cc} +66 -64
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/{ecdsa_asn1.c → ecdsa_asn1.cc} +15 -25
- data/third_party/boringssl-with-bazel/src/crypto/engine/{engine.c → engine.cc} +12 -8
- data/third_party/boringssl-with-bazel/src/crypto/err/{err.c → err.cc} +24 -27
- data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp.c → evp.cc} +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_ctx.c → evp_ctx.cc} +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh.c → p_dh.cc} +23 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dh_asn1.c → p_dh_asn1.cc} +38 -21
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_dsa_asn1.c → p_dsa_asn1.cc} +19 -24
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec.c → p_ec.cc} +20 -23
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ec_asn1.c → p_ec_asn1.cc} +20 -20
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519.c → p_ed25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_ed25519_asn1.c → p_ed25519_asn1.cc} +14 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_hkdf.c → p_hkdf.cc} +18 -14
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa.c → p_rsa.cc} +38 -37
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_rsa_asn1.c → p_rsa_asn1.cc} +16 -18
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519.c → p_x25519.cc} +22 -19
- data/third_party/boringssl-with-bazel/src/crypto/evp/{p_x25519_asn1.c → p_x25519_asn1.cc} +18 -17
- data/third_party/boringssl-with-bazel/src/crypto/evp/{pbkdf.c → pbkdf.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/evp/{print.c → print.cc} +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/evp/{scrypt.c → scrypt.cc} +7 -5
- data/third_party/boringssl-with-bazel/src/crypto/{ex_data.c → ex_data.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c.inc → aes_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +1 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c.inc → key_wrap.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{bcm.c → bcm.cc} +96 -101
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +165 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c.inc → add.cc.inc} +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c.inc → x86_64-gcc.cc.inc} +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c.inc → bn.cc.inc} +12 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c.inc → ctx.cc.inc} +5 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c.inc → div.cc.inc} +29 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c.inc → div_extra.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c.inc → exponentiation.cc.inc} +22 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c.inc → gcd.cc.inc} +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c.inc → gcd_extra.cc.inc} +33 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c.inc → montgomery.cc.inc} +10 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c.inc → mul.cc.inc} +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c.inc → prime.cc.inc} +31 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c.inc → shift.cc.inc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c.inc → aead.cc.inc} +18 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c.inc → cipher.cc.inc} +6 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c.inc → e_aes.cc.inc} +46 -54
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c.inc → cmac.cc.inc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +14 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c.inc → dh.cc.inc} +15 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c.inc → digest.cc.inc} +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c.inc → digests.cc.inc} +29 -113
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c.inc → digestsign.cc.inc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c.inc → ec.cc.inc} +10 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c.inc → ec_key.cc.inc} +12 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c.inc → felem.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c.inc → oct.cc.inc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c.inc → p224-64.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c.inc → p256-nistz.cc.inc} +15 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c.inc → p256.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c.inc → scalar.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c.inc → simple_mul.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c.inc → util.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c.inc → wnaf.cc.inc} +24 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c.inc → ecdh.cc.inc} +14 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c.inc → ecdsa.cc.inc} +6 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/{fips_shared_support.c → fips_shared_support.cc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c.inc → hkdf.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c.inc → hmac.cc.inc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c.inc → gcm.cc.inc} +69 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c.inc → gcm_nohw.cc.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +53 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c.inc → polyval.cc.inc} +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c.inc → ctrdrbg.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c.inc → rand.cc.inc} +20 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c.inc → blinding.cc.inc} +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c.inc → padding.cc.inc} +21 -21
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c.inc → rsa.cc.inc} +77 -73
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c.inc → rsa_impl.cc.inc} +50 -53
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c.inc → fips.cc.inc} +14 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c.inc → self_check.cc.inc} +56 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c.inc → service_indicator.cc.inc} +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c.inc → sha1.cc.inc} +26 -33
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c.inc → sha256.cc.inc} +37 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c.inc → sha512.cc.inc} +48 -76
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/hpke/{hpke.c → hpke.cc} +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/hrss/{hrss.c → hrss.cc} +53 -110
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +191 -248
- data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/keccak/{keccak.c → keccak.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/{kyber.c → kyber.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/lhash/{lhash.c → lhash.cc} +8 -7
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md4/md4.c.inc → md4/md4.cc} +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5 → md5}/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/md5/md5.c.inc → md5/md5.cc} +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/{mem.c → mem.cc} +34 -22
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/{mldsa.c → mldsa.cc} +646 -543
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/obj/{obj.c → obj.cc} +27 -30
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_info.c → pem_info.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_lib.c → pem_lib.cc} +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_oth.c → pem_oth.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7.c → pkcs7.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/{pkcs7_x509.c → pkcs7_x509.cc} +26 -25
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{p5_pbev2.c → p5_pbev2.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8.c → pkcs8.cc} +159 -158
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/{pkcs8_x509.c → pkcs8_x509.cc} +90 -97
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305.c → poly1305.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_arm.c → poly1305_arm.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/{poly1305_vec.c → poly1305_vec.cc} +14 -11
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/{pool.c → pool.cc} +12 -11
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{deterministic.c → deterministic.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fork_detect.c → fork_detect.cc} +11 -12
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{forkunsafe.c → forkunsafe.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{getentropy.c → getentropy.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{ios.c → ios.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{passive.c → passive.cc} +22 -18
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{rand_extra.c → rand_extra.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{trusty.c → trusty.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{urandom.c → urandom.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{windows.c → windows.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{refcount.c → refcount.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_asn1.c → rsa_asn1.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_crypt.c → rsa_crypt.cc} +81 -78
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_extra.cc +17 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/{siphash.c → siphash.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/address.h +123 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.cc +169 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/fors.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/internal.h +63 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.cc +161 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/merkle.h +70 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/params.h +83 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +307 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.cc +173 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/thash.h +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.cc +171 -0
- data/third_party/boringssl-with-bazel/src/crypto/slhdsa/wots.h +50 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/{stack.c → stack.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/{thread_none.c → thread_none.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/{thread_pthread.c → thread_pthread.cc} +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/{thread_win.c → thread_win.cc} +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{pmbtoken.c → pmbtoken.cc} +146 -158
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{trust_token.c → trust_token.cc} +19 -21
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/{voprf.c → voprf.cc} +165 -169
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_digest.c → a_digest.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_sign.c → a_sign.cc} +37 -34
- data/third_party/boringssl-with-bazel/src/crypto/x509/{a_verify.c → a_verify.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{algorithm.c → algorithm.cc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{asn1_gen.c → asn1_gen.cc} +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{by_dir.c → by_dir.cc} +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{policy.c → policy.cc} +188 -178
- data/third_party/boringssl-with-bazel/src/crypto/x509/{rsa_pss.c → rsa_pss.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akey.c → v3_akey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_alt.c → v3_alt.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bcons.c → v3_bcons.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_bitst.c → v3_bitst.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_conf.c → v3_conf.cc} +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_cpols.c → v3_cpols.cc} +47 -41
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_crld.c → v3_crld.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_enum.c → v3_enum.cc} +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_extku.c → v3_extku.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_genn.c → v3_genn.cc} +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ia5.c → v3_ia5.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_info.c → v3_info.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_int.c → v3_int.cc} +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_lib.c → v3_lib.cc} +9 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ncons.c → v3_ncons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_ocsp.c → v3_ocsp.cc} +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pcons.c → v3_pcons.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_pmaps.c → v3_pmaps.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_prn.c → v3_prn.cc} +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_purp.c → v3_purp.cc} +16 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_skey.c → v3_skey.cc} +6 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_utl.c → v3_utl.cc} +15 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_att.c → x509_att.cc} +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_lu.c → x509_lu.cc} +6 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_v3.c → x509_v3.cc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vfy.c → x509_vfy.cc} +216 -212
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_vpm.c → x509_vpm.cc} +55 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x509spki.c → x509spki.cc} +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_all.c → x_all.cc} +10 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_crl.c → x_crl.cc} +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_name.c → x_name.cc} +39 -32
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_pubkey.c → x_pubkey.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509.c → x_x509.cc} +48 -44
- data/third_party/boringssl-with-bazel/src/crypto/x509/{x_x509a.c → x_x509a.cc} +4 -2
- data/third_party/boringssl-with-bazel/src/gen/crypto/{err_data.c → err_data.cc} +359 -358
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +237 -275
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +12 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +13 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +17 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +8 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +10 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +2 -40
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +133 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +160 -116
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/time.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -6
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +667 -322
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +116 -119
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +163 -21
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +4 -12
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +94 -49
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +296 -198
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +23 -14
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +363 -343
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +48 -58
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +44 -36
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +145 -159
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +65 -58
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +910 -356
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +29 -41
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +13 -11
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +90 -183
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +38 -64
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +103 -44
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +210 -220
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +70 -12
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +20 -17
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +146 -169
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +15 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +79 -95
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -9
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +91 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +30 -16
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +51 -56
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +22 -25
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +43 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +63 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +204 -121
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +86 -59
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +51 -62
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +37 -25
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
- metadata +339 -339
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -426
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -87
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -32
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -408
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -124
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -38
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -108
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -33
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -48
- data/src/core/util/atm.cc +0 -34
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
- data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
- data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
- data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
- data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
- data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
- data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_bool.c → a_bool.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_gentm.c → a_gentm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_octet.c → a_octet.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_strex.c → a_strex.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_time.c → a_time.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{a_utctm.c → a_utctm.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_par.c → asn1_par.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_int.c → f_int.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{f_string.c → f_string.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/asn1/{tasn_typ.c → tasn_typ.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{errno.c → errno.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{fd.c → fd.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{hexdump.c → hexdump.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/bio/{socket.c → socket.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{cipher_extra.c → cipher_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{derive_key.c → derive_key.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/{tls_cbc.c → tls_cbc.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/des/{des.c → des.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/dh_extra/{params.c → params.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/{ecdh_extra.c → ecdh_extra.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{evp_asn1.c → evp_asn1.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/evp/{sign.c → sign.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c.inc → aes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c.inc → mode_wrappers.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c.inc → bytes.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c.inc → cmp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c.inc → generic.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c.inc → jacobi.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c.inc → montgomery_inv.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c.inc → random.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c.inc → rsaz_exp.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c.inc → sqrt.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c.inc → e_aesccm.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c.inc → check.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c.inc → ec_montgomery.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c.inc → simple.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c.inc → cbc.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c.inc → cfb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c.inc → ctr.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c.inc → ofb.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c.inc → kdf.cc.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/obj/{obj_xref.c → obj_xref.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_all.c → pem_all.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pk8.c → pem_pk8.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_pkey.c → pem_pkey.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_x509.c → pem_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/pem/{pem_xaux.c → pem_xaux.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rc4/{rc4.c → rc4.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/{rsa_print.c → rsa_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/{thread.c → thread.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{by_file.c → by_file.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{i2d_pr.c → i2d_pr.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{name_print.c → name_print.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_crl.c → t_crl.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_req.c → t_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509.c → t_x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{t_x509a.c → t_x509a.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{v3_akeya.c → v3_akeya.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509.c → x509.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_cmp.c → x509_cmp.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_d2.c → x509_d2.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_def.c → x509_def.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_ext.c → x509_ext.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_obj.c → x509_obj.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_req.c → x509_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_set.c → x509_set.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_trs.c → x509_trs.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509_txt.c → x509_txt.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509cset.c → x509cset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509name.c → x509name.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x509rset.c → x509rset.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_algor.c → x_algor.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_attrib.c → x_attrib.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_exten.c → x_exten.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_req.c → x_req.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_sig.c → x_sig.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_spki.c → x_spki.cc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/x509/{x_val.c → x_val.cc} +0 -0
@@ -1,5 +1,5 @@
|
|
1
|
-
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
2
|
-
*
|
1
|
+
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
|
2
|
+
* 2000.
|
3
3
|
*/
|
4
4
|
/* ====================================================================
|
5
5
|
* Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved.
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* are met:
|
10
10
|
*
|
11
11
|
* 1. Redistributions of source code must retain the above copyright
|
12
|
-
* notice, this list of conditions and the following disclaimer.
|
12
|
+
* notice, this list of conditions and the following disclaimer.
|
13
13
|
*
|
14
14
|
* 2. Redistributions in binary form must reproduce the above copyright
|
15
15
|
* notice, this list of conditions and the following disclaimer in
|
@@ -57,8 +57,8 @@
|
|
57
57
|
#ifndef OPENSSL_HEADER_ASN1T_H
|
58
58
|
#define OPENSSL_HEADER_ASN1T_H
|
59
59
|
|
60
|
-
#include <openssl/base.h>
|
61
60
|
#include <openssl/asn1.h>
|
61
|
+
#include <openssl/base.h>
|
62
62
|
|
63
63
|
#if defined(__cplusplus)
|
64
64
|
extern "C" {
|
@@ -81,32 +81,23 @@ typedef struct ASN1_TLC_st ASN1_TLC;
|
|
81
81
|
|
82
82
|
/* Macros for start and end of ASN1_ITEM definition */
|
83
83
|
|
84
|
-
#define ASN1_ITEM_start(itname)
|
85
|
-
const ASN1_ITEM itname##_it = {
|
86
|
-
|
84
|
+
#define ASN1_ITEM_start(itname) const ASN1_ITEM itname##_it = {
|
87
85
|
#define ASN1_ITEM_end(itname) \
|
88
|
-
|
86
|
+
} \
|
87
|
+
;
|
89
88
|
|
90
89
|
/* Macros to aid ASN1 template writing */
|
91
90
|
|
92
|
-
#define ASN1_ITEM_TEMPLATE(tname)
|
93
|
-
static const ASN1_TEMPLATE tname##_item_tt
|
91
|
+
#define ASN1_ITEM_TEMPLATE(tname) static const ASN1_TEMPLATE tname##_item_tt
|
94
92
|
|
95
|
-
#define ASN1_ITEM_TEMPLATE_END(tname)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
-1,\
|
100
|
-
&tname##_item_tt,\
|
101
|
-
0,\
|
102
|
-
NULL,\
|
103
|
-
0,\
|
104
|
-
#tname \
|
105
|
-
ASN1_ITEM_end(tname)
|
93
|
+
#define ASN1_ITEM_TEMPLATE_END(tname) \
|
94
|
+
; \
|
95
|
+
ASN1_ITEM_start(tname) ASN1_ITYPE_PRIMITIVE, -1, &tname##_item_tt, 0, NULL, \
|
96
|
+
0, #tname ASN1_ITEM_end(tname)
|
106
97
|
|
107
98
|
|
108
99
|
/* This is a ASN1 type which just embeds a template */
|
109
|
-
|
100
|
+
|
110
101
|
/* This pair helps declare a SEQUENCE. We can do:
|
111
102
|
*
|
112
103
|
* ASN1_SEQUENCE(stname) = {
|
@@ -127,50 +118,40 @@ typedef struct ASN1_TLC_st ASN1_TLC;
|
|
127
118
|
* a structure called stname.
|
128
119
|
*/
|
129
120
|
|
130
|
-
#define ASN1_SEQUENCE(tname)
|
131
|
-
static const ASN1_TEMPLATE tname##_seq_tt[]
|
121
|
+
#define ASN1_SEQUENCE(tname) static const ASN1_TEMPLATE tname##_seq_tt[]
|
132
122
|
|
133
123
|
#define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname)
|
134
124
|
|
135
|
-
#define ASN1_SEQUENCE_END_name(stname, tname)
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
tname##_seq_tt,\
|
141
|
-
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
|
142
|
-
NULL,\
|
143
|
-
sizeof(stname),\
|
144
|
-
#stname \
|
145
|
-
ASN1_ITEM_end(tname)
|
125
|
+
#define ASN1_SEQUENCE_END_name(stname, tname) \
|
126
|
+
; \
|
127
|
+
ASN1_ITEM_start(tname) ASN1_ITYPE_SEQUENCE, V_ASN1_SEQUENCE, tname##_seq_tt, \
|
128
|
+
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE), NULL, sizeof(stname), \
|
129
|
+
#stname ASN1_ITEM_end(tname)
|
146
130
|
|
147
|
-
#define ASN1_SEQUENCE_cb(tname, cb)
|
148
|
-
|
149
|
-
|
131
|
+
#define ASN1_SEQUENCE_cb(tname, cb) \
|
132
|
+
static const ASN1_AUX tname##_aux = {NULL, 0, 0, cb, 0}; \
|
133
|
+
ASN1_SEQUENCE(tname)
|
150
134
|
|
151
|
-
#define ASN1_SEQUENCE_ref(tname, cb)
|
152
|
-
|
153
|
-
|
135
|
+
#define ASN1_SEQUENCE_ref(tname, cb) \
|
136
|
+
static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, \
|
137
|
+
offsetof(tname, references), cb, 0}; \
|
138
|
+
ASN1_SEQUENCE(tname)
|
154
139
|
|
155
|
-
#define ASN1_SEQUENCE_enc(tname, enc, cb)
|
156
|
-
|
157
|
-
|
140
|
+
#define ASN1_SEQUENCE_enc(tname, enc, cb) \
|
141
|
+
static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, cb, \
|
142
|
+
offsetof(tname, enc)}; \
|
143
|
+
ASN1_SEQUENCE(tname)
|
158
144
|
|
159
|
-
#define ASN1_SEQUENCE_END_enc(stname, tname)
|
145
|
+
#define ASN1_SEQUENCE_END_enc(stname, tname) \
|
146
|
+
ASN1_SEQUENCE_END_ref(stname, tname)
|
160
147
|
|
161
148
|
#define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname)
|
162
149
|
|
163
|
-
#define ASN1_SEQUENCE_END_ref(stname, tname)
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
tname##_seq_tt,\
|
169
|
-
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
|
170
|
-
&tname##_aux,\
|
171
|
-
sizeof(stname),\
|
172
|
-
#stname \
|
173
|
-
ASN1_ITEM_end(tname)
|
150
|
+
#define ASN1_SEQUENCE_END_ref(stname, tname) \
|
151
|
+
; \
|
152
|
+
ASN1_ITEM_start(tname) ASN1_ITYPE_SEQUENCE, V_ASN1_SEQUENCE, tname##_seq_tt, \
|
153
|
+
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE), &tname##_aux, \
|
154
|
+
sizeof(stname), #stname ASN1_ITEM_end(tname)
|
174
155
|
|
175
156
|
|
176
157
|
/* This pair helps declare a CHOICE type. We can do:
|
@@ -189,152 +170,145 @@ typedef struct ASN1_TLC_st ASN1_TLC;
|
|
189
170
|
* ASN1_SOMEOTHER *opt2;
|
190
171
|
* } value;
|
191
172
|
* } chname;
|
192
|
-
*
|
173
|
+
*
|
193
174
|
* the name of the selector must be 'type'.
|
194
175
|
* to use an alternative selector name use the
|
195
176
|
* ASN1_CHOICE_END_selector() version.
|
196
177
|
*/
|
197
178
|
|
198
|
-
#define ASN1_CHOICE(tname)
|
199
|
-
static const ASN1_TEMPLATE tname##_ch_tt[]
|
179
|
+
#define ASN1_CHOICE(tname) static const ASN1_TEMPLATE tname##_ch_tt[]
|
200
180
|
|
201
|
-
#define ASN1_CHOICE_cb(tname, cb)
|
202
|
-
|
203
|
-
|
181
|
+
#define ASN1_CHOICE_cb(tname, cb) \
|
182
|
+
static const ASN1_AUX tname##_aux = {NULL, 0, 0, cb, 0}; \
|
183
|
+
ASN1_CHOICE(tname)
|
204
184
|
|
205
185
|
#define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname)
|
206
186
|
|
207
|
-
#define ASN1_CHOICE_END_name(stname, tname)
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
#define ASN1_CHOICE_END_cb(stname, tname, selname) \
|
222
|
-
;\
|
223
|
-
ASN1_ITEM_start(tname) \
|
224
|
-
ASN1_ITYPE_CHOICE,\
|
225
|
-
offsetof(stname,selname) ,\
|
226
|
-
tname##_ch_tt,\
|
227
|
-
sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\
|
228
|
-
&tname##_aux,\
|
229
|
-
sizeof(stname),\
|
230
|
-
#stname \
|
231
|
-
ASN1_ITEM_end(tname)
|
187
|
+
#define ASN1_CHOICE_END_name(stname, tname) \
|
188
|
+
ASN1_CHOICE_END_selector(stname, tname, type)
|
189
|
+
|
190
|
+
#define ASN1_CHOICE_END_selector(stname, tname, selname) \
|
191
|
+
; \
|
192
|
+
ASN1_ITEM_start(tname) ASN1_ITYPE_CHOICE, offsetof(stname, selname), \
|
193
|
+
tname##_ch_tt, sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE), NULL, \
|
194
|
+
sizeof(stname), #stname ASN1_ITEM_end(tname)
|
195
|
+
|
196
|
+
#define ASN1_CHOICE_END_cb(stname, tname, selname) \
|
197
|
+
; \
|
198
|
+
ASN1_ITEM_start(tname) ASN1_ITYPE_CHOICE, offsetof(stname, selname), \
|
199
|
+
tname##_ch_tt, sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE), \
|
200
|
+
&tname##_aux, sizeof(stname), #stname ASN1_ITEM_end(tname)
|
232
201
|
|
233
202
|
/* This helps with the template wrapper form of ASN1_ITEM */
|
234
203
|
|
235
|
-
#define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type)
|
236
|
-
|
237
|
-
#name, ASN1_ITEM_ref(type) }
|
204
|
+
#define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) \
|
205
|
+
{ (flags), (tag), 0, #name, ASN1_ITEM_ref(type) }
|
238
206
|
|
239
207
|
/* These help with SEQUENCE or CHOICE components */
|
240
208
|
|
241
209
|
/* used to declare other types */
|
242
210
|
|
243
|
-
#define ASN1_EX_TYPE(flags, tag, stname, field, type)
|
244
|
-
|
245
|
-
#field, ASN1_ITEM_ref(type) }
|
211
|
+
#define ASN1_EX_TYPE(flags, tag, stname, field, type) \
|
212
|
+
{ (flags), (tag), offsetof(stname, field), #field, ASN1_ITEM_ref(type) }
|
246
213
|
|
247
214
|
/* implicit and explicit helper macros */
|
248
215
|
|
249
216
|
#define ASN1_IMP_EX(stname, field, type, tag, ex) \
|
250
|
-
|
217
|
+
ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type)
|
251
218
|
|
252
219
|
#define ASN1_EXP_EX(stname, field, type, tag, ex) \
|
253
|
-
|
220
|
+
ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type)
|
254
221
|
|
255
222
|
/* Any defined by macros: the field used is in the table itself */
|
256
223
|
|
257
|
-
#define ASN1_ADB_OBJECT(tblname)
|
224
|
+
#define ASN1_ADB_OBJECT(tblname) \
|
225
|
+
{ ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }
|
258
226
|
/* Plain simple type */
|
259
|
-
#define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type)
|
227
|
+
#define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0, 0, stname, field, type)
|
260
228
|
|
261
229
|
/* OPTIONAL simple type */
|
262
|
-
#define ASN1_OPT(stname, field, type)
|
230
|
+
#define ASN1_OPT(stname, field, type) \
|
231
|
+
ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type)
|
263
232
|
|
264
233
|
/* IMPLICIT tagged simple type */
|
265
|
-
#define ASN1_IMP(stname, field, type, tag)
|
234
|
+
#define ASN1_IMP(stname, field, type, tag) \
|
235
|
+
ASN1_IMP_EX(stname, field, type, tag, 0)
|
266
236
|
|
267
237
|
/* IMPLICIT tagged OPTIONAL simple type */
|
268
|
-
#define ASN1_IMP_OPT(stname, field, type, tag)
|
238
|
+
#define ASN1_IMP_OPT(stname, field, type, tag) \
|
239
|
+
ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)
|
269
240
|
|
270
241
|
/* Same as above but EXPLICIT */
|
271
242
|
|
272
|
-
#define ASN1_EXP(stname, field, type, tag)
|
273
|
-
|
243
|
+
#define ASN1_EXP(stname, field, type, tag) \
|
244
|
+
ASN1_EXP_EX(stname, field, type, tag, 0)
|
245
|
+
#define ASN1_EXP_OPT(stname, field, type, tag) \
|
246
|
+
ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)
|
274
247
|
|
275
248
|
/* SEQUENCE OF type */
|
276
249
|
#define ASN1_SEQUENCE_OF(stname, field, type) \
|
277
|
-
|
250
|
+
ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type)
|
278
251
|
|
279
252
|
/* OPTIONAL SEQUENCE OF */
|
280
|
-
#define ASN1_SEQUENCE_OF_OPT(stname, field, type)
|
281
|
-
|
253
|
+
#define ASN1_SEQUENCE_OF_OPT(stname, field, type) \
|
254
|
+
ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL, 0, stname, field, \
|
255
|
+
type)
|
282
256
|
|
283
257
|
/* Same as above but for SET OF */
|
284
258
|
|
285
259
|
#define ASN1_SET_OF(stname, field, type) \
|
286
|
-
|
260
|
+
ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type)
|
287
261
|
|
288
262
|
#define ASN1_SET_OF_OPT(stname, field, type) \
|
289
|
-
|
263
|
+
ASN1_EX_TYPE(ASN1_TFLG_SET_OF | ASN1_TFLG_OPTIONAL, 0, stname, field, type)
|
290
264
|
|
291
265
|
/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */
|
292
266
|
|
293
267
|
#define ASN1_IMP_SET_OF(stname, field, type, tag) \
|
294
|
-
|
268
|
+
ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)
|
295
269
|
|
296
270
|
#define ASN1_EXP_SET_OF(stname, field, type, tag) \
|
297
|
-
|
271
|
+
ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)
|
298
272
|
|
299
273
|
#define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \
|
300
|
-
|
274
|
+
ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF | ASN1_TFLG_OPTIONAL)
|
301
275
|
|
302
276
|
#define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \
|
303
|
-
|
277
|
+
ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF | ASN1_TFLG_OPTIONAL)
|
304
278
|
|
305
279
|
#define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \
|
306
|
-
|
280
|
+
ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)
|
307
281
|
|
308
282
|
#define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \
|
309
|
-
|
283
|
+
ASN1_IMP_EX(stname, field, type, tag, \
|
284
|
+
ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL)
|
310
285
|
|
311
286
|
#define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \
|
312
|
-
|
287
|
+
ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)
|
313
288
|
|
314
289
|
#define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \
|
315
|
-
|
290
|
+
ASN1_EXP_EX(stname, field, type, tag, \
|
291
|
+
ASN1_TFLG_SEQUENCE_OF | ASN1_TFLG_OPTIONAL)
|
316
292
|
|
317
293
|
/* Macros for the ASN1_ADB structure */
|
318
294
|
|
319
|
-
#define ASN1_ADB(name)
|
320
|
-
static const ASN1_ADB_TABLE name##_adbtbl[]
|
295
|
+
#define ASN1_ADB(name) static const ASN1_ADB_TABLE name##_adbtbl[]
|
321
296
|
|
322
297
|
#define ASN1_ADB_END(name, flags, field, app_table, def, none) \
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
#define ASN1_ADB_TEMPLATE(name)
|
337
|
-
static const ASN1_TEMPLATE name##_tt
|
298
|
+
; \
|
299
|
+
static const ASN1_ADB name##_adb = { \
|
300
|
+
flags, \
|
301
|
+
offsetof(name, field), \
|
302
|
+
app_table, \
|
303
|
+
name##_adbtbl, \
|
304
|
+
sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE), \
|
305
|
+
def, \
|
306
|
+
none}
|
307
|
+
|
308
|
+
#define ADB_ENTRY(val, template) \
|
309
|
+
{ val, template }
|
310
|
+
|
311
|
+
#define ASN1_ADB_TEMPLATE(name) static const ASN1_TEMPLATE name##_tt
|
338
312
|
|
339
313
|
/* This is the ASN1 template structure that defines
|
340
314
|
* a wrapper round the actual type. It determines the
|
@@ -343,11 +317,11 @@ typedef struct ASN1_TLC_st ASN1_TLC;
|
|
343
317
|
*/
|
344
318
|
|
345
319
|
struct ASN1_TEMPLATE_st {
|
346
|
-
uint32_t flags;
|
347
|
-
int tag;
|
348
|
-
unsigned long offset;
|
349
|
-
const char *field_name;
|
350
|
-
ASN1_ITEM_EXP *item;
|
320
|
+
uint32_t flags; /* Various flags */
|
321
|
+
int tag; /* tag, not used if no tagging */
|
322
|
+
unsigned long offset; /* Offset of this field in structure */
|
323
|
+
const char *field_name; /* Field name */
|
324
|
+
ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */
|
351
325
|
};
|
352
326
|
|
353
327
|
/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */
|
@@ -361,33 +335,33 @@ typedef struct ASN1_ADB_st ASN1_ADB;
|
|
361
335
|
typedef struct asn1_must_be_null_st ASN1_MUST_BE_NULL;
|
362
336
|
|
363
337
|
struct ASN1_ADB_st {
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
338
|
+
uint32_t flags; /* Various flags */
|
339
|
+
unsigned long offset; /* Offset of selector field */
|
340
|
+
ASN1_MUST_BE_NULL *unused;
|
341
|
+
const ASN1_ADB_TABLE *tbl; /* Table of possible types */
|
342
|
+
long tblcount; /* Number of entries in tbl */
|
343
|
+
const ASN1_TEMPLATE *default_tt; /* Type to use if no match */
|
344
|
+
const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */
|
371
345
|
};
|
372
346
|
|
373
347
|
struct ASN1_ADB_TABLE_st {
|
374
|
-
|
375
|
-
|
348
|
+
int value; /* NID for an object */
|
349
|
+
const ASN1_TEMPLATE tt; /* item for this value */
|
376
350
|
};
|
377
351
|
|
378
352
|
/* template flags */
|
379
353
|
|
380
354
|
/* Field is optional */
|
381
|
-
#define ASN1_TFLG_OPTIONAL
|
355
|
+
#define ASN1_TFLG_OPTIONAL (0x1)
|
382
356
|
|
383
357
|
/* Field is a SET OF */
|
384
|
-
#define ASN1_TFLG_SET_OF
|
358
|
+
#define ASN1_TFLG_SET_OF (0x1 << 1)
|
385
359
|
|
386
360
|
/* Field is a SEQUENCE OF */
|
387
|
-
#define ASN1_TFLG_SEQUENCE_OF
|
361
|
+
#define ASN1_TFLG_SEQUENCE_OF (0x2 << 1)
|
388
362
|
|
389
363
|
/* Mask for SET OF or SEQUENCE OF */
|
390
|
-
#define ASN1_TFLG_SK_MASK
|
364
|
+
#define ASN1_TFLG_SK_MASK (0x3 << 1)
|
391
365
|
|
392
366
|
/* These flags mean the tag should be taken from the
|
393
367
|
* tag field. If EXPLICIT then the underlying type
|
@@ -395,36 +369,36 @@ struct ASN1_ADB_TABLE_st {
|
|
395
369
|
*/
|
396
370
|
|
397
371
|
/* IMPLICIT tagging */
|
398
|
-
#define ASN1_TFLG_IMPTAG
|
372
|
+
#define ASN1_TFLG_IMPTAG (0x1 << 3)
|
399
373
|
|
400
374
|
|
401
375
|
/* EXPLICIT tagging, inner tag from underlying type */
|
402
|
-
#define ASN1_TFLG_EXPTAG
|
376
|
+
#define ASN1_TFLG_EXPTAG (0x2 << 3)
|
403
377
|
|
404
|
-
#define ASN1_TFLG_TAG_MASK
|
378
|
+
#define ASN1_TFLG_TAG_MASK (0x3 << 3)
|
405
379
|
|
406
380
|
/* context specific IMPLICIT */
|
407
|
-
#define ASN1_TFLG_IMPLICIT
|
381
|
+
#define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG | ASN1_TFLG_CONTEXT
|
408
382
|
|
409
383
|
/* context specific EXPLICIT */
|
410
|
-
#define ASN1_TFLG_EXPLICIT
|
384
|
+
#define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG | ASN1_TFLG_CONTEXT
|
411
385
|
|
412
386
|
/* If tagging is in force these determine the
|
413
387
|
* type of tag to use. Otherwise the tag is
|
414
|
-
* determined by the underlying type. These
|
388
|
+
* determined by the underlying type. These
|
415
389
|
* values reflect the actual octet format.
|
416
390
|
*/
|
417
391
|
|
418
|
-
/* Universal tag */
|
419
|
-
#define ASN1_TFLG_UNIVERSAL
|
420
|
-
/* Application tag */
|
421
|
-
#define ASN1_TFLG_APPLICATION
|
422
|
-
/* Context specific tag */
|
423
|
-
#define ASN1_TFLG_CONTEXT
|
424
|
-
/* Private tag */
|
425
|
-
#define ASN1_TFLG_PRIVATE
|
392
|
+
/* Universal tag */
|
393
|
+
#define ASN1_TFLG_UNIVERSAL (0x0 << 6)
|
394
|
+
/* Application tag */
|
395
|
+
#define ASN1_TFLG_APPLICATION (0x1 << 6)
|
396
|
+
/* Context specific tag */
|
397
|
+
#define ASN1_TFLG_CONTEXT (0x2 << 6)
|
398
|
+
/* Private tag */
|
399
|
+
#define ASN1_TFLG_PRIVATE (0x3 << 6)
|
426
400
|
|
427
|
-
#define ASN1_TFLG_TAG_CLASS
|
401
|
+
#define ASN1_TFLG_TAG_CLASS (0x3 << 6)
|
428
402
|
|
429
403
|
/* These are for ANY DEFINED BY type. In this case
|
430
404
|
* the 'item' field points to an ASN1_ADB structure
|
@@ -432,20 +406,21 @@ struct ASN1_ADB_TABLE_st {
|
|
432
406
|
* relevant type
|
433
407
|
*/
|
434
408
|
|
435
|
-
#define ASN1_TFLG_ADB_MASK
|
409
|
+
#define ASN1_TFLG_ADB_MASK (0x3 << 8)
|
436
410
|
|
437
|
-
#define ASN1_TFLG_ADB_OID
|
411
|
+
#define ASN1_TFLG_ADB_OID (0x1 << 8)
|
438
412
|
|
439
413
|
/* This is the actual ASN1 item itself */
|
440
414
|
|
441
415
|
struct ASN1_ITEM_st {
|
442
|
-
char itype;
|
443
|
-
int utype;
|
444
|
-
const ASN1_TEMPLATE
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
416
|
+
char itype; /* The item type, primitive, SEQUENCE, CHOICE or extern */
|
417
|
+
int utype; /* underlying type */
|
418
|
+
const ASN1_TEMPLATE
|
419
|
+
*templates; /* If SEQUENCE or CHOICE this contains the contents */
|
420
|
+
long tcount; /* Number of templates if SEQUENCE or CHOICE */
|
421
|
+
const void *funcs; /* functions that handle this type */
|
422
|
+
long size; /* Structure size (usually)*/
|
423
|
+
const char *sname; /* Structure name */
|
449
424
|
};
|
450
425
|
|
451
426
|
/* These are values for the itype field and
|
@@ -454,7 +429,7 @@ const char *sname; /* Structure name */
|
|
454
429
|
* For PRIMITIVE types the underlying type
|
455
430
|
* determines the behaviour if items is NULL.
|
456
431
|
*
|
457
|
-
* Otherwise templates must contain a single
|
432
|
+
* Otherwise templates must contain a single
|
458
433
|
* template and the type is treated in the
|
459
434
|
* same way as the type specified in the template.
|
460
435
|
*
|
@@ -468,7 +443,7 @@ const char *sname; /* Structure name */
|
|
468
443
|
* selector.
|
469
444
|
*
|
470
445
|
* The 'funcs' field is used for application
|
471
|
-
* specific functions.
|
446
|
+
* specific functions.
|
472
447
|
*
|
473
448
|
* The EXTERN type uses a new style d2i/i2d.
|
474
449
|
* The new style should be used where possible
|
@@ -484,15 +459,15 @@ const char *sname; /* Structure name */
|
|
484
459
|
*
|
485
460
|
*/
|
486
461
|
|
487
|
-
#define ASN1_ITYPE_PRIMITIVE
|
462
|
+
#define ASN1_ITYPE_PRIMITIVE 0x0
|
488
463
|
|
489
|
-
#define ASN1_ITYPE_SEQUENCE
|
464
|
+
#define ASN1_ITYPE_SEQUENCE 0x1
|
490
465
|
|
491
|
-
#define ASN1_ITYPE_CHOICE
|
466
|
+
#define ASN1_ITYPE_CHOICE 0x2
|
492
467
|
|
493
|
-
#define ASN1_ITYPE_EXTERN
|
468
|
+
#define ASN1_ITYPE_EXTERN 0x4
|
494
469
|
|
495
|
-
#define ASN1_ITYPE_MSTRING
|
470
|
+
#define ASN1_ITYPE_MSTRING 0x5
|
496
471
|
|
497
472
|
/* Deprecated tag and length cache */
|
498
473
|
struct ASN1_TLC_st;
|
@@ -507,7 +482,7 @@ struct ASN1_TLC_st;
|
|
507
482
|
* used. This is most useful where the supplied routines
|
508
483
|
* *almost* do the right thing but need some extra help
|
509
484
|
* at a few points. If the callback returns zero then
|
510
|
-
* it is assumed a fatal error has occurred and the
|
485
|
+
* it is assumed a fatal error has occurred and the
|
511
486
|
* main operation should be abandoned.
|
512
487
|
*
|
513
488
|
* If major changes in the default behaviour are required
|
@@ -515,142 +490,129 @@ struct ASN1_TLC_st;
|
|
515
490
|
*/
|
516
491
|
|
517
492
|
typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it,
|
518
|
-
|
493
|
+
void *exarg);
|
519
494
|
|
520
495
|
typedef struct ASN1_AUX_st {
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
496
|
+
void *app_data;
|
497
|
+
uint32_t flags;
|
498
|
+
int ref_offset; /* Offset of reference value */
|
499
|
+
ASN1_aux_cb *asn1_cb;
|
500
|
+
int enc_offset; /* Offset of ASN1_ENCODING structure */
|
526
501
|
} ASN1_AUX;
|
527
502
|
|
528
503
|
/* Flags in ASN1_AUX */
|
529
504
|
|
530
505
|
/* Use a reference count */
|
531
|
-
#define ASN1_AFLG_REFCOUNT
|
506
|
+
#define ASN1_AFLG_REFCOUNT 1
|
532
507
|
/* Save the encoding of structure (useful for signatures) */
|
533
|
-
#define ASN1_AFLG_ENCODING
|
508
|
+
#define ASN1_AFLG_ENCODING 2
|
534
509
|
|
535
510
|
/* operation values for asn1_cb */
|
536
511
|
|
537
|
-
#define ASN1_OP_NEW_PRE
|
538
|
-
#define ASN1_OP_NEW_POST
|
539
|
-
#define ASN1_OP_FREE_PRE
|
540
|
-
#define ASN1_OP_FREE_POST
|
541
|
-
#define ASN1_OP_D2I_PRE
|
542
|
-
#define ASN1_OP_D2I_POST
|
512
|
+
#define ASN1_OP_NEW_PRE 0
|
513
|
+
#define ASN1_OP_NEW_POST 1
|
514
|
+
#define ASN1_OP_FREE_PRE 2
|
515
|
+
#define ASN1_OP_FREE_POST 3
|
516
|
+
#define ASN1_OP_D2I_PRE 4
|
517
|
+
#define ASN1_OP_D2I_POST 5
|
543
518
|
/* ASN1_OP_I2D_PRE and ASN1_OP_I2D_POST are not supported. We leave the
|
544
519
|
* constants undefined so code relying on them does not accidentally compile. */
|
545
|
-
#define ASN1_OP_PRINT_PRE
|
546
|
-
#define ASN1_OP_PRINT_POST
|
547
|
-
#define ASN1_OP_STREAM_PRE
|
548
|
-
#define ASN1_OP_STREAM_POST
|
549
|
-
#define ASN1_OP_DETACHED_PRE
|
550
|
-
#define ASN1_OP_DETACHED_POST
|
520
|
+
#define ASN1_OP_PRINT_PRE 8
|
521
|
+
#define ASN1_OP_PRINT_POST 9
|
522
|
+
#define ASN1_OP_STREAM_PRE 10
|
523
|
+
#define ASN1_OP_STREAM_POST 11
|
524
|
+
#define ASN1_OP_DETACHED_PRE 12
|
525
|
+
#define ASN1_OP_DETACHED_POST 13
|
551
526
|
|
552
527
|
/* Macro to implement a primitive type */
|
553
528
|
#define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0)
|
554
|
-
#define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex)
|
555
|
-
|
556
|
-
|
557
|
-
ASN1_ITEM_end(itname)
|
529
|
+
#define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \
|
530
|
+
ASN1_ITEM_start(itname) ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, \
|
531
|
+
#itname ASN1_ITEM_end(itname)
|
558
532
|
|
559
533
|
/* Macro to implement a multi string type */
|
560
|
-
#define IMPLEMENT_ASN1_MSTRING(itname, mask)
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
ASN1_ITYPE_EXTERN, \
|
568
|
-
tag, \
|
569
|
-
NULL, \
|
570
|
-
0, \
|
571
|
-
&fptrs, \
|
572
|
-
0, \
|
573
|
-
#sname \
|
574
|
-
ASN1_ITEM_end(sname)
|
534
|
+
#define IMPLEMENT_ASN1_MSTRING(itname, mask) \
|
535
|
+
ASN1_ITEM_start(itname) ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, \
|
536
|
+
sizeof(ASN1_STRING), #itname ASN1_ITEM_end(itname)
|
537
|
+
|
538
|
+
#define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \
|
539
|
+
ASN1_ITEM_start(sname) ASN1_ITYPE_EXTERN, tag, NULL, 0, &fptrs, 0, \
|
540
|
+
#sname ASN1_ITEM_end(sname)
|
575
541
|
|
576
542
|
/* Macro to implement standard functions in terms of ASN1_ITEM structures */
|
577
543
|
|
578
|
-
#define IMPLEMENT_ASN1_FUNCTIONS(stname)
|
544
|
+
#define IMPLEMENT_ASN1_FUNCTIONS(stname) \
|
545
|
+
IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname)
|
579
546
|
|
580
|
-
#define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname)
|
547
|
+
#define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) \
|
548
|
+
IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname)
|
581
549
|
|
582
550
|
#define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \
|
583
|
-
|
551
|
+
IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname)
|
584
552
|
|
585
553
|
#define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \
|
586
|
-
|
554
|
+
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname)
|
587
555
|
|
588
556
|
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \
|
589
|
-
|
557
|
+
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname)
|
590
558
|
|
591
559
|
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
|
599
|
-
}
|
560
|
+
pre stname *fname##_new(void) { \
|
561
|
+
return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \
|
562
|
+
} \
|
563
|
+
pre void fname##_free(stname *a) { \
|
564
|
+
ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
|
565
|
+
}
|
600
566
|
|
601
567
|
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
{ \
|
622
|
-
return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\
|
623
|
-
}
|
568
|
+
stname *fname##_new(void) { \
|
569
|
+
return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \
|
570
|
+
} \
|
571
|
+
void fname##_free(stname *a) { \
|
572
|
+
ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
|
573
|
+
}
|
574
|
+
|
575
|
+
#define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \
|
576
|
+
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \
|
577
|
+
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)
|
578
|
+
|
579
|
+
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \
|
580
|
+
stname *d2i_##fname(stname **a, const unsigned char **in, long len) { \
|
581
|
+
return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \
|
582
|
+
ASN1_ITEM_rptr(itname)); \
|
583
|
+
} \
|
584
|
+
int i2d_##fname(stname *a, unsigned char **out) { \
|
585
|
+
return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname)); \
|
586
|
+
}
|
624
587
|
|
625
588
|
/* This includes evil casts to remove const: they will go away when full
|
626
589
|
* ASN1 constification is done.
|
627
590
|
*/
|
628
591
|
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \
|
592
|
+
stname *d2i_##fname(stname **a, const unsigned char **in, long len) { \
|
593
|
+
return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \
|
594
|
+
ASN1_ITEM_rptr(itname)); \
|
595
|
+
} \
|
596
|
+
int i2d_##fname(const stname *a, unsigned char **out) { \
|
597
|
+
return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname)); \
|
598
|
+
}
|
599
|
+
|
600
|
+
#define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \
|
601
|
+
stname *stname##_dup(stname *x) { \
|
602
|
+
return (stname *)ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \
|
641
603
|
}
|
642
604
|
|
643
|
-
#define IMPLEMENT_ASN1_DUP_FUNCTION_const(stname)
|
644
|
-
stname *stname##_dup(const stname *x) {
|
645
|
-
return ASN1_item_dup(ASN1_ITEM_rptr(stname), (void *)x); \
|
605
|
+
#define IMPLEMENT_ASN1_DUP_FUNCTION_const(stname) \
|
606
|
+
stname *stname##_dup(const stname *x) { \
|
607
|
+
return (stname *)ASN1_item_dup(ASN1_ITEM_rptr(stname), (void *)x); \
|
646
608
|
}
|
647
609
|
|
648
610
|
#define IMPLEMENT_ASN1_FUNCTIONS_const(name) \
|
649
|
-
|
611
|
+
IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name)
|
650
612
|
|
651
|
-
#define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname)
|
652
|
-
|
653
|
-
|
613
|
+
#define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \
|
614
|
+
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \
|
615
|
+
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)
|
654
616
|
|
655
617
|
/* external definitions for primitive types */
|
656
618
|
|