diff options
author | yuryalekseev <yuryalekseev@yandex-team.com> | 2022-07-22 13:33:44 +0300 |
---|---|---|
committer | yuryalekseev <yuryalekseev@yandex-team.com> | 2022-07-22 13:33:44 +0300 |
commit | 5aaaf1ee4044f09b292da97e6b89c1d886ab37cf (patch) | |
tree | bf5278ad72b0668a21f97db7ded330bdc7e2b614 /library/cpp/grpc | |
parent | 48b8dd7fa906ee3da1a1c9ddf102b2aa5e6773c8 (diff) | |
download | ydb-5aaaf1ee4044f09b292da97e6b89c1d886ab37cf.tar.gz |
Modify interconnect to get root CA in a grpc way if CA file is not provided.
Diffstat (limited to 'library/cpp/grpc')
-rw-r--r-- | library/cpp/grpc/common/CMakeLists.txt | 21 | ||||
-rw-r--r-- | library/cpp/grpc/common/default_root_certs.cpp | 11 | ||||
-rw-r--r-- | library/cpp/grpc/common/default_root_certs.h | 7 | ||||
-rw-r--r-- | library/cpp/grpc/common/time_point.h | 23 |
4 files changed, 62 insertions, 0 deletions
diff --git a/library/cpp/grpc/common/CMakeLists.txt b/library/cpp/grpc/common/CMakeLists.txt new file mode 100644 index 00000000000..39a5c752a9b --- /dev/null +++ b/library/cpp/grpc/common/CMakeLists.txt @@ -0,0 +1,21 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(cpp-grpc-common) +target_include_directories(cpp-grpc-common PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/grpc +) +target_link_libraries(cpp-grpc-common PUBLIC + contrib-libs-cxxsupp + yutil + contrib-libs-grpc +) +target_sources(cpp-grpc-common PRIVATE + ${CMAKE_SOURCE_DIR}/library/cpp/grpc/common/default_root_certs.cpp +) diff --git a/library/cpp/grpc/common/default_root_certs.cpp b/library/cpp/grpc/common/default_root_certs.cpp new file mode 100644 index 00000000000..5dd56f468a3 --- /dev/null +++ b/library/cpp/grpc/common/default_root_certs.cpp @@ -0,0 +1,11 @@ +#include "default_root_certs.h" + +#include <contrib/libs/grpc/src/core/lib/security/security_connector/ssl_utils.h> + +namespace NGrpc { + +const char* GetDefaultPemRootCerts() { + return grpc_core::DefaultSslRootStore::GetPemRootCerts(); +} + +} // namespace NGrpc diff --git a/library/cpp/grpc/common/default_root_certs.h b/library/cpp/grpc/common/default_root_certs.h new file mode 100644 index 00000000000..1c8ca03b42e --- /dev/null +++ b/library/cpp/grpc/common/default_root_certs.h @@ -0,0 +1,7 @@ +#pragma once + +namespace NGrpc { + +const char* GetDefaultPemRootCerts(); + +} // namespace NGrpc diff --git a/library/cpp/grpc/common/time_point.h b/library/cpp/grpc/common/time_point.h new file mode 100644 index 00000000000..c2b81262974 --- /dev/null +++ b/library/cpp/grpc/common/time_point.h @@ -0,0 +1,23 @@ +#pragma once + +#include <contrib/libs/grpc/include/grpcpp/support/time.h> + +#include <util/datetime/base.h> + +#include <chrono> + +namespace grpc { +// Specialization of TimePoint for TInstant +template <> +class TimePoint<TInstant> : public TimePoint<std::chrono::system_clock::time_point> { + using TChronoDuration = std::chrono::duration<TDuration::TValue, std::micro>; + +public: + TimePoint(const TInstant& time) + : TimePoint<std::chrono::system_clock::time_point>( + std::chrono::system_clock::time_point( + std::chrono::duration_cast<std::chrono::system_clock::duration>( + TChronoDuration(time.GetValue())))) { + } +}; +} // namespace grpc |