Make streams and vfs and http shared_ptr
This commit is contained in:
@@ -25,9 +25,8 @@ namespace Tesses::Framework::Crypto
|
||||
class ClientTLSPrivateData {
|
||||
public:
|
||||
bool eos;
|
||||
bool owns;
|
||||
bool success;
|
||||
Stream* strm;
|
||||
std::shared_ptr<Stream> strm;
|
||||
mbedtls_entropy_context entropy;
|
||||
mbedtls_ctr_drbg_context ctr_drbg;
|
||||
mbedtls_ssl_context ssl;
|
||||
@@ -40,7 +39,6 @@ namespace Tesses::Framework::Crypto
|
||||
mbedtls_entropy_free(&entropy);
|
||||
mbedtls_ssl_config_free(&conf);
|
||||
mbedtls_ssl_free(&ssl);
|
||||
if(this->owns) delete strm;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
@@ -59,12 +57,12 @@ namespace Tesses::Framework::Crypto
|
||||
return "";
|
||||
}
|
||||
|
||||
ClientTLSStream::ClientTLSStream(Tesses::Framework::Streams::Stream* innerStream, bool owns, bool verify, std::string domain) : ClientTLSStream(innerStream,owns,verify,domain,"")
|
||||
ClientTLSStream::ClientTLSStream(std::shared_ptr<Tesses::Framework::Streams::Stream> innerStream, bool verify, std::string domain) : ClientTLSStream(innerStream,verify,domain,"")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
ClientTLSStream::ClientTLSStream(Tesses::Framework::Streams::Stream* innerStream, bool owns, bool verify, std::string domain, std::string cert)
|
||||
ClientTLSStream::ClientTLSStream(std::shared_ptr<Tesses::Framework::Streams::Stream> innerStream, bool verify, std::string domain, std::string cert)
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
if(cert.empty())
|
||||
@@ -77,7 +75,7 @@ namespace Tesses::Framework::Crypto
|
||||
data->eos=false;
|
||||
data->success=false;
|
||||
data->strm = innerStream;
|
||||
data->owns = owns;
|
||||
|
||||
|
||||
mbedtls_ssl_init(&data->ssl);
|
||||
mbedtls_ssl_config_init(&data->conf);
|
||||
|
||||
+12
-39
@@ -83,7 +83,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha1::Update(Tesses::Framework::Streams::Stream* strm)
|
||||
bool Sha1::Update(std::shared_ptr<Tesses::Framework::Streams::Stream> strm)
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
if(strm == nullptr) return false;
|
||||
@@ -97,10 +97,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha1::Update(Tesses::Framework::Streams::Stream& strm)
|
||||
{
|
||||
return Update(&strm);
|
||||
}
|
||||
|
||||
std::vector<uint8_t> Sha1::Finish()
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
@@ -127,20 +124,14 @@ namespace Tesses::Framework::Crypto
|
||||
if(!sha1.Update(buffer,len)) return {};
|
||||
return sha1.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha1::ComputeHash(Tesses::Framework::Streams::Stream* strm)
|
||||
{
|
||||
Sha1 sha1;
|
||||
if(!sha1.Start()) return {};
|
||||
if(!sha1.Update(strm)) return {};
|
||||
return sha1.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha1::ComputeHash(Tesses::Framework::Streams::Stream& strm)
|
||||
std::vector<uint8_t> Sha1::ComputeHash(std::shared_ptr<Tesses::Framework::Streams::Stream> strm)
|
||||
{
|
||||
Sha1 sha1;
|
||||
if(!sha1.Start()) return {};
|
||||
if(!sha1.Update(strm)) return {};
|
||||
return sha1.Finish();
|
||||
}
|
||||
|
||||
|
||||
Sha256::Sha256()
|
||||
{
|
||||
@@ -175,7 +166,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha256::Update(Tesses::Framework::Streams::Stream* strm)
|
||||
bool Sha256::Update(std::shared_ptr<Tesses::Framework::Streams::Stream> strm)
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
if(strm == nullptr) return false;
|
||||
@@ -189,10 +180,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha256::Update(Tesses::Framework::Streams::Stream& strm)
|
||||
{
|
||||
return Update(&strm);
|
||||
}
|
||||
|
||||
std::vector<uint8_t> Sha256::Finish()
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
@@ -219,14 +207,7 @@ namespace Tesses::Framework::Crypto
|
||||
if(!sha256.Update(buffer,len)) return {};
|
||||
return sha256.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha256::ComputeHash(Tesses::Framework::Streams::Stream* strm,bool is224)
|
||||
{
|
||||
Sha256 sha256;
|
||||
if(!sha256.Start(is224)) return {};
|
||||
if(!sha256.Update(strm)) return {};
|
||||
return sha256.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha256::ComputeHash(Tesses::Framework::Streams::Stream& strm,bool is224)
|
||||
std::vector<uint8_t> Sha256::ComputeHash(std::shared_ptr<Tesses::Framework::Streams::Stream> strm,bool is224)
|
||||
{
|
||||
Sha256 sha256;
|
||||
if(!sha256.Start(is224)) return {};
|
||||
@@ -234,6 +215,7 @@ namespace Tesses::Framework::Crypto
|
||||
return sha256.Finish();
|
||||
}
|
||||
|
||||
|
||||
Sha512::Sha512()
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
@@ -265,7 +247,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha512::Update(Tesses::Framework::Streams::Stream* strm)
|
||||
bool Sha512::Update(std::shared_ptr<Tesses::Framework::Streams::Stream> strm)
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
if(strm == nullptr) return false;
|
||||
@@ -279,10 +261,7 @@ namespace Tesses::Framework::Crypto
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
bool Sha512::Update(Tesses::Framework::Streams::Stream& strm)
|
||||
{
|
||||
return Update(&strm);
|
||||
}
|
||||
|
||||
std::vector<uint8_t> Sha512::Finish()
|
||||
{
|
||||
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
|
||||
@@ -310,20 +289,14 @@ namespace Tesses::Framework::Crypto
|
||||
if(!sha512.Update(buffer,len)) return {};
|
||||
return sha512.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha512::ComputeHash(Tesses::Framework::Streams::Stream* strm,bool is384)
|
||||
{
|
||||
Sha512 sha512;
|
||||
if(!sha512.Start(is384)) return {};
|
||||
if(!sha512.Update(strm)) return {};
|
||||
return sha512.Finish();
|
||||
}
|
||||
std::vector<uint8_t> Sha512::ComputeHash(Tesses::Framework::Streams::Stream& strm,bool is384)
|
||||
std::vector<uint8_t> Sha512::ComputeHash(std::shared_ptr<Tesses::Framework::Streams::Stream> strm,bool is384)
|
||||
{
|
||||
Sha512 sha512;
|
||||
if(!sha512.Start(is384)) return {};
|
||||
if(!sha512.Update(strm)) return {};
|
||||
return sha512.Finish();
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool PBKDF2(std::vector<uint8_t>& output,std::string pass, std::vector<uint8_t>& salt, long itterations, ShaVersion version)
|
||||
|
||||
Reference in New Issue
Block a user