grpc 1.36.0 → 1.37.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 (221) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +65 -37
  3. data/include/grpc/grpc.h +15 -1
  4. data/include/grpc/impl/codegen/port_platform.h +2 -0
  5. data/src/core/ext/filters/client_channel/client_channel.cc +327 -305
  6. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
  7. data/src/core/ext/filters/client_channel/config_selector.h +8 -0
  8. data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -4
  9. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
  10. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
  11. data/src/core/ext/filters/client_channel/lb_policy.cc +3 -0
  12. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
  13. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
  14. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +7 -22
  15. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
  16. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +2 -2
  17. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
  18. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
  19. data/src/core/ext/filters/client_channel/resolver.cc +3 -0
  20. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  21. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -1
  22. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +5 -9
  23. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +18 -3
  24. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +295 -91
  25. data/src/core/ext/filters/client_channel/server_address.cc +3 -0
  26. data/src/core/ext/filters/client_channel/subchannel.cc +69 -146
  27. data/src/core/ext/filters/client_channel/subchannel.h +63 -95
  28. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
  29. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
  30. data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
  31. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +495 -0
  32. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
  33. data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
  34. data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
  35. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +1 -1
  36. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
  37. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +3 -2
  38. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  39. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -2
  40. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +457 -170
  41. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +1 -1
  42. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +39 -7
  43. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
  44. data/src/core/ext/transport/chttp2/transport/frame_data.cc +5 -1
  45. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
  46. data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
  47. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
  48. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
  49. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
  50. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
  51. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
  52. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
  53. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
  54. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
  55. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
  56. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
  57. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -0
  58. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +44 -0
  59. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
  60. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
  61. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
  62. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
  63. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
  64. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
  65. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +6 -5
  66. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +13 -9
  67. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
  68. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
  69. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
  70. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
  71. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
  72. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
  73. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
  74. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
  75. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
  76. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
  77. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
  78. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
  79. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
  80. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
  81. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
  82. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  83. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
  84. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
  85. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +13 -7
  86. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  87. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
  88. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  89. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
  90. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  91. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
  92. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  93. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +21 -20
  94. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
  95. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
  96. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
  97. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  98. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
  99. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  100. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
  101. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
  102. data/src/core/ext/xds/xds_api.cc +1591 -279
  103. data/src/core/ext/xds/xds_api.h +279 -39
  104. data/src/core/ext/xds/xds_bootstrap.cc +21 -5
  105. data/src/core/ext/xds/xds_bootstrap.h +5 -1
  106. data/src/core/ext/xds/xds_client.cc +168 -23
  107. data/src/core/ext/xds/xds_client.h +26 -0
  108. data/src/core/ext/xds/xds_client_stats.h +2 -2
  109. data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
  110. data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
  111. data/src/core/ext/xds/xds_http_filters.cc +114 -0
  112. data/src/core/ext/xds/xds_http_filters.h +130 -0
  113. data/src/core/ext/xds/xds_server_config_fetcher.cc +391 -126
  114. data/src/core/lib/channel/channel_stack.cc +12 -0
  115. data/src/core/lib/channel/channel_stack.h +7 -0
  116. data/src/core/lib/channel/channelz.cc +92 -4
  117. data/src/core/lib/channel/channelz.h +30 -1
  118. data/src/core/lib/channel/channelz_registry.cc +14 -0
  119. data/src/core/lib/channel/handshaker.cc +0 -39
  120. data/src/core/lib/channel/handshaker.h +0 -17
  121. data/src/core/lib/channel/status_util.cc +12 -2
  122. data/src/core/lib/channel/status_util.h +5 -0
  123. data/src/core/lib/gpr/sync_abseil.cc +3 -6
  124. data/src/core/lib/gpr/sync_windows.cc +2 -2
  125. data/src/core/lib/gprpp/atomic.h +3 -3
  126. data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
  127. data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
  128. data/src/core/lib/gprpp/thd.h +1 -1
  129. data/src/core/lib/iomgr/buffer_list.h +1 -1
  130. data/src/core/lib/iomgr/cfstream_handle.cc +2 -2
  131. data/src/core/lib/iomgr/error.h +1 -1
  132. data/src/core/lib/iomgr/ev_apple.cc +1 -1
  133. data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -3
  134. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  135. data/src/core/lib/iomgr/exec_ctx.cc +6 -2
  136. data/src/core/lib/iomgr/resource_quota.cc +1 -1
  137. data/src/core/lib/iomgr/sockaddr_utils.cc +120 -0
  138. data/src/core/lib/iomgr/sockaddr_utils.h +25 -0
  139. data/src/core/lib/iomgr/tcp_posix.cc +1 -4
  140. data/src/core/lib/iomgr/tcp_uv.cc +2 -2
  141. data/src/core/lib/iomgr/timer_generic.cc +2 -2
  142. data/src/core/lib/iomgr/timer_manager.cc +1 -1
  143. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  144. data/src/core/lib/{security/authorization → matchers}/matchers.cc +8 -8
  145. data/src/core/lib/{security/authorization → matchers}/matchers.h +14 -12
  146. data/src/core/lib/security/security_connector/ssl_utils.cc +6 -4
  147. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +6 -0
  148. data/src/core/lib/security/transport/security_handshaker.cc +32 -2
  149. data/src/core/lib/slice/slice_intern.cc +6 -7
  150. data/src/core/lib/surface/channel.h +3 -3
  151. data/src/core/lib/surface/completion_queue.cc +1 -1
  152. data/src/core/lib/surface/lame_client.cc +38 -19
  153. data/src/core/lib/surface/lame_client.h +4 -3
  154. data/src/core/lib/surface/server.cc +40 -33
  155. data/src/core/lib/surface/server.h +74 -15
  156. data/src/core/lib/surface/version.cc +1 -1
  157. data/src/core/lib/transport/metadata_batch.cc +27 -0
  158. data/src/core/lib/transport/metadata_batch.h +14 -0
  159. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
  160. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -4
  161. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  162. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
  163. data/src/core/tsi/fake_transport_security.cc +10 -1
  164. data/src/ruby/ext/grpc/extconf.rb +9 -1
  165. data/src/ruby/ext/grpc/rb_channel.c +10 -1
  166. data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
  167. data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
  168. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  169. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  170. data/src/ruby/ext/grpc/rb_grpc.c +4 -0
  171. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  172. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
  173. data/src/ruby/ext/grpc/rb_server.c +13 -1
  174. data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
  175. data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
  176. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
  177. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
  178. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
  179. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
  180. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
  181. data/src/ruby/lib/grpc/version.rb +1 -1
  182. data/src/ruby/spec/call_spec.rb +1 -1
  183. data/src/ruby/spec/channel_credentials_spec.rb +32 -0
  184. data/src/ruby/spec/channel_spec.rb +17 -6
  185. data/src/ruby/spec/client_auth_spec.rb +27 -1
  186. data/src/ruby/spec/errors_spec.rb +1 -1
  187. data/src/ruby/spec/generic/active_call_spec.rb +2 -2
  188. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  189. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  190. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  191. data/src/ruby/spec/server_spec.rb +22 -0
  192. data/third_party/boringssl-with-bazel/err_data.c +255 -255
  193. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
  194. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +21 -13
  196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +7 -5
  197. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -28
  198. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +22 -17
  199. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +3 -1
  200. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +4 -0
  201. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  202. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +25 -9
  203. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -1
  204. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +33 -19
  205. data/third_party/xxhash/xxhash.h +5443 -0
  206. metadata +93 -49
  207. data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
  208. data/src/core/lib/security/authorization/authorization_engine.h +0 -84
  209. data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
  210. data/src/core/lib/security/authorization/evaluate_args.h +0 -59
  211. data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
  212. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
  213. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
  214. data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -99
  215. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
  216. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
  217. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
  218. data/third_party/upb/upb/json_decode.c +0 -1443
  219. data/third_party/upb/upb/json_decode.h +0 -23
  220. data/third_party/upb/upb/json_encode.c +0 -713
  221. data/third_party/upb/upb/json_encode.h +0 -36
@@ -0,0 +1,35 @@
1
+ /*
2
+ *
3
+ * Copyright 2021 gRPC authors.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ */
18
+
19
+ #ifndef GRPC_RB_XDS_SERVER_CREDENTIALS_H_
20
+ #define GRPC_RB_XDS_SERVER_CREDENTIALS_H_
21
+
22
+ #include <grpc/grpc_security.h>
23
+ #include <ruby/ruby.h>
24
+ #include <stdbool.h>
25
+
26
+ /* Initializes the ruby XdsServerCredentials class. */
27
+ void Init_grpc_xds_server_credentials();
28
+
29
+ /* Gets the wrapped server_credentials from the ruby wrapper */
30
+ grpc_server_credentials* grpc_rb_get_wrapped_xds_server_credentials(VALUE v);
31
+
32
+ /* Check if v is kind of XdsServerCredentials */
33
+ bool grpc_rb_is_xds_server_credentials(VALUE v);
34
+
35
+ #endif /* GRPC_RB_XDS_SERVER_CREDENTIALS_H_ */
@@ -41,8 +41,10 @@ module GRPC
41
41
  channel_args['grpc.primary_user_agent'] += ' '
42
42
  end
43
43
  channel_args['grpc.primary_user_agent'] += "grpc-ruby/#{VERSION}"
44
- unless creds.is_a?(Core::ChannelCredentials) || creds.is_a?(Symbol)
45
- fail(TypeError, '!ChannelCredentials or Symbol')
44
+ unless creds.is_a?(Core::ChannelCredentials) ||
45
+ creds.is_a?(Core::XdsChannelCredentials) ||
46
+ creds.is_a?(Symbol)
47
+ fail(TypeError, 'creds is not a ChannelCredentials, XdsChannelCredentials, or Symbol')
46
48
  end
47
49
  Core::Channel.new(host, channel_args, creds)
48
50
  end
@@ -14,5 +14,5 @@
14
14
 
15
15
  # GRPC contains the General RPC module.
16
16
  module GRPC
17
- VERSION = '1.36.0'
17
+ VERSION = '1.37.0.pre1'
18
18
  end
@@ -171,7 +171,7 @@ describe GRPC::Core::Call do
171
171
  end
172
172
 
173
173
  def make_test_call
174
- @ch.create_call(nil, nil, 'dummy_method', nil, deadline)
174
+ @ch.create_call(nil, nil, 'phony_method', nil, deadline)
175
175
  end
176
176
 
177
177
  def deadline
@@ -60,6 +60,38 @@ describe GRPC::Core::ChannelCredentials do
60
60
  blk = proc { GRPC::Core::ChannelCredentials.new(nil, '', nil) }
61
61
  expect(&blk).to raise_error
62
62
  end
63
+
64
+ it 'can be constructed with a fallback credential' do
65
+ blk = proc {
66
+ fallback = GRPC::Core::ChannelCredentials.new
67
+ GRPC::Core::XdsChannelCredentials.new(fallback)
68
+ }
69
+ expect(&blk).not_to raise_error
70
+ end
71
+
72
+ it 'fails gracefully constructed with nil' do
73
+ blk = proc {
74
+ GRPC::Core::XdsChannelCredentials.new(nil)
75
+ }
76
+ expect(&blk).to raise_error TypeError, /expected grpc_channel_credentials/
77
+ end
78
+
79
+ it 'fails gracefully constructed with a non-C-extension object' do
80
+ blk = proc {
81
+ not_a_fallback = 100
82
+ GRPC::Core::XdsChannelCredentials.new(not_a_fallback)
83
+ }
84
+ expect(&blk).to raise_error TypeError, /expected grpc_channel_credentials/
85
+ end
86
+
87
+ it 'fails gracefully constructed with a non-ChannelCredentials object' do
88
+ blk = proc {
89
+ not_a_fallback = GRPC::Core::Channel.new('dummy_host', nil,
90
+ :this_channel_is_insecure)
91
+ GRPC::Core::XdsChannelCredentials.new(not_a_fallback)
92
+ }
93
+ expect(&blk).to raise_error TypeError, /expected grpc_channel_credentials/
94
+ end
63
95
  end
64
96
 
65
97
  describe '#compose' do
@@ -53,7 +53,7 @@ describe GRPC::Core::Channel do
53
53
  shared_examples '#new' do
54
54
  it 'take a host name without channel args' do
55
55
  blk = proc do
56
- GRPC::Core::Channel.new('dummy_host', nil, :this_channel_is_insecure)
56
+ GRPC::Core::Channel.new('phony_host', nil, :this_channel_is_insecure)
57
57
  end
58
58
  expect(&blk).not_to raise_error
59
59
  end
@@ -114,7 +114,7 @@ describe GRPC::Core::Channel do
114
114
 
115
115
  describe '#new for secure channels' do
116
116
  def construct_with_args(a)
117
- proc { GRPC::Core::Channel.new('dummy_host', a, create_test_cert) }
117
+ proc { GRPC::Core::Channel.new('phony_host', a, create_test_cert) }
118
118
  end
119
119
 
120
120
  it_behaves_like '#new'
@@ -125,7 +125,18 @@ describe GRPC::Core::Channel do
125
125
 
126
126
  def construct_with_args(a)
127
127
  proc do
128
- GRPC::Core::Channel.new('dummy_host', a, :this_channel_is_insecure)
128
+ GRPC::Core::Channel.new('phony_host', a, :this_channel_is_insecure)
129
+ end
130
+ end
131
+ end
132
+
133
+ describe '#new for XDS channels' do
134
+ it_behaves_like '#new'
135
+
136
+ def construct_with_args(a)
137
+ proc do
138
+ xds_creds = GRPC::Core::XdsChannelCredentials.new(create_test_cert)
139
+ GRPC::Core::Channel.new('dummy_host', a, xds_creds)
129
140
  end
130
141
  end
131
142
  end
@@ -137,7 +148,7 @@ describe GRPC::Core::Channel do
137
148
  deadline = Time.now + 5
138
149
 
139
150
  blk = proc do
140
- ch.create_call(nil, nil, 'dummy_method', nil, deadline)
151
+ ch.create_call(nil, nil, 'phony_method', nil, deadline)
141
152
  end
142
153
  expect(&blk).to_not raise_error
143
154
  end
@@ -148,7 +159,7 @@ describe GRPC::Core::Channel do
148
159
 
149
160
  deadline = Time.now + 5
150
161
  blk = proc do
151
- ch.create_call(nil, nil, 'dummy_method', nil, deadline)
162
+ ch.create_call(nil, nil, 'phony_method', nil, deadline)
152
163
  end
153
164
  expect(&blk).to raise_error(RuntimeError)
154
165
  end
@@ -160,7 +171,7 @@ describe GRPC::Core::Channel do
160
171
 
161
172
  blk = proc do
162
173
  fork_with_propagated_error_message do
163
- ch.create_call(nil, nil, 'dummy_method', nil, deadline)
174
+ ch.create_call(nil, nil, 'phony_method', nil, deadline)
164
175
  end
165
176
  end
166
177
  expect(&blk).to raise_error(RuntimeError, 'grpc cannot be used before and after forking')
@@ -85,7 +85,10 @@ describe 'client-server auth' do
85
85
  poll_period: 1
86
86
  }
87
87
  @srv = new_rpc_server_for_testing(**server_opts)
88
- port = @srv.add_http2_port('0.0.0.0:0', create_server_creds)
88
+ ssl_creds = create_server_creds
89
+ xds_creds = GRPC::Core::XdsServerCredentials.new(ssl_creds)
90
+ port = @srv.add_http2_port('0.0.0.0:0', ssl_creds)
91
+ xds_port = @srv.add_http2_port('0.0.0.0:0', xds_creds)
89
92
  @srv.handle(SslTestService)
90
93
  @srv_thd = Thread.new { @srv.run }
91
94
  @srv.wait_till_running
@@ -98,6 +101,11 @@ describe 'client-server auth' do
98
101
  @stub = SslTestServiceStub.new("localhost:#{port}",
99
102
  create_channel_creds,
100
103
  **client_opts)
104
+ # auth should success as the fallback creds wil be used
105
+ xds_channel_creds = GRPC::Core::XdsChannelCredentials.new(create_channel_creds)
106
+ @xds_stub = SslTestServiceStub.new("localhost:#{xds_port}",
107
+ xds_channel_creds,
108
+ **client_opts)
101
109
  end
102
110
 
103
111
  after(:all) do
@@ -123,4 +131,22 @@ describe 'client-server auth' do
123
131
  responses = @stub.a_bidi_rpc([EchoMsg.new, EchoMsg.new])
124
132
  responses.each { |r| GRPC.logger.info(r) }
125
133
  end
134
+
135
+ it 'xds_client-xds_server ssl fallback auth with unary RPCs' do
136
+ @xds_stub.an_rpc(EchoMsg.new)
137
+ end
138
+
139
+ it 'xds_client-xds_server ssl fallback auth with client streaming RPCs' do
140
+ @xds_stub.a_client_streaming_rpc([EchoMsg.new, EchoMsg.new])
141
+ end
142
+
143
+ it 'xds_client-xds_server ssl fallback auth with server streaming RPCs' do
144
+ responses = @xds_stub.a_server_streaming_rpc(EchoMsg.new)
145
+ responses.each { |r| GRPC.logger.info(r) }
146
+ end
147
+
148
+ it 'xds_client-xds_server ssl fallback auth with bidi RPCs' do
149
+ responses = @xds_stub.a_bidi_rpc([EchoMsg.new, EchoMsg.new])
150
+ responses.each { |r| GRPC.logger.info(r) }
151
+ end
126
152
  end
@@ -131,7 +131,7 @@ describe GRPC::BadStatus do
131
131
 
132
132
  error_msg = 'parse error: to_rpc_status failed'
133
133
  error_desc = '<Google::Protobuf::ParseError> ' \
134
- 'Error occurred during parsing: Invalid wire type'
134
+ 'Error occurred during parsing'
135
135
 
136
136
  # Check that the parse error was logged correctly
137
137
  log_contents = @log_output.read
@@ -198,11 +198,11 @@ describe GRPC::ActiveCall do
198
198
  deadline,
199
199
  started: false)
200
200
 
201
- metadata = { key: 'dummy_val', other: 'other_val' }
201
+ metadata = { key: 'phony_val', other: 'other_val' }
202
202
  expect(@client_call.metadata_sent).to eq(false)
203
203
  @client_call.merge_metadata_to_send(metadata)
204
204
 
205
- message = 'dummy message'
205
+ message = 'phony message'
206
206
 
207
207
  expect(call).to(
208
208
  receive(:run_batch)
@@ -304,7 +304,7 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
304
304
 
305
305
  describe 'via a call operation' do
306
306
  after(:each) do
307
- # make sure op.wait doesn't hang, even if there's a bad status
307
+ # make sure op.wait doesn't freeze, even if there's a bad status
308
308
  @op.wait
309
309
  end
310
310
  def get_response(stub, run_start_call_first: false, credentials: nil)
@@ -406,7 +406,7 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
406
406
 
407
407
  describe 'via a call operation' do
408
408
  after(:each) do
409
- # make sure op.wait doesn't hang, even if there's a bad status
409
+ # make sure op.wait doesn't freeze, even if there's a bad status
410
410
  @op.wait
411
411
  end
412
412
  def get_response(stub, run_start_call_first: false)
@@ -547,7 +547,7 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
547
547
 
548
548
  describe 'via a call operation' do
549
549
  after(:each) do
550
- @op.wait # make sure wait doesn't hang
550
+ @op.wait # make sure wait doesn't freeze
551
551
  end
552
552
  def get_responses(stub, run_start_call_first: false, unmarshal: noop)
553
553
  @op = stub.server_streamer(@method, @sent_msg, noop, unmarshal,
@@ -865,7 +865,7 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
865
865
 
866
866
  describe 'via a call operation' do
867
867
  after(:each) do
868
- @op.wait # make sure wait doesn't hang
868
+ @op.wait # make sure wait doesn't freeze
869
869
  end
870
870
  def get_responses(stub, run_start_call_first: false, deadline: nil,
871
871
  marshal_proc: noop)
@@ -104,7 +104,7 @@ end
104
104
 
105
105
  SynchronizedCancellationStub = SynchronizedCancellationService.rpc_stub_class
106
106
 
107
- # a test service that hangs onto call objects
107
+ # a test service that holds onto call objects
108
108
  # and uses them after the server-side call has been
109
109
  # finished
110
110
  class CheckCallAfterFinishedService
@@ -23,6 +23,7 @@ end
23
23
 
24
24
  describe GRPC::Core::ServerCredentials do
25
25
  Creds = GRPC::Core::ServerCredentials
26
+ XdsCreds = GRPC::Core::XdsServerCredentials
26
27
 
27
28
  describe '#new' do
28
29
  it 'can be constructed from a fake CA PEM, server PEM and a server key' do
@@ -75,5 +76,29 @@ describe GRPC::Core::ServerCredentials do
75
76
  blk = proc { Creds.new(nil, cert_pairs, false) }
76
77
  expect(&blk).to_not raise_error
77
78
  end
79
+
80
+ it 'can be constructed with a fallback credential' do
81
+ _, cert_pairs, _ = load_test_certs
82
+ fallback = Creds.new(nil, cert_pairs, false)
83
+ blk = proc { XdsCreds.new(fallback) }
84
+ expect(&blk).to_not raise_error
85
+ end
86
+
87
+ it 'cannot be constructed with nil' do
88
+ blk = proc { XdsCreds.new(nil) }
89
+ expect(&blk).to raise_error TypeError, /expected grpc_server_credentials/
90
+ end
91
+
92
+ it 'cannot be constructed with a non-C-extension object' do
93
+ not_a_fallback = 100
94
+ blk = proc { XdsCreds.new(not_a_fallback) }
95
+ expect(&blk).to raise_error TypeError, /expected grpc_server_credentials/
96
+ end
97
+
98
+ it 'cannot be constructed with a non-ServerCredentials object' do
99
+ not_a_fallback = GRPC::Core::ChannelCredentials.new
100
+ blk = proc { XdsCreds.new(not_a_fallback) }
101
+ expect(&blk).to raise_error TypeError, /expected grpc_server_credentials/
102
+ end
78
103
  end
79
104
  end
@@ -139,6 +139,28 @@ describe Server do
139
139
  expect(&blk).to raise_error(RuntimeError)
140
140
  end
141
141
  end
142
+
143
+ describe 'for xds servers' do
144
+ let(:cert) { create_test_cert }
145
+ let(:xds) { GRPC::Core::XdsServerCredentials.new(cert) }
146
+ it 'runs without failing' do
147
+ blk = proc do
148
+ s = new_core_server_for_testing(nil)
149
+ s.add_http2_port('localhost:0', xds)
150
+ s.shutdown_and_notify(nil)
151
+ s.close
152
+ end
153
+ expect(&blk).to_not raise_error
154
+ end
155
+
156
+ it 'fails if the server is closed' do
157
+ s = new_core_server_for_testing(nil)
158
+ s.shutdown_and_notify(nil)
159
+ s.close
160
+ blk = proc { s.add_http2_port('localhost:0', xds) }
161
+ expect(&blk).to raise_error(RuntimeError)
162
+ end
163
+ end
142
164
  end
143
165
 
144
166
  shared_examples '#new' do
@@ -192,47 +192,47 @@ const uint32_t kOpenSSLReasonValues[] = {
192
192
  0x283480b9,
193
193
  0x283500f7,
194
194
  0x28358c79,
195
- 0x2c3230db,
195
+ 0x2c3230e6,
196
196
  0x2c3292ff,
197
- 0x2c3330e9,
198
- 0x2c33b0fb,
199
- 0x2c34310f,
200
- 0x2c34b121,
201
- 0x2c35313c,
202
- 0x2c35b14e,
203
- 0x2c36317e,
197
+ 0x2c3330f4,
198
+ 0x2c33b106,
199
+ 0x2c34311a,
200
+ 0x2c34b12c,
201
+ 0x2c353147,
202
+ 0x2c35b159,
203
+ 0x2c363189,
204
204
  0x2c36833a,
205
- 0x2c37318b,
206
- 0x2c37b1b7,
207
- 0x2c3831dc,
208
- 0x2c38b1f3,
209
- 0x2c393211,
210
- 0x2c39b221,
211
- 0x2c3a3233,
212
- 0x2c3ab247,
213
- 0x2c3b3258,
214
- 0x2c3bb277,
205
+ 0x2c373196,
206
+ 0x2c37b1c2,
207
+ 0x2c3831e7,
208
+ 0x2c38b1fe,
209
+ 0x2c39321c,
210
+ 0x2c39b22c,
211
+ 0x2c3a323e,
212
+ 0x2c3ab252,
213
+ 0x2c3b3263,
214
+ 0x2c3bb282,
215
215
  0x2c3c1311,
216
216
  0x2c3c9327,
217
- 0x2c3d328b,
217
+ 0x2c3d3296,
218
218
  0x2c3d9340,
219
- 0x2c3e32a8,
220
- 0x2c3eb2b6,
221
- 0x2c3f32ce,
222
- 0x2c3fb2e6,
223
- 0x2c403310,
219
+ 0x2c3e32b3,
220
+ 0x2c3eb2c1,
221
+ 0x2c3f32d9,
222
+ 0x2c3fb2f1,
223
+ 0x2c40331b,
224
224
  0x2c409212,
225
- 0x2c413321,
226
- 0x2c41b334,
225
+ 0x2c41332c,
226
+ 0x2c41b33f,
227
227
  0x2c4211d8,
228
- 0x2c42b345,
228
+ 0x2c42b350,
229
229
  0x2c43072f,
230
- 0x2c43b269,
231
- 0x2c4431ca,
232
- 0x2c44b2f3,
233
- 0x2c453161,
234
- 0x2c45b19d,
235
- 0x2c463201,
230
+ 0x2c43b274,
231
+ 0x2c4431d5,
232
+ 0x2c44b2fe,
233
+ 0x2c45316c,
234
+ 0x2c45b1a8,
235
+ 0x2c46320c,
236
236
  0x30320000,
237
237
  0x30328015,
238
238
  0x3033001f,
@@ -431,185 +431,185 @@ const uint32_t kOpenSSLReasonValues[] = {
431
431
  0x4050206f,
432
432
  0x4050a083,
433
433
  0x405120b6,
434
- 0x405220d3,
435
- 0x4052a0f7,
436
- 0x4053210f,
437
- 0x4053a122,
438
- 0x40542137,
439
- 0x4054a15a,
440
- 0x40552185,
441
- 0x4055a1c2,
442
- 0x405621cf,
443
- 0x4056a1e8,
444
- 0x40572200,
445
- 0x4057a213,
446
- 0x40582228,
447
- 0x4058a24f,
448
- 0x4059227e,
449
- 0x4059a2ab,
450
- 0x405a22bf,
451
- 0x405aa2cf,
452
- 0x405b22e7,
453
- 0x405ba2f8,
454
- 0x405c230b,
455
- 0x405ca34a,
456
- 0x405d2357,
457
- 0x405da37c,
458
- 0x405e23ba,
434
+ 0x405220c6,
435
+ 0x4052a0ea,
436
+ 0x40532102,
437
+ 0x4053a115,
438
+ 0x4054212a,
439
+ 0x4054a14d,
440
+ 0x40552178,
441
+ 0x4055a1b5,
442
+ 0x405621da,
443
+ 0x4056a1f3,
444
+ 0x4057220b,
445
+ 0x4057a21e,
446
+ 0x40582233,
447
+ 0x4058a25a,
448
+ 0x40592289,
449
+ 0x4059a2b6,
450
+ 0x405a22ca,
451
+ 0x405aa2da,
452
+ 0x405b22f2,
453
+ 0x405ba303,
454
+ 0x405c2316,
455
+ 0x405ca355,
456
+ 0x405d2362,
457
+ 0x405da387,
458
+ 0x405e23c5,
459
459
  0x405e8ac0,
460
- 0x405f23db,
461
- 0x405fa3e8,
462
- 0x406023f6,
463
- 0x4060a418,
464
- 0x40612479,
465
- 0x4061a4b1,
466
- 0x406224c8,
467
- 0x4062a4d9,
468
- 0x40632526,
469
- 0x4063a53b,
470
- 0x40642552,
471
- 0x4064a57e,
472
- 0x40652599,
473
- 0x4065a5b0,
474
- 0x406625c8,
475
- 0x4066a5f2,
476
- 0x4067261d,
477
- 0x4067a662,
478
- 0x406826aa,
479
- 0x4068a6cb,
480
- 0x406926fd,
481
- 0x4069a72b,
482
- 0x406a274c,
483
- 0x406aa76c,
484
- 0x406b28f4,
485
- 0x406ba917,
486
- 0x406c292d,
487
- 0x406cac1e,
488
- 0x406d2c4d,
489
- 0x406dac75,
490
- 0x406e2ca3,
491
- 0x406eacf0,
492
- 0x406f2d49,
493
- 0x406fad81,
494
- 0x40702d94,
495
- 0x4070adb1,
460
+ 0x405f23e6,
461
+ 0x405fa3f3,
462
+ 0x40602401,
463
+ 0x4060a423,
464
+ 0x40612484,
465
+ 0x4061a4bc,
466
+ 0x406224d3,
467
+ 0x4062a4e4,
468
+ 0x40632531,
469
+ 0x4063a546,
470
+ 0x4064255d,
471
+ 0x4064a589,
472
+ 0x406525a4,
473
+ 0x4065a5bb,
474
+ 0x406625d3,
475
+ 0x4066a5fd,
476
+ 0x40672628,
477
+ 0x4067a66d,
478
+ 0x406826b5,
479
+ 0x4068a6d6,
480
+ 0x40692708,
481
+ 0x4069a736,
482
+ 0x406a2757,
483
+ 0x406aa777,
484
+ 0x406b28ff,
485
+ 0x406ba922,
486
+ 0x406c2938,
487
+ 0x406cac29,
488
+ 0x406d2c58,
489
+ 0x406dac80,
490
+ 0x406e2cae,
491
+ 0x406eacfb,
492
+ 0x406f2d54,
493
+ 0x406fad8c,
494
+ 0x40702d9f,
495
+ 0x4070adbc,
496
496
  0x4071080f,
497
- 0x4071adc3,
498
- 0x40722dd6,
499
- 0x4072ae0c,
500
- 0x40732e24,
497
+ 0x4071adce,
498
+ 0x40722de1,
499
+ 0x4072ae17,
500
+ 0x40732e2f,
501
501
  0x40739511,
502
- 0x40742e38,
503
- 0x4074ae52,
504
- 0x40752e63,
505
- 0x4075ae77,
506
- 0x40762e85,
502
+ 0x40742e43,
503
+ 0x4074ae5d,
504
+ 0x40752e6e,
505
+ 0x4075ae82,
506
+ 0x40762e90,
507
507
  0x407692d5,
508
- 0x40772eaa,
509
- 0x4077aecc,
510
- 0x40782ee7,
511
- 0x4078af20,
512
- 0x40792f37,
513
- 0x4079af4d,
514
- 0x407a2f79,
515
- 0x407aaf8c,
516
- 0x407b2fa1,
517
- 0x407bafb3,
518
- 0x407c2fe4,
519
- 0x407cafed,
520
- 0x407d26e6,
508
+ 0x40772eb5,
509
+ 0x4077aed7,
510
+ 0x40782ef2,
511
+ 0x4078af2b,
512
+ 0x40792f42,
513
+ 0x4079af58,
514
+ 0x407a2f84,
515
+ 0x407aaf97,
516
+ 0x407b2fac,
517
+ 0x407bafbe,
518
+ 0x407c2fef,
519
+ 0x407caff8,
520
+ 0x407d26f1,
521
521
  0x407da028,
522
- 0x407e2efc,
523
- 0x407ea25f,
522
+ 0x407e2f07,
523
+ 0x407ea26a,
524
524
  0x407f1d86,
525
525
  0x407f9ed2,
526
526
  0x40801fe2,
527
527
  0x40809dae,
528
- 0x408120e5,
528
+ 0x408120d8,
529
529
  0x40819fbc,
530
- 0x40822c8e,
530
+ 0x40822c99,
531
531
  0x40829b17,
532
- 0x4083223a,
533
- 0x4083a563,
532
+ 0x40832245,
533
+ 0x4083a56e,
534
534
  0x40841dc2,
535
- 0x4084a297,
536
- 0x4085231c,
537
- 0x4085a440,
538
- 0x4086239c,
535
+ 0x4084a2a2,
536
+ 0x40852327,
537
+ 0x4085a44b,
538
+ 0x408623a7,
539
539
  0x4086a042,
540
- 0x40872cd4,
541
- 0x4087a48e,
540
+ 0x40872cdf,
541
+ 0x4087a499,
542
542
  0x40881b55,
543
- 0x4088a675,
543
+ 0x4088a680,
544
544
  0x40891ba4,
545
545
  0x40899b31,
546
- 0x408a2965,
546
+ 0x408a2970,
547
547
  0x408a9929,
548
- 0x408b2fc8,
549
- 0x408bad5e,
550
- 0x408c232c,
548
+ 0x408b2fd3,
549
+ 0x408bad69,
550
+ 0x408c2337,
551
551
  0x408c9961,
552
552
  0x408d1e23,
553
553
  0x408d9df4,
554
554
  0x408e1f53,
555
- 0x408ea1a2,
556
- 0x408f2689,
557
- 0x408fa45c,
558
- 0x4090263e,
559
- 0x4090a36e,
560
- 0x4091294d,
555
+ 0x408ea195,
556
+ 0x408f2694,
557
+ 0x408fa467,
558
+ 0x40902649,
559
+ 0x4090a379,
560
+ 0x40912958,
561
561
  0x40919987,
562
562
  0x40921bf1,
563
- 0x4092ad0f,
564
- 0x40932def,
563
+ 0x4092ad1a,
564
+ 0x40932dfa,
565
565
  0x4093a053,
566
566
  0x40941dd6,
567
- 0x4094a97e,
568
- 0x409524ea,
569
- 0x4095af59,
570
- 0x40962cbb,
567
+ 0x4094a989,
568
+ 0x409524f5,
569
+ 0x4095af64,
570
+ 0x40962cc6,
571
571
  0x40969ffb,
572
572
  0x4097209e,
573
573
  0x40979fa2,
574
574
  0x40981c51,
575
- 0x4098a4fe,
576
- 0x40992d2b,
577
- 0x4099a0c6,
578
- 0x409a2168,
575
+ 0x4098a509,
576
+ 0x40992d36,
577
+ 0x4099a1c2,
578
+ 0x409a215b,
579
579
  0x409a9945,
580
- 0x41f4281f,
581
- 0x41f928b1,
582
- 0x41fe27a4,
583
- 0x41feaa5a,
584
- 0x41ff2b6f,
585
- 0x42032838,
586
- 0x4208285a,
587
- 0x4208a896,
588
- 0x42092788,
589
- 0x4209a8d0,
590
- 0x420a27df,
591
- 0x420aa7bf,
592
- 0x420b27ff,
593
- 0x420ba878,
594
- 0x420c2b8b,
595
- 0x420ca98e,
596
- 0x420d2a41,
597
- 0x420daa78,
598
- 0x42122a92,
599
- 0x42172b52,
600
- 0x4217aad4,
601
- 0x421c2af6,
602
- 0x421f2ab1,
603
- 0x42212c03,
604
- 0x42262b35,
605
- 0x422b2be1,
606
- 0x422baa1c,
607
- 0x422c2bc3,
608
- 0x422ca9cf,
609
- 0x422d29a8,
610
- 0x422daba2,
611
- 0x422e29fb,
612
- 0x42302b11,
580
+ 0x41f4282a,
581
+ 0x41f928bc,
582
+ 0x41fe27af,
583
+ 0x41feaa65,
584
+ 0x41ff2b7a,
585
+ 0x42032843,
586
+ 0x42082865,
587
+ 0x4208a8a1,
588
+ 0x42092793,
589
+ 0x4209a8db,
590
+ 0x420a27ea,
591
+ 0x420aa7ca,
592
+ 0x420b280a,
593
+ 0x420ba883,
594
+ 0x420c2b96,
595
+ 0x420ca999,
596
+ 0x420d2a4c,
597
+ 0x420daa83,
598
+ 0x42122a9d,
599
+ 0x42172b5d,
600
+ 0x4217aadf,
601
+ 0x421c2b01,
602
+ 0x421f2abc,
603
+ 0x42212c0e,
604
+ 0x42262b40,
605
+ 0x422b2bec,
606
+ 0x422baa27,
607
+ 0x422c2bce,
608
+ 0x422ca9da,
609
+ 0x422d29b3,
610
+ 0x422dabad,
611
+ 0x422e2a06,
612
+ 0x42302b1c,
613
613
  0x4432073a,
614
614
  0x44328749,
615
615
  0x44330755,
@@ -664,69 +664,69 @@ const uint32_t kOpenSSLReasonValues[] = {
664
664
  0x4c41156e,
665
665
  0x4c4193f1,
666
666
  0x4c42155a,
667
- 0x50323357,
668
- 0x5032b366,
669
- 0x50333371,
670
- 0x5033b381,
671
- 0x5034339a,
672
- 0x5034b3b4,
673
- 0x503533c2,
674
- 0x5035b3d8,
675
- 0x503633ea,
676
- 0x5036b400,
677
- 0x50373419,
678
- 0x5037b42c,
679
- 0x50383444,
680
- 0x5038b455,
681
- 0x5039346a,
682
- 0x5039b47e,
683
- 0x503a349e,
684
- 0x503ab4b4,
685
- 0x503b34cc,
686
- 0x503bb4de,
687
- 0x503c34fa,
688
- 0x503cb511,
689
- 0x503d352a,
690
- 0x503db540,
691
- 0x503e354d,
692
- 0x503eb563,
693
- 0x503f3575,
667
+ 0x50323362,
668
+ 0x5032b371,
669
+ 0x5033337c,
670
+ 0x5033b38c,
671
+ 0x503433a5,
672
+ 0x5034b3bf,
673
+ 0x503533cd,
674
+ 0x5035b3e3,
675
+ 0x503633f5,
676
+ 0x5036b40b,
677
+ 0x50373424,
678
+ 0x5037b437,
679
+ 0x5038344f,
680
+ 0x5038b460,
681
+ 0x50393475,
682
+ 0x5039b489,
683
+ 0x503a34a9,
684
+ 0x503ab4bf,
685
+ 0x503b34d7,
686
+ 0x503bb4e9,
687
+ 0x503c3505,
688
+ 0x503cb51c,
689
+ 0x503d3535,
690
+ 0x503db54b,
691
+ 0x503e3558,
692
+ 0x503eb56e,
693
+ 0x503f3580,
694
694
  0x503f8388,
695
- 0x50403588,
696
- 0x5040b598,
697
- 0x504135b2,
698
- 0x5041b5c1,
699
- 0x504235db,
700
- 0x5042b5f8,
701
- 0x50433608,
702
- 0x5043b618,
703
- 0x50443627,
695
+ 0x50403593,
696
+ 0x5040b5a3,
697
+ 0x504135bd,
698
+ 0x5041b5cc,
699
+ 0x504235e6,
700
+ 0x5042b603,
701
+ 0x50433613,
702
+ 0x5043b623,
703
+ 0x50443632,
704
704
  0x5044843e,
705
- 0x5045363b,
706
- 0x5045b659,
707
- 0x5046366c,
708
- 0x5046b682,
709
- 0x50473694,
710
- 0x5047b6a9,
711
- 0x504836cf,
712
- 0x5048b6dd,
713
- 0x504936f0,
714
- 0x5049b705,
715
- 0x504a371b,
716
- 0x504ab72b,
717
- 0x504b374b,
718
- 0x504bb75e,
719
- 0x504c3781,
720
- 0x504cb7af,
721
- 0x504d37c1,
722
- 0x504db7de,
723
- 0x504e37f9,
724
- 0x504eb815,
725
- 0x504f3827,
726
- 0x504fb83e,
727
- 0x5050384d,
705
+ 0x50453646,
706
+ 0x5045b664,
707
+ 0x50463677,
708
+ 0x5046b68d,
709
+ 0x5047369f,
710
+ 0x5047b6b4,
711
+ 0x504836da,
712
+ 0x5048b6e8,
713
+ 0x504936fb,
714
+ 0x5049b710,
715
+ 0x504a3726,
716
+ 0x504ab736,
717
+ 0x504b3756,
718
+ 0x504bb769,
719
+ 0x504c378c,
720
+ 0x504cb7ba,
721
+ 0x504d37cc,
722
+ 0x504db7e9,
723
+ 0x504e3804,
724
+ 0x504eb820,
725
+ 0x504f3832,
726
+ 0x504fb849,
727
+ 0x50503858,
728
728
  0x505086fe,
729
- 0x50513860,
729
+ 0x5051386b,
730
730
  0x58320f72,
731
731
  0x68320f34,
732
732
  0x68328c8c,
@@ -770,19 +770,19 @@ const uint32_t kOpenSSLReasonValues[] = {
770
770
  0x7c3211ee,
771
771
  0x80321404,
772
772
  0x80328090,
773
- 0x803330aa,
773
+ 0x803330b5,
774
774
  0x803380b9,
775
- 0x803430b9,
776
- 0x8034b021,
777
- 0x8035303f,
778
- 0x8035b0cd,
779
- 0x80363081,
780
- 0x8036b030,
781
- 0x80373073,
782
- 0x8037b00e,
783
- 0x80383094,
784
- 0x8038b050,
785
- 0x80393065,
775
+ 0x803430c4,
776
+ 0x8034b02c,
777
+ 0x8035304a,
778
+ 0x8035b0d8,
779
+ 0x8036308c,
780
+ 0x8036b03b,
781
+ 0x8037307e,
782
+ 0x8037b019,
783
+ 0x8038309f,
784
+ 0x8038b05b,
785
+ 0x80393070,
786
786
  };
787
787
 
788
788
  const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -1201,7 +1201,6 @@ const char kOpenSSLReasonStringData[] =
1201
1201
  "INVALID_TICKET_KEYS_LENGTH\0"
1202
1202
  "KEY_USAGE_BIT_INCORRECT\0"
1203
1203
  "LENGTH_MISMATCH\0"
1204
- "MISSING_ALPN\0"
1205
1204
  "MISSING_EXTENSION\0"
1206
1205
  "MISSING_KEY_SHARE\0"
1207
1206
  "MISSING_RSA_CERTIFICATE\0"
@@ -1213,6 +1212,7 @@ const char kOpenSSLReasonStringData[] =
1213
1212
  "NEGOTIATED_BOTH_NPN_AND_ALPN\0"
1214
1213
  "NEGOTIATED_TB_WITHOUT_EMS_OR_RI\0"
1215
1214
  "NESTED_GROUP\0"
1215
+ "NO_APPLICATION_PROTOCOL\0"
1216
1216
  "NO_CERTIFICATES_RETURNED\0"
1217
1217
  "NO_CERTIFICATE_ASSIGNED\0"
1218
1218
  "NO_CERTIFICATE_SET\0"