grpc 1.37.1 → 1.38.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (544) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +64 -58
  3. data/include/grpc/event_engine/README.md +38 -0
  4. data/include/grpc/event_engine/channel_args.h +28 -0
  5. data/include/grpc/event_engine/event_engine.h +336 -0
  6. data/include/grpc/event_engine/port.h +39 -0
  7. data/include/grpc/event_engine/slice_allocator.h +81 -0
  8. data/include/grpc/grpc.h +2 -2
  9. data/include/grpc/grpc_security_constants.h +14 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +11 -0
  11. data/include/grpc/impl/codegen/port_platform.h +5 -0
  12. data/include/grpc/module.modulemap +14 -14
  13. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
  14. data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
  15. data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
  16. data/src/core/ext/filters/client_channel/client_channel.h +489 -55
  17. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +1 -1
  20. data/src/core/ext/filters/client_channel/connector.h +1 -1
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
  22. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  23. data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
  24. data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
  34. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
  41. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  42. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
  43. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  44. data/src/core/ext/filters/client_channel/resolver.h +2 -2
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  54. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
  55. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
  56. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  57. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
  58. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  59. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
  60. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
  61. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
  62. data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
  63. data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
  64. data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
  65. data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
  66. data/src/core/ext/filters/client_channel/server_address.cc +1 -1
  67. data/src/core/ext/filters/client_channel/service_config.cc +15 -14
  68. data/src/core/ext/filters/client_channel/service_config.h +7 -6
  69. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
  70. data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
  71. data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
  72. data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
  73. data/src/core/ext/filters/client_channel/subchannel.h +7 -6
  74. data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
  75. data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
  76. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
  77. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  78. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  79. data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
  80. data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
  81. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
  82. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
  83. data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
  84. data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
  85. data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
  86. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  87. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
  88. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  90. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
  91. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  92. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
  93. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
  94. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
  95. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
  96. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
  97. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
  98. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
  99. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  100. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  102. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
  103. data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
  104. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
  105. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
  106. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
  107. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
  108. data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
  109. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  110. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
  111. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
  112. data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
  113. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
  114. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
  115. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
  116. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
  117. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
  118. data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
  119. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  120. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
  121. data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
  122. data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
  123. data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
  124. data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
  125. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  126. data/src/core/ext/xds/certificate_provider_store.h +3 -3
  127. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
  128. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  129. data/src/core/ext/xds/xds_api.cc +101 -93
  130. data/src/core/ext/xds/xds_api.h +6 -6
  131. data/src/core/ext/xds/xds_bootstrap.cc +97 -159
  132. data/src/core/ext/xds/xds_bootstrap.h +19 -24
  133. data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
  134. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  135. data/src/core/ext/xds/xds_channel_args.h +5 -2
  136. data/src/core/ext/xds/xds_client.cc +310 -178
  137. data/src/core/ext/xds/xds_client.h +41 -27
  138. data/src/core/ext/xds/xds_client_stats.h +3 -2
  139. data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
  140. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
  141. data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
  142. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
  143. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
  144. data/src/core/lib/channel/channel_stack.cc +10 -9
  145. data/src/core/lib/channel/channel_stack.h +10 -9
  146. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  147. data/src/core/lib/channel/channel_stack_builder.h +1 -1
  148. data/src/core/lib/channel/channelz.cc +21 -13
  149. data/src/core/lib/channel/connected_channel.cc +4 -4
  150. data/src/core/lib/channel/handshaker.cc +7 -6
  151. data/src/core/lib/channel/handshaker.h +5 -5
  152. data/src/core/lib/event_engine/slice_allocator.cc +59 -0
  153. data/src/core/lib/event_engine/sockaddr.cc +38 -0
  154. data/src/core/lib/gprpp/ref_counted.h +28 -14
  155. data/src/core/lib/gprpp/status_helper.cc +407 -0
  156. data/src/core/lib/gprpp/status_helper.h +180 -0
  157. data/src/core/lib/http/httpcli.cc +11 -11
  158. data/src/core/lib/http/httpcli_security_connector.cc +11 -7
  159. data/src/core/lib/http/parser.cc +16 -16
  160. data/src/core/lib/http/parser.h +4 -4
  161. data/src/core/lib/iomgr/buffer_list.cc +7 -9
  162. data/src/core/lib/iomgr/buffer_list.h +4 -5
  163. data/src/core/lib/iomgr/call_combiner.cc +15 -12
  164. data/src/core/lib/iomgr/call_combiner.h +12 -14
  165. data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
  166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  167. data/src/core/lib/iomgr/closure.h +7 -6
  168. data/src/core/lib/iomgr/combiner.cc +14 -12
  169. data/src/core/lib/iomgr/combiner.h +2 -2
  170. data/src/core/lib/iomgr/endpoint.cc +1 -1
  171. data/src/core/lib/iomgr/endpoint.h +2 -2
  172. data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
  173. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  174. data/src/core/lib/iomgr/error.cc +167 -61
  175. data/src/core/lib/iomgr/error.h +217 -106
  176. data/src/core/lib/iomgr/error_cfstream.cc +3 -2
  177. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  178. data/src/core/lib/iomgr/error_internal.h +5 -1
  179. data/src/core/lib/iomgr/ev_apple.cc +5 -5
  180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
  181. data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
  182. data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
  183. data/src/core/lib/iomgr/ev_posix.cc +9 -8
  184. data/src/core/lib/iomgr/ev_posix.h +9 -9
  185. data/src/core/lib/iomgr/exec_ctx.cc +4 -4
  186. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  187. data/src/core/lib/iomgr/executor.cc +8 -8
  188. data/src/core/lib/iomgr/executor.h +2 -2
  189. data/src/core/lib/iomgr/iomgr.cc +1 -1
  190. data/src/core/lib/iomgr/iomgr.h +1 -1
  191. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  192. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  193. data/src/core/lib/iomgr/iomgr_internal.h +3 -3
  194. data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
  195. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  196. data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
  197. data/src/core/lib/iomgr/load_file.cc +4 -4
  198. data/src/core/lib/iomgr/load_file.h +2 -2
  199. data/src/core/lib/iomgr/lockfree_event.cc +5 -5
  200. data/src/core/lib/iomgr/lockfree_event.h +1 -1
  201. data/src/core/lib/iomgr/pollset.cc +5 -5
  202. data/src/core/lib/iomgr/pollset.h +9 -9
  203. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  204. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  205. data/src/core/lib/iomgr/port.h +1 -1
  206. data/src/core/lib/iomgr/python_util.h +1 -1
  207. data/src/core/lib/iomgr/resolve_address.cc +3 -3
  208. data/src/core/lib/iomgr/resolve_address.h +6 -6
  209. data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
  210. data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
  211. data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
  212. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
  213. data/src/core/lib/iomgr/resource_quota.cc +11 -10
  214. data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
  215. data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
  216. data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
  217. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
  218. data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
  219. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  220. data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
  221. data/src/core/lib/iomgr/tcp_custom.cc +14 -16
  222. data/src/core/lib/iomgr/tcp_custom.h +13 -12
  223. data/src/core/lib/iomgr/tcp_posix.cc +36 -34
  224. data/src/core/lib/iomgr/tcp_server.cc +6 -6
  225. data/src/core/lib/iomgr/tcp_server.h +12 -11
  226. data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
  227. data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
  228. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
  229. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
  230. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
  231. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  232. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
  233. data/src/core/lib/iomgr/tcp_uv.cc +25 -23
  234. data/src/core/lib/iomgr/tcp_windows.cc +13 -13
  235. data/src/core/lib/iomgr/tcp_windows.h +2 -2
  236. data/src/core/lib/iomgr/timer_custom.cc +2 -1
  237. data/src/core/lib/iomgr/timer_custom.h +1 -1
  238. data/src/core/lib/iomgr/timer_generic.cc +6 -6
  239. data/src/core/lib/iomgr/udp_server.cc +21 -20
  240. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  241. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
  242. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  243. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  244. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
  245. data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
  246. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  247. data/src/core/lib/iomgr/work_serializer.h +17 -1
  248. data/src/core/lib/json/json.h +1 -1
  249. data/src/core/lib/json/json_reader.cc +4 -4
  250. data/src/core/lib/matchers/matchers.cc +39 -39
  251. data/src/core/lib/matchers/matchers.h +28 -28
  252. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
  253. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  254. data/src/core/lib/security/credentials/credentials.h +2 -2
  255. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
  256. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
  257. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
  258. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
  259. data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
  260. data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
  261. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
  262. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
  263. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
  264. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
  265. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  266. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  267. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
  268. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
  269. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  270. data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
  271. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
  272. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  273. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
  274. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  275. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
  276. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
  277. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  278. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
  279. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
  280. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
  281. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
  282. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
  283. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
  284. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
  285. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  286. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
  287. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
  288. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
  289. data/src/core/lib/security/security_connector/security_connector.h +9 -4
  290. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
  291. data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
  292. data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
  293. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
  294. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
  295. data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
  296. data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
  297. data/src/core/lib/security/transport/security_handshaker.cc +33 -32
  298. data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
  299. data/src/core/lib/security/transport/tsi_error.cc +2 -1
  300. data/src/core/lib/security/transport/tsi_error.h +2 -1
  301. data/src/core/lib/security/util/json_util.cc +2 -2
  302. data/src/core/lib/security/util/json_util.h +1 -1
  303. data/src/core/lib/surface/call.cc +46 -45
  304. data/src/core/lib/surface/call.h +2 -2
  305. data/src/core/lib/surface/channel.cc +6 -6
  306. data/src/core/lib/surface/channel.h +3 -2
  307. data/src/core/lib/surface/channel_ping.cc +1 -1
  308. data/src/core/lib/surface/completion_queue.cc +46 -47
  309. data/src/core/lib/surface/completion_queue.h +2 -1
  310. data/src/core/lib/surface/lame_client.cc +11 -11
  311. data/src/core/lib/surface/lame_client.h +1 -1
  312. data/src/core/lib/surface/server.cc +28 -22
  313. data/src/core/lib/surface/server.h +16 -15
  314. data/src/core/lib/surface/validate_metadata.cc +7 -7
  315. data/src/core/lib/surface/validate_metadata.h +3 -2
  316. data/src/core/lib/surface/version.cc +4 -2
  317. data/src/core/lib/transport/byte_stream.cc +5 -5
  318. data/src/core/lib/transport/byte_stream.h +8 -8
  319. data/src/core/lib/transport/connectivity_state.cc +1 -1
  320. data/src/core/lib/transport/error_utils.cc +19 -8
  321. data/src/core/lib/transport/error_utils.h +11 -5
  322. data/src/core/lib/transport/metadata_batch.cc +37 -37
  323. data/src/core/lib/transport/metadata_batch.h +19 -18
  324. data/src/core/lib/transport/transport.cc +4 -3
  325. data/src/core/lib/transport/transport.h +4 -4
  326. data/src/core/lib/transport/transport_op_string.cc +5 -5
  327. data/src/core/tsi/alts/crypt/gsec.h +4 -0
  328. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
  329. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
  330. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  331. data/src/core/tsi/ssl_transport_security.cc +32 -14
  332. data/src/core/tsi/ssl_transport_security.h +3 -4
  333. data/src/ruby/bin/math_services_pb.rb +1 -1
  334. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  335. data/src/ruby/lib/grpc/version.rb +1 -1
  336. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  337. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
  338. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  339. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  340. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  341. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  342. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  343. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  344. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  345. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  346. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  347. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  348. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  349. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  350. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  351. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  352. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  353. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  354. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  355. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  356. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
  357. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
  358. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  359. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  360. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  361. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  362. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  363. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  364. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  365. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  366. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  367. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  368. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  369. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  370. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  371. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  372. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  373. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  374. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  375. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  376. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  377. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  378. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  379. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  380. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  381. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  382. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  383. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  384. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  385. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  386. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  387. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  388. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  389. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  390. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  391. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  392. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  393. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  394. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  395. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  396. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
  397. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  398. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  399. data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
  400. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  401. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  402. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  403. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  404. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  405. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  406. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  407. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  408. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  409. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  410. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  411. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  412. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  413. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  414. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  415. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  416. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  417. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  418. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  419. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  420. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  421. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  422. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  423. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  424. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  425. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  426. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  427. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  428. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  429. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  430. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  431. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  432. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  433. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  434. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  435. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  436. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  437. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  438. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  439. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  440. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  441. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  442. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  443. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  444. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  445. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  446. data/third_party/boringssl-with-bazel/err_data.c +477 -461
  447. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
  448. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
  449. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
  450. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
  451. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
  452. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  454. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  455. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
  456. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  457. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  458. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  459. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
  461. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
  462. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  463. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
  464. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
  466. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  467. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  477. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
  478. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
  480. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
  481. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
  482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
  483. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
  484. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
  485. data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
  486. data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
  488. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
  489. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  490. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
  491. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
  499. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
  500. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
  501. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
  502. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  503. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  504. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
  505. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  506. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
  507. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
  509. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
  510. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
  511. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  512. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
  513. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
  514. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  515. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
  516. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  517. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
  518. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
  519. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  520. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  521. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
  522. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
  523. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
  524. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
  525. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
  526. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
  527. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
  528. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
  529. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
  530. data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
  531. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
  532. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  533. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
  534. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
  535. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
  536. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
  537. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
  538. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  539. metadata +68 -45
  540. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  541. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  542. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  543. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -60,6 +60,8 @@
60
60
  #include <openssl/asn1t.h>
61
61
  #include <openssl/x509.h>
62
62
 
63
+ #include "internal.h"
64
+
63
65
 
64
66
  ASN1_SEQUENCE(X509_VAL) = {
65
67
  ASN1_SIMPLE(X509_VAL, notBefore, ASN1_TIME),
@@ -239,8 +239,7 @@ static POLICYINFO *policy_section(X509V3_CTX *ctx,
239
239
  goto merr;
240
240
  if (!sk_POLICYQUALINFO_push(pol->qualifiers, qual))
241
241
  goto merr;
242
- /* TODO(fork): const correctness */
243
- qual->pqualid = (ASN1_OBJECT *)OBJ_nid2obj(NID_id_qt_cps);
242
+ qual->pqualid = OBJ_nid2obj(NID_id_qt_cps);
244
243
  if (qual->pqualid == NULL) {
245
244
  OPENSSL_PUT_ERROR(X509V3, ERR_R_INTERNAL_ERROR);
246
245
  goto err;
@@ -307,8 +306,7 @@ static POLICYQUALINFO *notice_section(X509V3_CTX *ctx,
307
306
  POLICYQUALINFO *qual;
308
307
  if (!(qual = POLICYQUALINFO_new()))
309
308
  goto merr;
310
- /* TODO(fork): const correctness */
311
- qual->pqualid = (ASN1_OBJECT *)OBJ_nid2obj(NID_id_qt_unotice);
309
+ qual->pqualid = OBJ_nid2obj(NID_id_qt_unotice);
312
310
  if (qual->pqualid == NULL) {
313
311
  OPENSSL_PUT_ERROR(X509V3, ERR_R_INTERNAL_ERROR);
314
312
  goto err;
@@ -440,7 +440,7 @@ int x509v3_cache_extensions(X509 *x)
440
440
  if (!X509_digest(x, EVP_sha1(), x->sha1_hash, NULL))
441
441
  x->ex_flags |= EXFLAG_INVALID;
442
442
  /* V1 should mean no extensions ... */
443
- if (!X509_get_version(x))
443
+ if (X509_get_version(x) == X509V1_VERSION)
444
444
  x->ex_flags |= EXFLAG_V1;
445
445
  /* Handle basic constraints */
446
446
  if ((bs = X509_get_ext_d2i(x, NID_basic_constraints, &j, NULL))) {
@@ -63,6 +63,7 @@
63
63
  #include <openssl/obj.h>
64
64
  #include <openssl/x509v3.h>
65
65
 
66
+ #include "../x509/internal.h"
66
67
  #include "internal.h"
67
68
 
68
69
 
@@ -397,12 +397,9 @@ OPENSSL_EXPORT const EVP_AEAD *EVP_AEAD_CTX_aead(const EVP_AEAD_CTX *ctx);
397
397
 
398
398
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_tls(void);
399
399
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_tls_implicit_iv(void);
400
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha256_tls(void);
401
400
 
402
401
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_tls(void);
403
402
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_tls_implicit_iv(void);
404
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha256_tls(void);
405
- OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha384_tls(void);
406
403
 
407
404
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_tls(void);
408
405
  OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv(void);
@@ -103,7 +103,7 @@ extern "C" {
103
103
  #define V_ASN1_PRIMITIVE_TAG 0x1f
104
104
 
105
105
  // V_ASN1_MAX_UNIVERSAL is the highest supported universal tag number. It is
106
- // necessary to avoid ambiguity with |V_ASN1_NEG|.
106
+ // necessary to avoid ambiguity with |V_ASN1_NEG| and |MBSTRING_FLAG|.
107
107
  //
108
108
  // TODO(davidben): Make this private.
109
109
  #define V_ASN1_MAX_UNIVERSAL 0xff
@@ -197,9 +197,8 @@ extern "C" {
197
197
  // the DER encoding of the value. For example, the UNIX epoch would be
198
198
  // "19700101000000Z" for a GeneralizedTime and "700101000000Z" for a UTCTime.
199
199
  //
200
- // TODO(davidben): |ASN1_TYPE| additionally uses |ASN1_STRING| to represent
201
- // various other odd cases. It also likes to assume unknown universal tags are
202
- // string types. Make a note here when documenting |ASN1_TYPE|.
200
+ // |ASN1_STRING|, when stored in an |ASN1_TYPE|, may also represent an element
201
+ // with tag not directly supported by this library. See |ASN1_TYPE| for details.
203
202
  //
204
203
  // |ASN1_STRING| additionally has the following typedefs: |ASN1_BIT_STRING|,
205
204
  // |ASN1_BMPSTRING|, |ASN1_ENUMERATED|, |ASN1_GENERALIZEDTIME|,
@@ -313,6 +312,111 @@ OPENSSL_EXPORT void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len);
313
312
  // types.
314
313
 
315
314
 
315
+ // Arbitrary elements.
316
+
317
+ // ASN1_VALUE_st (aka |ASN1_VALUE|) is an opaque type used internally in the
318
+ // library.
319
+ typedef struct ASN1_VALUE_st ASN1_VALUE;
320
+
321
+ // An asn1_type_st (aka |ASN1_TYPE|) represents an arbitrary ASN.1 element,
322
+ // typically used used for ANY types. It contains a |type| field and a |value|
323
+ // union dependent on |type|.
324
+ //
325
+ // WARNING: This struct has a complex representation. Callers must not construct
326
+ // |ASN1_TYPE| values manually. Use |ASN1_TYPE_set| and |ASN1_TYPE_set1|
327
+ // instead. Additionally, callers performing non-trivial operations on this type
328
+ // are encouraged to use |CBS| and |CBB| from <openssl/bytestring.h>, and
329
+ // convert to or from |ASN1_TYPE| with |d2i_ASN1_TYPE| or |i2d_ASN1_TYPE|.
330
+ //
331
+ // The |type| field corresponds to the tag of the ASN.1 element being
332
+ // represented:
333
+ //
334
+ // If |type| is a |V_ASN1_*| constant for an ASN.1 string-like type, as defined
335
+ // by |ASN1_STRING|, the tag matches the constant. |value| contains an
336
+ // |ASN1_STRING| pointer (equivalently, one of the more specific typedefs). See
337
+ // |ASN1_STRING| for details on the representation. Unlike |ASN1_STRING|,
338
+ // |ASN1_TYPE| does not use the |V_ASN1_NEG| flag for negative INTEGER and
339
+ // ENUMERATE values. For a negative value, the |ASN1_TYPE|'s |type| will be
340
+ // |V_ASN1_INTEGER| or |V_ASN1_ENUMERATED|, but |value| will an |ASN1_STRING|
341
+ // whose |type| is |V_ASN1_NEG_INTEGER| or |V_ASN1_NEG_ENUMERATED|.
342
+ //
343
+ // If |type| is |V_ASN1_OBJECT|, the tag is OBJECT IDENTIFIER and |value|
344
+ // contains an |ASN1_OBJECT| pointer.
345
+ //
346
+ // If |type| is |V_ASN1_NULL|, the tag is NULL. |value| contains a NULL pointer.
347
+ //
348
+ // If |type| is |V_ASN1_BOOLEAN|, the tag is BOOLEAN. |value| contains an
349
+ // |ASN1_BOOLEAN|.
350
+ //
351
+ // If |type| is |V_ASN1_SEQUENCE|, |V_ASN1_SET|, or |V_ASN1_OTHER|, the tag is
352
+ // SEQUENCE, SET, or some non-universal tag, respectively. |value| is an
353
+ // |ASN1_STRING| containing the entire element, including the tag and length.
354
+ // The |ASN1_STRING|'s |type| field matches the containing |ASN1_TYPE|'s |type|.
355
+ //
356
+ // Other positive values of |type|, up to |V_ASN1_MAX_UNIVERSAL|, correspond to
357
+ // universal primitive tags not directly supported by this library. |value| is
358
+ // an |ASN1_STRING| containing the body of the element, excluding the tag
359
+ // and length. The |ASN1_STRING|'s |type| field matches the containing
360
+ // |ASN1_TYPE|'s |type|.
361
+ struct asn1_type_st {
362
+ int type;
363
+ union {
364
+ char *ptr;
365
+ ASN1_BOOLEAN boolean;
366
+ ASN1_STRING *asn1_string;
367
+ ASN1_OBJECT *object;
368
+ ASN1_INTEGER *integer;
369
+ ASN1_ENUMERATED *enumerated;
370
+ ASN1_BIT_STRING *bit_string;
371
+ ASN1_OCTET_STRING *octet_string;
372
+ ASN1_PRINTABLESTRING *printablestring;
373
+ ASN1_T61STRING *t61string;
374
+ ASN1_IA5STRING *ia5string;
375
+ ASN1_GENERALSTRING *generalstring;
376
+ ASN1_BMPSTRING *bmpstring;
377
+ ASN1_UNIVERSALSTRING *universalstring;
378
+ ASN1_UTCTIME *utctime;
379
+ ASN1_GENERALIZEDTIME *generalizedtime;
380
+ ASN1_VISIBLESTRING *visiblestring;
381
+ ASN1_UTF8STRING *utf8string;
382
+ // set and sequence are left complete and still contain the entire element.
383
+ ASN1_STRING *set;
384
+ ASN1_STRING *sequence;
385
+ ASN1_VALUE *asn1_value;
386
+ } value;
387
+ };
388
+
389
+ // ASN1_TYPE_get returns the type of |a|, which will be one of the |V_ASN1_*|
390
+ // constants, or zero if |a| is not fully initialized.
391
+ OPENSSL_EXPORT int ASN1_TYPE_get(const ASN1_TYPE *a);
392
+
393
+ // ASN1_TYPE_set sets |a| to an |ASN1_TYPE| of type |type| and value |value|,
394
+ // releasing the previous contents of |a|.
395
+ //
396
+ // If |type| is |V_ASN1_BOOLEAN|, |a| is set to FALSE if |value| is NULL and
397
+ // TRUE otherwise. If setting |a| to TRUE, |value| may be an invalid pointer,
398
+ // such as (void*)1.
399
+ //
400
+ // If |type| is |V_ASN1_NULL|, |value| must be NULL.
401
+ //
402
+ // For other values of |type|, this function takes ownership of |value|, which
403
+ // must point to an object of the corresponding type. See |ASN1_TYPE| for
404
+ // details.
405
+ OPENSSL_EXPORT void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
406
+
407
+ // ASN1_TYPE_set1 behaves like |ASN1_TYPE_set| except it does not take ownership
408
+ // of |value|. It returns one on success and zero on error.
409
+ OPENSSL_EXPORT int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value);
410
+
411
+ // ASN1_TYPE_cmp returns zero if |a| and |b| are equal and some non-zero value
412
+ // otherwise. Note this function can only be used for equality checks, not an
413
+ // ordering.
414
+ OPENSSL_EXPORT int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b);
415
+
416
+ // TODO(davidben): Most of |ASN1_TYPE|'s APIs are hidden behind macros. Expand
417
+ // the macros, document them, and move them to this section.
418
+
419
+
316
420
  // Underdocumented functions.
317
421
  //
318
422
  // The following functions are not yet documented and organized.
@@ -356,6 +460,16 @@ OPENSSL_EXPORT void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len);
356
460
  #define ASN1_OBJECT_FLAG_DYNAMIC 0x01 // internal use
357
461
  #define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04 // internal use
358
462
  #define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08 // internal use
463
+
464
+ // An asn1_object_st (aka |ASN1_OBJECT|) represents an ASN.1 OBJECT IDENTIFIER.
465
+ //
466
+ // Note: Although the struct is exposed, mutating an |ASN1_OBJECT| is only
467
+ // permitted when initializing it. The library maintains a table of static
468
+ // |ASN1_OBJECT|s, which may be referenced by non-const |ASN1_OBJECT| pointers.
469
+ // Code which receives an |ASN1_OBJECT| pointer externally must assume it is
470
+ // immutable, even if the pointer is not const.
471
+ //
472
+ // TODO(davidben): Document this more completely in its own section.
359
473
  struct asn1_object_st {
360
474
  const char *sn, *ln;
361
475
  int nid;
@@ -414,8 +528,6 @@ typedef struct asn1_string_table_st {
414
528
  // see asn1t.h
415
529
  typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
416
530
  typedef struct ASN1_TLC_st ASN1_TLC;
417
- // This is just an opaque pointer
418
- typedef struct ASN1_VALUE_st ASN1_VALUE;
419
531
 
420
532
  // Declare ASN1 functions: the implement macro in in asn1t.h
421
533
 
@@ -581,35 +693,6 @@ typedef const ASN1_ITEM ASN1_ITEM_EXP;
581
693
  DEFINE_STACK_OF(ASN1_INTEGER)
582
694
  DECLARE_ASN1_SET_OF(ASN1_INTEGER)
583
695
 
584
- struct asn1_type_st {
585
- int type;
586
- union {
587
- char *ptr;
588
- ASN1_BOOLEAN boolean;
589
- ASN1_STRING *asn1_string;
590
- ASN1_OBJECT *object;
591
- ASN1_INTEGER *integer;
592
- ASN1_ENUMERATED *enumerated;
593
- ASN1_BIT_STRING *bit_string;
594
- ASN1_OCTET_STRING *octet_string;
595
- ASN1_PRINTABLESTRING *printablestring;
596
- ASN1_T61STRING *t61string;
597
- ASN1_IA5STRING *ia5string;
598
- ASN1_GENERALSTRING *generalstring;
599
- ASN1_BMPSTRING *bmpstring;
600
- ASN1_UNIVERSALSTRING *universalstring;
601
- ASN1_UTCTIME *utctime;
602
- ASN1_GENERALIZEDTIME *generalizedtime;
603
- ASN1_VISIBLESTRING *visiblestring;
604
- ASN1_UTF8STRING *utf8string;
605
- // set and sequence are left complete and still
606
- // contain the set or sequence bytes
607
- ASN1_STRING *set;
608
- ASN1_STRING *sequence;
609
- ASN1_VALUE *asn1_value;
610
- } value;
611
- };
612
-
613
696
  DEFINE_STACK_OF(ASN1_TYPE)
614
697
  DECLARE_ASN1_SET_OF(ASN1_TYPE)
615
698
 
@@ -696,11 +779,6 @@ typedef struct BIT_STRING_BITNAME_st {
696
779
 
697
780
  DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE)
698
781
 
699
- OPENSSL_EXPORT int ASN1_TYPE_get(const ASN1_TYPE *a);
700
- OPENSSL_EXPORT void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
701
- OPENSSL_EXPORT int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value);
702
- OPENSSL_EXPORT int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b);
703
-
704
782
  OPENSSL_EXPORT ASN1_OBJECT *ASN1_OBJECT_new(void);
705
783
  OPENSSL_EXPORT void ASN1_OBJECT_free(ASN1_OBJECT *a);
706
784
  OPENSSL_EXPORT int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp);
@@ -805,7 +883,8 @@ OPENSSL_EXPORT int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type);
805
883
  OPENSSL_EXPORT int i2t_ASN1_OBJECT(char *buf, int buf_len,
806
884
  const ASN1_OBJECT *a);
807
885
 
808
- OPENSSL_EXPORT ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data,
886
+ OPENSSL_EXPORT ASN1_OBJECT *ASN1_OBJECT_create(int nid,
887
+ const unsigned char *data,
809
888
  int len, const char *sn,
810
889
  const char *ln);
811
890
 
@@ -105,6 +105,10 @@ extern "C" {
105
105
  #elif defined(__MIPSEL__) && defined(__LP64__)
106
106
  #define OPENSSL_64_BIT
107
107
  #define OPENSSL_MIPS64
108
+ #elif defined(__riscv) && __SIZEOF_POINTER__ == 8
109
+ #define OPENSSL_64_BIT
110
+ #elif defined(__riscv) && __SIZEOF_POINTER__ == 4
111
+ #define OPENSSL_32_BIT
108
112
  #elif defined(__pnacl__)
109
113
  #define OPENSSL_32_BIT
110
114
  #define OPENSSL_PNACL
@@ -162,6 +166,10 @@ extern "C" {
162
166
  #endif
163
167
  #endif
164
168
 
169
+ #if defined(__FreeBSD__)
170
+ #define OPENSSL_FREEBSD
171
+ #endif
172
+
165
173
  // BoringSSL requires platform's locking APIs to make internal global state
166
174
  // thread-safe, including the PRNG. On some single-threaded embedded platforms,
167
175
  // locking APIs may not exist, so this dependency may be disabled with the
@@ -423,6 +431,7 @@ typedef struct spake2_ctx_st SPAKE2_CTX;
423
431
  typedef struct srtp_protection_profile_st SRTP_PROTECTION_PROFILE;
424
432
  typedef struct ssl_cipher_st SSL_CIPHER;
425
433
  typedef struct ssl_ctx_st SSL_CTX;
434
+ typedef struct ssl_ech_server_config_list_st SSL_ECH_SERVER_CONFIG_LIST;
426
435
  typedef struct ssl_method_st SSL_METHOD;
427
436
  typedef struct ssl_private_key_method_st SSL_PRIVATE_KEY_METHOD;
428
437
  typedef struct ssl_quic_method_st SSL_QUIC_METHOD;
@@ -556,14 +556,6 @@ struct evp_cipher_ctx_st {
556
556
  // final_used is non-zero if the |final| buffer contains plaintext.
557
557
  int final_used;
558
558
 
559
- // block_mask contains |cipher->block_size| minus one. (The block size
560
- // assumed to be a power of two.)
561
- //
562
- // TODO(davidben): This is redundant with |cipher->block_size| and constant
563
- // for the whole |EVP_CIPHER|. Move it there, or possibly even remove it and
564
- // do the subtraction on demand.
565
- int block_mask;
566
-
567
559
  uint8_t final[EVP_MAX_BLOCK_LENGTH]; // possible final block
568
560
  } /* EVP_CIPHER_CTX */;
569
561
 
@@ -55,10 +55,6 @@ OPENSSL_EXPORT int CRYPTO_is_confidential_build(void);
55
55
  // in which case it returns zero.
56
56
  OPENSSL_EXPORT int CRYPTO_has_asm(void);
57
57
 
58
- // FIPS_mode returns zero unless BoringSSL is built with BORINGSSL_FIPS, in
59
- // which case it returns one.
60
- OPENSSL_EXPORT int FIPS_mode(void);
61
-
62
58
  // BORINGSSL_self_test triggers the FIPS KAT-based self tests. It returns one on
63
59
  // success and zero on error.
64
60
  OPENSSL_EXPORT int BORINGSSL_self_test(void);
@@ -72,6 +68,30 @@ OPENSSL_EXPORT int BORINGSSL_self_test(void);
72
68
  OPENSSL_EXPORT void CRYPTO_pre_sandbox_init(void);
73
69
 
74
70
 
71
+ // FIPS monitoring
72
+
73
+ // FIPS_mode returns zero unless BoringSSL is built with BORINGSSL_FIPS, in
74
+ // which case it returns one.
75
+ OPENSSL_EXPORT int FIPS_mode(void);
76
+
77
+ // fips_counter_t denotes specific APIs/algorithms. A counter is maintained for
78
+ // each in FIPS mode so that tests can be written to assert that the expected,
79
+ // FIPS functions are being called by a certain peice of code.
80
+ enum fips_counter_t {
81
+ fips_counter_evp_aes_128_gcm = 0,
82
+ fips_counter_evp_aes_256_gcm = 1,
83
+ fips_counter_evp_aes_128_ctr = 2,
84
+ fips_counter_evp_aes_256_ctr = 3,
85
+
86
+ fips_counter_max = 3,
87
+ };
88
+
89
+ // FIPS_read_counter returns a counter of the number of times the specific
90
+ // function denoted by |counter| has been used. This always returns zero unless
91
+ // BoringSSL was built with BORINGSSL_FIPS_COUNTERS defined.
92
+ OPENSSL_EXPORT size_t FIPS_read_counter(enum fips_counter_t counter);
93
+
94
+
75
95
  // Deprecated functions.
76
96
 
77
97
  // OPENSSL_VERSION_TEXT contains a string the identifies the version of
@@ -343,11 +343,14 @@ OPENSSL_EXPORT int EC_GROUP_set_generator(EC_GROUP *group,
343
343
  OPENSSL_EXPORT int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order,
344
344
  BN_CTX *ctx);
345
345
 
346
+ #define OPENSSL_EC_EXPLICIT_CURVE 0
347
+ #define OPENSSL_EC_NAMED_CURVE 1
348
+
346
349
  // EC_GROUP_set_asn1_flag does nothing.
347
350
  OPENSSL_EXPORT void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag);
348
351
 
349
- #define OPENSSL_EC_NAMED_CURVE 0
350
- #define OPENSSL_EC_EXPLICIT_CURVE 1
352
+ // EC_GROUP_get_asn1_flag returns |OPENSSL_EC_NAMED_CURVE|.
353
+ OPENSSL_EXPORT int EC_GROUP_get_asn1_flag(const EC_GROUP *group);
351
354
 
352
355
  typedef struct ec_method_st EC_METHOD;
353
356
 
@@ -162,6 +162,25 @@ OPENSSL_EXPORT int ECDSA_SIG_to_bytes(uint8_t **out_bytes, size_t *out_len,
162
162
  OPENSSL_EXPORT size_t ECDSA_SIG_max_len(size_t order_len);
163
163
 
164
164
 
165
+ // Testing-only functions.
166
+
167
+ // ECDSA_sign_with_nonce_and_leak_private_key_for_testing behaves like
168
+ // |ECDSA_do_sign| but uses |nonce| for the ECDSA nonce 'k', instead of a random
169
+ // value. |nonce| is interpreted as a big-endian integer. It must be reduced
170
+ // modulo the group order and padded with zeros up to |BN_num_bytes(order)|
171
+ // bytes.
172
+ //
173
+ // WARNING: This function is only exported for testing purposes, when using test
174
+ // vectors or fuzzing strategies. It must not be used outside tests and may leak
175
+ // any private keys it is used with.
176
+ OPENSSL_EXPORT ECDSA_SIG *
177
+ ECDSA_sign_with_nonce_and_leak_private_key_for_testing(const uint8_t *digest,
178
+ size_t digest_len,
179
+ const EC_KEY *eckey,
180
+ const uint8_t *nonce,
181
+ size_t nonce_len);
182
+
183
+
165
184
  // Deprecated functions.
166
185
 
167
186
  // d2i_ECDSA_SIG parses an ASN.1, DER-encoded, signature from |len| bytes at
@@ -223,11 +223,12 @@ OPENSSL_EXPORT char *ERR_error_string_n(uint32_t packed_error, char *buf,
223
223
  size_t len);
224
224
 
225
225
  // ERR_lib_error_string returns a string representation of the library that
226
- // generated |packed_error|.
226
+ // generated |packed_error|, or a placeholder string is the library is
227
+ // unrecognized.
227
228
  OPENSSL_EXPORT const char *ERR_lib_error_string(uint32_t packed_error);
228
229
 
229
230
  // ERR_reason_error_string returns a string representation of the reason for
230
- // |packed_error|.
231
+ // |packed_error|, or a placeholder string if the reason is unrecognized.
231
232
  OPENSSL_EXPORT const char *ERR_reason_error_string(uint32_t packed_error);
232
233
 
233
234
  // ERR_print_errors_callback_t is the type of a function used by
@@ -59,6 +59,7 @@
59
59
 
60
60
  #include <openssl/base.h>
61
61
 
62
+ #include <openssl/evp_errors.h>
62
63
  #include <openssl/thread.h>
63
64
 
64
65
  // OpenSSL included digest and cipher functions in this header so we include
@@ -1091,42 +1092,4 @@ BSSL_NAMESPACE_END
1091
1092
 
1092
1093
  #endif
1093
1094
 
1094
- #define EVP_R_BUFFER_TOO_SMALL 100
1095
- #define EVP_R_COMMAND_NOT_SUPPORTED 101
1096
- #define EVP_R_DECODE_ERROR 102
1097
- #define EVP_R_DIFFERENT_KEY_TYPES 103
1098
- #define EVP_R_DIFFERENT_PARAMETERS 104
1099
- #define EVP_R_ENCODE_ERROR 105
1100
- #define EVP_R_EXPECTING_AN_EC_KEY_KEY 106
1101
- #define EVP_R_EXPECTING_AN_RSA_KEY 107
1102
- #define EVP_R_EXPECTING_A_DSA_KEY 108
1103
- #define EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 109
1104
- #define EVP_R_INVALID_DIGEST_LENGTH 110
1105
- #define EVP_R_INVALID_DIGEST_TYPE 111
1106
- #define EVP_R_INVALID_KEYBITS 112
1107
- #define EVP_R_INVALID_MGF1_MD 113
1108
- #define EVP_R_INVALID_OPERATION 114
1109
- #define EVP_R_INVALID_PADDING_MODE 115
1110
- #define EVP_R_INVALID_PSS_SALTLEN 116
1111
- #define EVP_R_KEYS_NOT_SET 117
1112
- #define EVP_R_MISSING_PARAMETERS 118
1113
- #define EVP_R_NO_DEFAULT_DIGEST 119
1114
- #define EVP_R_NO_KEY_SET 120
1115
- #define EVP_R_NO_MDC2_SUPPORT 121
1116
- #define EVP_R_NO_NID_FOR_CURVE 122
1117
- #define EVP_R_NO_OPERATION_SET 123
1118
- #define EVP_R_NO_PARAMETERS_SET 124
1119
- #define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 125
1120
- #define EVP_R_OPERATON_NOT_INITIALIZED 126
1121
- #define EVP_R_UNKNOWN_PUBLIC_KEY_TYPE 127
1122
- #define EVP_R_UNSUPPORTED_ALGORITHM 128
1123
- #define EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE 129
1124
- #define EVP_R_NOT_A_PRIVATE_KEY 130
1125
- #define EVP_R_INVALID_SIGNATURE 131
1126
- #define EVP_R_MEMORY_LIMIT_EXCEEDED 132
1127
- #define EVP_R_INVALID_PARAMETERS 133
1128
- #define EVP_R_INVALID_PEER_KEY 134
1129
- #define EVP_R_NOT_XOF_OR_INVALID_LENGTH 135
1130
- #define EVP_R_EMPTY_PSK 136
1131
-
1132
1095
  #endif // OPENSSL_HEADER_EVP_H