Skip to content

Commit

Permalink
CallCredentials debug string API
Browse files Browse the repository at this point in the history
  • Loading branch information
mhaidrygoog committed Feb 25, 2020
1 parent b540b8a commit 1221675
Show file tree
Hide file tree
Showing 31 changed files with 481 additions and 34 deletions.
1 change: 1 addition & 0 deletions BUILD
Expand Up @@ -559,6 +559,7 @@ grpc_cc_library(
"absl/memory",
"absl/strings",
"absl/strings:str_format",
"absl/time:time",
],
language = "c++",
public_hdrs = GPR_PUBLIC_HDRS,
Expand Down
1 change: 1 addition & 0 deletions BUILD.gn
Expand Up @@ -166,6 +166,7 @@ config("grpc_config") {
":absl/strings:str_format",
":absl/strings:strings",
":absl/types:optional",
":absl/time:time",
]

public_configs = [
Expand Down
14 changes: 9 additions & 5 deletions CMakeLists.txt
Expand Up @@ -105,6 +105,7 @@ set(gRPC_ABSL_USED_TARGETS
absl_base
absl_base_internal
absl_bits
absl_civil_time
absl_compressed_tuple
absl_config
absl_core_headers
Expand All @@ -124,6 +125,8 @@ set(gRPC_ABSL_USED_TARGETS
absl_strings
absl_strings_internal
absl_throw_delegate
absl_time
absl_time_zone
absl_type_traits
absl_utility
absl_meta
Expand Down Expand Up @@ -1445,6 +1448,7 @@ target_link_libraries(gpr
absl::str_format
absl::strings
absl::optional
absl::time
)
if(_gRPC_PLATFORM_ANDROID)
target_link_libraries(gpr
Expand Down Expand Up @@ -18575,7 +18579,7 @@ generate_pkgconfig(
"gRPC platform support library"
"${gRPC_CORE_VERSION}"
""
"-lgpr -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
"-lgpr -labsl_time -labsl_time_zone -labsl_civil_time -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
""
"gpr.pc")

Expand All @@ -18585,7 +18589,7 @@ generate_pkgconfig(
"high performance general RPC framework"
"${gRPC_CORE_VERSION}"
"gpr openssl"
"-lgrpc -laddress_sorting -lupb -lcares -lz -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
"-lgrpc -laddress_sorting -lupb -lcares -lz -labsl_time -labsl_time_zone -labsl_civil_time -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
""
"grpc.pc")

Expand All @@ -18595,7 +18599,7 @@ generate_pkgconfig(
"high performance general RPC framework without SSL"
"${gRPC_CORE_VERSION}"
"gpr"
"-lgrpc_unsecure -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
"-lgrpc_unsecure -labsl_time -labsl_time_zone -labsl_civil_time -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
""
"grpc_unsecure.pc")

Expand All @@ -18605,7 +18609,7 @@ generate_pkgconfig(
"C++ wrapper for gRPC"
"${PACKAGE_VERSION}"
"grpc"
"-lgrpc++ -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
"-lgrpc++ -labsl_time -labsl_time_zone -labsl_civil_time -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
""
"grpc++.pc")

Expand All @@ -18615,6 +18619,6 @@ generate_pkgconfig(
"C++ wrapper for gRPC without SSL"
"${PACKAGE_VERSION}"
"grpc_unsecure"
"-lgrpc++_unsecure -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
"-lgrpc++_unsecure -labsl_time -labsl_time_zone -labsl_civil_time -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity"
""
"grpc++_unsecure.pc")
15 changes: 15 additions & 0 deletions Makefile
Expand Up @@ -9103,6 +9103,21 @@ LIBGRPC_ABSEIL_SRC = \
third_party/abseil-cpp/absl/strings/str_split.cc \
third_party/abseil-cpp/absl/strings/string_view.cc \
third_party/abseil-cpp/absl/strings/substitute.cc \
third_party/abseil-cpp/absl/time/civil_time.cc \
third_party/abseil-cpp/absl/time/clock.cc \
third_party/abseil-cpp/absl/time/duration.cc \
third_party/abseil-cpp/absl/time/format.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc \
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 \


Expand Down
2 changes: 2 additions & 0 deletions build.yaml
Expand Up @@ -275,6 +275,8 @@ filegroups:
- absl/strings:str_format
- absl/strings:strings
- absl/types:optional
- absl/time:time
- absl/strings:str_format
uses:
- gpr_base_headers
- name: gpr_base_headers
Expand Down
17 changes: 17 additions & 0 deletions config.m4
Expand Up @@ -503,6 +503,21 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/strings/str_split.cc \
third_party/abseil-cpp/absl/strings/string_view.cc \
third_party/abseil-cpp/absl/strings/substitute.cc \
third_party/abseil-cpp/absl/time/civil_time.cc \
third_party/abseil-cpp/absl/time/clock.cc \
third_party/abseil-cpp/absl/time/duration.cc \
third_party/abseil-cpp/absl/time/format.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc \
third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc \
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/address_sorting/address_sorting.c \
third_party/address_sorting/address_sorting_posix.c \
Expand Down Expand Up @@ -889,6 +904,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal/str_format)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel)
Expand Down
19 changes: 19 additions & 0 deletions config.w32
Expand Up @@ -472,6 +472,21 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\strings\\str_split.cc " +
"third_party\\abseil-cpp\\absl\\strings\\string_view.cc " +
"third_party\\abseil-cpp\\absl\\strings\\substitute.cc " +
"third_party\\abseil-cpp\\absl\\time\\civil_time.cc " +
"third_party\\abseil-cpp\\absl\\time\\clock.cc " +
"third_party\\abseil-cpp\\absl\\time\\duration.cc " +
"third_party\\abseil-cpp\\absl\\time\\format.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\civil_time_detail.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_fixed.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_format.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_if.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_impl.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_info.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_libc.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_lookup.cc " +
"third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src\\time_zone_posix.cc " +
"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\\address_sorting\\address_sorting.c " +
"third_party\\address_sorting\\address_sorting_posix.c " +
Expand Down Expand Up @@ -923,6 +938,10 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal\\str_format");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time\\internal\\cctz");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time\\internal\\cctz\\src");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\types");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\address_sorting");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel");
Expand Down
1 change: 1 addition & 0 deletions gRPC-C++.podspec
Expand Up @@ -218,6 +218,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/strings/str_format', abseil_version
ss.dependency 'abseil/strings/strings', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version

ss.source_files = 'include/grpcpp/impl/codegen/core_codegen.h',
Expand Down
1 change: 1 addition & 0 deletions gRPC-Core.podspec
Expand Up @@ -178,6 +178,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/strings/str_format', abseil_version
ss.dependency 'abseil/strings/strings', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version
ss.compiler_flags = '-DGRPC_SHADOW_BORINGSSL_SYMBOLS'

Expand Down
42 changes: 35 additions & 7 deletions grpc.gemspec
Expand Up @@ -19,10 +19,7 @@ Gem::Specification.new do |s|
s.files += %w( etc/roots.pem )
s.files += Dir.glob('src/ruby/bin/**/*')
s.files += Dir.glob('src/ruby/ext/**/*')
s.files += Dir.glob('src/ruby/lib/**/*').reject do |f|
# Binaries are included by rake-compiler and would lead to circular dependencies here
File.fnmatch("**/?.?/grpc_c.so", f)
end
s.files += Dir.glob('src/ruby/lib/**/*')
s.files += Dir.glob('src/ruby/pb/**/*').reject do |f|
f.match(%r{^src/ruby/pb/test})
end
Expand All @@ -39,9 +36,9 @@ Gem::Specification.new do |s|
s.add_development_dependency 'facter', '~> 2.4'
s.add_development_dependency 'logging', '~> 2.0'
s.add_development_dependency 'simplecov', '~> 0.14.1'
s.add_development_dependency 'rake', '~> 13.0'
s.add_development_dependency 'rake-compiler', '~> 1.1'
s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
s.add_development_dependency 'rake', '~> 12.0'
s.add_development_dependency 'rake-compiler', '~> 1.0'
s.add_development_dependency 'rake-compiler-dock', '~> 0.5.1'
s.add_development_dependency 'rspec', '~> 3.6'
s.add_development_dependency 'rubocop', '~> 0.49.1'
s.add_development_dependency 'signet', '~> 0.7'
Expand Down Expand Up @@ -1002,6 +999,37 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/strings/strip.h )
s.files += %w( third_party/abseil-cpp/absl/strings/substitute.cc )
s.files += %w( third_party/abseil-cpp/absl/strings/substitute.h )
s.files += %w( third_party/abseil-cpp/absl/time/civil_time.cc )
s.files += %w( third_party/abseil-cpp/absl/time/civil_time.h )
s.files += %w( third_party/abseil-cpp/absl/time/clock.cc )
s.files += %w( third_party/abseil-cpp/absl/time/clock.h )
s.files += %w( third_party/abseil-cpp/absl/time/duration.cc )
s.files += %w( third_party/abseil-cpp/absl/time/format.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h )
s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc )
s.files += %w( third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc )
s.files += %w( third_party/abseil-cpp/absl/time/time.cc )
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/internal/optional.h )
Expand Down
1 change: 1 addition & 0 deletions grpc.gyp
Expand Up @@ -446,6 +446,7 @@
'absl/strings:str_format',
'absl/strings:strings',
'absl/types:optional',
'absl/time:time',
],
'sources': [
'src/core/lib/gpr/alloc.cc',
Expand Down
2 changes: 2 additions & 0 deletions include/grpc/grpc_security.h
Expand Up @@ -425,6 +425,8 @@ typedef struct {
size_t* num_creds_md, grpc_status_code* status,
const char** error_details);

char* (*debug_string)(void* state);

/** Destroys the plugin state. */
void (*destroy)(void* state);

Expand Down
5 changes: 5 additions & 0 deletions include/grpcpp/security/credentials_impl.h
Expand Up @@ -115,6 +115,7 @@ class CallCredentials : private grpc::GrpcLibraryCodegen {

/// Apply this instance's credentials to \a call.
virtual bool ApplyToCall(grpc_call* call) = 0;
virtual grpc::string DebugString() { return "CallCredentials{}"; }

protected:
friend std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
Expand Down Expand Up @@ -250,6 +251,10 @@ class MetadataCredentialsPlugin {
grpc::string_ref service_url, grpc::string_ref method_name,
const grpc::AuthContext& channel_auth_context,
std::multimap<grpc::string, grpc::string>* metadata) = 0;

virtual std::string DebugString() const {
return "MetadataCredentialsPlugin";
}
};

std::shared_ptr<CallCredentials> MetadataCredentialsFromPlugin(
Expand Down

0 comments on commit 1221675

Please sign in to comment.