grpc 1.71.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +78 -75
  3. data/include/grpc/event_engine/memory_request.h +3 -3
  4. data/include/grpc/impl/channel_arg_names.h +70 -50
  5. data/include/grpc/support/workaround_list.h +1 -4
  6. data/src/core/{lib/transport → call}/call_arena_allocator.cc +1 -1
  7. data/src/core/{lib/transport → call}/call_arena_allocator.h +3 -3
  8. data/src/core/{lib/transport → call}/call_destination.h +4 -4
  9. data/src/core/{lib/transport → call}/call_filters.cc +2 -2
  10. data/src/core/{lib/transport → call}/call_filters.h +25 -6
  11. data/src/core/{lib/channel → call}/call_finalization.h +3 -3
  12. data/src/core/{lib/transport → call}/call_spine.cc +1 -1
  13. data/src/core/{lib/transport → call}/call_spine.h +68 -26
  14. data/src/core/{lib/transport → call}/call_state.cc +1 -1
  15. data/src/core/{lib/transport → call}/call_state.h +3 -3
  16. data/src/core/{lib/surface → call}/client_call.cc +9 -7
  17. data/src/core/{lib/surface → call}/client_call.h +4 -4
  18. data/src/core/{lib/transport → call}/custom_metadata.h +3 -3
  19. data/src/core/{lib/transport → call}/interception_chain.cc +5 -5
  20. data/src/core/{lib/transport → call}/interception_chain.h +7 -7
  21. data/src/core/{lib/transport → call}/message.cc +1 -1
  22. data/src/core/{lib/transport → call}/message.h +7 -3
  23. data/src/core/{lib/transport → call}/metadata.cc +2 -2
  24. data/src/core/{lib/transport → call}/metadata.h +4 -4
  25. data/src/core/{lib/transport → call}/metadata_batch.cc +1 -1
  26. data/src/core/{lib/transport → call}/metadata_batch.h +7 -7
  27. data/src/core/{lib/transport → call}/metadata_compression_traits.h +3 -3
  28. data/src/core/{lib/transport → call}/metadata_info.cc +27 -9
  29. data/src/core/{lib/transport → call}/metadata_info.h +4 -4
  30. data/src/core/{lib/transport → call}/parsed_metadata.cc +1 -1
  31. data/src/core/{lib/transport → call}/parsed_metadata.h +3 -3
  32. data/src/core/call/request_buffer.h +3 -3
  33. data/src/core/call/security_context.cc +125 -0
  34. data/src/core/call/security_context.h +114 -0
  35. data/src/core/{lib/surface → call}/server_call.cc +3 -3
  36. data/src/core/{lib/surface → call}/server_call.h +5 -5
  37. data/src/core/{lib/transport → call}/simple_slice_based_metadata.h +4 -4
  38. data/src/core/{lib/channel → call}/status_util.cc +1 -1
  39. data/src/core/{lib/channel → call}/status_util.h +3 -3
  40. data/src/core/client_channel/client_channel.cc +24 -16
  41. data/src/core/client_channel/client_channel.h +4 -3
  42. data/src/core/client_channel/client_channel_filter.cc +10 -20
  43. data/src/core/client_channel/client_channel_filter.h +1 -1
  44. data/src/core/client_channel/client_channel_internal.h +1 -1
  45. data/src/core/client_channel/config_selector.h +2 -2
  46. data/src/core/client_channel/direct_channel.cc +2 -2
  47. data/src/core/client_channel/dynamic_filters.cc +0 -1
  48. data/src/core/client_channel/dynamic_filters.h +0 -1
  49. data/src/core/client_channel/lb_metadata.h +1 -1
  50. data/src/core/client_channel/load_balanced_call_destination.cc +1 -1
  51. data/src/core/client_channel/load_balanced_call_destination.h +1 -1
  52. data/src/core/client_channel/retry_filter_legacy_call_data.cc +43 -41
  53. data/src/core/client_channel/retry_filter_legacy_call_data.h +6 -6
  54. data/src/core/client_channel/retry_interceptor.h +1 -1
  55. data/src/core/client_channel/retry_service_config.cc +1 -1
  56. data/src/core/client_channel/retry_service_config.h +1 -1
  57. data/src/core/client_channel/retry_throttle.cc +30 -34
  58. data/src/core/client_channel/retry_throttle.h +10 -2
  59. data/src/core/client_channel/subchannel.cc +7 -8
  60. data/src/core/client_channel/subchannel.h +1 -2
  61. data/src/core/client_channel/subchannel_stream_client.cc +14 -11
  62. data/src/core/client_channel/subchannel_stream_client.h +2 -2
  63. data/src/core/config/core_configuration.h +2 -2
  64. data/src/core/credentials/call/call_credentials.h +157 -0
  65. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.cc +4 -4
  66. data/src/core/{lib/security/credentials → credentials/call}/call_creds_util.h +4 -4
  67. data/src/core/{lib/security/credentials/composite/composite_credentials.cc → credentials/call/composite/composite_call_credentials.cc} +4 -57
  68. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  69. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.cc +2 -2
  70. data/src/core/{lib/security/credentials → credentials/call}/external/aws_external_account_credentials.h +5 -5
  71. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.cc +1 -1
  72. data/src/core/{lib/security/credentials → credentials/call}/external/aws_request_signer.h +3 -3
  73. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.cc +6 -6
  74. data/src/core/{lib/security/credentials → credentials/call}/external/external_account_credentials.h +5 -5
  75. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.cc +1 -1
  76. data/src/core/{lib/security/credentials → credentials/call}/external/file_external_account_credentials.h +4 -4
  77. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.cc +3 -2
  78. data/src/core/{lib/security/credentials → credentials/call}/external/url_external_account_credentials.h +4 -4
  79. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +3 -2
  80. data/src/core/{lib/security/credentials → credentials/call}/gcp_service_account_identity/gcp_service_account_identity_credentials.h +6 -6
  81. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.cc +2 -2
  82. data/src/core/{lib/security/credentials → credentials/call}/iam/iam_credentials.h +4 -4
  83. data/src/core/{lib/security/util → credentials/call}/json_util.cc +1 -1
  84. data/src/core/{lib/security/util → credentials/call}/json_util.h +3 -3
  85. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.cc +2 -2
  86. data/src/core/{lib/security/credentials → credentials/call}/jwt/json_token.h +3 -3
  87. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.cc +3 -3
  88. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_credentials.h +5 -5
  89. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.cc +3 -2
  90. data/src/core/{lib/security/credentials → credentials/call}/jwt/jwt_verifier.h +3 -3
  91. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.cc +4 -3
  92. data/src/core/{lib/security/credentials → credentials/call}/oauth2/oauth2_credentials.h +5 -5
  93. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.cc +2 -2
  94. data/src/core/{lib/security/credentials → credentials/call}/plugin/plugin_credentials.h +5 -5
  95. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.cc +1 -1
  96. data/src/core/{lib/security/credentials → credentials/call}/token_fetcher/token_fetcher_credentials.h +5 -5
  97. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.cc +4 -4
  98. data/src/core/{lib/security/credentials → credentials/transport}/alts/alts_credentials.h +5 -5
  99. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.cc +4 -4
  100. data/src/core/{lib/security/security_connector → credentials/transport}/alts/alts_security_connector.h +4 -4
  101. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.cc +1 -1
  102. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment.h +3 -3
  103. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_linux.cc +1 -1
  104. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_no_op.cc +1 -1
  105. data/src/core/{lib/security/credentials → credentials/transport}/alts/check_gcp_environment_windows.cc +1 -1
  106. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_client_options.cc +1 -1
  107. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.cc +1 -1
  108. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_options.h +3 -3
  109. data/src/core/{lib/security/credentials → credentials/transport}/alts/grpc_alts_credentials_server_options.cc +1 -1
  110. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry.h +4 -4
  111. data/src/core/{lib/security/credentials → credentials/transport}/channel_creds_registry_init.cc +21 -17
  112. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  113. data/src/core/{lib/security/credentials/composite/composite_credentials.h → credentials/transport/composite/composite_channel_credentials.h} +6 -51
  114. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.cc +4 -26
  115. data/src/core/{lib/security/credentials → credentials/transport}/fake/fake_credentials.h +5 -37
  116. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.cc +4 -4
  117. data/src/core/{lib/security/security_connector → credentials/transport}/fake/fake_security_connector.h +4 -4
  118. data/src/core/{lib/security/credentials → credentials/transport}/google_default/credentials_generic.cc +2 -2
  119. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.cc +31 -19
  120. data/src/core/{lib/security/credentials → credentials/transport}/google_default/google_default_credentials.h +5 -5
  121. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.cc +2 -2
  122. data/src/core/{lib/security/credentials → credentials/transport}/insecure/insecure_credentials.h +5 -5
  123. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.cc +2 -2
  124. data/src/core/{lib/security/security_connector → credentials/transport}/insecure/insecure_security_connector.h +5 -5
  125. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.cc +2 -2
  126. data/src/core/{lib/security/credentials → credentials/transport}/local/local_credentials.h +5 -5
  127. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.cc +4 -4
  128. data/src/core/{lib/security/security_connector → credentials/transport}/local/local_security_connector.h +4 -4
  129. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.cc +2 -2
  130. data/src/core/{lib/security/security_connector → credentials/transport}/security_connector.h +3 -3
  131. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.cc +2 -2
  132. data/src/core/{lib/security/credentials → credentials/transport}/ssl/ssl_credentials.h +6 -6
  133. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.cc +5 -5
  134. data/src/core/{lib/security/security_connector → credentials/transport}/ssl/ssl_security_connector.h +4 -4
  135. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_factory.h +3 -3
  136. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.cc +1 -1
  137. data/src/core/{lib/security/certificate_provider → credentials/transport/tls}/certificate_provider_registry.h +4 -4
  138. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.cc +1 -1
  139. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_distributor.h +4 -4
  140. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_match.cc +1 -1
  141. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.cc +2 -2
  142. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_provider.h +5 -5
  143. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.cc +2 -2
  144. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_certificate_verifier.h +3 -3
  145. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.cc +1 -1
  146. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_credentials_options.h +7 -7
  147. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.cc +1 -1
  148. data/src/core/{lib/security/credentials → credentials/transport}/tls/grpc_tls_crl_provider.h +3 -3
  149. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots.h +3 -3
  150. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_fallback.cc +1 -1
  151. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.cc +2 -2
  152. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_supported.h +3 -3
  153. data/src/core/{lib/security/security_connector → credentials/transport/tls}/load_system_roots_windows.cc +1 -1
  154. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.cc +3 -3
  155. data/src/core/{lib/security/security_connector → credentials/transport/tls}/ssl_utils.h +4 -4
  156. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.cc +4 -4
  157. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_credentials.h +5 -5
  158. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.cc +6 -6
  159. data/src/core/{lib/security/security_connector → credentials/transport}/tls/tls_security_connector.h +6 -6
  160. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.cc +1 -1
  161. data/src/core/{lib/security/credentials → credentials/transport}/tls/tls_utils.h +3 -3
  162. data/src/core/{lib/security/credentials/credentials.cc → credentials/transport/transport_credentials.cc} +1 -3
  163. data/src/core/{lib/security/credentials/credentials.h → credentials/transport/transport_credentials.h} +5 -121
  164. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.cc +5 -5
  165. data/src/core/{lib/security/credentials → credentials/transport}/xds/xds_credentials.h +6 -6
  166. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
  167. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -5
  168. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -2
  169. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  170. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
  171. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +1 -1
  172. data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
  173. data/src/core/ext/filters/http/client_authority_filter.cc +2 -2
  174. data/src/core/ext/filters/http/message_compress/compression_filter.cc +1 -1
  175. data/src/core/ext/filters/http/message_compress/compression_filter.h +1 -1
  176. data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
  177. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  178. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -2
  179. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -1
  180. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +3 -3
  181. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +8 -5
  182. data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -1
  183. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +2 -2
  184. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +1 -3
  185. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +58 -57
  186. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +3 -3
  187. data/src/core/ext/transport/chttp2/transport/frame.cc +89 -68
  188. data/src/core/ext/transport/chttp2/transport/frame.h +37 -1
  189. data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -0
  190. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +6 -3
  191. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -2
  192. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -2
  193. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +1 -1
  194. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -2
  195. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -1
  196. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
  197. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +10 -8
  198. data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
  199. data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
  200. data/src/core/ext/transport/chttp2/transport/internal.h +11 -14
  201. data/src/core/ext/transport/chttp2/transport/parsing.cc +36 -23
  202. data/src/core/ext/transport/chttp2/transport/writing.cc +15 -14
  203. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
  204. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1 -1
  205. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +65 -65
  206. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +28 -28
  207. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +14 -14
  208. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +6 -6
  209. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +6 -6
  210. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -4
  211. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +133 -133
  212. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +71 -71
  213. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +26 -26
  214. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +7 -7
  215. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +216 -218
  216. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +66 -66
  217. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +27 -27
  218. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +9 -9
  219. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +326 -328
  220. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +103 -103
  221. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +58 -58
  222. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +14 -14
  223. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +22 -24
  224. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +3 -3
  225. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +29 -29
  226. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +16 -16
  227. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +186 -192
  228. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +54 -54
  229. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +54 -54
  230. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +21 -21
  231. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +59 -61
  232. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +15 -15
  233. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +100 -100
  234. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +34 -34
  235. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +12 -12
  236. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +5 -5
  237. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +118 -118
  238. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +39 -39
  239. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +19 -19
  240. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +9 -9
  241. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +27 -27
  242. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +10 -10
  243. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +12 -14
  244. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +2 -2
  245. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +41 -41
  246. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +16 -16
  247. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +24 -24
  248. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +9 -9
  249. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +139 -139
  250. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +46 -46
  251. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +61 -61
  252. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +20 -20
  253. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
  254. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +1 -1
  255. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +6 -6
  256. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -4
  257. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +33 -33
  258. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +14 -14
  259. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +12 -14
  260. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +2 -2
  261. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -54
  262. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +10 -10
  263. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +620 -626
  264. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +215 -215
  265. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +13 -13
  266. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
  267. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +3 -3
  268. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +2 -2
  269. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +7 -7
  270. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +3 -3
  271. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +15 -15
  272. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +7 -7
  273. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +7 -7
  274. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +3 -3
  275. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +16 -16
  276. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +10 -10
  277. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +306 -312
  278. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +96 -96
  279. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +61 -61
  280. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +27 -27
  281. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +19 -19
  282. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +6 -6
  283. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +25 -25
  284. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +9 -9
  285. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +34 -34
  286. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +9 -9
  287. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +3 -3
  288. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +2 -2
  289. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +294 -294
  290. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +105 -105
  291. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +3 -3
  292. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +1 -1
  293. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +23 -23
  294. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +8 -8
  295. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +84 -84
  296. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +28 -28
  297. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +87 -87
  298. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +31 -31
  299. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +24 -24
  300. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +5 -5
  301. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +130 -132
  302. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +43 -43
  303. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +6 -6
  304. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +2 -2
  305. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +60 -60
  306. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +26 -26
  307. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -7
  308. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +3 -3
  309. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +6 -6
  310. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
  311. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +7 -7
  312. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +3 -3
  313. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +11 -11
  314. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
  315. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +85 -89
  316. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +20 -20
  317. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +80 -83
  318. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +27 -27
  319. data/src/core/ext/upb-gen/google/api/http.upb.h +51 -51
  320. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +22 -22
  321. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +327 -301
  322. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +97 -85
  323. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +1 -0
  324. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +9 -11
  325. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +9 -10
  326. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +110 -113
  327. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +25 -25
  328. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +6 -6
  329. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +4 -4
  330. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +21 -22
  331. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +3 -3
  332. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +70 -72
  333. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +17 -17
  334. data/src/core/ext/upb-gen/validate/validate.upb.h +368 -368
  335. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +117 -117
  336. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +9 -10
  337. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +7 -7
  338. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +3 -3
  339. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +12 -12
  340. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +2 -2
  341. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +27 -30
  342. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -7
  343. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +3 -3
  344. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
  345. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +1 -1
  346. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +22 -24
  347. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +3 -3
  348. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +98 -87
  349. data/src/core/{lib/security/transport → filter/auth}/auth_filters.h +8 -7
  350. data/src/core/{lib/security/transport → filter/auth}/client_auth_filter.cc +7 -6
  351. data/src/core/{lib/security/transport → filter/auth}/server_auth_filter.cc +5 -4
  352. data/src/core/handshaker/handshaker.cc +0 -8
  353. data/src/core/handshaker/security/security_handshaker.cc +1 -1
  354. data/src/core/handshaker/security/security_handshaker.h +1 -1
  355. data/src/core/lib/channel/channel_args.h +49 -30
  356. data/src/core/lib/channel/channel_stack.h +1 -2
  357. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  358. data/src/core/lib/channel/connected_channel.cc +2 -2
  359. data/src/core/lib/channel/promise_based_filter.h +3 -3
  360. data/src/core/lib/debug/trace_flags.cc +2 -4
  361. data/src/core/lib/debug/trace_flags.h +1 -2
  362. data/src/core/lib/event_engine/default_event_engine_factory.cc +6 -6
  363. data/src/core/lib/event_engine/default_event_engine_factory.h +1 -1
  364. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  365. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  366. data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
  367. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +0 -2
  368. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +1 -3
  369. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +26 -0
  370. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +4 -0
  371. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  372. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +0 -11
  373. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +10 -2
  374. data/src/core/lib/event_engine/shim.cc +9 -16
  375. data/src/core/lib/event_engine/shim.h +11 -0
  376. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +15 -7
  377. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +2 -1
  378. data/src/core/lib/event_engine/windows/win_socket.cc +11 -0
  379. data/src/core/lib/event_engine/windows/win_socket.h +3 -0
  380. data/src/core/lib/event_engine/windows/windows_endpoint.cc +5 -10
  381. data/src/core/lib/event_engine/windows/windows_engine.cc +42 -0
  382. data/src/core/lib/event_engine/windows/windows_engine.h +8 -2
  383. data/src/core/lib/event_engine/windows/windows_listener.cc +5 -6
  384. data/src/core/lib/event_engine/windows/windows_listener.h +9 -4
  385. data/src/core/lib/experiments/experiments.cc +174 -21
  386. data/src/core/lib/experiments/experiments.h +70 -13
  387. data/src/core/lib/iomgr/endpoint_pair_posix.cc +43 -16
  388. data/src/core/lib/iomgr/endpoint_pair_windows.cc +43 -8
  389. data/src/core/lib/iomgr/error.cc +27 -43
  390. data/src/core/lib/iomgr/ev_epoll1_linux.cc +13 -1
  391. data/src/core/lib/iomgr/ev_poll_posix.cc +13 -0
  392. data/src/core/lib/iomgr/polling_entity.cc +2 -7
  393. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
  394. data/src/core/lib/iomgr/socket_utils_posix.cc +22 -11
  395. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  396. data/src/core/lib/iomgr/tcp_client_cfstream.cc +8 -9
  397. data/src/core/lib/iomgr/tcp_client_posix.cc +11 -15
  398. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  399. data/src/core/lib/iomgr/tcp_posix.cc +58 -31
  400. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  401. data/src/core/lib/iomgr/tcp_server_posix.cc +9 -1
  402. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -4
  403. data/src/core/lib/iomgr/tcp_server_windows.cc +27 -16
  404. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -2
  405. data/src/core/lib/promise/all_ok.h +31 -0
  406. data/src/core/lib/promise/loop.h +8 -5
  407. data/src/core/lib/promise/map.h +65 -2
  408. data/src/core/lib/promise/party.h +5 -1
  409. data/src/core/lib/promise/poll.h +22 -20
  410. data/src/core/lib/promise/promise.h +2 -2
  411. data/src/core/lib/promise/status_flag.h +23 -11
  412. data/src/core/lib/security/authorization/evaluate_args.cc +1 -1
  413. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  414. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -1
  415. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
  416. data/src/core/lib/slice/slice.h +6 -0
  417. data/src/core/lib/surface/call.cc +20 -18
  418. data/src/core/lib/surface/call_utils.cc +3 -3
  419. data/src/core/lib/surface/call_utils.h +3 -3
  420. data/src/core/lib/surface/channel.h +2 -2
  421. data/src/core/lib/surface/channel_init.h +2 -2
  422. data/src/core/lib/surface/completion_queue.cc +77 -17
  423. data/src/core/lib/surface/filter_stack_call.cc +40 -27
  424. data/src/core/lib/surface/filter_stack_call.h +1 -1
  425. data/src/core/lib/surface/init.cc +2 -3
  426. data/src/core/lib/surface/lame_client.cc +1 -1
  427. data/src/core/lib/surface/legacy_channel.cc +27 -23
  428. data/src/core/lib/surface/legacy_channel.h +1 -1
  429. data/src/core/lib/surface/version.cc +2 -2
  430. data/src/core/lib/transport/error_utils.cc +65 -11
  431. data/src/core/lib/transport/error_utils.h +2 -2
  432. data/src/core/lib/transport/status_conversion.cc +16 -14
  433. data/src/core/lib/transport/status_conversion.h +5 -4
  434. data/src/core/lib/transport/transport.h +5 -5
  435. data/src/core/lib/transport/transport_op_string.cc +1 -1
  436. data/src/core/load_balancing/delegating_helper.h +1 -1
  437. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -1
  438. data/src/core/load_balancing/grpclb/grpclb.cc +1 -2
  439. data/src/core/load_balancing/pick_first/pick_first.cc +0 -955
  440. data/src/core/load_balancing/rls/rls.cc +31 -37
  441. data/src/core/load_balancing/weighted_target/weighted_target.cc +1 -1
  442. data/src/core/load_balancing/xds/cds.cc +3 -10
  443. data/src/core/load_balancing/xds/xds_cluster_impl.cc +1 -1
  444. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
  445. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -2
  446. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +1 -3
  447. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +4 -0
  448. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
  449. data/src/core/resolver/xds/xds_dependency_manager.cc +8 -3
  450. data/src/core/resolver/xds/xds_resolver.cc +2 -2
  451. data/src/core/server/server.cc +7 -4
  452. data/src/core/server/server.h +1 -1
  453. data/src/core/server/server_call_tracer_filter.cc +1 -1
  454. data/src/core/server/server_config_selector.h +1 -1
  455. data/src/core/server/server_config_selector_filter.cc +1 -1
  456. data/src/core/server/xds_server_config_fetcher.cc +5 -5
  457. data/src/core/service_config/service_config_channel_arg_filter.cc +1 -1
  458. data/src/core/telemetry/call_tracer.cc +2 -4
  459. data/src/core/telemetry/call_tracer.h +3 -3
  460. data/src/core/telemetry/metrics.cc +30 -12
  461. data/src/core/telemetry/metrics.h +15 -3
  462. data/src/core/telemetry/stats_data.cc +75 -2
  463. data/src/core/telemetry/stats_data.h +46 -4
  464. data/src/core/telemetry/tcp_tracer.h +90 -84
  465. data/src/core/{lib/security/context/security_context.cc → transport/auth_context.cc} +1 -96
  466. data/src/core/{lib/security/context/security_context.h → transport/auth_context.h} +6 -76
  467. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  468. data/src/core/tsi/ssl_transport_security.cc +1 -1
  469. data/src/core/util/check_class_size.h +48 -0
  470. data/src/core/util/gcp_metadata_query.cc +1 -1
  471. data/src/core/util/http_client/httpcli.cc +3 -3
  472. data/src/core/util/http_client/httpcli_security_connector.cc +3 -3
  473. data/src/core/util/load_file.cc +26 -14
  474. data/src/core/util/status_helper.cc +86 -63
  475. data/src/core/util/status_helper.h +9 -26
  476. data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
  477. data/src/core/xds/grpc/certificate_provider_store.h +3 -3
  478. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  479. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
  480. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +10 -7
  481. data/src/core/xds/grpc/xds_certificate_provider.cc +1 -1
  482. data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
  483. data/src/core/xds/grpc/xds_client_grpc.cc +7 -6
  484. data/src/core/xds/grpc/xds_client_grpc.h +4 -2
  485. data/src/core/xds/grpc/xds_cluster.h +3 -3
  486. data/src/core/xds/grpc/xds_cluster_parser.cc +3 -2
  487. data/src/core/xds/grpc/xds_http_fault_filter.cc +1 -1
  488. data/src/core/xds/grpc/xds_http_filter.h +1 -1
  489. data/src/core/xds/grpc/xds_http_filter_registry.h +1 -1
  490. data/src/core/xds/grpc/xds_route_config.h +1 -1
  491. data/src/core/xds/grpc/xds_route_config_parser.cc +1 -1
  492. data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
  493. data/src/core/xds/grpc/xds_routing.h +1 -1
  494. data/src/core/xds/grpc/xds_server_grpc.cc +60 -48
  495. data/src/core/xds/grpc/xds_server_grpc.h +23 -13
  496. data/src/core/xds/grpc/xds_server_grpc_interface.h +2 -2
  497. data/src/core/xds/grpc/xds_transport_grpc.cc +5 -5
  498. data/src/core/xds/grpc/xds_transport_grpc.h +5 -3
  499. data/src/core/xds/xds_client/lrs_client.cc +6 -5
  500. data/src/core/xds/xds_client/lrs_client.h +7 -7
  501. data/src/core/xds/xds_client/xds_bootstrap.h +16 -1
  502. data/src/core/xds/xds_client/xds_client.cc +25 -23
  503. data/src/core/xds/xds_client/xds_client.h +3 -1
  504. data/src/core/xds/xds_client/xds_resource_type.h +1 -2
  505. data/src/core/xds/xds_client/xds_transport.h +1 -1
  506. data/src/ruby/ext/grpc/extconf.rb +1 -1
  507. data/src/ruby/lib/grpc/version.rb +1 -1
  508. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +0 -2
  509. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +0 -2
  510. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +0 -2
  511. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +0 -2
  512. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +0 -2
  513. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +0 -2
  514. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +0 -1
  515. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +0 -1
  516. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +0 -2
  517. data/third_party/boringssl-with-bazel/src/crypto/internal.h +20 -3
  518. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -25
  519. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +3 -7
  520. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +1 -1
  521. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  522. data/third_party/boringssl-with-bazel/src/ssl/internal.h +13 -6
  523. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +2 -1
  524. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1 -1
  525. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +1 -1
  526. data/third_party/upb/upb/base/internal/log2.h +3 -1
  527. data/third_party/upb/upb/base/string_view.h +10 -0
  528. data/third_party/upb/upb/hash/common.c +5 -1
  529. data/third_party/upb/upb/json/decode.c +2 -2
  530. data/third_party/upb/upb/json/decode.h +0 -1
  531. data/third_party/upb/upb/mem/alloc.h +5 -0
  532. data/third_party/upb/upb/mem/arena.c +296 -142
  533. data/third_party/upb/upb/mem/arena.h +47 -11
  534. data/third_party/upb/upb/mem/arena.hpp +4 -20
  535. data/third_party/upb/upb/mem/internal/arena.h +4 -6
  536. data/third_party/upb/upb/message/accessors.h +41 -0
  537. data/third_party/upb/upb/message/compat.c +11 -14
  538. data/third_party/upb/upb/message/compat.h +4 -3
  539. data/third_party/upb/upb/message/copy.c +35 -30
  540. data/third_party/upb/upb/message/internal/accessors.h +139 -10
  541. data/third_party/upb/upb/message/internal/extension.c +28 -25
  542. data/third_party/upb/upb/message/internal/extension.h +21 -5
  543. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  544. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  545. data/third_party/upb/upb/message/internal/map.h +2 -3
  546. data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
  547. data/third_party/upb/upb/message/internal/message.c +48 -29
  548. data/third_party/upb/upb/message/internal/message.h +154 -24
  549. data/third_party/upb/upb/message/map_sorter.c +20 -8
  550. data/third_party/upb/upb/message/message.c +90 -38
  551. data/third_party/upb/upb/message/message.h +58 -2
  552. data/third_party/upb/upb/message/value.h +9 -0
  553. data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
  554. data/third_party/upb/upb/mini_descriptor/decode.c +97 -136
  555. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  556. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  557. data/third_party/upb/upb/mini_table/extension_registry.c +24 -12
  558. data/third_party/upb/upb/mini_table/extension_registry.h +13 -6
  559. data/third_party/upb/upb/mini_table/message.c +21 -13
  560. data/third_party/upb/upb/port/atomic.h +134 -7
  561. data/third_party/upb/upb/port/def.inc +140 -38
  562. data/third_party/upb/upb/port/undef.inc +11 -1
  563. data/third_party/upb/upb/reflection/def.hpp +5 -1
  564. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  565. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +1 -1
  566. data/third_party/upb/upb/reflection/file_def.c +12 -5
  567. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  568. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  569. data/third_party/upb/upb/reflection/message.c +19 -16
  570. data/third_party/upb/upb/reflection/message.h +3 -1
  571. data/third_party/upb/upb/text/encode.c +1 -13
  572. data/third_party/upb/upb/text/internal/encode.c +25 -6
  573. data/third_party/upb/upb/text/internal/encode.h +4 -0
  574. data/third_party/upb/upb/wire/decode.c +60 -45
  575. data/third_party/upb/upb/wire/decode.h +4 -2
  576. data/third_party/upb/upb/wire/encode.c +77 -42
  577. data/third_party/upb/upb/wire/encode.h +2 -0
  578. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  579. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  580. data/third_party/utf8_range/utf8_range.c +15 -275
  581. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  582. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  583. data/third_party/zlib/deflate.c +40 -15
  584. data/third_party/zlib/deflate.h +33 -2
  585. data/third_party/zlib/gzguts.h +2 -6
  586. data/third_party/zlib/inflate.c +1 -1
  587. data/third_party/zlib/inftrees.c +3 -3
  588. data/third_party/zlib/inftrees.h +2 -2
  589. data/third_party/zlib/trees.c +18 -4
  590. data/third_party/zlib/zconf.h +1 -9
  591. data/third_party/zlib/zlib.h +12 -12
  592. data/third_party/zlib/zutil.h +4 -25
  593. metadata +155 -145
  594. data/include/grpc/grpc_cronet.h +0 -37
  595. data/src/core/lib/transport/http2_errors.h +0 -43
  596. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  597. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
@@ -16,7 +16,7 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/security/security_connector/alts/alts_security_connector.h"
19
+ #include "src/core/credentials/transport/alts/alts_security_connector.h"
20
20
 
21
21
  #include <grpc/grpc.h>
22
22
  #include <grpc/grpc_security_constants.h>
@@ -35,6 +35,8 @@
35
35
  #include "absl/log/log.h"
36
36
  #include "absl/status/status.h"
37
37
  #include "absl/strings/string_view.h"
38
+ #include "src/core/credentials/transport/alts/alts_credentials.h"
39
+ #include "src/core/credentials/transport/transport_credentials.h"
38
40
  #include "src/core/handshaker/handshaker.h"
39
41
  #include "src/core/handshaker/security/security_handshaker.h"
40
42
  #include "src/core/lib/channel/channel_args.h"
@@ -45,11 +47,9 @@
45
47
  #include "src/core/lib/iomgr/iomgr_fwd.h"
46
48
  #include "src/core/lib/promise/arena_promise.h"
47
49
  #include "src/core/lib/promise/promise.h"
48
- #include "src/core/lib/security/context/security_context.h"
49
- #include "src/core/lib/security/credentials/alts/alts_credentials.h"
50
- #include "src/core/lib/security/credentials/credentials.h"
51
50
  #include "src/core/lib/slice/slice.h"
52
51
  #include "src/core/lib/transport/transport.h"
52
+ #include "src/core/transport/auth_context.h"
53
53
  #include "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h"
54
54
  #include "src/core/tsi/transport_security.h"
55
55
  #include "src/core/util/debug_location.h"
@@ -16,14 +16,14 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_ALTS_ALTS_SECURITY_CONNECTOR_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_ALTS_ALTS_SECURITY_CONNECTOR_H
19
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_ALTS_SECURITY_CONNECTOR_H
20
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_ALTS_SECURITY_CONNECTOR_H
21
21
  #include <grpc/credentials.h>
22
22
  #include <grpc/grpc.h>
23
23
  #include <grpc/grpc_security.h>
24
24
  #include <grpc/support/port_platform.h>
25
25
 
26
- #include "src/core/lib/security/security_connector/security_connector.h"
26
+ #include "src/core/credentials/transport/security_connector.h"
27
27
  #include "src/core/tsi/alts/handshaker/transport_security_common_api.h"
28
28
  #include "src/core/tsi/transport_security_interface.h"
29
29
  #include "src/core/util/ref_counted_ptr.h"
@@ -75,4 +75,4 @@ RefCountedPtr<grpc_auth_context> grpc_alts_auth_context_from_tsi_peer(
75
75
  } // namespace internal
76
76
  } // namespace grpc_core
77
77
 
78
- #endif // GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_ALTS_ALTS_SECURITY_CONNECTOR_H
78
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_ALTS_SECURITY_CONNECTOR_H
@@ -16,7 +16,7 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
19
+ #include "src/core/credentials/transport/alts/check_gcp_environment.h"
20
20
 
21
21
  #include <ctype.h>
22
22
  #include <grpc/support/alloc.h>
@@ -16,8 +16,8 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H
19
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_CHECK_GCP_ENVIRONMENT_H
20
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_CHECK_GCP_ENVIRONMENT_H
21
21
 
22
22
  namespace grpc_core {
23
23
  namespace internal {
@@ -54,4 +54,4 @@ bool check_bios_data(const char* bios_data);
54
54
  ///
55
55
  bool grpc_alts_is_running_on_gcp();
56
56
 
57
- #endif // GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H
57
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_CHECK_GCP_ENVIRONMENT_H
@@ -24,7 +24,7 @@
24
24
  #include <grpc/support/sync.h>
25
25
  #include <string.h>
26
26
 
27
- #include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
27
+ #include "src/core/credentials/transport/alts/check_gcp_environment.h"
28
28
 
29
29
  #define GRPC_ALTS_EXPECT_NAME_GOOGLE "Google"
30
30
  #define GRPC_ALTS_EXPECT_NAME_GCE "Google Compute Engine"
@@ -21,7 +21,7 @@
21
21
  #if !defined(GPR_LINUX) && !defined(GPR_WINDOWS)
22
22
 
23
23
  #include "absl/log/log.h"
24
- #include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
24
+ #include "src/core/credentials/transport/alts/check_gcp_environment.h"
25
25
  #include "src/core/util/crash.h"
26
26
 
27
27
  bool grpc_alts_is_running_on_gcp() {
@@ -27,7 +27,7 @@
27
27
  #include <tchar.h>
28
28
  #include <windows.h>
29
29
 
30
- #include "src/core/lib/security/credentials/alts/check_gcp_environment.h"
30
+ #include "src/core/credentials/transport/alts/check_gcp_environment.h"
31
31
  #include "src/core/util/crash.h"
32
32
 
33
33
  namespace grpc_core {
@@ -22,7 +22,7 @@
22
22
  #include <grpc/support/string_util.h>
23
23
 
24
24
  #include "absl/log/log.h"
25
- #include "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h"
25
+ #include "src/core/credentials/transport/alts/grpc_alts_credentials_options.h"
26
26
  #include "src/core/tsi/alts/handshaker/transport_security_common_api.h"
27
27
 
28
28
  static grpc_alts_credentials_options* alts_client_options_copy(
@@ -16,7 +16,7 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h"
19
+ #include "src/core/credentials/transport/alts/grpc_alts_credentials_options.h"
20
20
 
21
21
  #include <grpc/support/alloc.h>
22
22
  #include <grpc/support/port_platform.h>
@@ -16,8 +16,8 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
19
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
20
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
21
21
 
22
22
  #include <grpc/credentials.h>
23
23
  #include <grpc/grpc_security.h>
@@ -71,4 +71,4 @@ typedef struct grpc_alts_credentials_server_options {
71
71
  grpc_alts_credentials_options* grpc_alts_credentials_options_copy(
72
72
  const grpc_alts_credentials_options* options);
73
73
 
74
- #endif // GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
74
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_ALTS_GRPC_ALTS_CREDENTIALS_OPTIONS_H
@@ -20,7 +20,7 @@
20
20
  #include <grpc/support/alloc.h>
21
21
  #include <grpc/support/port_platform.h>
22
22
 
23
- #include "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h"
23
+ #include "src/core/credentials/transport/alts/grpc_alts_credentials_options.h"
24
24
  #include "src/core/tsi/alts/handshaker/transport_security_common_api.h"
25
25
 
26
26
  static grpc_alts_credentials_options* alts_server_options_copy(
@@ -14,8 +14,8 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_CHANNEL_CREDS_REGISTRY_H
18
- #define GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_CHANNEL_CREDS_REGISTRY_H
17
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_CHANNEL_CREDS_REGISTRY_H
18
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_CHANNEL_CREDS_REGISTRY_H
19
19
 
20
20
  #include <grpc/support/port_platform.h>
21
21
 
@@ -41,7 +41,7 @@ class ChannelCredsConfig : public RefCounted<ChannelCredsConfig> {
41
41
 
42
42
  virtual bool Equals(const ChannelCredsConfig& other) const = 0;
43
43
 
44
- virtual Json ToJson() const = 0;
44
+ virtual std::string ToString() const = 0;
45
45
  };
46
46
 
47
47
  template <typename T = grpc_channel_credentials>
@@ -123,4 +123,4 @@ class ChannelCredsRegistry {
123
123
 
124
124
  } // namespace grpc_core
125
125
 
126
- #endif // GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_CHANNEL_CREDS_REGISTRY_H
126
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_CHANNEL_CREDS_REGISTRY_H
@@ -30,13 +30,13 @@
30
30
 
31
31
  #include "absl/strings/string_view.h"
32
32
  #include "src/core/config/core_configuration.h"
33
- #include "src/core/lib/security/credentials/channel_creds_registry.h"
34
- #include "src/core/lib/security/credentials/credentials.h"
35
- #include "src/core/lib/security/credentials/fake/fake_credentials.h"
36
- #include "src/core/lib/security/credentials/google_default/google_default_credentials.h" // IWYU pragma: keep
37
- #include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
38
- #include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
39
- #include "src/core/lib/security/credentials/tls/tls_credentials.h"
33
+ #include "src/core/credentials/call/call_credentials.h"
34
+ #include "src/core/credentials/transport/channel_creds_registry.h"
35
+ #include "src/core/credentials/transport/fake/fake_credentials.h"
36
+ #include "src/core/credentials/transport/google_default/google_default_credentials.h" // IWYU pragma: keep
37
+ #include "src/core/credentials/transport/tls/grpc_tls_certificate_provider.h"
38
+ #include "src/core/credentials/transport/tls/grpc_tls_credentials_options.h"
39
+ #include "src/core/credentials/transport/tls/tls_credentials.h"
40
40
  #include "src/core/util/json/json.h"
41
41
  #include "src/core/util/json/json_args.h"
42
42
  #include "src/core/util/json/json_object_loader.h"
@@ -65,7 +65,7 @@ class GoogleDefaultChannelCredsFactory : public ChannelCredsFactory<> {
65
65
  public:
66
66
  absl::string_view type() const override { return Type(); }
67
67
  bool Equals(const ChannelCredsConfig&) const override { return true; }
68
- Json ToJson() const override { return Json::FromObject({}); }
68
+ std::string ToString() const override { return "{}"; }
69
69
  };
70
70
 
71
71
  static absl::string_view Type() { return "google_default"; }
@@ -116,22 +116,26 @@ class TlsChannelCredsFactory : public ChannelCredsFactory<> {
116
116
  refresh_interval_ == o.refresh_interval_;
117
117
  }
118
118
 
119
- Json ToJson() const override {
119
+ std::string ToString() const override {
120
+ std::vector<std::string> parts;
120
121
  Json::Object obj;
122
+ parts.push_back("{");
121
123
  if (!certificate_file_.empty()) {
122
- obj["certificate_file"] = Json::FromString(certificate_file_);
124
+ parts.push_back(absl::StrCat("certificate_file=", certificate_file_));
123
125
  }
124
126
  if (!private_key_file_.empty()) {
125
- obj["private_key_file"] = Json::FromString(private_key_file_);
127
+ parts.push_back(absl::StrCat("private_key_file=", private_key_file_));
126
128
  }
127
129
  if (!ca_certificate_file_.empty()) {
128
- obj["ca_certificate_file"] = Json::FromString(ca_certificate_file_);
130
+ parts.push_back(
131
+ absl::StrCat("ca_certificate_file=", ca_certificate_file_));
129
132
  }
130
133
  if (refresh_interval_ != kDefaultRefreshInterval) {
131
- obj["refresh_interval"] =
132
- Json::FromString(refresh_interval_.ToJsonString());
134
+ parts.push_back(
135
+ absl::StrCat("refresh_interval=", refresh_interval_.ToString()));
133
136
  }
134
- return Json::FromObject(std::move(obj));
137
+ parts.push_back("}");
138
+ return absl::StrJoin(parts, ",");
135
139
  }
136
140
 
137
141
  const std::string& certificate_file() const { return certificate_file_; }
@@ -196,7 +200,7 @@ class InsecureChannelCredsFactory : public ChannelCredsFactory<> {
196
200
  public:
197
201
  absl::string_view type() const override { return Type(); }
198
202
  bool Equals(const ChannelCredsConfig&) const override { return true; }
199
- Json ToJson() const override { return Json::FromObject({}); }
203
+ std::string ToString() const override { return "{}"; }
200
204
  };
201
205
 
202
206
  static absl::string_view Type() { return "insecure"; }
@@ -221,7 +225,7 @@ class FakeChannelCredsFactory : public ChannelCredsFactory<> {
221
225
  public:
222
226
  absl::string_view type() const override { return Type(); }
223
227
  bool Equals(const ChannelCredsConfig&) const override { return true; }
224
- Json ToJson() const override { return Json::FromObject({}); }
228
+ std::string ToString() const override { return "{}"; }
225
229
  };
226
230
 
227
231
  static absl::string_view Type() { return "fake"; }
@@ -0,0 +1,68 @@
1
+ //
2
+ // Copyright 2015-2016 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #include "src/core/credentials/transport/composite/composite_channel_credentials.h"
18
+
19
+ #include <grpc/support/port_platform.h>
20
+
21
+ #include <cstring>
22
+ #include <memory>
23
+ #include <vector>
24
+
25
+ #include "absl/log/check.h"
26
+ #include "absl/strings/str_cat.h"
27
+ #include "absl/strings/str_join.h"
28
+ #include "src/core/call/metadata_batch.h"
29
+ #include "src/core/credentials/call/composite/composite_call_credentials.h"
30
+ #include "src/core/lib/debug/trace.h"
31
+ #include "src/core/lib/promise/try_seq.h"
32
+ #include "src/core/util/ref_counted_ptr.h"
33
+
34
+ grpc_core::UniqueTypeName grpc_composite_channel_credentials::Type() {
35
+ static grpc_core::UniqueTypeName::Factory kFactory("Composite");
36
+ return kFactory.Create();
37
+ }
38
+
39
+ grpc_core::RefCountedPtr<grpc_channel_security_connector>
40
+ grpc_composite_channel_credentials::create_security_connector(
41
+ grpc_core::RefCountedPtr<grpc_call_credentials> call_creds,
42
+ const char* target, grpc_core::ChannelArgs* args) {
43
+ CHECK(inner_creds_ != nullptr);
44
+ CHECK(call_creds_ != nullptr);
45
+ // If we are passed a call_creds, create a call composite to pass it
46
+ // downstream.
47
+ if (call_creds != nullptr) {
48
+ return inner_creds_->create_security_connector(
49
+ grpc_core::MakeRefCounted<grpc_composite_call_credentials>(
50
+ call_creds_, std::move(call_creds)),
51
+ target, args);
52
+ } else {
53
+ return inner_creds_->create_security_connector(call_creds_, target, args);
54
+ }
55
+ }
56
+
57
+ grpc_channel_credentials* grpc_composite_channel_credentials_create(
58
+ grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds,
59
+ void* reserved) {
60
+ CHECK(channel_creds != nullptr && call_creds != nullptr &&
61
+ reserved == nullptr);
62
+ GRPC_TRACE_LOG(api, INFO)
63
+ << "grpc_composite_channel_credentials_create(channel_creds="
64
+ << channel_creds << ", call_creds=" << call_creds
65
+ << ", reserved=" << reserved << ")";
66
+ return new grpc_composite_channel_credentials(channel_creds->Ref(),
67
+ call_creds->Ref());
68
+ }
@@ -1,5 +1,4 @@
1
1
  //
2
- //
3
2
  // Copyright 2015 gRPC authors.
4
3
  //
5
4
  // Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,10 +13,9 @@
14
13
  // See the License for the specific language governing permissions and
15
14
  // limitations under the License.
16
15
  //
17
- //
18
16
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H
17
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_COMPOSITE_COMPOSITE_CHANNEL_CREDENTIALS_H
18
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_COMPOSITE_COMPOSITE_CHANNEL_CREDENTIALS_H
21
19
 
22
20
  #include <grpc/credentials.h>
23
21
  #include <grpc/grpc.h>
@@ -31,17 +29,16 @@
31
29
  #include <vector>
32
30
 
33
31
  #include "absl/status/statusor.h"
32
+ #include "src/core/credentials/call/call_credentials.h"
33
+ #include "src/core/credentials/transport/security_connector.h"
34
+ #include "src/core/credentials/transport/transport_credentials.h"
34
35
  #include "src/core/lib/channel/channel_args.h"
35
36
  #include "src/core/lib/promise/arena_promise.h"
36
- #include "src/core/lib/security/credentials/credentials.h"
37
- #include "src/core/lib/security/security_connector/security_connector.h"
38
37
  #include "src/core/lib/transport/transport.h"
39
38
  #include "src/core/util/ref_counted_ptr.h"
40
39
  #include "src/core/util/unique_type_name.h"
41
40
  #include "src/core/util/useful.h"
42
41
 
43
- // -- Composite channel credentials. --
44
-
45
42
  class grpc_composite_channel_credentials : public grpc_channel_credentials {
46
43
  public:
47
44
  grpc_composite_channel_credentials(
@@ -89,46 +86,4 @@ class grpc_composite_channel_credentials : public grpc_channel_credentials {
89
86
  grpc_core::RefCountedPtr<grpc_call_credentials> call_creds_;
90
87
  };
91
88
 
92
- // -- Composite call credentials. --
93
-
94
- class grpc_composite_call_credentials : public grpc_call_credentials {
95
- public:
96
- using CallCredentialsList =
97
- std::vector<grpc_core::RefCountedPtr<grpc_call_credentials>>;
98
-
99
- grpc_composite_call_credentials(
100
- grpc_core::RefCountedPtr<grpc_call_credentials> creds1,
101
- grpc_core::RefCountedPtr<grpc_call_credentials> creds2);
102
- ~grpc_composite_call_credentials() override = default;
103
-
104
- void Orphaned() override { inner_.clear(); }
105
-
106
- grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
107
- GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata,
108
- const GetRequestMetadataArgs* args) override;
109
-
110
- grpc_security_level min_security_level() const override {
111
- return min_security_level_;
112
- }
113
-
114
- const CallCredentialsList& inner() const { return inner_; }
115
- std::string debug_string() override;
116
-
117
- static grpc_core::UniqueTypeName Type();
118
-
119
- grpc_core::UniqueTypeName type() const override { return Type(); }
120
-
121
- private:
122
- int cmp_impl(const grpc_call_credentials* other) const override {
123
- // TODO(yashykt): Check if we can do something better here
124
- return grpc_core::QsortCompare(
125
- static_cast<const grpc_call_credentials*>(this), other);
126
- }
127
-
128
- void push_to_inner(grpc_core::RefCountedPtr<grpc_call_credentials> creds,
129
- bool is_composite);
130
- grpc_security_level min_security_level_;
131
- CallCredentialsList inner_;
132
- };
133
-
134
- #endif // GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_COMPOSITE_COMPOSITE_CREDENTIALS_H
89
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_COMPOSITE_COMPOSITE_CHANNEL_CREDENTIALS_H
@@ -16,7 +16,7 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/security/credentials/fake/fake_credentials.h"
19
+ #include "src/core/credentials/transport/fake/fake_credentials.h"
20
20
 
21
21
  #include <grpc/support/port_platform.h>
22
22
  #include <stdlib.h>
@@ -25,11 +25,11 @@
25
25
  #include <utility>
26
26
 
27
27
  #include "absl/strings/string_view.h"
28
+ #include "src/core/call/metadata_batch.h"
29
+ #include "src/core/credentials/transport/fake/fake_security_connector.h"
30
+ #include "src/core/credentials/transport/security_connector.h"
28
31
  #include "src/core/lib/channel/channel_args.h"
29
32
  #include "src/core/lib/promise/promise.h"
30
- #include "src/core/lib/security/security_connector/fake/fake_security_connector.h"
31
- #include "src/core/lib/security/security_connector/security_connector.h"
32
- #include "src/core/lib/transport/metadata_batch.h"
33
33
  #include "src/core/util/ref_counted_ptr.h"
34
34
 
35
35
  // -- Fake transport security credentials. --
@@ -79,25 +79,3 @@ grpc_arg grpc_fake_transport_expected_targets_arg(char* expected_targets) {
79
79
  const_cast<char*>(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS),
80
80
  expected_targets);
81
81
  }
82
-
83
- // -- Metadata-only test credentials. --
84
-
85
- grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
86
- grpc_md_only_test_credentials::GetRequestMetadata(
87
- grpc_core::ClientMetadataHandle initial_metadata,
88
- const grpc_call_credentials::GetRequestMetadataArgs*) {
89
- initial_metadata->Append(
90
- key_.as_string_view(), value_.Ref(),
91
- [](absl::string_view, const grpc_core::Slice&) { abort(); });
92
- return grpc_core::Immediate(std::move(initial_metadata));
93
- }
94
-
95
- grpc_core::UniqueTypeName grpc_md_only_test_credentials::Type() {
96
- static grpc_core::UniqueTypeName::Factory kFactory("MdOnlyTest");
97
- return kFactory.Create();
98
- }
99
-
100
- grpc_call_credentials* grpc_md_only_test_credentials_create(
101
- const char* md_key, const char* md_value) {
102
- return new grpc_md_only_test_credentials(md_key, md_value);
103
- }
@@ -16,8 +16,8 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H
19
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_CREDENTIALS_H
20
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_CREDENTIALS_H
21
21
 
22
22
  #include <grpc/credentials.h>
23
23
  #include <grpc/grpc.h>
@@ -28,10 +28,10 @@
28
28
  #include <string>
29
29
 
30
30
  #include "absl/status/statusor.h"
31
+ #include "src/core/credentials/transport/security_connector.h"
32
+ #include "src/core/credentials/transport/transport_credentials.h"
31
33
  #include "src/core/lib/channel/channel_args.h"
32
34
  #include "src/core/lib/promise/arena_promise.h"
33
- #include "src/core/lib/security/credentials/credentials.h"
34
- #include "src/core/lib/security/security_connector/security_connector.h"
35
35
  #include "src/core/lib/slice/slice.h"
36
36
  #include "src/core/lib/transport/transport.h"
37
37
  #include "src/core/util/ref_counted_ptr.h"
@@ -89,36 +89,4 @@ grpc_server_credentials* grpc_fake_transport_security_server_credentials_create(
89
89
  // latter is present.
90
90
  grpc_arg grpc_fake_transport_expected_targets_arg(char* expected_targets);
91
91
 
92
- // -- Metadata-only Test credentials. --
93
-
94
- class grpc_md_only_test_credentials : public grpc_call_credentials {
95
- public:
96
- grpc_md_only_test_credentials(const char* md_key, const char* md_value)
97
- : grpc_call_credentials(GRPC_SECURITY_NONE),
98
- key_(grpc_core::Slice::FromCopiedString(md_key)),
99
- value_(grpc_core::Slice::FromCopiedString(md_value)) {}
100
-
101
- void Orphaned() override {}
102
-
103
- grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>>
104
- GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata,
105
- const GetRequestMetadataArgs* args) override;
106
-
107
- std::string debug_string() override { return "MD only Test Credentials"; }
108
-
109
- static grpc_core::UniqueTypeName Type();
110
-
111
- grpc_core::UniqueTypeName type() const override { return Type(); }
112
-
113
- private:
114
- int cmp_impl(const grpc_call_credentials* other) const override {
115
- // TODO(yashykt): Check if we can do something better here
116
- return grpc_core::QsortCompare(
117
- static_cast<const grpc_call_credentials*>(this), other);
118
- }
119
-
120
- grpc_core::Slice key_;
121
- grpc_core::Slice value_;
122
- };
123
-
124
- #endif // GRPC_SRC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H
92
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_CREDENTIALS_H
@@ -16,7 +16,7 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/security/security_connector/fake/fake_security_connector.h"
19
+ #include "src/core/credentials/transport/fake/fake_security_connector.h"
20
20
 
21
21
  #include <grpc/grpc_security_constants.h>
22
22
  #include <grpc/impl/channel_arg_names.h>
@@ -36,6 +36,8 @@
36
36
  #include "absl/strings/str_cat.h"
37
37
  #include "absl/strings/str_format.h"
38
38
  #include "absl/strings/string_view.h"
39
+ #include "src/core/credentials/transport/fake/fake_credentials.h"
40
+ #include "src/core/credentials/transport/transport_credentials.h"
39
41
  #include "src/core/handshaker/handshaker.h"
40
42
  #include "src/core/handshaker/security/security_handshaker.h"
41
43
  #include "src/core/lib/channel/channel_args.h"
@@ -46,10 +48,8 @@
46
48
  #include "src/core/lib/iomgr/iomgr_fwd.h"
47
49
  #include "src/core/lib/promise/arena_promise.h"
48
50
  #include "src/core/lib/promise/promise.h"
49
- #include "src/core/lib/security/context/security_context.h"
50
- #include "src/core/lib/security/credentials/credentials.h"
51
- #include "src/core/lib/security/credentials/fake/fake_credentials.h"
52
51
  #include "src/core/load_balancing/grpclb/grpclb.h"
52
+ #include "src/core/transport/auth_context.h"
53
53
  #include "src/core/tsi/fake_transport_security.h"
54
54
  #include "src/core/tsi/transport_security_interface.h"
55
55
  #include "src/core/util/crash.h"
@@ -16,15 +16,15 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_FAKE_FAKE_SECURITY_CONNECTOR_H
20
- #define GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_FAKE_FAKE_SECURITY_CONNECTOR_H
19
+ #ifndef GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_SECURITY_CONNECTOR_H
20
+ #define GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_SECURITY_CONNECTOR_H
21
21
  #include <grpc/credentials.h>
22
22
  #include <grpc/grpc.h>
23
23
  #include <grpc/grpc_security.h>
24
24
  #include <grpc/support/port_platform.h>
25
25
 
26
+ #include "src/core/credentials/transport/security_connector.h"
26
27
  #include "src/core/lib/channel/channel_args.h"
27
- #include "src/core/lib/security/security_connector/security_connector.h"
28
28
  #include "src/core/util/ref_counted_ptr.h"
29
29
 
30
30
  // Creates a fake connector that emulates real channel security.
@@ -39,4 +39,4 @@ grpc_core::RefCountedPtr<grpc_server_security_connector>
39
39
  grpc_fake_server_security_connector_create(
40
40
  grpc_core::RefCountedPtr<grpc_server_credentials> server_creds);
41
41
 
42
- #endif // GRPC_SRC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_FAKE_FAKE_SECURITY_CONNECTOR_H
42
+ #endif // GRPC_SRC_CORE_CREDENTIALS_TRANSPORT_FAKE_FAKE_SECURITY_CONNECTOR_H
@@ -23,8 +23,8 @@
23
23
 
24
24
  #include "absl/log/log.h"
25
25
  #include "absl/strings/str_cat.h"
26
- #include "src/core/lib/security/credentials/credentials.h"
27
- #include "src/core/lib/security/credentials/google_default/google_default_credentials.h"
26
+ #include "src/core/credentials/call/call_credentials.h"
27
+ #include "src/core/credentials/transport/google_default/google_default_credentials.h"
28
28
  #include "src/core/util/env.h"
29
29
 
30
30
  std::string grpc_get_well_known_google_credentials_file_path_impl(void) {