summaryrefslogtreecommitdiff
path: root/src/LibsslMessageDigestImpl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/LibsslMessageDigestImpl.cc')
-rw-r--r--src/LibsslMessageDigestImpl.cc55
1 files changed, 23 insertions, 32 deletions
diff --git a/src/LibsslMessageDigestImpl.cc b/src/LibsslMessageDigestImpl.cc
index 02cf1c3e..15ebccbe 100644
--- a/src/LibsslMessageDigestImpl.cc
+++ b/src/LibsslMessageDigestImpl.cc
@@ -43,19 +43,16 @@ namespace aria2 {
#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100001L
namespace {
-EVP_MD_CTX* EVP_MD_CTX_new() {
- return EVP_MD_CTX_create();
-}
+EVP_MD_CTX* EVP_MD_CTX_new() { return EVP_MD_CTX_create(); }
} // namespace
namespace {
-void EVP_MD_CTX_free(EVP_MD_CTX* ctx) {
- EVP_MD_CTX_destroy(ctx);
-}
+void EVP_MD_CTX_free(EVP_MD_CTX* ctx) { EVP_MD_CTX_destroy(ctx); }
} // namespace
namespace {
-int EVP_MD_CTX_reset(EVP_MD_CTX* ctx) {
+int EVP_MD_CTX_reset(EVP_MD_CTX* ctx)
+{
EVP_MD_CTX_init(ctx);
return 1;
}
@@ -63,28 +60,22 @@ int EVP_MD_CTX_reset(EVP_MD_CTX* ctx) {
#endif // defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER <
// 0x10100001L
-template<const EVP_MD* (*init_fn)()>
+template <const EVP_MD* (*init_fn)()>
class MessageDigestBase : public MessageDigestImpl {
public:
MessageDigestBase()
- : ctx_(EVP_MD_CTX_new()), md_(init_fn()), len_(EVP_MD_size(md_)) {
+ : ctx_(EVP_MD_CTX_new()), md_(init_fn()), len_(EVP_MD_size(md_))
+ {
EVP_MD_CTX_reset(ctx_);
reset();
}
- virtual ~MessageDigestBase() {
- EVP_MD_CTX_free(ctx_);
- }
+ virtual ~MessageDigestBase() { EVP_MD_CTX_free(ctx_); }
- static size_t length() {
- return EVP_MD_size(init_fn());
- }
- virtual size_t getDigestLength() const CXX11_OVERRIDE {
- return len_;
- }
- virtual void reset() CXX11_OVERRIDE {
- EVP_DigestInit_ex(ctx_, md_, nullptr);
- }
- virtual void update(const void* data, size_t length) CXX11_OVERRIDE {
+ static size_t length() { return EVP_MD_size(init_fn()); }
+ virtual size_t getDigestLength() const CXX11_OVERRIDE { return len_; }
+ virtual void reset() CXX11_OVERRIDE { EVP_DigestInit_ex(ctx_, md_, nullptr); }
+ virtual void update(const void* data, size_t length) CXX11_OVERRIDE
+ {
auto bytes = reinterpret_cast<const char*>(data);
while (length) {
size_t l = std::min(length, (size_t)std::numeric_limits<uint32_t>::max());
@@ -93,13 +84,14 @@ public:
bytes += l;
}
}
- virtual void digest(unsigned char* md) CXX11_OVERRIDE {
+ virtual void digest(unsigned char* md) CXX11_OVERRIDE
+ {
unsigned int len;
EVP_DigestFinal_ex(ctx_, md, &len);
}
private:
- EVP_MD_CTX *ctx_;
+ EVP_MD_CTX* ctx_;
const EVP_MD* md_;
const size_t len_;
};
@@ -113,21 +105,20 @@ std::unique_ptr<MessageDigestImpl> MessageDigestImpl::sha1()
}
MessageDigestImpl::hashes_t MessageDigestImpl::hashes = {
- { "sha-1", make_hi<MessageDigestSHA1>() },
+ {"sha-1", make_hi<MessageDigestSHA1>()},
#ifdef HAVE_EVP_SHA224
- { "sha-224", make_hi<MessageDigestBase<EVP_sha224> >() },
+ {"sha-224", make_hi<MessageDigestBase<EVP_sha224>>()},
#endif
#ifdef HAVE_EVP_SHA224
- { "sha-256", make_hi<MessageDigestBase<EVP_sha256> >() },
+ {"sha-256", make_hi<MessageDigestBase<EVP_sha256>>()},
#endif
#ifdef HAVE_EVP_SHA224
- { "sha-384", make_hi<MessageDigestBase<EVP_sha384> >() },
+ {"sha-384", make_hi<MessageDigestBase<EVP_sha384>>()},
#endif
#ifdef HAVE_EVP_SHA224
- { "sha-512", make_hi<MessageDigestBase<EVP_sha512> >() },
+ {"sha-512", make_hi<MessageDigestBase<EVP_sha512>>()},
#endif
- { "md5", make_hi<MessageDigestMD5>() },
- ADLER32_MESSAGE_DIGEST
-};
+ {"md5", make_hi<MessageDigestMD5>()},
+ ADLER32_MESSAGE_DIGEST};
} // namespace aria2