blob: 6fae5857a454edc89ecec7b9773889647b5b7c7a [file] [edit]
#include <sframe/sframe.h>
namespace SFRAME_NAMESPACE {
#ifdef __cpp_exceptions
unsupported_ciphersuite_error::unsupported_ciphersuite_error()
: std::runtime_error("Unsupported ciphersuite")
{
}
authentication_error::authentication_error()
: std::runtime_error("AEAD authentication failure")
{
}
void
throw_sframe_error(const SFrameError& error)
{
switch (error.type()) {
case SFrameErrorType::internal_error:
throw std::runtime_error(error.message() ? error.message()
: "SFrame internal error");
case SFrameErrorType::buffer_too_small_error:
throw buffer_too_small_error(error.message());
case SFrameErrorType::invalid_parameter_error:
throw invalid_parameter_error(error.message());
case SFrameErrorType::crypto_error:
throw crypto_error();
case SFrameErrorType::unsupported_ciphersuite_error:
throw unsupported_ciphersuite_error();
case SFrameErrorType::authentication_error:
throw authentication_error();
case SFrameErrorType::invalid_key_usage_error:
throw invalid_key_usage_error(error.message());
}
}
#endif
} // namespace SFRAME_NAMESPACE