grpc 1.32.0 → 1.33.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +175 -376
  3. data/include/grpc/grpc.h +0 -5
  4. data/include/grpc/grpc_security.h +16 -0
  5. data/include/grpc/impl/codegen/grpc_types.h +0 -5
  6. data/src/core/ext/filters/client_channel/client_channel.cc +204 -170
  7. data/src/core/ext/filters/client_channel/config_selector.cc +0 -4
  8. data/src/core/ext/filters/client_channel/config_selector.h +34 -5
  9. data/src/core/ext/filters/client_channel/lb_policy.h +1 -1
  10. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +48 -35
  11. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +7 -5
  12. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +3 -2
  13. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +106 -106
  14. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +2 -2
  15. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -3
  16. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +3 -3
  17. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -32
  18. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +198 -126
  20. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +439 -249
  21. data/src/core/ext/filters/client_channel/lb_policy/xds/eds_drop.cc +571 -0
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +727 -0
  23. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +8 -1
  24. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -1
  25. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +553 -358
  26. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +28 -0
  27. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +8 -39
  28. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +4 -2
  29. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +44 -43
  30. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +5 -9
  31. data/src/core/ext/filters/client_channel/server_address.cc +80 -0
  32. data/src/core/ext/filters/client_channel/server_address.h +25 -36
  33. data/src/core/ext/filters/client_channel/service_config.cc +16 -13
  34. data/src/core/ext/filters/client_channel/service_config.h +7 -4
  35. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -2
  36. data/src/core/ext/filters/client_channel/service_config_parser.cc +8 -6
  37. data/src/core/ext/filters/client_channel/service_config_parser.h +8 -5
  38. data/src/core/ext/filters/client_channel/subchannel_interface.h +44 -0
  39. data/src/core/ext/filters/message_size/message_size_filter.cc +2 -1
  40. data/src/core/ext/filters/message_size/message_size_filter.h +2 -1
  41. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +17 -10
  42. data/src/core/ext/transport/chttp2/transport/flow_control.cc +10 -2
  43. data/src/core/ext/transport/chttp2/transport/flow_control.h +10 -0
  44. data/src/core/ext/transport/chttp2/transport/internal.h +5 -0
  45. data/src/core/ext/transport/chttp2/transport/parsing.cc +16 -2
  46. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +29 -9
  47. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +66 -0
  48. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +123 -45
  49. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +310 -53
  50. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +17 -5
  51. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +45 -0
  52. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +1 -0
  53. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +16 -9
  54. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +38 -15
  55. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +53 -0
  56. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +133 -0
  57. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +54 -8
  58. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +123 -5
  59. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +40 -16
  60. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +114 -5
  61. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +36 -0
  62. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +85 -0
  63. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +36 -16
  64. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +86 -20
  65. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +23 -6
  66. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +54 -5
  67. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +10 -6
  68. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +28 -11
  69. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +184 -57
  70. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +504 -69
  71. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +6 -5
  72. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +11 -7
  73. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +78 -26
  74. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +236 -25
  75. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +8 -9
  76. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +19 -33
  77. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +7 -3
  78. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +16 -0
  79. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +65 -23
  80. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +229 -47
  81. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +20 -10
  82. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +67 -4
  83. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +3 -2
  84. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +6 -0
  85. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +242 -0
  86. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +753 -0
  87. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +31 -0
  88. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +57 -0
  89. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +28 -0
  90. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +53 -0
  91. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +52 -0
  92. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +129 -0
  93. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +42 -0
  94. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +77 -0
  95. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +36 -0
  96. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +85 -0
  97. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +54 -0
  98. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +160 -0
  99. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +36 -0
  100. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +84 -0
  101. data/src/core/ext/xds/certificate_provider_factory.h +59 -0
  102. data/src/core/ext/xds/certificate_provider_registry.cc +103 -0
  103. data/src/core/ext/xds/certificate_provider_registry.h +57 -0
  104. data/src/core/ext/xds/certificate_provider_store.h +50 -0
  105. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +377 -0
  106. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +102 -0
  107. data/src/core/ext/xds/xds_api.cc +301 -93
  108. data/src/core/ext/xds/xds_api.h +129 -92
  109. data/src/core/ext/xds/xds_channel_args.h +6 -3
  110. data/src/core/ext/xds/xds_client.cc +498 -410
  111. data/src/core/ext/xds/xds_client.h +105 -51
  112. data/src/core/ext/xds/xds_client_stats.cc +18 -12
  113. data/src/core/ext/xds/xds_client_stats.h +33 -5
  114. data/src/core/lib/channel/channel_args.h +0 -1
  115. data/src/core/lib/channel/channelz.cc +10 -45
  116. data/src/core/lib/channel/channelz.h +11 -19
  117. data/src/core/lib/channel/channelz_registry.cc +12 -11
  118. data/src/core/lib/channel/channelz_registry.h +3 -0
  119. data/src/core/lib/gpr/time_precise.cc +2 -0
  120. data/src/core/lib/gpr/time_precise.h +6 -2
  121. data/src/core/lib/gprpp/dual_ref_counted.h +336 -0
  122. data/src/core/lib/gprpp/ref_counted.h +51 -22
  123. data/src/core/lib/gprpp/ref_counted_ptr.h +153 -0
  124. data/src/core/lib/iomgr/endpoint_cfstream.cc +9 -5
  125. data/src/core/lib/iomgr/exec_ctx.h +10 -8
  126. data/src/core/lib/json/json_util.cc +58 -0
  127. data/src/core/lib/json/json_util.h +37 -0
  128. data/src/core/lib/security/certificate_provider.h +60 -0
  129. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +321 -0
  130. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +214 -0
  131. data/src/core/lib/security/credentials/xds/xds_credentials.cc +45 -0
  132. data/src/core/lib/security/credentials/xds/xds_credentials.h +51 -0
  133. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +6 -10
  134. data/src/core/lib/security/security_connector/ssl_utils.h +5 -0
  135. data/src/core/lib/surface/channel.cc +9 -31
  136. data/src/core/lib/surface/channel.h +6 -1
  137. data/src/core/lib/surface/init.cc +26 -9
  138. data/src/core/lib/surface/version.cc +2 -2
  139. data/src/core/lib/transport/bdp_estimator.h +2 -1
  140. data/src/core/lib/transport/connectivity_state.h +2 -2
  141. data/src/core/lib/transport/metadata.cc +11 -1
  142. data/src/core/plugin_registry/grpc_plugin_registry.cc +35 -20
  143. data/src/core/tsi/ssl_transport_security.cc +2 -2
  144. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -2
  145. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -3
  146. data/src/ruby/lib/grpc/version.rb +1 -1
  147. data/third_party/boringssl-with-bazel/err_data.c +465 -463
  148. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -6
  149. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +9 -43
  150. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +55 -4
  151. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +34 -0
  152. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +4 -0
  153. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +6 -2
  154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
  155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +4 -0
  156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +30 -10
  157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +10 -15
  158. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +98 -11
  159. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +51 -6
  160. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +44 -2
  161. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +221 -49
  162. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +64 -20
  163. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +3 -3
  164. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -8
  165. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +3 -3
  166. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +1 -1
  167. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +7 -2
  168. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +21 -18
  169. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -1
  170. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +24 -3
  171. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +3 -3
  172. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +67 -67
  173. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +3 -3
  174. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +29 -35
  175. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +13 -2
  176. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +9 -8
  177. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +10 -10
  178. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +2 -2
  179. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +28 -40
  180. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +3 -1
  181. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +1 -4
  182. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +7 -3
  183. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +2 -2
  184. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +1 -1
  185. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +55 -8
  186. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -1
  187. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +0 -1
  188. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
  189. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +6 -0
  190. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +1 -1
  191. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +12 -0
  192. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +9 -0
  193. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +4 -1
  194. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +9 -2
  195. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +26 -6
  196. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +188 -78
  197. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +52 -43
  198. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +18 -18
  199. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -3
  200. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  201. data/third_party/boringssl-with-bazel/src/ssl/internal.h +9 -9
  202. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +8 -9
  203. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +1 -2
  204. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +4 -8
  205. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +2 -2
  206. metadata +72 -42
  207. data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +0 -537
  208. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +0 -1141
  209. data/src/core/ext/upb-generated/gogoproto/gogo.upb.c +0 -17
  210. data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -29
  211. data/src/core/ext/xds/xds_channel.h +0 -46
  212. data/src/core/ext/xds/xds_channel_secure.cc +0 -103
  213. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c +0 -110
  214. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c +0 -274
@@ -126,8 +126,8 @@ void *usr_data; /* Any extension specific data */
126
126
  };
127
127
 
128
128
  typedef struct X509V3_CONF_METHOD_st {
129
- char * (*get_string)(void *db, char *section, char *value);
130
- STACK_OF(CONF_VALUE) * (*get_section)(void *db, char *section);
129
+ char * (*get_string)(void *db, const char *section, const char *value);
130
+ STACK_OF(CONF_VALUE) * (*get_section)(void *db, const char *section);
131
131
  void (*free_string)(void *db, char * string);
132
132
  void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section);
133
133
  } X509V3_CONF_METHOD;
@@ -162,11 +162,6 @@ ASN1_INTEGER *pathlen;
162
162
  };
163
163
 
164
164
 
165
- typedef struct PKEY_USAGE_PERIOD_st {
166
- ASN1_GENERALIZEDTIME *notBefore;
167
- ASN1_GENERALIZEDTIME *notAfter;
168
- } PKEY_USAGE_PERIOD;
169
-
170
165
  typedef struct otherName_st {
171
166
  ASN1_OBJECT *type_id;
172
167
  ASN1_TYPE *value;
@@ -272,21 +267,6 @@ GENERAL_NAMES *issuer;
272
267
  ASN1_INTEGER *serial;
273
268
  };
274
269
 
275
- /* Strong extranet structures */
276
-
277
- typedef struct SXNET_ID_st {
278
- ASN1_INTEGER *zone;
279
- ASN1_OCTET_STRING *user;
280
- } SXNETID;
281
-
282
- DEFINE_STACK_OF(SXNETID)
283
- DECLARE_ASN1_SET_OF(SXNETID)
284
-
285
- typedef struct SXNET_st {
286
- ASN1_INTEGER *version;
287
- STACK_OF(SXNETID) *ids;
288
- } SXNET;
289
-
290
270
  typedef struct NOTICEREF_st {
291
271
  ASN1_STRING *organization;
292
272
  STACK_OF(ASN1_INTEGER) *noticenos;
@@ -517,21 +497,8 @@ DEFINE_STACK_OF(X509_PURPOSE)
517
497
 
518
498
  DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
519
499
 
520
- DECLARE_ASN1_FUNCTIONS(SXNET)
521
- DECLARE_ASN1_FUNCTIONS(SXNETID)
522
-
523
- int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen);
524
- int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen);
525
- int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, int userlen);
526
-
527
- ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone);
528
- ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone);
529
- ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone);
530
-
531
500
  DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID)
532
501
 
533
- DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD)
534
-
535
502
  DECLARE_ASN1_FUNCTIONS(GENERAL_NAME)
536
503
  OPENSSL_EXPORT GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a);
537
504
  OPENSSL_EXPORT int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b);
@@ -558,17 +525,17 @@ DECLARE_ASN1_FUNCTIONS(OTHERNAME)
558
525
  DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
559
526
  OPENSSL_EXPORT int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
560
527
  OPENSSL_EXPORT void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
561
- OPENSSL_EXPORT void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype);
528
+ OPENSSL_EXPORT void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype);
562
529
  OPENSSL_EXPORT int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
563
530
  ASN1_OBJECT *oid, ASN1_TYPE *value);
564
- OPENSSL_EXPORT int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen,
531
+ OPENSSL_EXPORT int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
565
532
  ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
566
533
 
567
- OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
534
+ OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, const ASN1_OCTET_STRING *ia5);
568
535
  OPENSSL_EXPORT ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
569
536
 
570
537
  DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
571
- OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a);
538
+ OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION* a);
572
539
 
573
540
  DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
574
541
  DECLARE_ASN1_FUNCTIONS(POLICYINFO)
@@ -684,6 +651,48 @@ OPENSSL_EXPORT uint32_t X509_get_extension_flags(X509 *x);
684
651
  OPENSSL_EXPORT uint32_t X509_get_key_usage(X509 *x);
685
652
  OPENSSL_EXPORT uint32_t X509_get_extended_key_usage(X509 *x);
686
653
 
654
+ // X509_get0_subject_key_id returns |x509|'s subject key identifier, if present.
655
+ // (See RFC5280, section 4.2.1.2.) It returns NULL if the extension is not
656
+ // present or if some extension in |x509| was invalid.
657
+ //
658
+ // Note that decoding an |X509| object will not check for invalid extensions. To
659
+ // detect the error case, call |X509_get_extensions_flags| and check the
660
+ // |EXFLAG_INVALID| bit.
661
+ OPENSSL_EXPORT const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x509);
662
+
663
+ // X509_get0_authority_key_id returns keyIdentifier of |x509|'s authority key
664
+ // identifier, if the extension and field are present. (See RFC5280,
665
+ // section 4.2.1.1.) It returns NULL if the extension is not present, if it is
666
+ // present but lacks a keyIdentifier field, or if some extension in |x509| was
667
+ // invalid.
668
+ //
669
+ // Note that decoding an |X509| object will not check for invalid extensions. To
670
+ // detect the error case, call |X509_get_extensions_flags| and check the
671
+ // |EXFLAG_INVALID| bit.
672
+ OPENSSL_EXPORT const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x509);
673
+
674
+ // X509_get0_authority_issuer returns the authorityCertIssuer of |x509|'s
675
+ // authority key identifier, if the extension and field are present. (See
676
+ // RFC5280, section 4.2.1.1.) It returns NULL if the extension is not present,
677
+ // if it is present but lacks a authorityCertIssuer field, or if some extension
678
+ // in |x509| was invalid.
679
+ //
680
+ // Note that decoding an |X509| object will not check for invalid extensions. To
681
+ // detect the error case, call |X509_get_extensions_flags| and check the
682
+ // |EXFLAG_INVALID| bit.
683
+ OPENSSL_EXPORT const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x509);
684
+
685
+ // X509_get0_authority_serial returns the authorityCertSerialNumber of |x509|'s
686
+ // authority key identifier, if the extension and field are present. (See
687
+ // RFC5280, section 4.2.1.1.) It returns NULL if the extension is not present,
688
+ // if it is present but lacks a authorityCertSerialNumber field, or if some
689
+ // extension in |x509| was invalid.
690
+ //
691
+ // Note that decoding an |X509| object will not check for invalid extensions. To
692
+ // detect the error case, call |X509_get_extensions_flags| and check the
693
+ // |EXFLAG_INVALID| bit.
694
+ OPENSSL_EXPORT const ASN1_INTEGER *X509_get0_authority_serial(X509 *x509);
695
+
687
696
  OPENSSL_EXPORT int X509_PURPOSE_get_count(void);
688
697
  OPENSSL_EXPORT X509_PURPOSE * X509_PURPOSE_get0(int idx);
689
698
  OPENSSL_EXPORT int X509_PURPOSE_get_by_sname(char *sname);
@@ -691,11 +700,11 @@ OPENSSL_EXPORT int X509_PURPOSE_get_by_id(int id);
691
700
  OPENSSL_EXPORT int X509_PURPOSE_add(int id, int trust, int flags,
692
701
  int (*ck)(const X509_PURPOSE *, const X509 *, int),
693
702
  char *name, char *sname, void *arg);
694
- OPENSSL_EXPORT char *X509_PURPOSE_get0_name(X509_PURPOSE *xp);
695
- OPENSSL_EXPORT char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp);
696
- OPENSSL_EXPORT int X509_PURPOSE_get_trust(X509_PURPOSE *xp);
703
+ OPENSSL_EXPORT char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp);
704
+ OPENSSL_EXPORT char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp);
705
+ OPENSSL_EXPORT int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
697
706
  OPENSSL_EXPORT void X509_PURPOSE_cleanup(void);
698
- OPENSSL_EXPORT int X509_PURPOSE_get_id(X509_PURPOSE *);
707
+ OPENSSL_EXPORT int X509_PURPOSE_get_id(const X509_PURPOSE *);
699
708
 
700
709
  OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
701
710
  OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);
@@ -235,13 +235,13 @@ bool ssl_hash_message(SSL_HANDSHAKE *hs, const SSLMessage &msg) {
235
235
  return hs->transcript.Update(msg.raw);
236
236
  }
237
237
 
238
- int ssl_parse_extensions(const CBS *cbs, uint8_t *out_alert,
239
- const SSL_EXTENSION_TYPE *ext_types,
240
- size_t num_ext_types, int ignore_unknown) {
238
+ bool ssl_parse_extensions(const CBS *cbs, uint8_t *out_alert,
239
+ Span<const SSL_EXTENSION_TYPE> ext_types,
240
+ bool ignore_unknown) {
241
241
  // Reset everything.
242
- for (size_t i = 0; i < num_ext_types; i++) {
243
- *ext_types[i].out_present = 0;
244
- CBS_init(ext_types[i].out_data, NULL, 0);
242
+ for (const SSL_EXTENSION_TYPE &ext_type : ext_types) {
243
+ *ext_type.out_present = false;
244
+ CBS_init(ext_type.out_data, nullptr, 0);
245
245
  }
246
246
 
247
247
  CBS copy = *cbs;
@@ -252,38 +252,38 @@ int ssl_parse_extensions(const CBS *cbs, uint8_t *out_alert,
252
252
  !CBS_get_u16_length_prefixed(&copy, &data)) {
253
253
  OPENSSL_PUT_ERROR(SSL, SSL_R_PARSE_TLSEXT);
254
254
  *out_alert = SSL_AD_DECODE_ERROR;
255
- return 0;
255
+ return false;
256
256
  }
257
257
 
258
- const SSL_EXTENSION_TYPE *ext_type = NULL;
259
- for (size_t i = 0; i < num_ext_types; i++) {
260
- if (type == ext_types[i].type) {
261
- ext_type = &ext_types[i];
258
+ const SSL_EXTENSION_TYPE *found = nullptr;
259
+ for (const SSL_EXTENSION_TYPE &ext_type : ext_types) {
260
+ if (type == ext_type.type) {
261
+ found = &ext_type;
262
262
  break;
263
263
  }
264
264
  }
265
265
 
266
- if (ext_type == NULL) {
266
+ if (found == nullptr) {
267
267
  if (ignore_unknown) {
268
268
  continue;
269
269
  }
270
270
  OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
271
271
  *out_alert = SSL_AD_UNSUPPORTED_EXTENSION;
272
- return 0;
272
+ return false;
273
273
  }
274
274
 
275
275
  // Duplicate ext_types are forbidden.
276
- if (*ext_type->out_present) {
276
+ if (*found->out_present) {
277
277
  OPENSSL_PUT_ERROR(SSL, SSL_R_DUPLICATE_EXTENSION);
278
278
  *out_alert = SSL_AD_ILLEGAL_PARAMETER;
279
- return 0;
279
+ return false;
280
280
  }
281
281
 
282
- *ext_type->out_present = 1;
283
- *ext_type->out_data = data;
282
+ *found->out_present = 1;
283
+ *found->out_data = data;
284
284
  }
285
285
 
286
- return 1;
286
+ return true;
287
287
  }
288
288
 
289
289
  enum ssl_verify_result_t ssl_verify_peer_cert(SSL_HANDSHAKE *hs) {
@@ -259,7 +259,7 @@ static bool ssl_write_client_cipher_list(SSL_HANDSHAKE *hs, CBB *out) {
259
259
  continue;
260
260
  }
261
261
  any_enabled = true;
262
- if (!CBB_add_u16(&child, ssl_cipher_get_value(cipher))) {
262
+ if (!CBB_add_u16(&child, SSL_CIPHER_get_protocol_id(cipher))) {
263
263
  return false;
264
264
  }
265
265
  }
@@ -358,8 +358,7 @@ static bool parse_supported_versions(SSL_HANDSHAKE *hs, uint16_t *version,
358
358
 
359
359
  uint8_t alert = SSL_AD_DECODE_ERROR;
360
360
  if (!ssl_parse_extensions(&extensions, &alert, ext_types,
361
- OPENSSL_ARRAY_SIZE(ext_types),
362
- 1 /* ignore unknown */)) {
361
+ /*ignore_unknown=*/true)) {
363
362
  ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
364
363
  return false;
365
364
  }
@@ -908,7 +908,7 @@ static enum ssl_hs_wait_t do_send_server_hello(SSL_HANDSHAKE *hs) {
908
908
  !CBB_add_u8_length_prefixed(&body, &session_id) ||
909
909
  !CBB_add_bytes(&session_id, session->session_id,
910
910
  session->session_id_length) ||
911
- !CBB_add_u16(&body, ssl_cipher_get_value(hs->new_cipher)) ||
911
+ !CBB_add_u16(&body, SSL_CIPHER_get_protocol_id(hs->new_cipher)) ||
912
912
  !CBB_add_u8(&body, 0 /* no compression */) ||
913
913
  !ssl_add_serverhello_tlsext(hs, &body) ||
914
914
  !ssl_add_message_cbb(ssl, cbb.get())) {
@@ -345,6 +345,9 @@ class Array {
345
345
  if (new_size > size_) {
346
346
  abort();
347
347
  }
348
+ for (size_t i = new_size; i < size_; i++) {
349
+ data_[i].~T();
350
+ }
348
351
  size_ = new_size;
349
352
  }
350
353
 
@@ -631,9 +634,6 @@ const EVP_MD *ssl_get_handshake_digest(uint16_t version,
631
634
  bool ssl_create_cipher_list(UniquePtr<SSLCipherPreferenceList> *out_cipher_list,
632
635
  const char *rule_str, bool strict);
633
636
 
634
- // ssl_cipher_get_value returns the cipher suite id of |cipher|.
635
- uint16_t ssl_cipher_get_value(const SSL_CIPHER *cipher);
636
-
637
637
  // ssl_cipher_auth_mask_for_key returns the mask of cipher |algorithm_auth|
638
638
  // values suitable for use with |key| in TLS 1.2 and below.
639
639
  uint32_t ssl_cipher_auth_mask_for_key(const EVP_PKEY *key);
@@ -1926,12 +1926,12 @@ struct SSL_EXTENSION_TYPE {
1926
1926
 
1927
1927
  // ssl_parse_extensions parses a TLS extensions block out of |cbs| and advances
1928
1928
  // it. It writes the parsed extensions to pointers denoted by |ext_types|. On
1929
- // success, it fills in the |out_present| and |out_data| fields and returns one.
1930
- // Otherwise, it sets |*out_alert| to an alert to send and returns zero. Unknown
1931
- // extensions are rejected unless |ignore_unknown| is 1.
1932
- int ssl_parse_extensions(const CBS *cbs, uint8_t *out_alert,
1933
- const SSL_EXTENSION_TYPE *ext_types,
1934
- size_t num_ext_types, int ignore_unknown);
1929
+ // success, it fills in the |out_present| and |out_data| fields and returns
1930
+ // true. Otherwise, it sets |*out_alert| to an alert to send and returns false.
1931
+ // Unknown extensions are rejected unless |ignore_unknown| is true.
1932
+ bool ssl_parse_extensions(const CBS *cbs, uint8_t *out_alert,
1933
+ Span<const SSL_EXTENSION_TYPE> ext_types,
1934
+ bool ignore_unknown);
1935
1935
 
1936
1936
  // ssl_verify_peer_cert verifies the peer certificate for |hs|.
1937
1937
  enum ssl_verify_result_t ssl_verify_peer_cert(SSL_HANDSHAKE *hs);
@@ -1279,14 +1279,6 @@ bool ssl_create_cipher_list(UniquePtr<SSLCipherPreferenceList> *out_cipher_list,
1279
1279
  return true;
1280
1280
  }
1281
1281
 
1282
- uint16_t ssl_cipher_get_value(const SSL_CIPHER *cipher) {
1283
- uint32_t id = cipher->id;
1284
- // All OpenSSL cipher IDs are prefaced with 0x03. Historically this referred
1285
- // to SSLv2 vs SSLv3.
1286
- assert((id & 0xff000000) == 0x03000000);
1287
- return id & 0xffff;
1288
- }
1289
-
1290
1282
  uint32_t ssl_cipher_auth_mask_for_key(const EVP_PKEY *key) {
1291
1283
  switch (EVP_PKEY_id(key)) {
1292
1284
  case EVP_PKEY_RSA:
@@ -1376,10 +1368,17 @@ const SSL_CIPHER *SSL_get_cipher_by_value(uint16_t value) {
1376
1368
 
1377
1369
  uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *cipher) { return cipher->id; }
1378
1370
 
1379
- uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher) {
1371
+ uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *cipher) {
1372
+ // All OpenSSL cipher IDs are prefaced with 0x03. Historically this referred
1373
+ // to SSLv2 vs SSLv3.
1374
+ assert((cipher->id & 0xff000000) == 0x03000000);
1380
1375
  return static_cast<uint16_t>(cipher->id);
1381
1376
  }
1382
1377
 
1378
+ uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher) {
1379
+ return SSL_CIPHER_get_protocol_id(cipher);
1380
+ }
1381
+
1383
1382
  int SSL_CIPHER_is_aead(const SSL_CIPHER *cipher) {
1384
1383
  return (cipher->algorithm_mac & SSL_AEAD) != 0;
1385
1384
  }
@@ -244,8 +244,7 @@ bool tls13_process_certificate(SSL_HANDSHAKE *hs, const SSLMessage &msg,
244
244
 
245
245
  uint8_t alert = SSL_AD_DECODE_ERROR;
246
246
  if (!ssl_parse_extensions(&extensions, &alert, ext_types,
247
- OPENSSL_ARRAY_SIZE(ext_types),
248
- 0 /* reject unknown */)) {
247
+ /*ignore_unknown=*/false)) {
249
248
  ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
250
249
  return false;
251
250
  }
@@ -172,8 +172,7 @@ static enum ssl_hs_wait_t do_read_hello_retry_request(SSL_HANDSHAKE *hs) {
172
172
 
173
173
  uint8_t alert = SSL_AD_DECODE_ERROR;
174
174
  if (!ssl_parse_extensions(&extensions, &alert, ext_types,
175
- OPENSSL_ARRAY_SIZE(ext_types),
176
- 0 /* reject unknown */)) {
175
+ /*ignore_unknown=*/false)) {
177
176
  ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
178
177
  return ssl_hs_error;
179
178
  }
@@ -338,8 +337,7 @@ static enum ssl_hs_wait_t do_read_server_hello(SSL_HANDSHAKE *hs) {
338
337
 
339
338
  uint8_t alert = SSL_AD_DECODE_ERROR;
340
339
  if (!ssl_parse_extensions(&extensions, &alert, ext_types,
341
- OPENSSL_ARRAY_SIZE(ext_types),
342
- 0 /* reject unknown */)) {
340
+ /*ignore_unknown=*/false)) {
343
341
  ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
344
342
  return ssl_hs_error;
345
343
  }
@@ -568,8 +566,7 @@ static enum ssl_hs_wait_t do_read_certificate_request(SSL_HANDSHAKE *hs) {
568
566
  !CBS_get_u16_length_prefixed(&body, &extensions) ||
569
567
  CBS_len(&body) != 0 ||
570
568
  !ssl_parse_extensions(&extensions, &alert, ext_types,
571
- OPENSSL_ARRAY_SIZE(ext_types),
572
- 1 /* accept unknown */) ||
569
+ /*ignore_unknown=*/true) ||
573
570
  (have_ca && CBS_len(&ca) == 0) ||
574
571
  !have_sigalgs ||
575
572
  !CBS_get_u16_length_prefixed(&sigalgs,
@@ -989,8 +986,7 @@ UniquePtr<SSL_SESSION> tls13_create_session_with_ticket(SSL *ssl, CBS *body) {
989
986
 
990
987
  uint8_t alert = SSL_AD_DECODE_ERROR;
991
988
  if (!ssl_parse_extensions(&extensions, &alert, ext_types,
992
- OPENSSL_ARRAY_SIZE(ext_types),
993
- 1 /* ignore unknown */)) {
989
+ /*ignore_unknown=*/true)) {
994
990
  ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
995
991
  return nullptr;
996
992
  }
@@ -501,7 +501,7 @@ static enum ssl_hs_wait_t do_send_hello_retry_request(SSL_HANDSHAKE *hs) {
501
501
  !CBB_add_bytes(&body, kHelloRetryRequest, SSL3_RANDOM_SIZE) ||
502
502
  !CBB_add_u8_length_prefixed(&body, &session_id) ||
503
503
  !CBB_add_bytes(&session_id, hs->session_id, hs->session_id_len) ||
504
- !CBB_add_u16(&body, ssl_cipher_get_value(hs->new_cipher)) ||
504
+ !CBB_add_u16(&body, SSL_CIPHER_get_protocol_id(hs->new_cipher)) ||
505
505
  !CBB_add_u8(&body, 0 /* no compression */) ||
506
506
  !tls1_get_shared_group(hs, &group_id) ||
507
507
  !CBB_add_u16_length_prefixed(&body, &extensions) ||
@@ -613,7 +613,7 @@ static enum ssl_hs_wait_t do_send_server_hello(SSL_HANDSHAKE *hs) {
613
613
  !CBB_add_bytes(&body, ssl->s3->server_random, SSL3_RANDOM_SIZE) ||
614
614
  !CBB_add_u8_length_prefixed(&body, &session_id) ||
615
615
  !CBB_add_bytes(&session_id, hs->session_id, hs->session_id_len) ||
616
- !CBB_add_u16(&body, ssl_cipher_get_value(hs->new_cipher)) ||
616
+ !CBB_add_u16(&body, SSL_CIPHER_get_protocol_id(hs->new_cipher)) ||
617
617
  !CBB_add_u8(&body, 0) ||
618
618
  !CBB_add_u16_length_prefixed(&body, &extensions) ||
619
619
  !ssl_ext_pre_shared_key_add_serverhello(hs, &extensions) ||
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.0
4
+ version: 1.33.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2020-09-08 00:00:00.000000000 Z
11
+ date: 2020-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -315,9 +315,9 @@ files:
315
315
  - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
316
316
  - src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
317
317
  - src/core/ext/filters/client_channel/lb_policy/xds/eds.cc
318
- - src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc
318
+ - src/core/ext/filters/client_channel/lb_policy/xds/eds_drop.cc
319
319
  - src/core/ext/filters/client_channel/lb_policy/xds/xds.h
320
- - src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
320
+ - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
321
321
  - src/core/ext/filters/client_channel/lb_policy_factory.h
322
322
  - src/core/ext/filters/client_channel/lb_policy_registry.cc
323
323
  - src/core/ext/filters/client_channel/lb_policy_registry.h
@@ -347,6 +347,7 @@ files:
347
347
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h
348
348
  - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
349
349
  - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
350
+ - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h
350
351
  - src/core/ext/filters/client_channel/resolver_factory.h
351
352
  - src/core/ext/filters/client_channel/resolver_registry.cc
352
353
  - src/core/ext/filters/client_channel/resolver_registry.h
@@ -476,6 +477,8 @@ files:
476
477
  - src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h
477
478
  - src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
478
479
  - src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h
480
+ - src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c
481
+ - src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h
479
482
  - src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
480
483
  - src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h
481
484
  - src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
@@ -488,6 +491,8 @@ files:
488
491
  - src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h
489
492
  - src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
490
493
  - src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h
494
+ - src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c
495
+ - src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h
491
496
  - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
492
497
  - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h
493
498
  - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
@@ -562,10 +567,10 @@ files:
562
567
  - src/core/ext/upb-generated/envoy/type/v3/range.upb.h
563
568
  - src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
564
569
  - src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h
565
- - src/core/ext/upb-generated/gogoproto/gogo.upb.c
566
- - src/core/ext/upb-generated/gogoproto/gogo.upb.h
567
570
  - src/core/ext/upb-generated/google/api/annotations.upb.c
568
571
  - src/core/ext/upb-generated/google/api/annotations.upb.h
572
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c
573
+ - src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h
569
574
  - src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
570
575
  - src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h
571
576
  - src/core/ext/upb-generated/google/api/http.upb.c
@@ -598,23 +603,41 @@ files:
598
603
  - src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h
599
604
  - src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
600
605
  - src/core/ext/upb-generated/udpa/annotations/migrate.upb.h
606
+ - src/core/ext/upb-generated/udpa/annotations/security.upb.c
607
+ - src/core/ext/upb-generated/udpa/annotations/security.upb.h
601
608
  - src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
602
609
  - src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h
603
610
  - src/core/ext/upb-generated/udpa/annotations/status.upb.c
604
611
  - src/core/ext/upb-generated/udpa/annotations/status.upb.h
605
612
  - src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
606
613
  - src/core/ext/upb-generated/udpa/annotations/versioning.upb.h
614
+ - src/core/ext/upb-generated/udpa/core/v1/authority.upb.c
615
+ - src/core/ext/upb-generated/udpa/core/v1/authority.upb.h
616
+ - src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c
617
+ - src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h
618
+ - src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c
619
+ - src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h
620
+ - src/core/ext/upb-generated/udpa/core/v1/resource.upb.c
621
+ - src/core/ext/upb-generated/udpa/core/v1/resource.upb.h
622
+ - src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c
623
+ - src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h
624
+ - src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c
625
+ - src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h
607
626
  - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
608
627
  - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h
609
628
  - src/core/ext/upb-generated/validate/validate.upb.c
610
629
  - src/core/ext/upb-generated/validate/validate.upb.h
630
+ - src/core/ext/xds/certificate_provider_factory.h
631
+ - src/core/ext/xds/certificate_provider_registry.cc
632
+ - src/core/ext/xds/certificate_provider_registry.h
633
+ - src/core/ext/xds/certificate_provider_store.h
634
+ - src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc
635
+ - src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h
611
636
  - src/core/ext/xds/xds_api.cc
612
637
  - src/core/ext/xds/xds_api.h
613
638
  - src/core/ext/xds/xds_bootstrap.cc
614
639
  - src/core/ext/xds/xds_bootstrap.h
615
- - src/core/ext/xds/xds_channel.h
616
640
  - src/core/ext/xds/xds_channel_args.h
617
- - src/core/ext/xds/xds_channel_secure.cc
618
641
  - src/core/ext/xds/xds_client.cc
619
642
  - src/core/ext/xds/xds_client.h
620
643
  - src/core/ext/xds/xds_client_stats.cc
@@ -715,6 +738,7 @@ files:
715
738
  - src/core/lib/gprpp/arena.h
716
739
  - src/core/lib/gprpp/atomic.h
717
740
  - src/core/lib/gprpp/debug_location.h
741
+ - src/core/lib/gprpp/dual_ref_counted.h
718
742
  - src/core/lib/gprpp/fork.cc
719
743
  - src/core/lib/gprpp/fork.h
720
744
  - src/core/lib/gprpp/global_config.h
@@ -919,6 +943,8 @@ files:
919
943
  - src/core/lib/iomgr/work_serializer.h
920
944
  - src/core/lib/json/json.h
921
945
  - src/core/lib/json/json_reader.cc
946
+ - src/core/lib/json/json_util.cc
947
+ - src/core/lib/json/json_util.h
922
948
  - src/core/lib/json/json_writer.cc
923
949
  - src/core/lib/profiling/basic_timers.cc
924
950
  - src/core/lib/profiling/stap_timers.cc
@@ -934,6 +960,7 @@ files:
934
960
  - src/core/lib/security/authorization/mock_cel/evaluator_core.h
935
961
  - src/core/lib/security/authorization/mock_cel/flat_expr_builder.h
936
962
  - src/core/lib/security/authorization/mock_cel/statusor.h
963
+ - src/core/lib/security/certificate_provider.h
937
964
  - src/core/lib/security/context/security_context.cc
938
965
  - src/core/lib/security/context/security_context.h
939
966
  - src/core/lib/security/credentials/alts/alts_credentials.cc
@@ -973,10 +1000,14 @@ files:
973
1000
  - src/core/lib/security/credentials/plugin/plugin_credentials.h
974
1001
  - src/core/lib/security/credentials/ssl/ssl_credentials.cc
975
1002
  - src/core/lib/security/credentials/ssl/ssl_credentials.h
1003
+ - src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc
1004
+ - src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h
976
1005
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
977
1006
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h
978
1007
  - src/core/lib/security/credentials/tls/tls_credentials.cc
979
1008
  - src/core/lib/security/credentials/tls/tls_credentials.h
1009
+ - src/core/lib/security/credentials/xds/xds_credentials.cc
1010
+ - src/core/lib/security/credentials/xds/xds_credentials.h
980
1011
  - src/core/lib/security/security_connector/alts/alts_security_connector.cc
981
1012
  - src/core/lib/security/security_connector/alts/alts_security_connector.h
982
1013
  - src/core/lib/security/security_connector/fake/fake_security_connector.cc
@@ -1574,6 +1605,7 @@ files:
1574
1605
  - third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c
1575
1606
  - third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c
1576
1607
  - third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c
1608
+ - third_party/boringssl-with-bazel/src/crypto/dsa/internal.h
1577
1609
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c
1578
1610
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c
1579
1611
  - third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c
@@ -1828,12 +1860,10 @@ files:
1828
1860
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c
1829
1861
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c
1830
1862
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c
1831
- - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c
1832
1863
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c
1833
1864
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c
1834
1865
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c
1835
1866
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c
1836
- - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c
1837
1867
  - third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c
1838
1868
  - third_party/boringssl-with-bazel/src/include/openssl/aead.h
1839
1869
  - third_party/boringssl-with-bazel/src/include/openssl/aes.h
@@ -2135,55 +2165,55 @@ required_ruby_version: !ruby/object:Gem::Requirement
2135
2165
  version: 2.3.0
2136
2166
  required_rubygems_version: !ruby/object:Gem::Requirement
2137
2167
  requirements:
2138
- - - ">="
2168
+ - - ">"
2139
2169
  - !ruby/object:Gem::Version
2140
- version: '0'
2170
+ version: 1.3.1
2141
2171
  requirements: []
2142
2172
  rubygems_version: 3.1.4
2143
2173
  signing_key:
2144
2174
  specification_version: 4
2145
2175
  summary: GRPC system in Ruby
2146
2176
  test_files:
2177
+ - src/ruby/spec/testdata/server1.key
2178
+ - src/ruby/spec/testdata/server1.pem
2179
+ - src/ruby/spec/testdata/client.pem
2180
+ - src/ruby/spec/testdata/ca.pem
2181
+ - src/ruby/spec/testdata/client.key
2182
+ - src/ruby/spec/testdata/README
2183
+ - src/ruby/spec/server_credentials_spec.rb
2184
+ - src/ruby/spec/error_sanity_spec.rb
2185
+ - src/ruby/spec/call_spec.rb
2186
+ - src/ruby/spec/client_auth_spec.rb
2147
2187
  - src/ruby/spec/call_credentials_spec.rb
2148
- - src/ruby/spec/generic/rpc_desc_spec.rb
2149
- - src/ruby/spec/generic/service_spec.rb
2188
+ - src/ruby/spec/pb/health/checker_spec.rb
2189
+ - src/ruby/spec/pb/duplicate/codegen_spec.rb
2190
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
2191
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
2192
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2193
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
2194
+ - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
2195
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
2196
+ - src/ruby/spec/pb/codegen/package_option_spec.rb
2197
+ - src/ruby/spec/spec_helper.rb
2198
+ - src/ruby/spec/channel_connection_spec.rb
2150
2199
  - src/ruby/spec/generic/client_interceptors_spec.rb
2151
- - src/ruby/spec/generic/server_interceptors_spec.rb
2152
2200
  - src/ruby/spec/generic/interceptor_registry_spec.rb
2201
+ - src/ruby/spec/generic/rpc_server_spec.rb
2153
2202
  - src/ruby/spec/generic/active_call_spec.rb
2154
2203
  - src/ruby/spec/generic/client_stub_spec.rb
2204
+ - src/ruby/spec/generic/service_spec.rb
2205
+ - src/ruby/spec/generic/server_interceptors_spec.rb
2206
+ - src/ruby/spec/generic/rpc_desc_spec.rb
2155
2207
  - src/ruby/spec/generic/rpc_server_pool_spec.rb
2156
- - src/ruby/spec/generic/rpc_server_spec.rb
2157
- - src/ruby/spec/channel_connection_spec.rb
2208
+ - src/ruby/spec/channel_spec.rb
2209
+ - src/ruby/spec/support/services.rb
2210
+ - src/ruby/spec/support/helpers.rb
2158
2211
  - src/ruby/spec/time_consts_spec.rb
2159
- - src/ruby/spec/server_spec.rb
2160
- - src/ruby/spec/pb/codegen/package_option_spec.rb
2161
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
2162
- - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
2163
- - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
2164
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
2165
- - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
2166
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
2167
- - src/ruby/spec/pb/duplicate/codegen_spec.rb
2168
- - src/ruby/spec/pb/health/checker_spec.rb
2169
2212
  - src/ruby/spec/client_server_spec.rb
2170
- - src/ruby/spec/spec_helper.rb
2171
2213
  - src/ruby/spec/user_agent_spec.rb
2172
2214
  - src/ruby/spec/channel_credentials_spec.rb
2173
- - src/ruby/spec/call_spec.rb
2174
- - src/ruby/spec/testdata/client.key
2175
- - src/ruby/spec/testdata/server1.key
2176
- - src/ruby/spec/testdata/client.pem
2177
- - src/ruby/spec/testdata/ca.pem
2178
- - src/ruby/spec/testdata/server1.pem
2179
- - src/ruby/spec/testdata/README
2180
- - src/ruby/spec/client_auth_spec.rb
2181
- - src/ruby/spec/support/helpers.rb
2182
- - src/ruby/spec/support/services.rb
2183
- - src/ruby/spec/errors_spec.rb
2184
- - src/ruby/spec/channel_spec.rb
2185
- - src/ruby/spec/error_sanity_spec.rb
2186
2215
  - src/ruby/spec/google_rpc_status_utils_spec.rb
2187
2216
  - src/ruby/spec/compression_options_spec.rb
2188
- - src/ruby/spec/server_credentials_spec.rb
2217
+ - src/ruby/spec/server_spec.rb
2218
+ - src/ruby/spec/errors_spec.rb
2189
2219
  - src/ruby/spec/debug_message_spec.rb