Import from yaSSL

parent a401734c
......@@ -26,7 +26,6 @@
#ifndef yaSSL_ERROR_HPP
#define yaSSL_ERROR_HPP
#include "stdexcept.hpp"
namespace yaSSL {
......@@ -63,7 +62,7 @@ enum { MAX_ERROR_SZ = 80 };
void SetErrorString(YasslError, char*);
/* remove for now, if go back to exceptions use this wrapper
// Base class for all yaSSL exceptions
class Error : public mySTL::runtime_error {
YasslError error_;
......@@ -75,6 +74,7 @@ public:
YasslError get_number() const;
Library get_lib() const;
};
*/
} // naemspace
......
......@@ -46,10 +46,8 @@ public:
// for compiler generated call, never used
static void operator delete(void*) { assert(0); }
private:
#if defined(__hpux)
// don't allow dynamic creation of exceptions
static void* operator new(size_t);
#endif
};
......
......@@ -27,10 +27,12 @@
#include "yassl_error.hpp"
#include "error.hpp" // TaoCrypt error numbers
#include "openssl/ssl.h" // SSL_ERROR_WANT_READ
#include <string.h> // strncpy
namespace yaSSL {
/* may bring back in future
Error::Error(const char* s, YasslError e, Library l)
: mySTL::runtime_error(s), error_(e), lib_(l)
{
......@@ -48,6 +50,7 @@ Library Error::get_lib() const
return lib_;
}
*/
void SetErrorString(YasslError error, char* buffer)
......
......@@ -2106,9 +2106,14 @@ ASN1_STRING* StringHolder::GetString()
extern "C" void yaSSL_CleanUp()
{
TaoCrypt::CleanUp();
ysDelete(yaSSL::cryptProviderInstance);
ysDelete(yaSSL::sslFactoryInstance);
ysDelete(yaSSL::sessionsInstance);
yaSSL::ysDelete(yaSSL::cryptProviderInstance);
yaSSL::ysDelete(yaSSL::sslFactoryInstance);
yaSSL::ysDelete(yaSSL::sessionsInstance);
// In case user calls more than once, prevent seg fault
yaSSL::cryptProviderInstance = 0;
yaSSL::sslFactoryInstance = 0;
yaSSL::sessionsInstance = 0;
}
......
......@@ -2735,8 +2735,11 @@ void CleanUp()
{
tcDelete(one);
tcDelete(zero);
}
// In case user calls more than once, prevent seg fault
one = 0;
zero = 0;
}
Integer::Integer(RandomNumberGenerator& rng, const Integer& min,
const Integer& max)
......
......@@ -81,6 +81,19 @@ extern "C" {
}
#if defined(__ICC) || defined(__INTEL_COMPILER)
extern "C" {
int __cxa_pure_virtual() {
assert("Pure virtual method called." == "Aborted");
return 0;
}
} // extern "C"
#endif
#endif // YASSL_PURE_C
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment