Fix license compliance and fix things up, add reverse proxy, fix some security flaws with HttpUtils
Some checks failed
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm64:latest, aarch64-linux-gnu, arm64) (push) Successful in 2m37s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm:latest, arm-linux-gnueabihf, arm7) (push) Successful in 2m37s
Build and Deploy on Tag / 🔨 Build for PowerPC (push) Successful in 2m58s
Build and Deploy on Tag / 🔨 Build win32 and update the tap 🍺 (push) Failing after 3m36s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-riscv64:latest, riscv64-linux-gnu, riscv64) (push) Successful in 2m19s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x64:latest, x86_64-linux-gnu, amd64) (push) Successful in 2m21s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x86:latest, i386-linux-gnu, 386) (push) Successful in 2m6s
Some checks failed
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm64:latest, aarch64-linux-gnu, arm64) (push) Successful in 2m37s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm:latest, arm-linux-gnueabihf, arm7) (push) Successful in 2m37s
Build and Deploy on Tag / 🔨 Build for PowerPC (push) Successful in 2m58s
Build and Deploy on Tag / 🔨 Build win32 and update the tap 🍺 (push) Failing after 3m36s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-riscv64:latest, riscv64-linux-gnu, riscv64) (push) Successful in 2m19s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x64:latest, x86_64-linux-gnu, amd64) (push) Successful in 2m21s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x86:latest, i386-linux-gnu, 386) (push) Successful in 2m6s
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "../Streams/Stream.hpp"
|
||||
#include "Crypto.hpp"
|
||||
|
||||
namespace Tesses::Framework::Crypto {
|
||||
/**
|
||||
@@ -59,6 +60,32 @@ class ClientTLSStream : public Tesses::Framework::Streams::Stream {
|
||||
ClientTLSStream(
|
||||
std::shared_ptr<Tesses::Framework::Streams::Stream> innerStream,
|
||||
bool verify, std::string domain, std::string cert);
|
||||
/**
|
||||
* @brief Construct a new Client TLS Stream object, with mTLS
|
||||
*
|
||||
* @param innerStream the underlying encrypted in transit stream
|
||||
* @param verify do we verify the certificate
|
||||
* @param domain the domain name
|
||||
* @param keyStore the keystore for mTLS
|
||||
*/
|
||||
ClientTLSStream(
|
||||
std::shared_ptr<Tesses::Framework::Streams::Stream> innerStream,
|
||||
bool verify, std::string domain, CertificateKeyStore keyStore);
|
||||
/**
|
||||
* @brief Construct a new Client TLS Stream object with an alternative
|
||||
* certificate chain (for server with self signed certificates) for mTLS
|
||||
*
|
||||
* @param innerStream the underlying encrypted in transit stream
|
||||
* @param verify do we verify the certificate
|
||||
* @param domain the domain name
|
||||
* @param cert the actual certificate
|
||||
* @param keyStore the keystore for mTLS
|
||||
*/
|
||||
ClientTLSStream(
|
||||
std::shared_ptr<Tesses::Framework::Streams::Stream> innerStream,
|
||||
bool verify, std::string domain, std::string cert,
|
||||
CertificateKeyStore keyStore);
|
||||
|
||||
/**
|
||||
* @brief Read from the stream
|
||||
*
|
||||
@@ -96,6 +123,10 @@ class ClientTLSStream : public Tesses::Framework::Streams::Stream {
|
||||
* @return false no
|
||||
*/
|
||||
bool EndOfStream();
|
||||
|
||||
void Shutdown(Tesses::Framework::Streams::StreamShutdownMode sdm);
|
||||
void SetSendTimeout(uint64_t seconds);
|
||||
void SetRecvTimeout(uint64_t seconds);
|
||||
~ClientTLSStream();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user