grpc 1.24.0 → 1.25.0
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 +306 -243
- data/etc/roots.pem +0 -100
- data/include/grpc/grpc_security.h +44 -18
- data/include/grpc/impl/codegen/grpc_types.h +15 -0
- data/include/grpc/impl/codegen/port_platform.h +27 -11
- data/include/grpc/impl/codegen/sync_generic.h +1 -1
- data/src/boringssl/err_data.c +695 -650
- data/src/core/ext/filters/client_channel/client_channel.cc +257 -179
- data/src/core/ext/filters/client_channel/client_channel.h +24 -0
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +2 -3
- data/src/core/ext/filters/client_channel/client_channel_factory.h +1 -5
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +18 -45
- data/src/core/ext/filters/client_channel/health/health_check_client.h +5 -13
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +65 -55
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -14
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +113 -36
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +14 -19
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +36 -13
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +3 -10
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +814 -1589
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +2 -5
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +3 -6
- data/src/core/ext/filters/client_channel/resolver.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver.h +8 -16
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +25 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +46 -12
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +10 -17
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +7 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +111 -44
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +22 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +29 -10
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +27 -36
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +7 -10
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +60 -16
- data/src/core/ext/filters/client_channel/resolver_factory.h +4 -8
- data/src/core/ext/filters/client_channel/resolver_registry.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +7 -10
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +7 -8
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +1 -1
- data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -5
- data/src/core/ext/filters/client_channel/retry_throttle.h +1 -4
- data/src/core/ext/filters/client_channel/service_config.h +8 -8
- data/src/core/ext/filters/client_channel/subchannel.cc +53 -86
- data/src/core/ext/filters/client_channel/subchannel.h +7 -9
- data/src/core/ext/filters/client_channel/subchannel_interface.h +9 -13
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +3 -6
- data/src/core/ext/filters/client_channel/{lb_policy/xds/xds_load_balancer_api.cc → xds/xds_api.cc} +169 -52
- data/src/core/ext/filters/client_channel/xds/xds_api.h +171 -0
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +450 -0
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +99 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_channel.h +8 -6
- data/src/core/ext/filters/client_channel/xds/xds_channel_args.h +26 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_channel_secure.cc +28 -11
- data/src/core/ext/filters/client_channel/xds/xds_client.cc +1413 -0
- data/src/core/ext/filters/client_channel/xds/xds_client.h +221 -0
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_client_stats.cc +1 -5
- data/src/core/ext/filters/client_channel/{lb_policy/xds → xds}/xds_client_stats.h +3 -4
- data/src/core/ext/filters/deadline/deadline_filter.cc +20 -20
- data/src/core/ext/filters/http/client/http_client_filter.cc +15 -15
- data/src/core/ext/filters/http/client_authority_filter.cc +14 -14
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +12 -12
- data/src/core/ext/filters/max_age/max_age_filter.cc +59 -50
- data/src/core/ext/filters/message_size/message_size_filter.cc +18 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +233 -175
- data/src/core/ext/transport/chttp2/transport/flow_control.h +21 -24
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +253 -163
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +24 -12
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/internal.h +13 -15
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -0
- data/src/core/ext/transport/inproc/inproc_transport.cc +20 -13
- data/src/core/lib/channel/channel_args.cc +16 -0
- data/src/core/lib/channel/channel_args.h +22 -0
- data/src/core/lib/channel/channelz.cc +5 -6
- data/src/core/lib/channel/channelz.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +20 -20
- data/src/core/lib/channel/handshaker.h +3 -4
- data/src/core/lib/channel/handshaker_factory.h +1 -3
- data/src/core/lib/debug/trace.h +3 -2
- data/src/core/lib/gprpp/arena.cc +3 -3
- data/src/core/lib/gprpp/arena.h +2 -3
- data/src/core/lib/gprpp/inlined_vector.h +9 -0
- data/src/core/lib/gprpp/map.h +3 -501
- data/src/core/lib/gprpp/memory.h +45 -41
- data/src/core/lib/gprpp/mpscq.cc +108 -0
- data/src/core/lib/gprpp/mpscq.h +98 -0
- data/src/core/lib/gprpp/orphanable.h +6 -11
- data/src/core/lib/gprpp/ref_counted.h +25 -19
- data/src/core/lib/gprpp/set.h +33 -0
- data/src/core/lib/gprpp/thd.h +2 -4
- data/src/core/lib/http/httpcli.cc +1 -1
- data/src/core/lib/http/httpcli_security_connector.cc +15 -11
- data/src/core/lib/http/parser.cc +1 -1
- data/src/core/lib/iomgr/buffer_list.cc +4 -5
- data/src/core/lib/iomgr/buffer_list.h +5 -6
- data/src/core/lib/iomgr/call_combiner.cc +4 -5
- data/src/core/lib/iomgr/call_combiner.h +2 -2
- data/src/core/lib/iomgr/cfstream_handle.h +3 -5
- data/src/core/lib/iomgr/closure.h +8 -3
- data/src/core/lib/iomgr/combiner.cc +45 -82
- data/src/core/lib/iomgr/combiner.h +32 -8
- data/src/core/lib/iomgr/endpoint_cfstream.cc +5 -3
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -15
- data/src/core/lib/iomgr/ev_poll_posix.cc +3 -1
- data/src/core/lib/iomgr/exec_ctx.h +4 -3
- data/src/core/lib/iomgr/executor.cc +4 -2
- data/src/core/lib/iomgr/executor.h +3 -0
- data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -6
- data/src/core/lib/iomgr/executor/threadpool.cc +1 -2
- data/src/core/lib/iomgr/executor/threadpool.h +7 -11
- data/src/core/lib/iomgr/resource_quota.cc +55 -51
- data/src/core/lib/iomgr/resource_quota.h +13 -9
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +13 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +4 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -11
- data/src/core/lib/iomgr/tcp_custom.cc +9 -7
- data/src/core/lib/iomgr/tcp_posix.cc +20 -16
- data/src/core/lib/iomgr/tcp_server.h +1 -4
- data/src/core/lib/iomgr/tcp_server_custom.cc +5 -5
- data/src/core/lib/iomgr/tcp_server_posix.cc +1 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +2 -11
- data/src/core/lib/iomgr/timer_custom.cc +2 -2
- data/src/core/lib/iomgr/udp_server.cc +3 -2
- data/src/core/lib/iomgr/udp_server.h +6 -12
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_string.cc +2 -2
- data/src/core/lib/profiling/basic_timers.cc +2 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -2
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -1
- data/src/core/lib/security/credentials/credentials.h +4 -20
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +4 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +64 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +9 -7
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +2 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/security_connector.cc +1 -0
- data/src/core/lib/security/security_connector/security_connector.h +19 -17
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +8 -5
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
- data/src/core/lib/security/security_connector/tls/spiffe_security_connector.cc +14 -6
- data/src/core/lib/security/security_connector/tls/spiffe_security_connector.h +4 -2
- data/src/core/lib/security/transport/client_auth_filter.cc +17 -17
- data/src/core/lib/security/transport/security_handshaker.cc +29 -13
- data/src/core/lib/security/transport/security_handshaker.h +4 -2
- data/src/core/lib/security/transport/server_auth_filter.cc +14 -14
- data/src/core/lib/slice/slice.cc +2 -10
- data/src/core/lib/slice/slice_hash_table.h +4 -6
- data/src/core/lib/slice/slice_intern.cc +42 -39
- data/src/core/lib/slice/slice_internal.h +3 -3
- data/src/core/lib/slice/slice_utils.h +21 -4
- data/src/core/lib/slice/slice_weak_hash_table.h +4 -6
- data/src/core/lib/surface/call.cc +3 -3
- data/src/core/lib/surface/channel.cc +7 -0
- data/src/core/lib/surface/completion_queue.cc +12 -11
- data/src/core/lib/surface/completion_queue.h +4 -2
- data/src/core/lib/surface/init.cc +1 -0
- data/src/core/lib/surface/lame_client.cc +33 -18
- data/src/core/lib/surface/server.cc +77 -76
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/byte_stream.h +3 -7
- data/src/core/lib/transport/connectivity_state.cc +112 -98
- data/src/core/lib/transport/connectivity_state.h +100 -50
- data/src/core/lib/transport/static_metadata.cc +276 -288
- data/src/core/lib/transport/static_metadata.h +73 -76
- data/src/core/lib/transport/status_conversion.cc +1 -1
- data/src/core/lib/transport/status_metadata.cc +1 -1
- data/src/core/lib/transport/transport.cc +2 -2
- data/src/core/lib/transport/transport.h +12 -4
- data/src/core/lib/transport/transport_op_string.cc +14 -11
- data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +5 -5
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -2
- data/src/core/tsi/fake_transport_security.cc +7 -5
- data/src/core/tsi/grpc_shadow_boringssl.h +2918 -2627
- data/src/core/tsi/local_transport_security.cc +8 -6
- data/src/core/tsi/ssl/session_cache/ssl_session.h +1 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +7 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -6
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +1 -2
- data/src/core/tsi/ssl_transport_security.cc +12 -12
- data/src/core/tsi/ssl_transport_security.h +2 -2
- data/src/core/tsi/transport_security_grpc.cc +7 -0
- data/src/core/tsi/transport_security_grpc.h +6 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -0
- data/src/ruby/ext/grpc/rb_call.c +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +1 -1
- data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/google_rpc_status_utils_spec.rb +2 -2
- data/third_party/boringssl/crypto/asn1/a_bool.c +18 -5
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +17 -221
- data/third_party/boringssl/crypto/asn1/a_dup.c +0 -24
- data/third_party/boringssl/crypto/asn1/a_enum.c +2 -2
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +10 -72
- data/third_party/boringssl/crypto/asn1/a_int.c +12 -71
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +110 -216
- data/third_party/boringssl/crypto/asn1/a_object.c +16 -5
- data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -1
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +3 -1
- data/third_party/boringssl/crypto/base64/base64.c +2 -2
- data/third_party/boringssl/crypto/bio/bio.c +73 -9
- data/third_party/boringssl/crypto/bio/connect.c +4 -0
- data/third_party/boringssl/crypto/bio/fd.c +4 -0
- data/third_party/boringssl/crypto/bio/file.c +5 -2
- data/third_party/boringssl/crypto/bio/socket.c +4 -0
- data/third_party/boringssl/crypto/bio/socket_helper.c +4 -0
- data/third_party/boringssl/crypto/bn_extra/convert.c +11 -7
- data/third_party/boringssl/crypto/bytestring/ber.c +8 -4
- data/third_party/boringssl/crypto/bytestring/cbb.c +19 -7
- data/third_party/boringssl/crypto/bytestring/cbs.c +28 -15
- data/third_party/boringssl/crypto/bytestring/internal.h +28 -7
- data/third_party/boringssl/crypto/bytestring/unicode.c +155 -0
- data/third_party/boringssl/crypto/chacha/chacha.c +36 -19
- data/third_party/boringssl/crypto/chacha/internal.h +45 -0
- data/third_party/boringssl/crypto/cipher_extra/cipher_extra.c +29 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesccm.c +269 -25
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +16 -14
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +54 -38
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +133 -41
- data/third_party/boringssl/crypto/cipher_extra/e_tls.c +23 -15
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +24 -15
- data/third_party/boringssl/crypto/cmac/cmac.c +62 -25
- data/third_party/boringssl/crypto/conf/conf.c +7 -0
- data/third_party/boringssl/crypto/cpu-arm-linux.c +4 -148
- data/third_party/boringssl/crypto/cpu-arm-linux.h +201 -0
- data/third_party/boringssl/crypto/cpu-intel.c +45 -51
- data/third_party/boringssl/crypto/crypto.c +39 -22
- data/third_party/boringssl/crypto/curve25519/spake25519.c +1 -1
- data/third_party/boringssl/crypto/dsa/dsa.c +77 -53
- data/third_party/boringssl/crypto/ec_extra/ec_asn1.c +20 -8
- data/third_party/boringssl/crypto/ec_extra/ec_derive.c +96 -0
- data/third_party/boringssl/crypto/{ecdh/ecdh.c → ecdh_extra/ecdh_extra.c} +20 -58
- data/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c +1 -9
- data/third_party/boringssl/crypto/engine/engine.c +2 -1
- data/third_party/boringssl/crypto/err/err.c +2 -0
- data/third_party/boringssl/crypto/err/internal.h +2 -2
- data/third_party/boringssl/crypto/evp/evp.c +89 -8
- data/third_party/boringssl/crypto/evp/evp_asn1.c +56 -5
- data/third_party/boringssl/crypto/evp/evp_ctx.c +52 -14
- data/third_party/boringssl/crypto/evp/internal.h +18 -1
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +5 -0
- data/third_party/boringssl/crypto/evp/p_ec.c +51 -3
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +6 -7
- data/third_party/boringssl/crypto/evp/p_ed25519.c +36 -3
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +76 -45
- data/third_party/boringssl/crypto/evp/p_rsa.c +3 -1
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +5 -0
- data/third_party/boringssl/crypto/evp/p_x25519.c +110 -0
- data/third_party/boringssl/crypto/evp/p_x25519_asn1.c +249 -0
- data/third_party/boringssl/crypto/evp/scrypt.c +6 -2
- data/third_party/boringssl/crypto/fipsmodule/aes/aes.c +34 -274
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +161 -21
- data/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.c +111 -13
- data/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.c +17 -21
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +119 -7
- data/third_party/boringssl/crypto/fipsmodule/bn/bn.c +19 -2
- data/third_party/boringssl/crypto/fipsmodule/bn/cmp.c +2 -2
- data/third_party/boringssl/crypto/fipsmodule/bn/ctx.c +93 -160
- data/third_party/boringssl/crypto/fipsmodule/bn/div.c +48 -57
- data/third_party/boringssl/crypto/fipsmodule/bn/div_extra.c +87 -0
- data/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c +143 -211
- data/third_party/boringssl/crypto/fipsmodule/bn/gcd.c +0 -305
- data/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.c +325 -0
- data/third_party/boringssl/crypto/fipsmodule/bn/internal.h +168 -50
- data/third_party/boringssl/crypto/fipsmodule/bn/montgomery.c +68 -92
- data/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.c +7 -6
- data/third_party/boringssl/crypto/fipsmodule/bn/mul.c +11 -14
- data/third_party/boringssl/crypto/fipsmodule/bn/prime.c +358 -443
- data/third_party/boringssl/crypto/fipsmodule/bn/random.c +25 -35
- data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.c +20 -25
- data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +76 -5
- data/third_party/boringssl/crypto/fipsmodule/bn/shift.c +14 -14
- data/third_party/boringssl/crypto/fipsmodule/cipher/cipher.c +7 -2
- data/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.c +383 -516
- data/third_party/boringssl/crypto/fipsmodule/cipher/e_des.c +4 -0
- data/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +3 -4
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +3 -2
- data/third_party/boringssl/crypto/fipsmodule/digest/digest.c +32 -17
- data/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +3 -3
- data/third_party/boringssl/crypto/fipsmodule/ec/ec.c +228 -122
- data/third_party/boringssl/crypto/fipsmodule/ec/ec_key.c +34 -8
- data/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c +311 -98
- data/third_party/boringssl/crypto/fipsmodule/ec/felem.c +82 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/internal.h +263 -97
- data/third_party/boringssl/crypto/fipsmodule/ec/oct.c +22 -59
- data/third_party/boringssl/crypto/fipsmodule/ec/p224-64.c +317 -234
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h +9473 -9475
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c +313 -109
- data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.h +36 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/scalar.c +96 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/simple.c +126 -792
- data/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.c +84 -0
- data/third_party/boringssl/crypto/fipsmodule/ec/util.c +163 -12
- data/third_party/boringssl/crypto/fipsmodule/ec/wnaf.c +84 -211
- data/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.c +122 -0
- data/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c +60 -205
- data/third_party/boringssl/crypto/fipsmodule/fips_shared_support.c +32 -0
- data/third_party/boringssl/crypto/fipsmodule/is_fips.c +2 -0
- data/third_party/boringssl/crypto/fipsmodule/md4/md4.c +3 -1
- data/third_party/boringssl/crypto/fipsmodule/md5/internal.h +37 -0
- data/third_party/boringssl/crypto/fipsmodule/md5/md5.c +11 -8
- data/third_party/boringssl/crypto/fipsmodule/modes/cbc.c +35 -79
- data/third_party/boringssl/crypto/fipsmodule/modes/cfb.c +7 -39
- data/third_party/boringssl/crypto/fipsmodule/modes/ctr.c +7 -27
- data/third_party/boringssl/crypto/fipsmodule/modes/gcm.c +123 -309
- data/third_party/boringssl/crypto/fipsmodule/modes/internal.h +189 -126
- data/third_party/boringssl/crypto/fipsmodule/modes/ofb.c +3 -2
- data/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.c +2 -2
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +35 -0
- data/third_party/boringssl/crypto/fipsmodule/rand/rand.c +24 -19
- data/third_party/boringssl/crypto/fipsmodule/rand/urandom.c +256 -77
- data/third_party/boringssl/crypto/fipsmodule/rsa/padding.c +10 -7
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa.c +5 -1
- data/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c +131 -14
- data/third_party/boringssl/crypto/fipsmodule/self_check/self_check.c +83 -10
- data/third_party/boringssl/crypto/fipsmodule/sha/internal.h +53 -0
- data/third_party/boringssl/crypto/fipsmodule/sha/sha1.c +9 -13
- data/third_party/boringssl/crypto/fipsmodule/sha/sha256.c +18 -12
- data/third_party/boringssl/crypto/fipsmodule/sha/sha512.c +95 -168
- data/third_party/boringssl/crypto/hrss/hrss.c +2201 -0
- data/third_party/boringssl/crypto/hrss/internal.h +62 -0
- data/third_party/boringssl/crypto/internal.h +95 -20
- data/third_party/boringssl/crypto/lhash/lhash.c +45 -33
- data/third_party/boringssl/crypto/mem.c +39 -2
- data/third_party/boringssl/crypto/obj/obj.c +4 -4
- data/third_party/boringssl/crypto/obj/obj_dat.h +6181 -875
- data/third_party/boringssl/crypto/pem/pem_all.c +2 -3
- data/third_party/boringssl/crypto/pem/pem_info.c +144 -162
- data/third_party/boringssl/crypto/pem/pem_lib.c +53 -52
- data/third_party/boringssl/crypto/pem/pem_pkey.c +13 -21
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +15 -22
- data/third_party/boringssl/crypto/pkcs7/pkcs7_x509.c +168 -16
- data/third_party/boringssl/crypto/pkcs8/internal.h +11 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +24 -15
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +42 -25
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +559 -43
- data/third_party/boringssl/crypto/pool/internal.h +1 -1
- data/third_party/boringssl/crypto/pool/pool.c +21 -0
- data/third_party/boringssl/crypto/rand_extra/deterministic.c +8 -0
- data/third_party/boringssl/crypto/rand_extra/fuchsia.c +1 -14
- data/third_party/boringssl/crypto/refcount_lock.c +2 -2
- data/third_party/boringssl/crypto/rsa_extra/rsa_print.c +22 -0
- data/third_party/boringssl/crypto/siphash/siphash.c +80 -0
- data/third_party/boringssl/crypto/stack/stack.c +83 -32
- data/third_party/boringssl/crypto/thread_none.c +2 -2
- data/third_party/boringssl/crypto/thread_pthread.c +2 -2
- data/third_party/boringssl/crypto/thread_win.c +38 -19
- data/third_party/boringssl/crypto/x509/a_strex.c +22 -2
- data/third_party/boringssl/crypto/x509/asn1_gen.c +2 -1
- data/third_party/boringssl/crypto/x509/by_dir.c +7 -0
- data/third_party/boringssl/crypto/x509/by_file.c +12 -10
- data/third_party/boringssl/crypto/x509/t_crl.c +5 -8
- data/third_party/boringssl/crypto/x509/t_req.c +1 -3
- data/third_party/boringssl/crypto/x509/t_x509.c +5 -8
- data/third_party/boringssl/crypto/x509/x509_cmp.c +1 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +1 -1
- data/third_party/boringssl/crypto/x509/x509_lu.c +114 -5
- data/third_party/boringssl/crypto/x509/x509_req.c +20 -0
- data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_trs.c +1 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +4 -5
- data/third_party/boringssl/crypto/x509/x509_vfy.c +145 -138
- data/third_party/boringssl/crypto/x509/x509_vpm.c +2 -0
- data/third_party/boringssl/crypto/x509/x509cset.c +40 -0
- data/third_party/boringssl/crypto/x509/x509name.c +2 -3
- data/third_party/boringssl/crypto/x509/x_all.c +109 -210
- data/third_party/boringssl/crypto/x509/x_x509.c +6 -0
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +1 -3
- data/third_party/boringssl/crypto/x509v3/internal.h +56 -0
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -0
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -0
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +4 -2
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +5 -2
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +19 -13
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +3 -2
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +1 -6
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +1 -0
- data/third_party/boringssl/crypto/x509v3/v3_ocsp.c +68 -0
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +47 -69
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +5 -2
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +69 -25
- data/third_party/boringssl/include/openssl/aead.h +45 -19
- data/third_party/boringssl/include/openssl/aes.h +32 -7
- data/third_party/boringssl/include/openssl/asn1.h +7 -77
- data/third_party/boringssl/include/openssl/base.h +120 -6
- data/third_party/boringssl/include/openssl/base64.h +4 -1
- data/third_party/boringssl/include/openssl/bio.h +112 -81
- data/third_party/boringssl/include/openssl/blowfish.h +3 -3
- data/third_party/boringssl/include/openssl/bn.h +55 -29
- data/third_party/boringssl/include/openssl/buf.h +2 -2
- data/third_party/boringssl/include/openssl/bytestring.h +54 -32
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/cipher.h +46 -16
- data/third_party/boringssl/include/openssl/cmac.h +6 -2
- data/third_party/boringssl/include/openssl/conf.h +3 -6
- data/third_party/boringssl/include/openssl/cpu.h +25 -9
- data/third_party/boringssl/include/openssl/crypto.h +32 -10
- data/third_party/boringssl/include/openssl/curve25519.h +4 -4
- data/third_party/boringssl/include/openssl/dh.h +3 -2
- data/third_party/boringssl/include/openssl/digest.h +21 -7
- data/third_party/boringssl/include/openssl/dsa.h +8 -2
- data/third_party/boringssl/include/openssl/e_os2.h +18 -0
- data/third_party/boringssl/include/openssl/ec.h +25 -21
- data/third_party/boringssl/include/openssl/ec_key.h +36 -8
- data/third_party/boringssl/include/openssl/ecdh.h +17 -0
- data/third_party/boringssl/include/openssl/ecdsa.h +3 -3
- data/third_party/boringssl/include/openssl/engine.h +4 -4
- data/third_party/boringssl/include/openssl/err.h +3 -0
- data/third_party/boringssl/include/openssl/evp.h +199 -42
- data/third_party/boringssl/include/openssl/hmac.h +4 -4
- data/third_party/boringssl/include/openssl/hrss.h +100 -0
- data/third_party/boringssl/include/openssl/lhash.h +131 -23
- data/third_party/boringssl/include/openssl/md4.h +6 -4
- data/third_party/boringssl/include/openssl/md5.h +6 -4
- data/third_party/boringssl/include/openssl/mem.h +6 -2
- data/third_party/boringssl/include/openssl/nid.h +3 -0
- data/third_party/boringssl/include/openssl/obj.h +3 -0
- data/third_party/boringssl/include/openssl/pem.h +102 -64
- data/third_party/boringssl/include/openssl/pkcs7.h +136 -3
- data/third_party/boringssl/include/openssl/pkcs8.h +42 -3
- data/third_party/boringssl/include/openssl/pool.h +13 -2
- data/third_party/boringssl/include/openssl/ripemd.h +5 -4
- data/third_party/boringssl/include/openssl/rsa.h +46 -15
- data/third_party/boringssl/include/openssl/sha.h +40 -28
- data/third_party/boringssl/include/openssl/siphash.h +37 -0
- data/third_party/boringssl/include/openssl/span.h +17 -9
- data/third_party/boringssl/include/openssl/ssl.h +766 -393
- data/third_party/boringssl/include/openssl/ssl3.h +4 -3
- data/third_party/boringssl/include/openssl/stack.h +134 -77
- data/third_party/boringssl/include/openssl/thread.h +1 -1
- data/third_party/boringssl/include/openssl/tls1.h +25 -9
- data/third_party/boringssl/include/openssl/type_check.h +14 -15
- data/third_party/boringssl/include/openssl/x509.h +28 -3
- data/third_party/boringssl/include/openssl/x509_vfy.h +98 -32
- data/third_party/boringssl/include/openssl/x509v3.h +17 -13
- data/third_party/boringssl/ssl/d1_both.cc +9 -18
- data/third_party/boringssl/ssl/d1_lib.cc +4 -3
- data/third_party/boringssl/ssl/d1_pkt.cc +4 -4
- data/third_party/boringssl/ssl/d1_srtp.cc +15 -15
- data/third_party/boringssl/ssl/dtls_method.cc +0 -1
- data/third_party/boringssl/ssl/dtls_record.cc +28 -28
- data/third_party/boringssl/ssl/handoff.cc +295 -91
- data/third_party/boringssl/ssl/handshake.cc +133 -72
- data/third_party/boringssl/ssl/handshake_client.cc +218 -189
- data/third_party/boringssl/ssl/handshake_server.cc +399 -272
- data/third_party/boringssl/ssl/internal.h +1413 -928
- data/third_party/boringssl/ssl/s3_both.cc +175 -36
- data/third_party/boringssl/ssl/s3_lib.cc +9 -13
- data/third_party/boringssl/ssl/s3_pkt.cc +63 -29
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +55 -35
- data/third_party/boringssl/ssl/ssl_asn1.cc +57 -73
- data/third_party/boringssl/ssl/ssl_buffer.cc +13 -12
- data/third_party/boringssl/ssl/ssl_cert.cc +313 -210
- data/third_party/boringssl/ssl/ssl_cipher.cc +159 -221
- data/third_party/boringssl/ssl/ssl_file.cc +2 -0
- data/third_party/boringssl/ssl/ssl_key_share.cc +164 -19
- data/third_party/boringssl/ssl/ssl_lib.cc +847 -555
- data/third_party/boringssl/ssl/ssl_privkey.cc +441 -111
- data/third_party/boringssl/ssl/ssl_session.cc +230 -178
- data/third_party/boringssl/ssl/ssl_transcript.cc +21 -142
- data/third_party/boringssl/ssl/ssl_versions.cc +88 -93
- data/third_party/boringssl/ssl/ssl_x509.cc +279 -218
- data/third_party/boringssl/ssl/t1_enc.cc +5 -96
- data/third_party/boringssl/ssl/t1_lib.cc +931 -678
- data/third_party/boringssl/ssl/tls13_both.cc +251 -121
- data/third_party/boringssl/ssl/tls13_client.cc +129 -73
- data/third_party/boringssl/ssl/tls13_enc.cc +350 -282
- data/third_party/boringssl/ssl/tls13_server.cc +259 -192
- data/third_party/boringssl/ssl/tls_method.cc +26 -21
- data/third_party/boringssl/ssl/tls_record.cc +42 -47
- data/third_party/boringssl/third_party/fiat/curve25519.c +261 -1324
- data/third_party/boringssl/third_party/fiat/curve25519_32.h +911 -0
- data/third_party/boringssl/third_party/fiat/curve25519_64.h +559 -0
- data/third_party/boringssl/third_party/fiat/p256.c +238 -999
- data/third_party/boringssl/third_party/fiat/p256_32.h +3226 -0
- data/third_party/boringssl/third_party/fiat/p256_64.h +1217 -0
- data/third_party/upb/upb/port_def.inc +1 -1
- data/third_party/upb/upb/table.c +2 -1
- metadata +72 -44
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.h +0 -127
- data/src/core/lib/gpr/mpscq.cc +0 -117
- data/src/core/lib/gpr/mpscq.h +0 -88
- data/src/core/lib/gprpp/abstract.h +0 -47
- data/src/core/lib/gprpp/pair.h +0 -38
- data/third_party/boringssl/crypto/cipher_extra/e_ssl3.c +0 -460
- data/third_party/boringssl/crypto/fipsmodule/modes/ccm.c +0 -256
- data/third_party/boringssl/include/openssl/lhash_macros.h +0 -174
- data/third_party/boringssl/ssl/custom_extensions.cc +0 -265
@@ -63,6 +63,9 @@
|
|
63
63
|
#include <openssl/obj.h>
|
64
64
|
#include <openssl/x509v3.h>
|
65
65
|
|
66
|
+
#include "internal.h"
|
67
|
+
|
68
|
+
|
66
69
|
static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method,
|
67
70
|
X509V3_CTX *ctx, char *str);
|
68
71
|
const X509V3_EXT_METHOD v3_skey_id = {
|
@@ -76,7 +79,7 @@ const X509V3_EXT_METHOD v3_skey_id = {
|
|
76
79
|
|
77
80
|
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct)
|
78
81
|
{
|
79
|
-
return
|
82
|
+
return x509v3_bytes_to_hex(oct->data, oct->length);
|
80
83
|
}
|
81
84
|
|
82
85
|
ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
|
@@ -90,7 +93,7 @@ ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
|
|
90
93
|
return NULL;
|
91
94
|
}
|
92
95
|
|
93
|
-
if (!(oct->data =
|
96
|
+
if (!(oct->data = x509v3_hex_to_bytes(str, &length))) {
|
94
97
|
M_ASN1_OCTET_STRING_free(oct);
|
95
98
|
return NULL;
|
96
99
|
}
|
@@ -72,6 +72,7 @@
|
|
72
72
|
|
73
73
|
#include "../conf/internal.h"
|
74
74
|
#include "../internal.h"
|
75
|
+
#include "internal.h"
|
75
76
|
|
76
77
|
|
77
78
|
static char *strip_spaces(char *name);
|
@@ -446,7 +447,7 @@ static char *strip_spaces(char *name)
|
|
446
447
|
* on EBCDIC machines)
|
447
448
|
*/
|
448
449
|
|
449
|
-
char *
|
450
|
+
char *x509v3_bytes_to_hex(const unsigned char *buffer, long len)
|
450
451
|
{
|
451
452
|
char *tmp, *q;
|
452
453
|
const unsigned char *p;
|
@@ -469,11 +470,7 @@ char *hex_to_string(const unsigned char *buffer, long len)
|
|
469
470
|
return tmp;
|
470
471
|
}
|
471
472
|
|
472
|
-
|
473
|
-
* Give a string of hex digits convert to a buffer
|
474
|
-
*/
|
475
|
-
|
476
|
-
unsigned char *string_to_hex(const char *str, long *len)
|
473
|
+
unsigned char *x509v3_hex_to_bytes(const char *str, long *len)
|
477
474
|
{
|
478
475
|
unsigned char *hexbuf, *q;
|
479
476
|
unsigned char ch, cl, *p;
|
@@ -533,11 +530,7 @@ unsigned char *string_to_hex(const char *str, long *len)
|
|
533
530
|
|
534
531
|
}
|
535
532
|
|
536
|
-
|
537
|
-
* V2I name comparison function: returns zero if 'name' matches cmp or cmp.*
|
538
|
-
*/
|
539
|
-
|
540
|
-
int name_cmp(const char *name, const char *cmp)
|
533
|
+
int x509v3_name_cmp(const char *name, const char *cmp)
|
541
534
|
{
|
542
535
|
int len, ret;
|
543
536
|
char c;
|
@@ -650,6 +643,7 @@ static int append_ia5(STACK_OF(OPENSSL_STRING) **sk, ASN1_IA5STRING *email)
|
|
650
643
|
if (!*sk)
|
651
644
|
return 0;
|
652
645
|
/* Don't add duplicates */
|
646
|
+
sk_OPENSSL_STRING_sort(*sk);
|
653
647
|
if (sk_OPENSSL_STRING_find(*sk, NULL, (char *)email->data))
|
654
648
|
return 1;
|
655
649
|
emtmp = BUF_strdup((char *)email->data);
|
@@ -915,6 +909,53 @@ static int equal_wildcard(const unsigned char *pattern, size_t pattern_len,
|
|
915
909
|
subject, subject_len, flags);
|
916
910
|
}
|
917
911
|
|
912
|
+
int x509v3_looks_like_dns_name(const unsigned char *in, size_t len) {
|
913
|
+
/* This function is used as a heuristic for whether a common name is a
|
914
|
+
* hostname to be matched, or merely a decorative name to describe the
|
915
|
+
* subject. This heuristic must be applied to both name constraints and the
|
916
|
+
* common name fallback, so it must be loose enough to accept hostname
|
917
|
+
* common names, and tight enough to reject decorative common names. */
|
918
|
+
|
919
|
+
if (len > 0 && in[len - 1] == '.') {
|
920
|
+
len--;
|
921
|
+
}
|
922
|
+
|
923
|
+
/* Wildcards are allowed in front. */
|
924
|
+
if (len >= 2 && in[0] == '*' && in[1] == '.') {
|
925
|
+
in += 2;
|
926
|
+
len -= 2;
|
927
|
+
}
|
928
|
+
|
929
|
+
if (len == 0) {
|
930
|
+
return 0;
|
931
|
+
}
|
932
|
+
|
933
|
+
size_t label_start = 0;
|
934
|
+
for (size_t i = 0; i < len; i++) {
|
935
|
+
unsigned char c = in[i];
|
936
|
+
if ((c >= 'a' && c <= 'z') ||
|
937
|
+
(c >= '0' && c <= '9') ||
|
938
|
+
(c >= 'A' && c <= 'Z') ||
|
939
|
+
(c == '-' && i > label_start) ||
|
940
|
+
/* These are not valid characters in hostnames, but commonly found
|
941
|
+
* in deployments outside the Web PKI. */
|
942
|
+
c == '_' ||
|
943
|
+
c == ':') {
|
944
|
+
continue;
|
945
|
+
}
|
946
|
+
|
947
|
+
/* Labels must not be empty. */
|
948
|
+
if (c == '.' && i > label_start && i < len - 1) {
|
949
|
+
label_start = i + 1;
|
950
|
+
continue;
|
951
|
+
}
|
952
|
+
|
953
|
+
return 0;
|
954
|
+
}
|
955
|
+
|
956
|
+
return 1;
|
957
|
+
}
|
958
|
+
|
918
959
|
/*
|
919
960
|
* Compare an ASN1_STRING to a supplied string. If they match return 1. If
|
920
961
|
* cmp_type > 0 only compare if string matches the type, otherwise convert it
|
@@ -922,8 +963,8 @@ static int equal_wildcard(const unsigned char *pattern, size_t pattern_len,
|
|
922
963
|
*/
|
923
964
|
|
924
965
|
static int do_check_string(ASN1_STRING *a, int cmp_type, equal_fn equal,
|
925
|
-
unsigned int flags, const char *b,
|
926
|
-
char **peername)
|
966
|
+
unsigned int flags, int check_type, const char *b,
|
967
|
+
size_t blen, char **peername)
|
927
968
|
{
|
928
969
|
int rv = 0;
|
929
970
|
|
@@ -944,7 +985,17 @@ static int do_check_string(ASN1_STRING *a, int cmp_type, equal_fn equal,
|
|
944
985
|
astrlen = ASN1_STRING_to_UTF8(&astr, a);
|
945
986
|
if (astrlen < 0)
|
946
987
|
return -1;
|
947
|
-
|
988
|
+
/*
|
989
|
+
* We check the common name against DNS name constraints if it passes
|
990
|
+
* |x509v3_looks_like_dns_name|. Thus we must not consider common names
|
991
|
+
* for DNS fallbacks if they fail this check.
|
992
|
+
*/
|
993
|
+
if (check_type == GEN_DNS &&
|
994
|
+
!x509v3_looks_like_dns_name(astr, astrlen)) {
|
995
|
+
rv = 0;
|
996
|
+
} else {
|
997
|
+
rv = equal(astr, astrlen, (unsigned char *)b, blen, flags);
|
998
|
+
}
|
948
999
|
if (rv > 0 && peername)
|
949
1000
|
*peername = BUF_strndup((char *)astr, astrlen);
|
950
1001
|
OPENSSL_free(astr);
|
@@ -961,7 +1012,6 @@ static int do_x509_check(X509 *x, const char *chk, size_t chklen,
|
|
961
1012
|
int j;
|
962
1013
|
int cnid = NID_undef;
|
963
1014
|
int alt_type;
|
964
|
-
int san_present = 0;
|
965
1015
|
int rv = 0;
|
966
1016
|
equal_fn equal;
|
967
1017
|
|
@@ -994,7 +1044,6 @@ static int do_x509_check(X509 *x, const char *chk, size_t chklen,
|
|
994
1044
|
gen = sk_GENERAL_NAME_value(gens, i);
|
995
1045
|
if (gen->type != check_type)
|
996
1046
|
continue;
|
997
|
-
san_present = 1;
|
998
1047
|
if (check_type == GEN_EMAIL)
|
999
1048
|
cstr = gen->d.rfc822Name;
|
1000
1049
|
else if (check_type == GEN_DNS)
|
@@ -1002,21 +1051,16 @@ static int do_x509_check(X509 *x, const char *chk, size_t chklen,
|
|
1002
1051
|
else
|
1003
1052
|
cstr = gen->d.iPAddress;
|
1004
1053
|
/* Positive on success, negative on error! */
|
1005
|
-
if ((rv = do_check_string(cstr, alt_type, equal, flags,
|
1054
|
+
if ((rv = do_check_string(cstr, alt_type, equal, flags, check_type,
|
1006
1055
|
chk, chklen, peername)) != 0)
|
1007
1056
|
break;
|
1008
1057
|
}
|
1009
1058
|
GENERAL_NAMES_free(gens);
|
1010
|
-
|
1011
|
-
return rv;
|
1012
|
-
if (cnid == NID_undef
|
1013
|
-
|| (san_present
|
1014
|
-
&& !(flags & X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT)))
|
1015
|
-
return 0;
|
1059
|
+
return rv;
|
1016
1060
|
}
|
1017
1061
|
|
1018
1062
|
/* We're done if CN-ID is not pertinent */
|
1019
|
-
if (cnid == NID_undef)
|
1063
|
+
if (cnid == NID_undef || (flags & X509_CHECK_FLAG_NEVER_CHECK_SUBJECT))
|
1020
1064
|
return 0;
|
1021
1065
|
|
1022
1066
|
j = -1;
|
@@ -1027,7 +1071,7 @@ static int do_x509_check(X509 *x, const char *chk, size_t chklen,
|
|
1027
1071
|
ne = X509_NAME_get_entry(name, j);
|
1028
1072
|
str = X509_NAME_ENTRY_get_data(ne);
|
1029
1073
|
/* Positive on success, negative on error! */
|
1030
|
-
if ((rv = do_check_string(str, -1, equal, flags,
|
1074
|
+
if ((rv = do_check_string(str, -1, equal, flags, check_type,
|
1031
1075
|
chk, chklen, peername)) != 0)
|
1032
1076
|
return rv;
|
1033
1077
|
}
|
@@ -91,15 +91,44 @@ extern "C" {
|
|
91
91
|
// AEAD algorithms.
|
92
92
|
|
93
93
|
// EVP_aead_aes_128_gcm is AES-128 in Galois Counter Mode.
|
94
|
+
//
|
95
|
+
// Note: AES-GCM should only be used with 12-byte (96-bit) nonces. Although it
|
96
|
+
// is specified to take a variable-length nonce, nonces with other lengths are
|
97
|
+
// effectively randomized, which means one must consider collisions. Unless
|
98
|
+
// implementing an existing protocol which has already specified incorrect
|
99
|
+
// parameters, only use 12-byte nonces.
|
94
100
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm(void);
|
95
101
|
|
102
|
+
// EVP_aead_aes_192_gcm is AES-192 in Galois Counter Mode.
|
103
|
+
//
|
104
|
+
// WARNING: AES-192 is superfluous and shouldn't exist. NIST should never have
|
105
|
+
// defined it. Use only when interop with another system requires it, never
|
106
|
+
// de novo.
|
107
|
+
//
|
108
|
+
// Note: AES-GCM should only be used with 12-byte (96-bit) nonces. Although it
|
109
|
+
// is specified to take a variable-length nonce, nonces with other lengths are
|
110
|
+
// effectively randomized, which means one must consider collisions. Unless
|
111
|
+
// implementing an existing protocol which has already specified incorrect
|
112
|
+
// parameters, only use 12-byte nonces.
|
113
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_192_gcm(void);
|
114
|
+
|
96
115
|
// EVP_aead_aes_256_gcm is AES-256 in Galois Counter Mode.
|
116
|
+
//
|
117
|
+
// Note: AES-GCM should only be used with 12-byte (96-bit) nonces. Although it
|
118
|
+
// is specified to take a variable-length nonce, nonces with other lengths are
|
119
|
+
// effectively randomized, which means one must consider collisions. Unless
|
120
|
+
// implementing an existing protocol which has already specified incorrect
|
121
|
+
// parameters, only use 12-byte nonces.
|
97
122
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void);
|
98
123
|
|
99
124
|
// EVP_aead_chacha20_poly1305 is the AEAD built from ChaCha20 and
|
100
125
|
// Poly1305 as described in RFC 7539.
|
101
126
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void);
|
102
127
|
|
128
|
+
// EVP_aead_xchacha20_poly1305 is ChaCha20-Poly1305 with an extended nonce that
|
129
|
+
// makes random generation of nonces safe.
|
130
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_xchacha20_poly1305(void);
|
131
|
+
|
103
132
|
// EVP_aead_aes_128_ctr_hmac_sha256 is AES-128 in CTR mode with HMAC-SHA256 for
|
104
133
|
// authentication. The nonce is 12 bytes; the bottom 32-bits are used as the
|
105
134
|
// block counter, thus the maximum plaintext size is 64GB.
|
@@ -154,13 +183,16 @@ OPENSSL_EXPORT size_t EVP_AEAD_max_tag_len(const EVP_AEAD *aead);
|
|
154
183
|
|
155
184
|
// AEAD operations.
|
156
185
|
|
186
|
+
union evp_aead_ctx_st_state {
|
187
|
+
uint8_t opaque[580];
|
188
|
+
uint64_t alignment;
|
189
|
+
};
|
190
|
+
|
157
191
|
// An EVP_AEAD_CTX represents an AEAD algorithm configured with a specific key
|
158
192
|
// and message-independent IV.
|
159
193
|
typedef struct evp_aead_ctx_st {
|
160
194
|
const EVP_AEAD *aead;
|
161
|
-
|
162
|
-
// maintain.
|
163
|
-
void *aead_state;
|
195
|
+
union evp_aead_ctx_st_state state;
|
164
196
|
// tag_len may contain the actual length of the authentication tag if it is
|
165
197
|
// known at initialization time.
|
166
198
|
uint8_t tag_len;
|
@@ -172,7 +204,7 @@ typedef struct evp_aead_ctx_st {
|
|
172
204
|
|
173
205
|
// EVP_AEAD_MAX_NONCE_LENGTH contains the maximum nonce length used by
|
174
206
|
// any AEAD defined in this header.
|
175
|
-
#define EVP_AEAD_MAX_NONCE_LENGTH
|
207
|
+
#define EVP_AEAD_MAX_NONCE_LENGTH 24
|
176
208
|
|
177
209
|
// EVP_AEAD_MAX_OVERHEAD contains the maximum overhead used by any AEAD
|
178
210
|
// defined in this header.
|
@@ -361,19 +393,13 @@ OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_tls12(void);
|
|
361
393
|
// 1.2 nonce construction.
|
362
394
|
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_tls12(void);
|
363
395
|
|
396
|
+
// EVP_aead_aes_128_gcm_tls13 is AES-128 in Galois Counter Mode using the TLS
|
397
|
+
// 1.3 nonce construction.
|
398
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_tls13(void);
|
364
399
|
|
365
|
-
//
|
366
|
-
//
|
367
|
-
|
368
|
-
// all specific to SSLv3 and should not be used outside of that context. They
|
369
|
-
// must be initialized with |EVP_AEAD_CTX_init_with_direction|, are stateful,
|
370
|
-
// and may not be used concurrently. They only accept an |ad| parameter of
|
371
|
-
// length 9 (the standard TLS one with length and version omitted).
|
372
|
-
|
373
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_ssl3(void);
|
374
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_ssl3(void);
|
375
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_ssl3(void);
|
376
|
-
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_null_sha1_ssl3(void);
|
400
|
+
// EVP_aead_aes_256_gcm_tls13 is AES-256 in Galois Counter Mode using the TLS
|
401
|
+
// 1.3 nonce construction.
|
402
|
+
OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_tls13(void);
|
377
403
|
|
378
404
|
|
379
405
|
// Obscure functions.
|
@@ -393,7 +419,7 @@ OPENSSL_EXPORT int EVP_AEAD_CTX_init_with_direction(
|
|
393
419
|
|
394
420
|
// EVP_AEAD_CTX_get_iv sets |*out_len| to the length of the IV for |ctx| and
|
395
421
|
// sets |*out_iv| to point to that many bytes of the current IV. This is only
|
396
|
-
// meaningful for AEADs with implicit IVs (i.e. CBC mode in
|
422
|
+
// meaningful for AEADs with implicit IVs (i.e. CBC mode in TLS 1.0).
|
397
423
|
//
|
398
424
|
// It returns one on success or zero on error.
|
399
425
|
OPENSSL_EXPORT int EVP_AEAD_CTX_get_iv(const EVP_AEAD_CTX *ctx,
|
@@ -415,7 +441,7 @@ OPENSSL_EXPORT int EVP_AEAD_CTX_tag_len(const EVP_AEAD_CTX *ctx,
|
|
415
441
|
#if !defined(BORINGSSL_NO_CXX)
|
416
442
|
extern "C++" {
|
417
443
|
|
418
|
-
|
444
|
+
BSSL_NAMESPACE_BEGIN
|
419
445
|
|
420
446
|
using ScopedEVP_AEAD_CTX =
|
421
447
|
internal::StackAllocated<EVP_AEAD_CTX, void, EVP_AEAD_CTX_zero,
|
@@ -423,7 +449,7 @@ using ScopedEVP_AEAD_CTX =
|
|
423
449
|
|
424
450
|
BORINGSSL_MAKE_DELETER(EVP_AEAD_CTX, EVP_AEAD_CTX_free)
|
425
451
|
|
426
|
-
|
452
|
+
BSSL_NAMESPACE_END
|
427
453
|
|
428
454
|
} // extern C++
|
429
455
|
#endif
|
@@ -6,7 +6,7 @@
|
|
6
6
|
* are met:
|
7
7
|
*
|
8
8
|
* 1. Redistributions of source code must retain the above copyright
|
9
|
-
* notice, this list of conditions and the following disclaimer.
|
9
|
+
* notice, this list of conditions and the following disclaimer.
|
10
10
|
*
|
11
11
|
* 2. Redistributions in binary form must reproduce the above copyright
|
12
12
|
* notice, this list of conditions and the following disclaimer in
|
@@ -76,18 +76,18 @@ struct aes_key_st {
|
|
76
76
|
typedef struct aes_key_st AES_KEY;
|
77
77
|
|
78
78
|
// AES_set_encrypt_key configures |aeskey| to encrypt with the |bits|-bit key,
|
79
|
-
// |key|.
|
79
|
+
// |key|. |key| must point to |bits|/8 bytes. It returns zero on success and a
|
80
|
+
// negative number if |bits| is an invalid AES key size.
|
80
81
|
//
|
81
|
-
// WARNING:
|
82
|
-
// negative number on error.
|
82
|
+
// WARNING: this function breaks the usual return value convention.
|
83
83
|
OPENSSL_EXPORT int AES_set_encrypt_key(const uint8_t *key, unsigned bits,
|
84
84
|
AES_KEY *aeskey);
|
85
85
|
|
86
86
|
// AES_set_decrypt_key configures |aeskey| to decrypt with the |bits|-bit key,
|
87
|
-
// |key|.
|
87
|
+
// |key|. |key| must point to |bits|/8 bytes. It returns zero on success and a
|
88
|
+
// negative number if |bits| is an invalid AES key size.
|
88
89
|
//
|
89
|
-
// WARNING:
|
90
|
-
// negative number on error.
|
90
|
+
// WARNING: this function breaks the usual return value convention.
|
91
91
|
OPENSSL_EXPORT int AES_set_decrypt_key(const uint8_t *key, unsigned bits,
|
92
92
|
AES_KEY *aeskey);
|
93
93
|
|
@@ -163,6 +163,31 @@ OPENSSL_EXPORT int AES_unwrap_key(const AES_KEY *key, const uint8_t *iv,
|
|
163
163
|
size_t in_len);
|
164
164
|
|
165
165
|
|
166
|
+
// AES key wrap with padding.
|
167
|
+
//
|
168
|
+
// These functions implement AES Key Wrap with Padding mode, as defined in RFC
|
169
|
+
// 5649. They should never be used except to interoperate with existing systems
|
170
|
+
// that use this mode.
|
171
|
+
|
172
|
+
// AES_wrap_key_padded performs a padded AES key wrap on |in| which must be
|
173
|
+
// between 1 and 2^32-1 bytes. |key| must have been configured for encryption.
|
174
|
+
// On success it writes at most |max_out| bytes of ciphertext to |out|, sets
|
175
|
+
// |*out_len| to the number of bytes written, and returns one. On failure it
|
176
|
+
// returns zero. To ensure success, set |max_out| to at least |in_len| + 15.
|
177
|
+
OPENSSL_EXPORT int AES_wrap_key_padded(const AES_KEY *key, uint8_t *out,
|
178
|
+
size_t *out_len, size_t max_out,
|
179
|
+
const uint8_t *in, size_t in_len);
|
180
|
+
|
181
|
+
// AES_unwrap_key_padded performs a padded AES key unwrap on |in| which must be
|
182
|
+
// a multiple of 8 bytes. |key| must have been configured for decryption. On
|
183
|
+
// success it writes at most |max_out| bytes to |out|, sets |*out_len| to the
|
184
|
+
// number of bytes written, and returns one. On failure it returns zero. Setting
|
185
|
+
// |max_out| to |in_len| is a sensible estimate.
|
186
|
+
OPENSSL_EXPORT int AES_unwrap_key_padded(const AES_KEY *key, uint8_t *out,
|
187
|
+
size_t *out_len, size_t max_out,
|
188
|
+
const uint8_t *in, size_t in_len);
|
189
|
+
|
190
|
+
|
166
191
|
#if defined(__cplusplus)
|
167
192
|
} // extern C
|
168
193
|
#endif
|
@@ -152,6 +152,9 @@ extern "C" {
|
|
152
152
|
/* For use with ASN1_mbstring_copy() */
|
153
153
|
#define MBSTRING_FLAG 0x1000
|
154
154
|
#define MBSTRING_UTF8 (MBSTRING_FLAG)
|
155
|
+
/* |MBSTRING_ASC| refers to Latin-1, not ASCII. It is used with TeletexString
|
156
|
+
* which, in turn, is treated as Latin-1 rather than T.61 by OpenSSL and most
|
157
|
+
* other software. */
|
155
158
|
#define MBSTRING_ASC (MBSTRING_FLAG|1)
|
156
159
|
#define MBSTRING_BMP (MBSTRING_FLAG|2)
|
157
160
|
#define MBSTRING_UNIV (MBSTRING_FLAG|4)
|
@@ -295,19 +298,6 @@ typedef struct ASN1_VALUE_st ASN1_VALUE;
|
|
295
298
|
OPENSSL_EXPORT int fname##_print_ctx(BIO *out, stname *x, int indent, \
|
296
299
|
const ASN1_PCTX *pctx);
|
297
300
|
|
298
|
-
#define D2I_OF(type) type *(*)(type **,const unsigned char **,long)
|
299
|
-
#define I2D_OF(type) int (*)(type *,unsigned char **)
|
300
|
-
#define I2D_OF_const(type) int (*)(const type *,unsigned char **)
|
301
|
-
|
302
|
-
#define CHECKED_D2I_OF(type, d2i) \
|
303
|
-
((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0)))
|
304
|
-
#define CHECKED_I2D_OF(type, i2d) \
|
305
|
-
((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0)))
|
306
|
-
#define CHECKED_NEW_OF(type, xnew) \
|
307
|
-
((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0)))
|
308
|
-
#define CHECKED_PPTR_OF(type, p) \
|
309
|
-
((void**) (1 ? p : (type**)0))
|
310
|
-
|
311
301
|
typedef void *d2i_of_void(void **, const unsigned char **, long);
|
312
302
|
typedef int i2d_of_void(const void *, unsigned char **);
|
313
303
|
|
@@ -676,7 +666,6 @@ OPENSSL_EXPORT int d2i_ASN1_BOOLEAN(int *a,const unsigned char **pp,long lengt
|
|
676
666
|
DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER)
|
677
667
|
OPENSSL_EXPORT int i2c_ASN1_INTEGER(ASN1_INTEGER *a,unsigned char **pp);
|
678
668
|
OPENSSL_EXPORT ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a,const unsigned char **pp, long length);
|
679
|
-
OPENSSL_EXPORT ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a,const unsigned char **pp, long length);
|
680
669
|
OPENSSL_EXPORT ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x);
|
681
670
|
OPENSSL_EXPORT int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y);
|
682
671
|
|
@@ -759,76 +748,17 @@ OPENSSL_EXPORT void ASN1_put_object(unsigned char **pp, int constructed, int len
|
|
759
748
|
OPENSSL_EXPORT int ASN1_put_eoc(unsigned char **pp);
|
760
749
|
OPENSSL_EXPORT int ASN1_object_size(int constructed, int length, int tag);
|
761
750
|
|
762
|
-
/* Used to implement other functions */
|
763
|
-
OPENSSL_EXPORT void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x);
|
764
|
-
|
765
|
-
#define ASN1_dup_of(type,i2d,d2i,x) \
|
766
|
-
((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \
|
767
|
-
CHECKED_D2I_OF(type, d2i), \
|
768
|
-
CHECKED_PTR_OF(type, x)))
|
769
|
-
|
770
|
-
#define ASN1_dup_of_const(type,i2d,d2i,x) \
|
771
|
-
((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \
|
772
|
-
CHECKED_D2I_OF(type, d2i), \
|
773
|
-
CHECKED_PTR_OF(const type, x)))
|
774
|
-
|
775
751
|
OPENSSL_EXPORT void *ASN1_item_dup(const ASN1_ITEM *it, void *x);
|
776
752
|
|
777
|
-
/* ASN1 alloc/free macros for when a type is only used internally */
|
778
|
-
|
779
|
-
#define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type))
|
780
|
-
#define M_ASN1_free_of(x, type) \
|
781
|
-
ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type))
|
782
|
-
|
783
753
|
#ifndef OPENSSL_NO_FP_API
|
784
|
-
OPENSSL_EXPORT void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x);
|
785
|
-
|
786
|
-
#define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \
|
787
|
-
((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \
|
788
|
-
CHECKED_D2I_OF(type, d2i), \
|
789
|
-
in, \
|
790
|
-
CHECKED_PPTR_OF(type, x)))
|
791
|
-
|
792
754
|
OPENSSL_EXPORT void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x);
|
793
|
-
OPENSSL_EXPORT int ASN1_i2d_fp(i2d_of_void *i2d,FILE *out,void *x);
|
794
|
-
|
795
|
-
#define ASN1_i2d_fp_of(type,i2d,out,x) \
|
796
|
-
(ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \
|
797
|
-
out, \
|
798
|
-
CHECKED_PTR_OF(type, x)))
|
799
|
-
|
800
|
-
#define ASN1_i2d_fp_of_const(type,i2d,out,x) \
|
801
|
-
(ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \
|
802
|
-
out, \
|
803
|
-
CHECKED_PTR_OF(const type, x)))
|
804
|
-
|
805
755
|
OPENSSL_EXPORT int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x);
|
806
756
|
OPENSSL_EXPORT int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags);
|
807
757
|
#endif
|
808
758
|
|
809
759
|
OPENSSL_EXPORT int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in);
|
810
760
|
|
811
|
-
OPENSSL_EXPORT void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x);
|
812
|
-
|
813
|
-
#define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \
|
814
|
-
((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \
|
815
|
-
CHECKED_D2I_OF(type, d2i), \
|
816
|
-
in, \
|
817
|
-
CHECKED_PPTR_OF(type, x)))
|
818
|
-
|
819
761
|
OPENSSL_EXPORT void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x);
|
820
|
-
OPENSSL_EXPORT int ASN1_i2d_bio(i2d_of_void *i2d,BIO *out, void *x);
|
821
|
-
|
822
|
-
#define ASN1_i2d_bio_of(type,i2d,out,x) \
|
823
|
-
(ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \
|
824
|
-
out, \
|
825
|
-
CHECKED_PTR_OF(type, x)))
|
826
|
-
|
827
|
-
#define ASN1_i2d_bio_of_const(type,i2d,out,x) \
|
828
|
-
(ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \
|
829
|
-
out, \
|
830
|
-
CHECKED_PTR_OF(const type, x)))
|
831
|
-
|
832
762
|
OPENSSL_EXPORT int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x);
|
833
763
|
OPENSSL_EXPORT int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a);
|
834
764
|
OPENSSL_EXPORT int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a);
|
@@ -872,13 +802,13 @@ OPENSSL_EXPORT ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf);
|
|
872
802
|
|
873
803
|
extern "C++" {
|
874
804
|
|
875
|
-
|
805
|
+
BSSL_NAMESPACE_BEGIN
|
876
806
|
|
877
807
|
BORINGSSL_MAKE_DELETER(ASN1_OBJECT, ASN1_OBJECT_free)
|
878
808
|
BORINGSSL_MAKE_DELETER(ASN1_STRING, ASN1_STRING_free)
|
879
809
|
BORINGSSL_MAKE_DELETER(ASN1_TYPE, ASN1_TYPE_free)
|
880
810
|
|
881
|
-
|
811
|
+
BSSL_NAMESPACE_END
|
882
812
|
|
883
813
|
} /* extern C++ */
|
884
814
|
|
@@ -926,14 +856,14 @@ BORINGSSL_MAKE_DELETER(ASN1_TYPE, ASN1_TYPE_free)
|
|
926
856
|
#define ASN1_R_INTEGER_NOT_ASCII_FORMAT 139
|
927
857
|
#define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 140
|
928
858
|
#define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 141
|
929
|
-
#define
|
859
|
+
#define ASN1_R_INVALID_BMPSTRING 142
|
930
860
|
#define ASN1_R_INVALID_DIGIT 143
|
931
861
|
#define ASN1_R_INVALID_MODIFIER 144
|
932
862
|
#define ASN1_R_INVALID_NUMBER 145
|
933
863
|
#define ASN1_R_INVALID_OBJECT_ENCODING 146
|
934
864
|
#define ASN1_R_INVALID_SEPARATOR 147
|
935
865
|
#define ASN1_R_INVALID_TIME_FORMAT 148
|
936
|
-
#define
|
866
|
+
#define ASN1_R_INVALID_UNIVERSALSTRING 149
|
937
867
|
#define ASN1_R_INVALID_UTF8STRING 150
|
938
868
|
#define ASN1_R_LIST_ERROR 151
|
939
869
|
#define ASN1_R_MISSING_ASN1_EOS 152
|