LCOV - code coverage report
Current view: top level - source/common/secret - secret_provider_impl.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 3 36 8.3 %
Date: 2024-01-05 06:35:25 Functions: 1 12 8.3 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <functional>
       4             : 
       5             : #include "envoy/extensions/transport_sockets/tls/v3/cert.pb.h"
       6             : #include "envoy/secret/secret_provider.h"
       7             : #include "envoy/ssl/certificate_validation_context_config.h"
       8             : #include "envoy/ssl/tls_certificate_config.h"
       9             : 
      10             : namespace Envoy {
      11             : namespace Secret {
      12             : 
      13             : class TlsCertificateConfigProviderImpl : public TlsCertificateConfigProvider {
      14             : public:
      15             :   TlsCertificateConfigProviderImpl(
      16             :       const envoy::extensions::transport_sockets::tls::v3::TlsCertificate& tls_certificate);
      17             : 
      18          70 :   const envoy::extensions::transport_sockets::tls::v3::TlsCertificate* secret() const override {
      19          70 :     return tls_certificate_.get();
      20          70 :   }
      21             : 
      22             :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addValidationCallback(
      23             :       std::function<void(const envoy::extensions::transport_sockets::tls::v3::TlsCertificate&)>)
      24           0 :       override {
      25           0 :     return nullptr;
      26           0 :   }
      27             : 
      28           0 :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addUpdateCallback(std::function<void()>) override {
      29           0 :     return nullptr;
      30           0 :   }
      31             : 
      32             : private:
      33             :   Secret::TlsCertificatePtr tls_certificate_;
      34             : };
      35             : 
      36             : class CertificateValidationContextConfigProviderImpl
      37             :     : public CertificateValidationContextConfigProvider {
      38             : public:
      39             :   CertificateValidationContextConfigProviderImpl(
      40             :       const envoy::extensions::transport_sockets::tls::v3::CertificateValidationContext&
      41             :           certificate_validation_context);
      42             : 
      43             :   const envoy::extensions::transport_sockets::tls::v3::CertificateValidationContext*
      44           0 :   secret() const override {
      45           0 :     return certificate_validation_context_.get();
      46           0 :   }
      47             : 
      48             :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addValidationCallback(
      49             :       std::function<
      50             :           void(const envoy::extensions::transport_sockets::tls::v3::CertificateValidationContext&)>)
      51           0 :       override {
      52           0 :     return nullptr;
      53           0 :   }
      54             : 
      55           0 :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addUpdateCallback(std::function<void()>) override {
      56           0 :     return nullptr;
      57           0 :   }
      58             : 
      59             : private:
      60             :   Secret::CertificateValidationContextPtr certificate_validation_context_;
      61             : };
      62             : 
      63             : class TlsSessionTicketKeysConfigProviderImpl : public TlsSessionTicketKeysConfigProvider {
      64             : public:
      65             :   TlsSessionTicketKeysConfigProviderImpl(
      66             :       const envoy::extensions::transport_sockets::tls::v3::TlsSessionTicketKeys&
      67             :           tls_session_ticket_keys);
      68             : 
      69             :   const envoy::extensions::transport_sockets::tls::v3::TlsSessionTicketKeys*
      70           0 :   secret() const override {
      71           0 :     return tls_session_ticket_keys_.get();
      72           0 :   }
      73             : 
      74             :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addValidationCallback(
      75             :       std::function<void(
      76           0 :           const envoy::extensions::transport_sockets::tls::v3::TlsSessionTicketKeys&)>) override {
      77           0 :     return nullptr;
      78           0 :   }
      79             : 
      80           0 :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addUpdateCallback(std::function<void()>) override {
      81           0 :     return nullptr;
      82           0 :   }
      83             : 
      84             : private:
      85             :   Secret::TlsSessionTicketKeysPtr tls_session_ticket_keys_;
      86             : };
      87             : 
      88             : class GenericSecretConfigProviderImpl : public GenericSecretConfigProvider {
      89             : public:
      90             :   GenericSecretConfigProviderImpl(
      91             :       const envoy::extensions::transport_sockets::tls::v3::GenericSecret& generic_secret);
      92             : 
      93           0 :   const envoy::extensions::transport_sockets::tls::v3::GenericSecret* secret() const override {
      94           0 :     return generic_secret_.get();
      95           0 :   }
      96             : 
      97             :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addValidationCallback(
      98             :       std::function<void(const envoy::extensions::transport_sockets::tls::v3::GenericSecret&)>)
      99           0 :       override {
     100           0 :     return nullptr;
     101           0 :   }
     102             : 
     103           0 :   ABSL_MUST_USE_RESULT Common::CallbackHandlePtr addUpdateCallback(std::function<void()>) override {
     104           0 :     return nullptr;
     105           0 :   }
     106             : 
     107             : private:
     108             :   Secret::GenericSecretPtr generic_secret_;
     109             : };
     110             : 
     111             : } // namespace Secret
     112             : } // namespace Envoy

Generated by: LCOV version 1.15