#pragma once #include "connection.hpp" #include #include #include namespace llarp::quic { // Class providing do-nothing stubs for quic crypto operations: everything over lokinet is already // encrypted so we just no-op QUIC's built in crypto operations. struct NullCrypto { NullCrypto(); void client_initial(Connection& conn); void server_initial(Connection& conn); bool install_tx_handshake_key(Connection& conn); bool install_tx_key(Connection& conn); bool install_rx_handshake_key(Connection& conn); bool install_rx_key(Connection& conn); private: std::array null_iv{}; // std::array null_data{}; ngtcp2_crypto_ctx null_ctx{}; ngtcp2_crypto_aead null_aead{}; ngtcp2_crypto_aead_ctx null_aead_ctx{}; ngtcp2_crypto_cipher_ctx null_cipher_ctx{}; }; } // namespace llarp::quic