1
#include "source/common/quic/envoy_quic_proof_source_base.h"
2

            
3
#include "source/common/quic/envoy_quic_utils.h"
4

            
5
#include "quiche/quic/core/quic_data_writer.h"
6

            
7
namespace Envoy {
8
namespace Quic {
9

            
10
void EnvoyQuicProofSourceBase::GetProof(const quic::QuicSocketAddress& /*server_address*/,
11
                                        const quic::QuicSocketAddress& /*client_address*/,
12
                                        const std::string& /*hostname*/,
13
                                        const std::string& /*server_config*/,
14
                                        quic::QuicTransportVersion /*transport_version*/,
15
                                        absl::string_view /*chlo_hash*/,
16
                                        std::unique_ptr<quic::ProofSource::Callback> /*callback*/) {
17
  // Only reachable in Google QUIC which is not supported by Envoy.
18
  IS_ENVOY_BUG("Unexpected call to EnvoyQuicProofSourceBase::GetProof");
19
}
20

            
21
3009
absl::InlinedVector<uint16_t, 8> EnvoyQuicProofSourceBase::SupportedTlsSignatureAlgorithms() const {
22
  // Return empty here to defer rejecting unexpected algorithm to ComputeTlsSignature().
23
3009
  return {};
24
3009
}
25

            
26
void EnvoyQuicProofSourceBase::ComputeTlsSignature(
27
    const quic::QuicSocketAddress& server_address, const quic::QuicSocketAddress& client_address,
28
    const std::string& hostname, uint16_t signature_algorithm, absl::string_view in,
29
1880
    std::unique_ptr<quic::ProofSource::SignatureCallback> callback) {
30
1880
  signPayload(server_address, client_address, hostname, signature_algorithm, in,
31
1880
              std::move(callback));
32
1880
}
33

            
34
} // namespace Quic
35
} // namespace Envoy