diff --git a/BUILD b/BUILD
index 90649cab771..c569482d853 100644
--- a/BUILD
+++ b/BUILD
@@ -325,7 +325,6 @@ grpc_cc_library(
public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS,
standalone = True,
deps = [
- "grpc_authorization_engine",
"grpc_common",
"grpc_lb_policy_cds_secure",
"grpc_lb_policy_eds_secure",
@@ -1865,9 +1864,6 @@ grpc_cc_library(
"src/core/lib/security/authorization/mock_cel/activation.h",
"src/core/lib/security/authorization/mock_cel/cel_value.h",
],
- external_deps = [
- "absl/container:flat_hash_set",
- ],
language = "c++",
deps = [
"envoy_ads_upb",
diff --git a/BUILD.gn b/BUILD.gn
index dff49edae1a..39b3de12650 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -788,12 +788,6 @@ config("grpc_config") {
"src/core/lib/json/json.h",
"src/core/lib/json/json_reader.cc",
"src/core/lib/json/json_writer.cc",
- "src/core/lib/security/authorization/authorization_engine.cc",
- "src/core/lib/security/authorization/authorization_engine.h",
- "src/core/lib/security/authorization/evaluate_args.cc",
- "src/core/lib/security/authorization/evaluate_args.h",
- "src/core/lib/security/authorization/mock_cel/activation.h",
- "src/core/lib/security/authorization/mock_cel/cel_value.h",
"src/core/lib/security/context/security_context.cc",
"src/core/lib/security/context/security_context.h",
"src/core/lib/security/credentials/alts/alts_credentials.cc",
@@ -1009,7 +1003,6 @@ config("grpc_config") {
":absl/strings:strings",
":absl/status:status",
":absl/container:inlined_vector",
- ":absl/container:flat_hash_set",
"//third_party/cares",
":address_sorting",
]
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5018904956e..6d679bf6092 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,19 +103,14 @@ set_property(CACHE gRPC_ABSL_PROVIDER PROPERTY STRINGS "module" "package")
set(gRPC_ABSL_USED_TARGETS
absl_algorithm
- absl_algorithm_container
absl_atomic_hook
absl_bad_optional_access
- absl_bad_variant_access
absl_base
absl_base_internal
absl_bits
- absl_city
absl_civil_time
absl_compressed_tuple
absl_config
- absl_container_common
- absl_container_memory
absl_cord
absl_core_headers
absl_debugging_internal
@@ -123,27 +118,17 @@ set(gRPC_ABSL_USED_TARGETS
absl_dynamic_annotations
absl_endian
absl_errno_saver
- absl_exponential_biased
absl_fixed_array
- absl_flat_hash_set
absl_function_ref
absl_graphcycles_internal
- absl_hash
- absl_hash_function_defaults
- absl_hash_policy_traits
- absl_hashtable_debug_hooks
- absl_hashtablez_sampler
- absl_have_sse
absl_inlined_vector
absl_inlined_vector_internal
absl_int128
absl_kernel_timeout_internal
- absl_layout
absl_log_severity
absl_malloc_internal
absl_memory
absl_optional
- absl_raw_hash_set
absl_raw_logging_internal
absl_span
absl_spinlock_wait
@@ -160,7 +145,6 @@ set(gRPC_ABSL_USED_TARGETS
absl_time_zone
absl_type_traits
absl_utility
- absl_variant
absl_meta
)
@@ -811,7 +795,6 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx duplicate_header_bad_client_test)
add_dependencies(buildtests_cxx end2end_test)
add_dependencies(buildtests_cxx error_details_test)
- add_dependencies(buildtests_cxx evaluate_args_test)
add_dependencies(buildtests_cxx eventmanager_libuv_test)
add_dependencies(buildtests_cxx exception_test)
add_dependencies(buildtests_cxx filter_end2end_test)
@@ -1721,8 +1704,6 @@ add_library(grpc
src/core/lib/iomgr/work_serializer.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_writer.cc
- src/core/lib/security/authorization/authorization_engine.cc
- src/core/lib/security/authorization/evaluate_args.cc
src/core/lib/security/context/security_context.cc
src/core/lib/security/credentials/alts/alts_credentials.cc
src/core/lib/security/credentials/alts/check_gcp_environment.cc
@@ -1879,7 +1860,6 @@ target_link_libraries(grpc
absl::strings
absl::status
absl::inlined_vector
- absl::flat_hash_set
)
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
target_link_libraries(grpc "-framework CoreFoundation")
@@ -1966,7 +1946,6 @@ if(gRPC_BUILD_TESTS)
add_library(grpc_test_util
test/core/util/cmdline.cc
test/core/util/debugger_macros.cc
- test/core/util/eval_args_mock_endpoint.cc
test/core/util/fuzzer_util.cc
test/core/util/grpc_profiler.cc
test/core/util/histogram.cc
@@ -2033,7 +2012,6 @@ if(gRPC_BUILD_TESTS)
add_library(grpc_test_util_unsecure
test/core/util/cmdline.cc
test/core/util/debugger_macros.cc
- test/core/util/eval_args_mock_endpoint.cc
test/core/util/fuzzer_util.cc
test/core/util/grpc_profiler.cc
test/core/util/histogram.cc
@@ -8432,6 +8410,8 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(authorization_engine_test
+ src/core/lib/security/authorization/authorization_engine.cc
+ src/core/lib/security/authorization/evaluate_args.cc
test/core/security/authorization_engine_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
@@ -10767,45 +10747,6 @@ target_link_libraries(error_details_test
)
-endif()
-if(gRPC_BUILD_TESTS)
-
-add_executable(evaluate_args_test
- test/core/security/evaluate_args_test.cc
- third_party/googletest/googletest/src/gtest-all.cc
- third_party/googletest/googlemock/src/gmock-all.cc
-)
-
-target_include_directories(evaluate_args_test
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/include
- ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
- ${_gRPC_RE2_INCLUDE_DIR}
- ${_gRPC_SSL_INCLUDE_DIR}
- ${_gRPC_UPB_GENERATED_DIR}
- ${_gRPC_UPB_GRPC_GENERATED_DIR}
- ${_gRPC_UPB_INCLUDE_DIR}
- ${_gRPC_ZLIB_INCLUDE_DIR}
- third_party/googletest/googletest/include
- third_party/googletest/googletest
- third_party/googletest/googlemock/include
- third_party/googletest/googlemock
- ${_gRPC_PROTO_GENS_DIR}
-)
-
-target_link_libraries(evaluate_args_test
- ${_gRPC_PROTOBUF_LIBRARIES}
- ${_gRPC_ALLTARGETS_LIBRARIES}
- grpc_test_util
- grpc
- gpr
- address_sorting
- upb
- ${_gRPC_GFLAGS_LIBRARIES}
-)
-
-
endif()
if(gRPC_BUILD_TESTS)
@@ -14743,7 +14684,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
test/core/util/cmdline.cc
test/core/util/debugger_macros.cc
- test/core/util/eval_args_mock_endpoint.cc
test/core/util/fuzzer_util.cc
test/core/util/grpc_profiler.cc
test/core/util/histogram.cc
@@ -15685,7 +15625,7 @@ generate_pkgconfig(
"high performance general RPC framework"
"${gRPC_CORE_VERSION}"
"gpr openssl"
- "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_bad_variant_access -labsl_city -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
+ "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc.pc")
@@ -15705,7 +15645,7 @@ generate_pkgconfig(
"C++ wrapper for gRPC"
"${gRPC_CPP_VERSION}"
"grpc"
- "-lgrpc++ -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_bad_variant_access -labsl_city -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
+ "-lgrpc++ -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc++.pc")
diff --git a/Makefile b/Makefile
index 08bf9d470d1..96979e9ece2 100644
--- a/Makefile
+++ b/Makefile
@@ -2312,8 +2312,6 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/work_serializer.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_writer.cc \
- src/core/lib/security/authorization/authorization_engine.cc \
- src/core/lib/security/authorization/evaluate_args.cc \
src/core/lib/security/context/security_context.cc \
src/core/lib/security/credentials/alts/alts_credentials.cc \
src/core/lib/security/credentials/alts/check_gcp_environment.cc \
@@ -4432,7 +4430,6 @@ endif
LIBGRPC_ABSEIL_SRC = \
third_party/abseil-cpp/absl/base/dynamic_annotations.cc \
third_party/abseil-cpp/absl/base/internal/cycleclock.cc \
- third_party/abseil-cpp/absl/base/internal/exponential_biased.cc \
third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \
third_party/abseil-cpp/absl/base/internal/raw_logging.cc \
third_party/abseil-cpp/absl/base/internal/spinlock.cc \
@@ -4442,17 +4439,12 @@ LIBGRPC_ABSEIL_SRC = \
third_party/abseil-cpp/absl/base/internal/throw_delegate.cc \
third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc \
third_party/abseil-cpp/absl/base/log_severity.cc \
- third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc \
- third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc \
- third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc \
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
- third_party/abseil-cpp/absl/hash/internal/city.cc \
- third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/numeric/int128.cc \
third_party/abseil-cpp/absl/status/status.cc \
third_party/abseil-cpp/absl/status/status_payload_printer.cc \
@@ -4503,7 +4495,6 @@ LIBGRPC_ABSEIL_SRC = \
third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc \
third_party/abseil-cpp/absl/time/time.cc \
third_party/abseil-cpp/absl/types/bad_optional_access.cc \
- third_party/abseil-cpp/absl/types/bad_variant_access.cc \
LIBGRPC_ABSEIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_ABSEIL_SRC))))
@@ -4778,8 +4769,6 @@ src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c: $(OPENSSL_DEP)
src/core/ext/xds/xds_channel_secure.cc: $(OPENSSL_DEP)
src/core/lib/http/httpcli_security_connector.cc: $(OPENSSL_DEP)
-src/core/lib/security/authorization/authorization_engine.cc: $(OPENSSL_DEP)
-src/core/lib/security/authorization/evaluate_args.cc: $(OPENSSL_DEP)
src/core/lib/security/context/security_context.cc: $(OPENSSL_DEP)
src/core/lib/security/credentials/alts/alts_credentials.cc: $(OPENSSL_DEP)
src/core/lib/security/credentials/alts/check_gcp_environment.cc: $(OPENSSL_DEP)
diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml
index f69c85f697e..7228789cb16 100644
--- a/build_autogenerated.yaml
+++ b/build_autogenerated.yaml
@@ -651,10 +651,6 @@ libs:
- src/core/lib/iomgr/wakeup_fd_posix.h
- src/core/lib/iomgr/work_serializer.h
- src/core/lib/json/json.h
- - src/core/lib/security/authorization/authorization_engine.h
- - src/core/lib/security/authorization/evaluate_args.h
- - src/core/lib/security/authorization/mock_cel/activation.h
- - src/core/lib/security/authorization/mock_cel/cel_value.h
- src/core/lib/security/context/security_context.h
- src/core/lib/security/credentials/alts/alts_credentials.h
- src/core/lib/security/credentials/alts/check_gcp_environment.h
@@ -1063,8 +1059,6 @@ libs:
- src/core/lib/iomgr/work_serializer.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_writer.cc
- - src/core/lib/security/authorization/authorization_engine.cc
- - src/core/lib/security/authorization/evaluate_args.cc
- src/core/lib/security/context/security_context.cc
- src/core/lib/security/credentials/alts/alts_credentials.cc
- src/core/lib/security/credentials/alts/check_gcp_environment.cc
@@ -1183,7 +1177,6 @@ libs:
- absl/strings:strings
- absl/status:status
- absl/container:inlined_vector
- - absl/container:flat_hash_set
baselib: true
deps_linkage: static
dll: true
@@ -1210,7 +1203,6 @@ libs:
headers:
- test/core/util/cmdline.h
- test/core/util/debugger_macros.h
- - test/core/util/eval_args_mock_endpoint.h
- test/core/util/fuzzer_util.h
- test/core/util/grpc_profiler.h
- test/core/util/histogram.h
@@ -1230,7 +1222,6 @@ libs:
src:
- test/core/util/cmdline.cc
- test/core/util/debugger_macros.cc
- - test/core/util/eval_args_mock_endpoint.cc
- test/core/util/fuzzer_util.cc
- test/core/util/grpc_profiler.cc
- test/core/util/histogram.cc
@@ -1261,7 +1252,6 @@ libs:
headers:
- test/core/util/cmdline.h
- test/core/util/debugger_macros.h
- - test/core/util/eval_args_mock_endpoint.h
- test/core/util/fuzzer_util.h
- test/core/util/grpc_profiler.h
- test/core/util/histogram.h
@@ -1281,7 +1271,6 @@ libs:
src:
- test/core/util/cmdline.cc
- test/core/util/debugger_macros.cc
- - test/core/util/eval_args_mock_endpoint.cc
- test/core/util/fuzzer_util.cc
- test/core/util/grpc_profiler.cc
- test/core/util/histogram.cc
@@ -4780,8 +4769,14 @@ targets:
gtest: true
build: test
language: c++
- headers: []
+ headers:
+ - src/core/lib/security/authorization/authorization_engine.h
+ - src/core/lib/security/authorization/evaluate_args.h
+ - src/core/lib/security/authorization/mock_cel/activation.h
+ - src/core/lib/security/authorization/mock_cel/cel_value.h
src:
+ - src/core/lib/security/authorization/authorization_engine.cc
+ - src/core/lib/security/authorization/evaluate_args.cc
- test/core/security/authorization_engine_test.cc
deps:
- grpc_test_util
@@ -5820,19 +5815,6 @@ targets:
- gpr
- address_sorting
- upb
-- name: evaluate_args_test
- gtest: true
- build: test
- language: c++
- headers: []
- src:
- - test/core/security/evaluate_args_test.cc
- deps:
- - grpc_test_util
- - grpc
- - gpr
- - address_sorting
- - upb
- name: eventmanager_libuv_test
gtest: true
build: test
@@ -7521,7 +7503,6 @@ targets:
headers:
- test/core/util/cmdline.h
- test/core/util/debugger_macros.h
- - test/core/util/eval_args_mock_endpoint.h
- test/core/util/fuzzer_util.h
- test/core/util/grpc_profiler.h
- test/core/util/histogram.h
@@ -7544,7 +7525,6 @@ targets:
- src/proto/grpc/testing/simple_messages.proto
- test/core/util/cmdline.cc
- test/core/util/debugger_macros.cc
- - test/core/util/eval_args_mock_endpoint.cc
- test/core/util/fuzzer_util.cc
- test/core/util/grpc_profiler.cc
- test/core/util/histogram.cc
diff --git a/config.m4 b/config.m4
index 68098a6eddf..8b1a28664da 100644
--- a/config.m4
+++ b/config.m4
@@ -392,8 +392,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/json/json_writer.cc \
src/core/lib/profiling/basic_timers.cc \
src/core/lib/profiling/stap_timers.cc \
- src/core/lib/security/authorization/authorization_engine.cc \
- src/core/lib/security/authorization/evaluate_args.cc \
src/core/lib/security/context/security_context.cc \
src/core/lib/security/credentials/alts/alts_credentials.cc \
src/core/lib/security/credentials/alts/check_gcp_environment.cc \
@@ -516,7 +514,6 @@ if test "$PHP_GRPC" != "no"; then
src/php/ext/grpc/timeval.c \
third_party/abseil-cpp/absl/base/dynamic_annotations.cc \
third_party/abseil-cpp/absl/base/internal/cycleclock.cc \
- third_party/abseil-cpp/absl/base/internal/exponential_biased.cc \
third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \
third_party/abseil-cpp/absl/base/internal/raw_logging.cc \
third_party/abseil-cpp/absl/base/internal/spinlock.cc \
@@ -526,17 +523,12 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/base/internal/throw_delegate.cc \
third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc \
third_party/abseil-cpp/absl/base/log_severity.cc \
- third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc \
- third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc \
- third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc \
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
- third_party/abseil-cpp/absl/hash/internal/city.cc \
- third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/numeric/int128.cc \
third_party/abseil-cpp/absl/status/status.cc \
third_party/abseil-cpp/absl/status/status_payload_printer.cc \
@@ -587,7 +579,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc \
third_party/abseil-cpp/absl/time/time.cc \
third_party/abseil-cpp/absl/types/bad_optional_access.cc \
- third_party/abseil-cpp/absl/types/bad_variant_access.cc \
third_party/address_sorting/address_sorting.c \
third_party/address_sorting/address_sorting_posix.c \
third_party/address_sorting/address_sorting_windows.c \
@@ -973,7 +964,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/poller)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/profiling)
- PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security/authorization)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security/context)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security/credentials)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security/credentials/alts)
@@ -1009,10 +999,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/base/internal)
- PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/container/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/debugging)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/debugging/internal)
- PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/hash/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/numeric)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/status)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings)
diff --git a/config.w32 b/config.w32
index 44abe47a3f1..76df40bc91c 100644
--- a/config.w32
+++ b/config.w32
@@ -360,8 +360,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\json\\json_writer.cc " +
"src\\core\\lib\\profiling\\basic_timers.cc " +
"src\\core\\lib\\profiling\\stap_timers.cc " +
- "src\\core\\lib\\security\\authorization\\authorization_engine.cc " +
- "src\\core\\lib\\security\\authorization\\evaluate_args.cc " +
"src\\core\\lib\\security\\context\\security_context.cc " +
"src\\core\\lib\\security\\credentials\\alts\\alts_credentials.cc " +
"src\\core\\lib\\security\\credentials\\alts\\check_gcp_environment.cc " +
@@ -484,7 +482,6 @@ if (PHP_GRPC != "no") {
"src\\php\\ext\\grpc\\timeval.c " +
"third_party\\abseil-cpp\\absl\\base\\dynamic_annotations.cc " +
"third_party\\abseil-cpp\\absl\\base\\internal\\cycleclock.cc " +
- "third_party\\abseil-cpp\\absl\\base\\internal\\exponential_biased.cc " +
"third_party\\abseil-cpp\\absl\\base\\internal\\low_level_alloc.cc " +
"third_party\\abseil-cpp\\absl\\base\\internal\\raw_logging.cc " +
"third_party\\abseil-cpp\\absl\\base\\internal\\spinlock.cc " +
@@ -494,17 +491,12 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\base\\internal\\throw_delegate.cc " +
"third_party\\abseil-cpp\\absl\\base\\internal\\unscaledcycleclock.cc " +
"third_party\\abseil-cpp\\absl\\base\\log_severity.cc " +
- "third_party\\abseil-cpp\\absl\\container\\internal\\hashtablez_sampler.cc " +
- "third_party\\abseil-cpp\\absl\\container\\internal\\hashtablez_sampler_force_weak_definition.cc " +
- "third_party\\abseil-cpp\\absl\\container\\internal\\raw_hash_set.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\address_is_readable.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\demangle.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\elf_mem_image.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\vdso_support.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\stacktrace.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\symbolize.cc " +
- "third_party\\abseil-cpp\\absl\\hash\\internal\\city.cc " +
- "third_party\\abseil-cpp\\absl\\hash\\internal\\hash.cc " +
"third_party\\abseil-cpp\\absl\\numeric\\int128.cc " +
"third_party\\abseil-cpp\\absl\\status\\status.cc " +
"third_party\\abseil-cpp\\absl\\status\\status_payload_printer.cc " +
@@ -555,7 +547,6 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\zone_info_source.cc " +
"third_party\\abseil-cpp\\absl\\time\\time.cc " +
"third_party\\abseil-cpp\\absl\\types\\bad_optional_access.cc " +
- "third_party\\abseil-cpp\\absl\\types\\bad_variant_access.cc " +
"third_party\\address_sorting\\address_sorting.c " +
"third_party\\address_sorting\\address_sorting_posix.c " +
"third_party\\address_sorting\\address_sorting_windows.c " +
@@ -1016,7 +1007,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\profiling");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security\\authorization");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security\\context");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security\\credentials");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security\\credentials\\alts");
@@ -1059,12 +1049,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\base");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\base\\internal");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\container");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\container\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\debugging");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\debugging\\internal");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\numeric");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\status");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings");
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index b17c29a7f3a..35f93c587c8 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -201,7 +201,6 @@ Pod::Spec.new do |s|
ss.dependency 'gRPC-Core', version
abseil_version = '1.20200225.0'
ss.dependency 'abseil/base/base', abseil_version
- ss.dependency 'abseil/container/flat_hash_set', abseil_version
ss.dependency 'abseil/container/inlined_vector', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/status/status', abseil_version
@@ -514,10 +513,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/work_serializer.h',
'src/core/lib/json/json.h',
'src/core/lib/profiling/timers.h',
- 'src/core/lib/security/authorization/authorization_engine.h',
- 'src/core/lib/security/authorization/evaluate_args.h',
- 'src/core/lib/security/authorization/mock_cel/activation.h',
- 'src/core/lib/security/authorization/mock_cel/cel_value.h',
'src/core/lib/security/context/security_context.h',
'src/core/lib/security/credentials/alts/alts_credentials.h',
'src/core/lib/security/credentials/alts/check_gcp_environment.h',
@@ -1008,10 +1003,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/work_serializer.h',
'src/core/lib/json/json.h',
'src/core/lib/profiling/timers.h',
- 'src/core/lib/security/authorization/authorization_engine.h',
- 'src/core/lib/security/authorization/evaluate_args.h',
- 'src/core/lib/security/authorization/mock_cel/activation.h',
- 'src/core/lib/security/authorization/mock_cel/cel_value.h',
'src/core/lib/security/context/security_context.h',
'src/core/lib/security/credentials/alts/alts_credentials.h',
'src/core/lib/security/credentials/alts/check_gcp_environment.h',
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index b264b5ec151..b982ab76cb2 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -175,7 +175,6 @@ Pod::Spec.new do |s|
ss.dependency 'BoringSSL-GRPC', '0.0.12'
abseil_version = '1.20200225.0'
ss.dependency 'abseil/base/base', abseil_version
- ss.dependency 'abseil/container/flat_hash_set', abseil_version
ss.dependency 'abseil/container/inlined_vector', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/status/status', abseil_version
@@ -843,12 +842,6 @@ Pod::Spec.new do |s|
'src/core/lib/profiling/basic_timers.cc',
'src/core/lib/profiling/stap_timers.cc',
'src/core/lib/profiling/timers.h',
- 'src/core/lib/security/authorization/authorization_engine.cc',
- 'src/core/lib/security/authorization/authorization_engine.h',
- 'src/core/lib/security/authorization/evaluate_args.cc',
- 'src/core/lib/security/authorization/evaluate_args.h',
- 'src/core/lib/security/authorization/mock_cel/activation.h',
- 'src/core/lib/security/authorization/mock_cel/cel_value.h',
'src/core/lib/security/context/security_context.cc',
'src/core/lib/security/context/security_context.h',
'src/core/lib/security/credentials/alts/alts_credentials.cc',
@@ -1419,10 +1412,6 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/work_serializer.h',
'src/core/lib/json/json.h',
'src/core/lib/profiling/timers.h',
- 'src/core/lib/security/authorization/authorization_engine.h',
- 'src/core/lib/security/authorization/evaluate_args.h',
- 'src/core/lib/security/authorization/mock_cel/activation.h',
- 'src/core/lib/security/authorization/mock_cel/cel_value.h',
'src/core/lib/security/context/security_context.h',
'src/core/lib/security/credentials/alts/alts_credentials.h',
'src/core/lib/security/credentials/alts/check_gcp_environment.h',
@@ -1684,8 +1673,6 @@ Pod::Spec.new do |s|
'test/core/util/cmdline.h',
'test/core/util/debugger_macros.cc',
'test/core/util/debugger_macros.h',
- 'test/core/util/eval_args_mock_endpoint.cc',
- 'test/core/util/eval_args_mock_endpoint.h',
'test/core/util/fuzzer_util.cc',
'test/core/util/fuzzer_util.h',
'test/core/util/grpc_profiler.cc',
diff --git a/grpc.gemspec b/grpc.gemspec
index 4060a7ef09b..c5bd2207a09 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -761,12 +761,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/profiling/basic_timers.cc )
s.files += %w( src/core/lib/profiling/stap_timers.cc )
s.files += %w( src/core/lib/profiling/timers.h )
- s.files += %w( src/core/lib/security/authorization/authorization_engine.cc )
- s.files += %w( src/core/lib/security/authorization/authorization_engine.h )
- s.files += %w( src/core/lib/security/authorization/evaluate_args.cc )
- s.files += %w( src/core/lib/security/authorization/evaluate_args.h )
- s.files += %w( src/core/lib/security/authorization/mock_cel/activation.h )
- s.files += %w( src/core/lib/security/authorization/mock_cel/cel_value.h )
s.files += %w( src/core/lib/security/context/security_context.cc )
s.files += %w( src/core/lib/security/context/security_context.h )
s.files += %w( src/core/lib/security/credentials/alts/alts_credentials.cc )
@@ -972,7 +966,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/tsi/transport_security_grpc.h )
s.files += %w( src/core/tsi/transport_security_interface.h )
s.files += %w( third_party/abseil-cpp/absl/algorithm/algorithm.h )
- s.files += %w( third_party/abseil-cpp/absl/algorithm/container.h )
s.files += %w( third_party/abseil-cpp/absl/base/attributes.h )
s.files += %w( third_party/abseil-cpp/absl/base/call_once.h )
s.files += %w( third_party/abseil-cpp/absl/base/casts.h )
@@ -987,8 +980,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/base/internal/direct_mmap.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/endian.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/errno_saver.h )
- s.files += %w( third_party/abseil-cpp/absl/base/internal/exponential_biased.cc )
- s.files += %w( third_party/abseil-cpp/absl/base/internal/exponential_biased.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/hide_ptr.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/identity.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/inline_variable.h )
@@ -1028,22 +1019,9 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/base/port.h )
s.files += %w( third_party/abseil-cpp/absl/base/thread_annotations.h )
s.files += %w( third_party/abseil-cpp/absl/container/fixed_array.h )
- s.files += %w( third_party/abseil-cpp/absl/container/flat_hash_set.h )
s.files += %w( third_party/abseil-cpp/absl/container/inlined_vector.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/common.h )
s.files += %w( third_party/abseil-cpp/absl/container/internal/compressed_tuple.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/container_memory.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/have_sse.h )
s.files += %w( third_party/abseil-cpp/absl/container/internal/inlined_vector.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/layout.h )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc )
- s.files += %w( third_party/abseil-cpp/absl/container/internal/raw_hash_set.h )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/demangle.cc )
@@ -1070,11 +1048,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/debugging/symbolize_win32.inc )
s.files += %w( third_party/abseil-cpp/absl/functional/function_ref.h )
s.files += %w( third_party/abseil-cpp/absl/functional/internal/function_ref.h )
- s.files += %w( third_party/abseil-cpp/absl/hash/hash.h )
- s.files += %w( third_party/abseil-cpp/absl/hash/internal/city.cc )
- s.files += %w( third_party/abseil-cpp/absl/hash/internal/city.h )
- s.files += %w( third_party/abseil-cpp/absl/hash/internal/hash.cc )
- s.files += %w( third_party/abseil-cpp/absl/hash/internal/hash.h )
s.files += %w( third_party/abseil-cpp/absl/memory/memory.h )
s.files += %w( third_party/abseil-cpp/absl/meta/type_traits.h )
s.files += %w( third_party/abseil-cpp/absl/numeric/int128.cc )
@@ -1192,14 +1165,10 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/time/time.h )
s.files += %w( third_party/abseil-cpp/absl/types/bad_optional_access.cc )
s.files += %w( third_party/abseil-cpp/absl/types/bad_optional_access.h )
- s.files += %w( third_party/abseil-cpp/absl/types/bad_variant_access.cc )
- s.files += %w( third_party/abseil-cpp/absl/types/bad_variant_access.h )
s.files += %w( third_party/abseil-cpp/absl/types/internal/optional.h )
s.files += %w( third_party/abseil-cpp/absl/types/internal/span.h )
- s.files += %w( third_party/abseil-cpp/absl/types/internal/variant.h )
s.files += %w( third_party/abseil-cpp/absl/types/optional.h )
s.files += %w( third_party/abseil-cpp/absl/types/span.h )
- s.files += %w( third_party/abseil-cpp/absl/types/variant.h )
s.files += %w( third_party/abseil-cpp/absl/utility/utility.h )
s.files += %w( third_party/address_sorting/address_sorting.c )
s.files += %w( third_party/address_sorting/address_sorting_internal.h )
diff --git a/grpc.gyp b/grpc.gyp
index 468e4d43186..ae7d87c9d69 100644
--- a/grpc.gyp
+++ b/grpc.gyp
@@ -438,7 +438,6 @@
'absl/strings:strings',
'absl/status:status',
'absl/container:inlined_vector',
- 'absl/container:flat_hash_set',
],
'sources': [
'src/core/ext/filters/census/grpc_context.cc',
@@ -754,8 +753,6 @@
'src/core/lib/iomgr/work_serializer.cc',
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_writer.cc',
- 'src/core/lib/security/authorization/authorization_engine.cc',
- 'src/core/lib/security/authorization/evaluate_args.cc',
'src/core/lib/security/context/security_context.cc',
'src/core/lib/security/credentials/alts/alts_credentials.cc',
'src/core/lib/security/credentials/alts/check_gcp_environment.cc',
@@ -893,7 +890,6 @@
'sources': [
'test/core/util/cmdline.cc',
'test/core/util/debugger_macros.cc',
- 'test/core/util/eval_args_mock_endpoint.cc',
'test/core/util/fuzzer_util.cc',
'test/core/util/grpc_profiler.cc',
'test/core/util/histogram.cc',
@@ -926,7 +922,6 @@
'sources': [
'test/core/util/cmdline.cc',
'test/core/util/debugger_macros.cc',
- 'test/core/util/eval_args_mock_endpoint.cc',
'test/core/util/fuzzer_util.cc',
'test/core/util/grpc_profiler.cc',
'test/core/util/histogram.cc',
diff --git a/package.xml b/package.xml
index fc26c837c46..717113b2d79 100644
--- a/package.xml
+++ b/package.xml
@@ -741,12 +741,6 @@
-
-
-
-
-
-
@@ -974,7 +968,6 @@
-
@@ -989,8 +982,6 @@
-
-
@@ -1030,22 +1021,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1072,11 +1050,6 @@
-
-
-
-
-
@@ -1194,14 +1167,10 @@
-
-
-
-
diff --git a/src/core/lib/security/authorization/authorization_engine.cc b/src/core/lib/security/authorization/authorization_engine.cc
index b8af7b4cdb3..58e23f991cf 100644
--- a/src/core/lib/security/authorization/authorization_engine.cc
+++ b/src/core/lib/security/authorization/authorization_engine.cc
@@ -20,22 +20,6 @@
namespace grpc_core {
-namespace {
-
-// Symbols for traversing Envoy Attributes
-constexpr char kUrlPath[] = "url_path";
-constexpr char kHost[] = "host";
-constexpr char kMethod[] = "method";
-constexpr char kHeaders[] = "headers";
-constexpr char kSourceAddress[] = "source_address";
-constexpr char kSourcePort[] = "source_port";
-constexpr char kDestinationAddress[] = "destination_address";
-constexpr char kDestinationPort[] = "destination_port";
-constexpr char kSpiffeId[] = "spiffe_id";
-constexpr char kCertServerName[] = "cert_server_name";
-
-} // namespace
-
std::unique_ptr
AuthorizationEngine::CreateAuthorizationEngine(
const std::vector& rbac_policies) {
@@ -90,103 +74,4 @@ AuthorizationEngine::AuthorizationEngine(
}
}
-std::unique_ptr
-AuthorizationEngine::CreateActivation(const EvaluateArgs& args) {
- std::unique_ptr activation;
- for (const auto& elem : envoy_attributes_) {
- if (elem == kUrlPath) {
- absl::string_view url_path(args.GetPath());
- if (!url_path.empty()) {
- activation->InsertValue(
- kUrlPath,
- google::api::expr::runtime::CelValue::CreateStringView(url_path));
- }
- } else if (elem == kHost) {
- absl::string_view host(args.GetHost());
- if (!host.empty()) {
- activation->InsertValue(
- kHost,
- google::api::expr::runtime::CelValue::CreateStringView(host));
- }
- } else if (elem == kMethod) {
- absl::string_view method(args.GetMethod());
- if (!method.empty()) {
- activation->InsertValue(
- kMethod,
- google::api::expr::runtime::CelValue::CreateStringView(method));
- }
- } else if (elem == kHeaders) {
- std::multimap headers =
- args.GetHeaders();
- std::vector>
- header_items;
- for (const auto& header_key : header_keys_) {
- auto header_item = headers.find(header_key);
- if (header_item != headers.end()) {
- header_items.push_back(
- std::pair(
- google::api::expr::runtime::CelValue::CreateStringView(
- header_key),
- google::api::expr::runtime::CelValue::CreateStringView(
- header_item->second)));
- }
- }
- headers_ = google::api::expr::runtime::ContainerBackedMapImpl::Create(
- absl::Span>(
- header_items));
- activation->InsertValue(
- kHeaders,
- google::api::expr::runtime::CelValue::CreateMap(headers_.get()));
- } else if (elem == kSourceAddress) {
- absl::string_view source_address(args.GetPeerAddress());
- if (!source_address.empty()) {
- activation->InsertValue(
- kSourceAddress,
- google::api::expr::runtime::CelValue::CreateStringView(
- source_address));
- }
- } else if (elem == kSourcePort) {
- activation->InsertValue(kSourcePort,
- google::api::expr::runtime::CelValue::CreateInt64(
- args.GetPeerPort()));
- } else if (elem == kDestinationAddress) {
- absl::string_view destination_address(args.GetLocalAddress());
- if (!destination_address.empty()) {
- activation->InsertValue(
- kDestinationAddress,
- google::api::expr::runtime::CelValue::CreateStringView(
- destination_address));
- }
- } else if (elem == kDestinationPort) {
- activation->InsertValue(kDestinationPort,
- google::api::expr::runtime::CelValue::CreateInt64(
- args.GetLocalPort()));
- } else if (elem == kSpiffeId) {
- absl::string_view spiffe_id(args.GetSpiffeId());
- if (!spiffe_id.empty()) {
- activation->InsertValue(
- kSpiffeId,
- google::api::expr::runtime::CelValue::CreateStringView(spiffe_id));
- }
- } else if (elem == kCertServerName) {
- absl::string_view cert_server_name(args.GetCertServerName());
- if (!cert_server_name.empty()) {
- activation->InsertValue(
- kCertServerName,
- google::api::expr::runtime::CelValue::CreateStringView(
- cert_server_name));
- }
- } else {
- gpr_log(GPR_ERROR,
- "Error: Authorization engine does not support evaluating "
- "attribute %s.",
- elem.c_str());
- }
- }
- return activation;
-}
-
} // namespace grpc_core
diff --git a/src/core/lib/security/authorization/authorization_engine.h b/src/core/lib/security/authorization/authorization_engine.h
index c8d9a921880..406cebbc452 100644
--- a/src/core/lib/security/authorization/authorization_engine.h
+++ b/src/core/lib/security/authorization/authorization_engine.h
@@ -24,14 +24,10 @@
#include
#include
-#include "absl/container/flat_hash_set.h"
-#include "envoy/config/rbac/v3/rbac.upb.h"
-#include "google/api/expr/v1alpha1/syntax.upb.h"
+#include "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h"
+#include "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h"
#include "upb/upb.hpp"
-#include "src/core/lib/security/authorization/evaluate_args.h"
-#include "src/core/lib/security/authorization/mock_cel/activation.h"
-
namespace grpc_core {
// AuthorizationEngine makes an AuthorizationDecision to ALLOW or DENY the
@@ -66,17 +62,11 @@ class AuthorizationEngine {
kDeny,
};
- std::unique_ptr CreateActivation(
- const EvaluateArgs& args);
-
std::map
deny_if_matched_;
std::map
allow_if_matched_;
upb::Arena arena_;
- absl::flat_hash_set envoy_attributes_;
- absl::flat_hash_set header_keys_;
- std::unique_ptr headers_;
};
} // namespace grpc_core
diff --git a/src/core/lib/security/authorization/evaluate_args.cc b/src/core/lib/security/authorization/evaluate_args.cc
index 159e73de8fd..c5ba7820080 100644
--- a/src/core/lib/security/authorization/evaluate_args.cc
+++ b/src/core/lib/security/authorization/evaluate_args.cc
@@ -20,9 +20,6 @@
#include "src/core/lib/security/authorization/evaluate_args.h"
-#include "src/core/ext/filters/client_channel/parse_address.h"
-#include "src/core/lib/iomgr/resolve_address.h"
-#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/slice/slice_utils.h"
namespace grpc_core {
@@ -72,88 +69,42 @@ std::multimap EvaluateArgs::GetHeaders()
return headers;
}
-absl::string_view EvaluateArgs::GetLocalAddress() const {
- absl::string_view addr = grpc_endpoint_get_local_address(endpoint_);
- size_t first_colon = addr.find(":");
- size_t last_colon = addr.rfind(":");
- if (first_colon == std::string::npos || last_colon == std::string::npos) {
- return "";
- } else {
- return addr.substr(first_colon + 1, last_colon - first_colon - 1);
- }
-}
-
-int EvaluateArgs::GetLocalPort() const {
- if (endpoint_ == nullptr) {
- return 0;
- }
- grpc_uri* uri = grpc_uri_parse(
- std::string(grpc_endpoint_get_local_address(endpoint_)).c_str(), true);
- grpc_resolved_address resolved_addr;
- if (uri == nullptr || !grpc_parse_uri(uri, &resolved_addr)) {
- grpc_uri_destroy(uri);
- return 0;
- }
- grpc_uri_destroy(uri);
- return grpc_sockaddr_get_port(&resolved_addr);
-}
-
-absl::string_view EvaluateArgs::GetPeerAddress() const {
- absl::string_view addr = grpc_endpoint_get_peer(endpoint_);
- size_t first_colon = addr.find(":");
- size_t last_colon = addr.rfind(":");
- if (first_colon == std::string::npos || last_colon == std::string::npos) {
- return "";
- } else {
- return addr.substr(first_colon + 1, last_colon - first_colon - 1);
- }
-}
-
-int EvaluateArgs::GetPeerPort() const {
- if (endpoint_ == nullptr) {
- return 0;
- }
- grpc_uri* uri = grpc_uri_parse(
- std::string(grpc_endpoint_get_peer(endpoint_)).c_str(), true);
- grpc_resolved_address resolved_addr;
- if (uri == nullptr || !grpc_parse_uri(uri, &resolved_addr)) {
- grpc_uri_destroy(uri);
- return 0;
- }
- grpc_uri_destroy(uri);
- return grpc_sockaddr_get_port(&resolved_addr);
-}
-
absl::string_view EvaluateArgs::GetSpiffeId() const {
+ absl::string_view spiffe_id;
if (auth_context_ == nullptr) {
- return "";
+ return spiffe_id;
}
grpc_auth_property_iterator it = grpc_auth_context_find_properties_by_name(
auth_context_, GRPC_PEER_SPIFFE_ID_PROPERTY_NAME);
const grpc_auth_property* prop = grpc_auth_property_iterator_next(&it);
- if (prop == nullptr ||
- strncmp(prop->value, GRPC_PEER_SPIFFE_ID_PROPERTY_NAME,
- prop->value_length) != 0 ||
- grpc_auth_property_iterator_next(&it) != nullptr) {
- return "";
+ if (prop == nullptr) return spiffe_id;
+ if (strncmp(prop->value, GRPC_PEER_SPIFFE_ID_PROPERTY_NAME,
+ prop->value_length) != 0) {
+ return spiffe_id;
}
- return absl::string_view(prop->value, prop->value_length);
+ if (grpc_auth_property_iterator_next(&it) != nullptr) return spiffe_id;
+ spiffe_id = absl::string_view(
+ reinterpret_cast(prop->value, prop->value_length));
+ return spiffe_id;
}
absl::string_view EvaluateArgs::GetCertServerName() const {
+ absl::string_view name;
if (auth_context_ == nullptr) {
- return "";
+ return name;
}
grpc_auth_property_iterator it = grpc_auth_context_find_properties_by_name(
auth_context_, GRPC_X509_CN_PROPERTY_NAME);
const grpc_auth_property* prop = grpc_auth_property_iterator_next(&it);
- if (prop == nullptr ||
- strncmp(prop->value, GRPC_X509_CN_PROPERTY_NAME, prop->value_length) !=
- 0 ||
- grpc_auth_property_iterator_next(&it) != nullptr) {
- return "";
+ if (prop == nullptr) return name;
+ if (strncmp(prop->value, GRPC_X509_CN_PROPERTY_NAME, prop->value_length) !=
+ 0) {
+ return name;
}
- return absl::string_view(prop->value, prop->value_length);
+ if (grpc_auth_property_iterator_next(&it) != nullptr) return name;
+ name = absl::string_view(
+ reinterpret_cast(prop->value, prop->value_length));
+ return name;
}
} // namespace grpc_core
diff --git a/src/core/lib/security/authorization/evaluate_args.h b/src/core/lib/security/authorization/evaluate_args.h
index e258f72bc87..da5b606fba1 100644
--- a/src/core/lib/security/authorization/evaluate_args.h
+++ b/src/core/lib/security/authorization/evaluate_args.h
@@ -32,17 +32,12 @@ namespace grpc_core {
class EvaluateArgs {
public:
EvaluateArgs(grpc_metadata_batch* metadata, grpc_auth_context* auth_context,
- grpc_endpoint* endpoint)
- : metadata_(metadata), auth_context_(auth_context), endpoint_(endpoint) {}
+ grpc_endpoint* endpoint);
absl::string_view GetPath() const;
absl::string_view GetHost() const;
absl::string_view GetMethod() const;
std::multimap GetHeaders() const;
- absl::string_view GetLocalAddress() const;
- int GetLocalPort() const;
- absl::string_view GetPeerAddress() const;
- int GetPeerPort() const;
absl::string_view GetSpiffeId() const;
absl::string_view GetCertServerName() const;
diff --git a/src/core/lib/security/authorization/mock_cel/cel_value.h b/src/core/lib/security/authorization/mock_cel/cel_value.h
index 5b4d294f16d..65f0e1ea532 100644
--- a/src/core/lib/security/authorization/mock_cel/cel_value.h
+++ b/src/core/lib/security/authorization/mock_cel/cel_value.h
@@ -40,10 +40,7 @@ namespace expr {
namespace runtime {
// Break cyclic depdendencies for container types.
-class CelMap {
- public:
- CelMap() = default;
-};
+class CelMap;
// This is a temporary stub implementation of CEL APIs.
// Once gRPC imports the CEL library, this class will be removed.
@@ -78,17 +75,6 @@ class CelValue {
explicit CelValue(T value) {}
};
-// CelMap implementation that uses STL map container as backing storage.
-class ContainerBackedMapImpl : public CelMap {
- public:
- ContainerBackedMapImpl() = default;
-
- static std::unique_ptr Create(
- absl::Span> key_values) {
- return absl::make_unique();
- }
-};
-
} // namespace runtime
} // namespace expr
} // namespace api
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index 88cd4d7e0c8..4e9d4ae3ce2 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -369,8 +369,6 @@ CORE_SOURCE_FILES = [
'src/core/lib/json/json_writer.cc',
'src/core/lib/profiling/basic_timers.cc',
'src/core/lib/profiling/stap_timers.cc',
- 'src/core/lib/security/authorization/authorization_engine.cc',
- 'src/core/lib/security/authorization/evaluate_args.cc',
'src/core/lib/security/context/security_context.cc',
'src/core/lib/security/credentials/alts/alts_credentials.cc',
'src/core/lib/security/credentials/alts/check_gcp_environment.cc',
@@ -483,7 +481,6 @@ CORE_SOURCE_FILES = [
'src/core/tsi/transport_security_grpc.cc',
'third_party/abseil-cpp/absl/base/dynamic_annotations.cc',
'third_party/abseil-cpp/absl/base/internal/cycleclock.cc',
- 'third_party/abseil-cpp/absl/base/internal/exponential_biased.cc',
'third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc',
'third_party/abseil-cpp/absl/base/internal/raw_logging.cc',
'third_party/abseil-cpp/absl/base/internal/spinlock.cc',
@@ -493,17 +490,12 @@ CORE_SOURCE_FILES = [
'third_party/abseil-cpp/absl/base/internal/throw_delegate.cc',
'third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc',
'third_party/abseil-cpp/absl/base/log_severity.cc',
- 'third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc',
- 'third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc',
- 'third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc',
'third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc',
'third_party/abseil-cpp/absl/debugging/internal/demangle.cc',
'third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc',
'third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc',
'third_party/abseil-cpp/absl/debugging/stacktrace.cc',
'third_party/abseil-cpp/absl/debugging/symbolize.cc',
- 'third_party/abseil-cpp/absl/hash/internal/city.cc',
- 'third_party/abseil-cpp/absl/hash/internal/hash.cc',
'third_party/abseil-cpp/absl/numeric/int128.cc',
'third_party/abseil-cpp/absl/status/status.cc',
'third_party/abseil-cpp/absl/status/status_payload_printer.cc',
@@ -554,7 +546,6 @@ CORE_SOURCE_FILES = [
'third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc',
'third_party/abseil-cpp/absl/time/time.cc',
'third_party/abseil-cpp/absl/types/bad_optional_access.cc',
- 'third_party/abseil-cpp/absl/types/bad_variant_access.cc',
'third_party/address_sorting/address_sorting.c',
'third_party/address_sorting/address_sorting_posix.c',
'third_party/address_sorting/address_sorting_windows.c',
diff --git a/test/core/security/BUILD b/test/core/security/BUILD
index 9a4daaa2b78..3d404a2b0e7 100644
--- a/test/core/security/BUILD
+++ b/test/core/security/BUILD
@@ -79,7 +79,7 @@ grpc_cc_test(
language = "C++",
deps = [
"//:gpr",
- "//:grpc",
+ "//:grpc_authorization_engine",
"//test/core/util:grpc_test_util",
],
)
@@ -95,19 +95,6 @@ grpc_cc_test(
],
)
-grpc_cc_test(
- name = "evaluate_args_test",
- srcs = ["evaluate_args_test.cc"],
- external_deps = ["gtest"],
- language = "C++",
- deps = [
- "//:gpr",
- "//:grpc",
- "//test/core/util:grpc_test_util",
- "//test/core/util:grpc_test_util_base",
- ],
-)
-
grpc_cc_test(
name = "json_token_test",
srcs = ["json_token_test.cc"],
diff --git a/test/core/security/evaluate_args_test.cc b/test/core/security/evaluate_args_test.cc
deleted file mode 100644
index 394344dd60e..00000000000
--- a/test/core/security/evaluate_args_test.cc
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2020 gRPC authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include
-
-#include
-#include "absl/strings/string_view.h"
-
-#include "src/core/lib/security/authorization/evaluate_args.h"
-#include "test/core/util/eval_args_mock_endpoint.h"
-
-namespace grpc_core {
-
-class EvaluateArgsTest : public ::testing::Test {
- protected:
- void SetUp() override {
- local_address_ = "255.255.255.255";
- peer_address_ = "128.128.128.128";
- local_port_ = 413;
- peer_port_ = 314;
- endpoint_ = CreateEvalArgsMockEndpoint(local_address_.c_str(), local_port_,
- peer_address_.c_str(), peer_port_);
- evaluate_args_ =
- absl::make_unique(nullptr, nullptr, endpoint_);
- }
- void TearDown() override { grpc_endpoint_destroy(endpoint_); }
- grpc_endpoint* endpoint_;
- std::unique_ptr evaluate_args_;
- std::string local_address_;
- std::string peer_address_;
- int local_port_;
- int peer_port_;
-};
-
-TEST_F(EvaluateArgsTest, TestEvaluateArgsLocalAddress) {
- absl::string_view src_address = evaluate_args_->GetLocalAddress();
- EXPECT_EQ(src_address, local_address_)
- << "Error: Failed to extract correct Local address from EvaluateArgs.";
-}
-
-TEST_F(EvaluateArgsTest, TestEvaluateArgsLocalPort) {
- int src_port = evaluate_args_->GetLocalPort();
- EXPECT_EQ(src_port, local_port_)
- << "Error: Failed to extract correct Local port from EvaluateArgs.";
-}
-
-TEST_F(EvaluateArgsTest, TestEvaluateArgsPeerAddress) {
- absl::string_view dest_address = evaluate_args_->GetPeerAddress();
- EXPECT_EQ(dest_address, peer_address_)
- << "Error: Failed to extract correct Peer address from "
- "EvaluateArgs. ";
-}
-
-TEST_F(EvaluateArgsTest, TestEvaluateArgsPeerPort) {
- int dest_port = evaluate_args_->GetPeerPort();
- EXPECT_EQ(dest_port, peer_port_)
- << "Error: Failed to extract correct Peer port from EvaluateArgs.";
-}
-
-} // namespace grpc_core
-
-int main(int argc, char** argv) {
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
diff --git a/test/core/util/BUILD b/test/core/util/BUILD
index 35a396de687..86811da9215 100644
--- a/test/core/util/BUILD
+++ b/test/core/util/BUILD
@@ -38,7 +38,6 @@ grpc_cc_library(
name = "grpc_test_util_base",
srcs = [
"cmdline.cc",
- "eval_args_mock_endpoint.cc",
"fuzzer_util.cc",
"grpc_profiler.cc",
"histogram.cc",
@@ -60,7 +59,6 @@ grpc_cc_library(
],
hdrs = [
"cmdline.h",
- "eval_args_mock_endpoint.h",
"fuzzer_util.h",
"grpc_profiler.h",
"histogram.h",
diff --git a/test/core/util/eval_args_mock_endpoint.cc b/test/core/util/eval_args_mock_endpoint.cc
deleted file mode 100644
index bd41d4b4191..00000000000
--- a/test/core/util/eval_args_mock_endpoint.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2020 gRPC authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include
-
-#include "test/core/util/eval_args_mock_endpoint.h"
-
-#include
-
-#include
-
-#include "absl/strings/str_format.h"
-
-#include
-#include
-#include "src/core/lib/iomgr/sockaddr.h"
-#include "src/core/lib/iomgr/sockaddr_utils.h"
-
-namespace grpc_core {
-
-class EvalArgsMockEndpoint {
- public:
- EvalArgsMockEndpoint(absl::string_view local_uri, absl::string_view peer_uri)
- : local_address_(local_uri), peer_(peer_uri) {
- base_.vtable = &vtable_;
- }
- grpc_endpoint* base() const { return const_cast(&base_); }
- static void Read(grpc_endpoint* ep, grpc_slice_buffer* slices,
- grpc_closure* cb, bool unused) {}
- static void Write(grpc_endpoint* ep, grpc_slice_buffer* slices,
- grpc_closure* cb, void* unused) {}
- static void AddToPollset(grpc_endpoint* ep, grpc_pollset* unused) {}
- static void AddToPollsetSet(grpc_endpoint* ep, grpc_pollset_set* unused) {}
- static void DeleteFromPollsetSet(grpc_endpoint* ep,
- grpc_pollset_set* unused) {}
- static void Shutdown(grpc_endpoint* ep, grpc_error* why) {}
- static void Destroy(grpc_endpoint* ep) {
- EvalArgsMockEndpoint* m = reinterpret_cast(ep);
- delete m;
- }
-
- static absl::string_view GetPeer(grpc_endpoint* ep) {
- EvalArgsMockEndpoint* m = reinterpret_cast(ep);
- return m->peer_;
- }
-
- static absl::string_view GetLocalAddress(grpc_endpoint* ep) {
- EvalArgsMockEndpoint* m = reinterpret_cast(ep);
- return m->local_address_;
- }
-
- static grpc_resource_user* GetResourceUser(grpc_endpoint* ep) {
- return nullptr;
- }
-
- static int GetFd(grpc_endpoint* unused) { return -1; }
- static bool CanTrackErr(grpc_endpoint* unused) { return false; }
-
- private:
- static constexpr grpc_endpoint_vtable vtable_ = {
- EvalArgsMockEndpoint::Read,
- EvalArgsMockEndpoint::Write,
- EvalArgsMockEndpoint::AddToPollset,
- EvalArgsMockEndpoint::AddToPollsetSet,
- EvalArgsMockEndpoint::DeleteFromPollsetSet,
- EvalArgsMockEndpoint::Shutdown,
- EvalArgsMockEndpoint::Destroy,
- EvalArgsMockEndpoint::GetResourceUser,
- EvalArgsMockEndpoint::GetPeer,
- EvalArgsMockEndpoint::GetLocalAddress,
- EvalArgsMockEndpoint::GetFd,
- EvalArgsMockEndpoint::CanTrackErr};
- grpc_endpoint base_;
- std::string local_address_;
- std::string peer_;
-};
-
-constexpr grpc_endpoint_vtable EvalArgsMockEndpoint::vtable_;
-
-namespace {
-
-std::string NameAndPortToURI(const char* addr, const int port) {
- grpc_sockaddr_in address;
- memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_port = htons(port);
- inet_pton(AF_INET, addr, &address.sin_addr);
- grpc_resolved_address resolved;
- memset(&resolved, 0, sizeof(resolved));
- memcpy(resolved.addr, &address, sizeof(address));
- resolved.len = sizeof(address);
- return grpc_sockaddr_to_uri(&resolved);
-}
-
-} // namespace
-
-grpc_endpoint* CreateEvalArgsMockEndpoint(const char* local_address,
- const int local_port,
- const char* peer_address,
- const int peer_port) {
- EvalArgsMockEndpoint* m =
- new EvalArgsMockEndpoint(NameAndPortToURI(local_address, local_port),
- NameAndPortToURI(peer_address, peer_port));
- return m->base();
-}
-
-} // namespace grpc_core
diff --git a/test/core/util/eval_args_mock_endpoint.h b/test/core/util/eval_args_mock_endpoint.h
deleted file mode 100644
index 68b32cc891e..00000000000
--- a/test/core/util/eval_args_mock_endpoint.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2020 gRPC authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef GRPC_TEST_CORE_UTIL_EVAL_ARGS_MOCK_ENDPOINT_H
-#define GRPC_TEST_CORE_UTIL_EVAL_ARGS_MOCK_ENDPOINT_H
-
-#include
-
-#include "src/core/lib/iomgr/endpoint.h"
-
-namespace grpc_core {
-
-grpc_endpoint* CreateEvalArgsMockEndpoint(const char* local_address,
- const int local_port,
- const char* peer_address,
- const int peer_port);
-
-} // namespace grpc_core
-
-#endif // GRPC_TEST_CORE_UTIL_EVAL_ARGS_MOCK_ENDPOINT_H
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index 50a1f978c33..69342b452a9 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -1710,12 +1710,6 @@ src/core/lib/json/json_writer.cc \
src/core/lib/profiling/basic_timers.cc \
src/core/lib/profiling/stap_timers.cc \
src/core/lib/profiling/timers.h \
-src/core/lib/security/authorization/authorization_engine.cc \
-src/core/lib/security/authorization/authorization_engine.h \
-src/core/lib/security/authorization/evaluate_args.cc \
-src/core/lib/security/authorization/evaluate_args.h \
-src/core/lib/security/authorization/mock_cel/activation.h \
-src/core/lib/security/authorization/mock_cel/cel_value.h \
src/core/lib/security/context/security_context.cc \
src/core/lib/security/context/security_context.h \
src/core/lib/security/credentials/alts/alts_credentials.cc \
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 3b4fb2252d3..c9aedb9b822 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1537,12 +1537,6 @@ src/core/lib/json/json_writer.cc \
src/core/lib/profiling/basic_timers.cc \
src/core/lib/profiling/stap_timers.cc \
src/core/lib/profiling/timers.h \
-src/core/lib/security/authorization/authorization_engine.cc \
-src/core/lib/security/authorization/authorization_engine.h \
-src/core/lib/security/authorization/evaluate_args.cc \
-src/core/lib/security/authorization/evaluate_args.h \
-src/core/lib/security/authorization/mock_cel/activation.h \
-src/core/lib/security/authorization/mock_cel/cel_value.h \
src/core/lib/security/context/security_context.cc \
src/core/lib/security/context/security_context.h \
src/core/lib/security/credentials/alts/alts_credentials.cc \
diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json
index 756f75c9682..47188111351 100644
--- a/tools/run_tests/generated/tests.json
+++ b/tools/run_tests/generated/tests.json
@@ -4313,30 +4313,6 @@
],
"uses_polling": true
},
- {
- "args": [],
- "benchmark": false,
- "ci_platforms": [
- "linux",
- "mac",
- "posix",
- "windows"
- ],
- "cpu_cost": 1.0,
- "exclude_configs": [],
- "exclude_iomgrs": [],
- "flaky": false,
- "gtest": true,
- "language": "c++",
- "name": "evaluate_args_test",
- "platforms": [
- "linux",
- "mac",
- "posix",
- "windows"
- ],
- "uses_polling": true
- },
{
"args": [],
"benchmark": false,