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.
- checksums.yaml +4 -4
- data/Makefile +65 -37
- data/include/grpc/grpc.h +15 -1
- data/include/grpc/impl/codegen/port_platform.h +2 -0
- data/src/core/ext/filters/client_channel/client_channel.cc +327 -305
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
- data/src/core/ext/filters/client_channel/config_selector.h +8 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -4
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
- data/src/core/ext/filters/client_channel/lb_policy.cc +3 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +7 -22
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
- data/src/core/ext/filters/client_channel/resolver.cc +3 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +5 -9
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +18 -3
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +295 -91
- data/src/core/ext/filters/client_channel/server_address.cc +3 -0
- data/src/core/ext/filters/client_channel/subchannel.cc +69 -146
- data/src/core/ext/filters/client_channel/subchannel.h +63 -95
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +495 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +3 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -2
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +457 -170
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +39 -7
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +5 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +44 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +6 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +13 -9
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +13 -7
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +21 -20
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/xds/xds_api.cc +1591 -279
- data/src/core/ext/xds/xds_api.h +279 -39
- data/src/core/ext/xds/xds_bootstrap.cc +21 -5
- data/src/core/ext/xds/xds_bootstrap.h +5 -1
- data/src/core/ext/xds/xds_client.cc +168 -23
- data/src/core/ext/xds/xds_client.h +26 -0
- data/src/core/ext/xds/xds_client_stats.h +2 -2
- data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
- data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
- data/src/core/ext/xds/xds_http_filters.cc +114 -0
- data/src/core/ext/xds/xds_http_filters.h +130 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +391 -126
- data/src/core/lib/channel/channel_stack.cc +12 -0
- data/src/core/lib/channel/channel_stack.h +7 -0
- data/src/core/lib/channel/channelz.cc +92 -4
- data/src/core/lib/channel/channelz.h +30 -1
- data/src/core/lib/channel/channelz_registry.cc +14 -0
- data/src/core/lib/channel/handshaker.cc +0 -39
- data/src/core/lib/channel/handshaker.h +0 -17
- data/src/core/lib/channel/status_util.cc +12 -2
- data/src/core/lib/channel/status_util.h +5 -0
- data/src/core/lib/gpr/sync_abseil.cc +3 -6
- data/src/core/lib/gpr/sync_windows.cc +2 -2
- data/src/core/lib/gprpp/atomic.h +3 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
- data/src/core/lib/gprpp/thd.h +1 -1
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/cfstream_handle.cc +2 -2
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -3
- data/src/core/lib/iomgr/ev_posix.cc +3 -3
- data/src/core/lib/iomgr/exec_ctx.cc +6 -2
- data/src/core/lib/iomgr/resource_quota.cc +1 -1
- data/src/core/lib/iomgr/sockaddr_utils.cc +120 -0
- data/src/core/lib/iomgr/sockaddr_utils.h +25 -0
- data/src/core/lib/iomgr/tcp_posix.cc +1 -4
- data/src/core/lib/iomgr/tcp_uv.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +2 -2
- data/src/core/lib/iomgr/timer_manager.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
- data/src/core/lib/{security/authorization → matchers}/matchers.cc +8 -8
- data/src/core/lib/{security/authorization → matchers}/matchers.h +14 -12
- data/src/core/lib/security/security_connector/ssl_utils.cc +6 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +6 -0
- data/src/core/lib/security/transport/security_handshaker.cc +32 -2
- data/src/core/lib/slice/slice_intern.cc +6 -7
- data/src/core/lib/surface/channel.h +3 -3
- data/src/core/lib/surface/completion_queue.cc +1 -1
- data/src/core/lib/surface/lame_client.cc +38 -19
- data/src/core/lib/surface/lame_client.h +4 -3
- data/src/core/lib/surface/server.cc +40 -33
- data/src/core/lib/surface/server.h +74 -15
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/metadata_batch.cc +27 -0
- data/src/core/lib/transport/metadata_batch.h +14 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
- data/src/core/tsi/fake_transport_security.cc +10 -1
- data/src/ruby/ext/grpc/extconf.rb +9 -1
- data/src/ruby/ext/grpc/rb_channel.c +10 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
- data/src/ruby/ext/grpc/rb_server.c +13 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/call_spec.rb +1 -1
- data/src/ruby/spec/channel_credentials_spec.rb +32 -0
- data/src/ruby/spec/channel_spec.rb +17 -6
- data/src/ruby/spec/client_auth_spec.rb +27 -1
- data/src/ruby/spec/errors_spec.rb +1 -1
- data/src/ruby/spec/generic/active_call_spec.rb +2 -2
- data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
- data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
- data/src/ruby/spec/server_credentials_spec.rb +25 -0
- data/src/ruby/spec/server_spec.rb +22 -0
- data/third_party/boringssl-with-bazel/err_data.c +255 -255
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +21 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +7 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +22 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +3 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +4 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +25 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -1
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +33 -19
- data/third_party/xxhash/xxhash.h +5443 -0
- metadata +93 -49
- data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
- data/src/core/lib/security/authorization/authorization_engine.h +0 -84
- data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
- data/src/core/lib/security/authorization/evaluate_args.h +0 -59
- data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -99
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
- data/third_party/upb/upb/json_decode.c +0 -1443
- data/third_party/upb/upb/json_decode.h +0 -23
- data/third_party/upb/upb/json_encode.c +0 -713
- data/third_party/upb/upb/json_encode.h +0 -36
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.
|
4
|
+
version: 1.37.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: 2021-
|
11
|
+
date: 2021-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.15'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '3.
|
26
|
+
version: '3.15'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: googleapis-common-protos-types
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -312,6 +312,8 @@ files:
|
|
312
312
|
- src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
|
313
313
|
- src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
|
314
314
|
- src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
|
315
|
+
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
|
316
|
+
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h
|
315
317
|
- src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
|
316
318
|
- src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
|
317
319
|
- src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
|
@@ -373,6 +375,10 @@ files:
|
|
373
375
|
- src/core/ext/filters/client_idle/client_idle_filter.cc
|
374
376
|
- src/core/ext/filters/deadline/deadline_filter.cc
|
375
377
|
- src/core/ext/filters/deadline/deadline_filter.h
|
378
|
+
- src/core/ext/filters/fault_injection/fault_injection_filter.cc
|
379
|
+
- src/core/ext/filters/fault_injection/fault_injection_filter.h
|
380
|
+
- src/core/ext/filters/fault_injection/service_config_parser.cc
|
381
|
+
- src/core/ext/filters/fault_injection/service_config_parser.h
|
376
382
|
- src/core/ext/filters/http/client/http_client_filter.cc
|
377
383
|
- src/core/ext/filters/http/client/http_client_filter.h
|
378
384
|
- src/core/ext/filters/http/client_authority_filter.cc
|
@@ -453,12 +459,16 @@ files:
|
|
453
459
|
- src/core/ext/transport/inproc/inproc_plugin.cc
|
454
460
|
- src/core/ext/transport/inproc/inproc_transport.cc
|
455
461
|
- src/core/ext/transport/inproc/inproc_transport.h
|
462
|
+
- src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c
|
463
|
+
- src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h
|
456
464
|
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
|
457
465
|
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h
|
458
466
|
- src/core/ext/upb-generated/envoy/annotations/resource.upb.c
|
459
467
|
- src/core/ext/upb-generated/envoy/annotations/resource.upb.h
|
460
468
|
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
|
461
469
|
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h
|
470
|
+
- src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c
|
471
|
+
- src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h
|
462
472
|
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
|
463
473
|
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h
|
464
474
|
- src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
|
@@ -507,6 +517,10 @@ files:
|
|
507
517
|
- src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h
|
508
518
|
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
|
509
519
|
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h
|
520
|
+
- src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c
|
521
|
+
- src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h
|
522
|
+
- src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c
|
523
|
+
- src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h
|
510
524
|
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
|
511
525
|
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h
|
512
526
|
- src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
|
@@ -519,6 +533,12 @@ files:
|
|
519
533
|
- src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h
|
520
534
|
- src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c
|
521
535
|
- src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h
|
536
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c
|
537
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h
|
538
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c
|
539
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h
|
540
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c
|
541
|
+
- src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h
|
522
542
|
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
|
523
543
|
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h
|
524
544
|
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
|
@@ -545,8 +565,12 @@ files:
|
|
545
565
|
- src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h
|
546
566
|
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
|
547
567
|
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h
|
568
|
+
- src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c
|
569
|
+
- src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h
|
548
570
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
|
549
571
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h
|
572
|
+
- src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c
|
573
|
+
- src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h
|
550
574
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
|
551
575
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h
|
552
576
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
|
@@ -555,6 +579,8 @@ files:
|
|
555
579
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h
|
556
580
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
|
557
581
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h
|
582
|
+
- src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c
|
583
|
+
- src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h
|
558
584
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
|
559
585
|
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h
|
560
586
|
- src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
|
@@ -615,6 +641,8 @@ files:
|
|
615
641
|
- src/core/ext/upb-generated/udpa/annotations/versioning.upb.h
|
616
642
|
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
|
617
643
|
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h
|
644
|
+
- src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c
|
645
|
+
- src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h
|
618
646
|
- src/core/ext/upb-generated/validate/validate.upb.c
|
619
647
|
- src/core/ext/upb-generated/validate/validate.upb.h
|
620
648
|
- src/core/ext/upb-generated/xds/core/v3/authority.upb.c
|
@@ -629,12 +657,16 @@ files:
|
|
629
657
|
- src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h
|
630
658
|
- src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c
|
631
659
|
- src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h
|
660
|
+
- src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c
|
661
|
+
- src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h
|
632
662
|
- src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c
|
633
663
|
- src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h
|
634
664
|
- src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c
|
635
665
|
- src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h
|
636
666
|
- src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c
|
637
667
|
- src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h
|
668
|
+
- src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c
|
669
|
+
- src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h
|
638
670
|
- src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c
|
639
671
|
- src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h
|
640
672
|
- src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c
|
@@ -683,6 +715,10 @@ files:
|
|
683
715
|
- src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h
|
684
716
|
- src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c
|
685
717
|
- src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h
|
718
|
+
- src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c
|
719
|
+
- src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h
|
720
|
+
- src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c
|
721
|
+
- src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h
|
686
722
|
- src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c
|
687
723
|
- src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h
|
688
724
|
- src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c
|
@@ -693,6 +729,12 @@ files:
|
|
693
729
|
- src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h
|
694
730
|
- src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c
|
695
731
|
- src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h
|
732
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c
|
733
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h
|
734
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c
|
735
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h
|
736
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c
|
737
|
+
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h
|
696
738
|
- src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c
|
697
739
|
- src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h
|
698
740
|
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c
|
@@ -719,8 +761,12 @@ files:
|
|
719
761
|
- src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h
|
720
762
|
- src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c
|
721
763
|
- src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h
|
764
|
+
- src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c
|
765
|
+
- src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h
|
722
766
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c
|
723
767
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h
|
768
|
+
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c
|
769
|
+
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h
|
724
770
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c
|
725
771
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h
|
726
772
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c
|
@@ -729,6 +775,8 @@ files:
|
|
729
775
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h
|
730
776
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c
|
731
777
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h
|
778
|
+
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c
|
779
|
+
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h
|
732
780
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c
|
733
781
|
- src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h
|
734
782
|
- src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c
|
@@ -773,6 +821,8 @@ files:
|
|
773
821
|
- src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h
|
774
822
|
- src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c
|
775
823
|
- src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h
|
824
|
+
- src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c
|
825
|
+
- src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h
|
776
826
|
- src/core/ext/upbdefs-generated/validate/validate.upbdefs.c
|
777
827
|
- src/core/ext/upbdefs-generated/validate/validate.upbdefs.h
|
778
828
|
- src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c
|
@@ -805,6 +855,10 @@ files:
|
|
805
855
|
- src/core/ext/xds/xds_client.h
|
806
856
|
- src/core/ext/xds/xds_client_stats.cc
|
807
857
|
- src/core/ext/xds/xds_client_stats.h
|
858
|
+
- src/core/ext/xds/xds_http_fault_filter.cc
|
859
|
+
- src/core/ext/xds/xds_http_fault_filter.h
|
860
|
+
- src/core/ext/xds/xds_http_filters.cc
|
861
|
+
- src/core/ext/xds/xds_http_filters.h
|
808
862
|
- src/core/ext/xds/xds_server_config_fetcher.cc
|
809
863
|
- src/core/lib/avl/avl.cc
|
810
864
|
- src/core/lib/avl/avl.h
|
@@ -1116,21 +1170,11 @@ files:
|
|
1116
1170
|
- src/core/lib/json/json_util.cc
|
1117
1171
|
- src/core/lib/json/json_util.h
|
1118
1172
|
- src/core/lib/json/json_writer.cc
|
1173
|
+
- src/core/lib/matchers/matchers.cc
|
1174
|
+
- src/core/lib/matchers/matchers.h
|
1119
1175
|
- src/core/lib/profiling/basic_timers.cc
|
1120
1176
|
- src/core/lib/profiling/stap_timers.cc
|
1121
1177
|
- src/core/lib/profiling/timers.h
|
1122
|
-
- src/core/lib/security/authorization/authorization_engine.cc
|
1123
|
-
- src/core/lib/security/authorization/authorization_engine.h
|
1124
|
-
- src/core/lib/security/authorization/evaluate_args.cc
|
1125
|
-
- src/core/lib/security/authorization/evaluate_args.h
|
1126
|
-
- src/core/lib/security/authorization/matchers.cc
|
1127
|
-
- src/core/lib/security/authorization/matchers.h
|
1128
|
-
- src/core/lib/security/authorization/mock_cel/activation.h
|
1129
|
-
- src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h
|
1130
|
-
- src/core/lib/security/authorization/mock_cel/cel_expression.h
|
1131
|
-
- src/core/lib/security/authorization/mock_cel/cel_value.h
|
1132
|
-
- src/core/lib/security/authorization/mock_cel/evaluator_core.h
|
1133
|
-
- src/core/lib/security/authorization/mock_cel/flat_expr_builder.h
|
1134
1178
|
- src/core/lib/security/context/security_context.cc
|
1135
1179
|
- src/core/lib/security/context/security_context.h
|
1136
1180
|
- src/core/lib/security/credentials/alts/alts_credentials.cc
|
@@ -1394,6 +1438,10 @@ files:
|
|
1394
1438
|
- src/ruby/ext/grpc/rb_server.h
|
1395
1439
|
- src/ruby/ext/grpc/rb_server_credentials.c
|
1396
1440
|
- src/ruby/ext/grpc/rb_server_credentials.h
|
1441
|
+
- src/ruby/ext/grpc/rb_xds_channel_credentials.c
|
1442
|
+
- src/ruby/ext/grpc/rb_xds_channel_credentials.h
|
1443
|
+
- src/ruby/ext/grpc/rb_xds_server_credentials.c
|
1444
|
+
- src/ruby/ext/grpc/rb_xds_server_credentials.h
|
1397
1445
|
- src/ruby/lib/grpc.rb
|
1398
1446
|
- src/ruby/lib/grpc/core/status_codes.rb
|
1399
1447
|
- src/ruby/lib/grpc/core/time_consts.rb
|
@@ -1525,7 +1573,6 @@ files:
|
|
1525
1573
|
- third_party/abseil-cpp/absl/base/thread_annotations.h
|
1526
1574
|
- third_party/abseil-cpp/absl/container/fixed_array.h
|
1527
1575
|
- third_party/abseil-cpp/absl/container/flat_hash_map.h
|
1528
|
-
- third_party/abseil-cpp/absl/container/flat_hash_set.h
|
1529
1576
|
- third_party/abseil-cpp/absl/container/inlined_vector.h
|
1530
1577
|
- third_party/abseil-cpp/absl/container/internal/common.h
|
1531
1578
|
- third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
|
@@ -2320,10 +2367,6 @@ files:
|
|
2320
2367
|
- third_party/upb/upb/def.hpp
|
2321
2368
|
- third_party/upb/upb/encode.c
|
2322
2369
|
- third_party/upb/upb/encode.h
|
2323
|
-
- third_party/upb/upb/json_decode.c
|
2324
|
-
- third_party/upb/upb/json_decode.h
|
2325
|
-
- third_party/upb/upb/json_encode.c
|
2326
|
-
- third_party/upb/upb/json_encode.h
|
2327
2370
|
- third_party/upb/upb/msg.c
|
2328
2371
|
- third_party/upb/upb/msg.h
|
2329
2372
|
- third_party/upb/upb/port_def.inc
|
@@ -2338,6 +2381,7 @@ files:
|
|
2338
2381
|
- third_party/upb/upb/upb.h
|
2339
2382
|
- third_party/upb/upb/upb.hpp
|
2340
2383
|
- third_party/upb/upb/upb.int.h
|
2384
|
+
- third_party/xxhash/xxhash.h
|
2341
2385
|
- third_party/zlib/adler32.c
|
2342
2386
|
- third_party/zlib/compress.c
|
2343
2387
|
- third_party/zlib/crc32.c
|
@@ -2381,55 +2425,55 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2381
2425
|
version: 2.4.0
|
2382
2426
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2383
2427
|
requirements:
|
2384
|
-
- - "
|
2428
|
+
- - ">"
|
2385
2429
|
- !ruby/object:Gem::Version
|
2386
|
-
version:
|
2430
|
+
version: 1.3.1
|
2387
2431
|
requirements: []
|
2388
|
-
rubygems_version: 3.2.
|
2432
|
+
rubygems_version: 3.2.15
|
2389
2433
|
signing_key:
|
2390
2434
|
specification_version: 4
|
2391
2435
|
summary: GRPC system in Ruby
|
2392
2436
|
test_files:
|
2393
|
-
- src/ruby/spec/
|
2394
|
-
- src/ruby/spec/debug_message_spec.rb
|
2437
|
+
- src/ruby/spec/call_credentials_spec.rb
|
2395
2438
|
- src/ruby/spec/user_agent_spec.rb
|
2396
|
-
- src/ruby/spec/support/helpers.rb
|
2397
|
-
- src/ruby/spec/support/services.rb
|
2398
|
-
- src/ruby/spec/client_auth_spec.rb
|
2399
|
-
- src/ruby/spec/channel_connection_spec.rb
|
2400
|
-
- src/ruby/spec/errors_spec.rb
|
2401
|
-
- src/ruby/spec/spec_helper.rb
|
2402
2439
|
- src/ruby/spec/error_sanity_spec.rb
|
2440
|
+
- src/ruby/spec/debug_message_spec.rb
|
2403
2441
|
- src/ruby/spec/server_credentials_spec.rb
|
2404
|
-
- src/ruby/spec/testdata/client.
|
2442
|
+
- src/ruby/spec/testdata/client.key
|
2405
2443
|
- src/ruby/spec/testdata/ca.pem
|
2406
2444
|
- src/ruby/spec/testdata/server1.key
|
2407
|
-
- src/ruby/spec/testdata/client.
|
2445
|
+
- src/ruby/spec/testdata/client.pem
|
2408
2446
|
- src/ruby/spec/testdata/README
|
2409
2447
|
- src/ruby/spec/testdata/server1.pem
|
2410
|
-
- src/ruby/spec/
|
2448
|
+
- src/ruby/spec/client_auth_spec.rb
|
2411
2449
|
- src/ruby/spec/google_rpc_status_utils_spec.rb
|
2412
|
-
- src/ruby/spec/
|
2450
|
+
- src/ruby/spec/channel_connection_spec.rb
|
2413
2451
|
- src/ruby/spec/server_spec.rb
|
2414
|
-
- src/ruby/spec/
|
2415
|
-
- src/ruby/spec/
|
2416
|
-
- src/ruby/spec/
|
2417
|
-
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
2452
|
+
- src/ruby/spec/support/services.rb
|
2453
|
+
- src/ruby/spec/support/helpers.rb
|
2454
|
+
- src/ruby/spec/time_consts_spec.rb
|
2418
2455
|
- src/ruby/spec/pb/health/checker_spec.rb
|
2419
2456
|
- src/ruby/spec/pb/codegen/package_option_spec.rb
|
2420
|
-
- src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
|
2421
|
-
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
|
2422
2457
|
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
|
2423
|
-
- src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
|
2424
2458
|
- src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
|
2459
|
+
- src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
|
2460
|
+
- src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
|
2461
|
+
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
|
2425
2462
|
- src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
|
2426
|
-
- src/ruby/spec/
|
2463
|
+
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
2464
|
+
- src/ruby/spec/channel_spec.rb
|
2465
|
+
- src/ruby/spec/channel_credentials_spec.rb
|
2466
|
+
- src/ruby/spec/client_server_spec.rb
|
2467
|
+
- src/ruby/spec/call_spec.rb
|
2468
|
+
- src/ruby/spec/errors_spec.rb
|
2469
|
+
- src/ruby/spec/spec_helper.rb
|
2427
2470
|
- src/ruby/spec/generic/server_interceptors_spec.rb
|
2428
|
-
- src/ruby/spec/generic/rpc_server_spec.rb
|
2429
|
-
- src/ruby/spec/generic/interceptor_registry_spec.rb
|
2430
|
-
- src/ruby/spec/generic/rpc_desc_spec.rb
|
2431
|
-
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
2432
|
-
- src/ruby/spec/generic/client_stub_spec.rb
|
2433
2471
|
- src/ruby/spec/generic/client_interceptors_spec.rb
|
2434
2472
|
- src/ruby/spec/generic/service_spec.rb
|
2473
|
+
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
2474
|
+
- src/ruby/spec/generic/client_stub_spec.rb
|
2475
|
+
- src/ruby/spec/generic/interceptor_registry_spec.rb
|
2476
|
+
- src/ruby/spec/generic/rpc_server_spec.rb
|
2435
2477
|
- src/ruby/spec/generic/active_call_spec.rb
|
2478
|
+
- src/ruby/spec/generic/rpc_desc_spec.rb
|
2479
|
+
- src/ruby/spec/compression_options_spec.rb
|
@@ -1,177 +0,0 @@
|
|
1
|
-
// Copyright 2020 gRPC authors.
|
2
|
-
//
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
// you may not use this file except in compliance with the License.
|
5
|
-
// You may obtain a copy of the License at
|
6
|
-
//
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
//
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
// See the License for the specific language governing permissions and
|
13
|
-
// limitations under the License.
|
14
|
-
|
15
|
-
#include <grpc/support/port_platform.h>
|
16
|
-
|
17
|
-
#include "absl/memory/memory.h"
|
18
|
-
|
19
|
-
#include "src/core/lib/security/authorization/authorization_engine.h"
|
20
|
-
|
21
|
-
namespace grpc_core {
|
22
|
-
|
23
|
-
namespace {
|
24
|
-
|
25
|
-
// Symbols for traversing Envoy Attributes
|
26
|
-
constexpr char kUrlPath[] = "url_path";
|
27
|
-
constexpr char kHost[] = "host";
|
28
|
-
constexpr char kMethod[] = "method";
|
29
|
-
constexpr char kHeaders[] = "headers";
|
30
|
-
constexpr char kSourceAddress[] = "source_address";
|
31
|
-
constexpr char kSourcePort[] = "source_port";
|
32
|
-
constexpr char kDestinationAddress[] = "destination_address";
|
33
|
-
constexpr char kDestinationPort[] = "destination_port";
|
34
|
-
constexpr char kSpiffeId[] = "spiffe_id";
|
35
|
-
constexpr char kCertServerName[] = "cert_server_name";
|
36
|
-
|
37
|
-
} // namespace
|
38
|
-
|
39
|
-
std::unique_ptr<AuthorizationEngine>
|
40
|
-
AuthorizationEngine::CreateAuthorizationEngine(
|
41
|
-
const std::vector<envoy_config_rbac_v3_RBAC*>& rbac_policies) {
|
42
|
-
if (rbac_policies.empty() || rbac_policies.size() > 2) {
|
43
|
-
gpr_log(GPR_ERROR,
|
44
|
-
"Invalid rbac policies vector. Must contain either one or two rbac "
|
45
|
-
"policies.");
|
46
|
-
return nullptr;
|
47
|
-
} else if (rbac_policies.size() == 2 &&
|
48
|
-
(envoy_config_rbac_v3_RBAC_action(rbac_policies[0]) != kDeny ||
|
49
|
-
envoy_config_rbac_v3_RBAC_action(rbac_policies[1]) != kAllow)) {
|
50
|
-
gpr_log(GPR_ERROR,
|
51
|
-
"Invalid rbac policies vector. Must contain one deny \
|
52
|
-
policy and one allow policy, in that order.");
|
53
|
-
return nullptr;
|
54
|
-
} else {
|
55
|
-
return absl::make_unique<AuthorizationEngine>(rbac_policies);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
AuthorizationEngine::AuthorizationEngine(
|
60
|
-
const std::vector<envoy_config_rbac_v3_RBAC*>& rbac_policies) {
|
61
|
-
for (const auto& rbac_policy : rbac_policies) {
|
62
|
-
// Extract array of policies and store their condition fields in either
|
63
|
-
// allow_if_matched_ or deny_if_matched_, depending on the policy action.
|
64
|
-
upb::Arena temp_arena;
|
65
|
-
size_t policy_num = UPB_MAP_BEGIN;
|
66
|
-
const envoy_config_rbac_v3_RBAC_PoliciesEntry* policy_entry;
|
67
|
-
while ((policy_entry = envoy_config_rbac_v3_RBAC_policies_next(
|
68
|
-
rbac_policy, &policy_num)) != nullptr) {
|
69
|
-
const upb_strview policy_name_strview =
|
70
|
-
envoy_config_rbac_v3_RBAC_PoliciesEntry_key(policy_entry);
|
71
|
-
const std::string policy_name(policy_name_strview.data,
|
72
|
-
policy_name_strview.size);
|
73
|
-
const envoy_config_rbac_v3_Policy* policy =
|
74
|
-
envoy_config_rbac_v3_RBAC_PoliciesEntry_value(policy_entry);
|
75
|
-
const google_api_expr_v1alpha1_Expr* condition =
|
76
|
-
envoy_config_rbac_v3_Policy_condition(policy);
|
77
|
-
// Parse condition to make a pointer tied to the lifetime of arena_.
|
78
|
-
size_t serial_len;
|
79
|
-
const char* serialized = google_api_expr_v1alpha1_Expr_serialize(
|
80
|
-
condition, temp_arena.ptr(), &serial_len);
|
81
|
-
const google_api_expr_v1alpha1_Expr* parsed_condition =
|
82
|
-
google_api_expr_v1alpha1_Expr_parse(serialized, serial_len,
|
83
|
-
arena_.ptr());
|
84
|
-
if (envoy_config_rbac_v3_RBAC_action(rbac_policy) == kAllow) {
|
85
|
-
allow_if_matched_.insert(std::make_pair(policy_name, parsed_condition));
|
86
|
-
} else {
|
87
|
-
deny_if_matched_.insert(std::make_pair(policy_name, parsed_condition));
|
88
|
-
}
|
89
|
-
}
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
std::unique_ptr<mock_cel::Activation> AuthorizationEngine::CreateActivation(
|
94
|
-
const EvaluateArgs& args) {
|
95
|
-
std::unique_ptr<mock_cel::Activation> activation;
|
96
|
-
for (const auto& elem : envoy_attributes_) {
|
97
|
-
if (elem == kUrlPath) {
|
98
|
-
absl::string_view url_path(args.GetPath());
|
99
|
-
if (!url_path.empty()) {
|
100
|
-
activation->InsertValue(kUrlPath,
|
101
|
-
mock_cel::CelValue::CreateStringView(url_path));
|
102
|
-
}
|
103
|
-
} else if (elem == kHost) {
|
104
|
-
absl::string_view host(args.GetHost());
|
105
|
-
if (!host.empty()) {
|
106
|
-
activation->InsertValue(kHost,
|
107
|
-
mock_cel::CelValue::CreateStringView(host));
|
108
|
-
}
|
109
|
-
} else if (elem == kMethod) {
|
110
|
-
absl::string_view method(args.GetMethod());
|
111
|
-
if (!method.empty()) {
|
112
|
-
activation->InsertValue(kMethod,
|
113
|
-
mock_cel::CelValue::CreateStringView(method));
|
114
|
-
}
|
115
|
-
} else if (elem == kHeaders) {
|
116
|
-
std::multimap<absl::string_view, absl::string_view> headers =
|
117
|
-
args.GetHeaders();
|
118
|
-
std::vector<std::pair<mock_cel::CelValue, mock_cel::CelValue>>
|
119
|
-
header_items;
|
120
|
-
for (const auto& header_key : header_keys_) {
|
121
|
-
auto header_item = headers.find(header_key);
|
122
|
-
if (header_item != headers.end()) {
|
123
|
-
header_items.push_back(
|
124
|
-
std::pair<mock_cel::CelValue, mock_cel::CelValue>(
|
125
|
-
mock_cel::CelValue::CreateStringView(header_key),
|
126
|
-
mock_cel::CelValue::CreateStringView(header_item->second)));
|
127
|
-
}
|
128
|
-
}
|
129
|
-
headers_ = mock_cel::ContainerBackedMapImpl::Create(
|
130
|
-
absl::Span<std::pair<mock_cel::CelValue, mock_cel::CelValue>>(
|
131
|
-
header_items));
|
132
|
-
activation->InsertValue(kHeaders,
|
133
|
-
mock_cel::CelValue::CreateMap(headers_.get()));
|
134
|
-
} else if (elem == kSourceAddress) {
|
135
|
-
absl::string_view source_address(args.GetPeerAddress());
|
136
|
-
if (!source_address.empty()) {
|
137
|
-
activation->InsertValue(
|
138
|
-
kSourceAddress,
|
139
|
-
mock_cel::CelValue::CreateStringView(source_address));
|
140
|
-
}
|
141
|
-
} else if (elem == kSourcePort) {
|
142
|
-
activation->InsertValue(
|
143
|
-
kSourcePort, mock_cel::CelValue::CreateInt64(args.GetPeerPort()));
|
144
|
-
} else if (elem == kDestinationAddress) {
|
145
|
-
absl::string_view destination_address(args.GetLocalAddress());
|
146
|
-
if (!destination_address.empty()) {
|
147
|
-
activation->InsertValue(
|
148
|
-
kDestinationAddress,
|
149
|
-
mock_cel::CelValue::CreateStringView(destination_address));
|
150
|
-
}
|
151
|
-
} else if (elem == kDestinationPort) {
|
152
|
-
activation->InsertValue(kDestinationPort, mock_cel::CelValue::CreateInt64(
|
153
|
-
args.GetLocalPort()));
|
154
|
-
} else if (elem == kSpiffeId) {
|
155
|
-
absl::string_view spiffe_id(args.GetSpiffeId());
|
156
|
-
if (!spiffe_id.empty()) {
|
157
|
-
activation->InsertValue(
|
158
|
-
kSpiffeId, mock_cel::CelValue::CreateStringView(spiffe_id));
|
159
|
-
}
|
160
|
-
} else if (elem == kCertServerName) {
|
161
|
-
absl::string_view cert_server_name(args.GetCertServerName());
|
162
|
-
if (!cert_server_name.empty()) {
|
163
|
-
activation->InsertValue(
|
164
|
-
kCertServerName,
|
165
|
-
mock_cel::CelValue::CreateStringView(cert_server_name));
|
166
|
-
}
|
167
|
-
} else {
|
168
|
-
gpr_log(GPR_ERROR,
|
169
|
-
"Error: Authorization engine does not support evaluating "
|
170
|
-
"attribute %s.",
|
171
|
-
elem.c_str());
|
172
|
-
}
|
173
|
-
}
|
174
|
-
return activation;
|
175
|
-
}
|
176
|
-
|
177
|
-
} // namespace grpc_core
|