gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnurl] 219/282: sha256: Added mbedtls implementation


From: gnunet
Subject: [gnurl] 219/282: sha256: Added mbedtls implementation
Date: Wed, 01 Apr 2020 14:31:24 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 425ceb0150f499db2eec25a289f5eeccadda369c
Author: Steve Holme <address@hidden>
AuthorDate: Tue Feb 25 19:04:49 2020 +0000

    sha256: Added mbedtls implementation
---
 lib/sha256.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/lib/sha256.c b/lib/sha256.c
index d544381b2..db7e642de 100644
--- a/lib/sha256.c
+++ b/lib/sha256.c
@@ -36,7 +36,15 @@
 #define USE_OPENSSL_SHA256
 #endif
 
+#endif /* USE_OPENSSL */
+
+#ifdef USE_MBEDTLS
+#include <mbedtls/version.h>
+
+#if(MBEDTLS_VERSION_NUMBER >= 0x02070000)
+  #define HAS_RESULT_CODE_BASED_FUNCTIONS
 #endif
+#endif /* USE_MBEDTLS */
 
 #if defined(USE_OPENSSL_SHA256)
 
@@ -100,6 +108,46 @@ static void SHA256_Final(unsigned char *digest, SHA256_CTX 
*ctx)
   gcry_md_close(*ctx);
 }
 
+#elif defined(USE_MBEDTLS)
+
+#include <mbedtls/sha256.h>
+
+#include "curl_memory.h"
+
+/* The last #include file should be: */
+#include "memdebug.h"
+
+typedef mbedtls_sha256_context SHA256_CTX;
+
+static void SHA256_Init(SHA256_CTX *ctx)
+{
+#if !defined(HAS_RESULT_CODE_BASED_FUNCTIONS)
+  mbedtls_sha256_starts(ctx, 0);
+#else
+  (void) mbedtls_sha256_starts_ret(ctx, 0);
+#endif
+}
+
+static void SHA256_Update(SHA256_CTX *ctx,
+                          const unsigned char *data,
+                          unsigned int length)
+{
+#if !defined(HAS_RESULT_CODE_BASED_FUNCTIONS)
+  mbedtls_sha256_update(ctx, data, length);
+#else
+  (void) mbedtls_sha256_update_ret(ctx, data, length);
+#endif
+}
+
+static void SHA256_Final(unsigned char *digest, SHA256_CTX *ctx)
+{
+#if !defined(HAS_RESULT_CODE_BASED_FUNCTIONS)
+  mbedtls_sha256_finish(ctx, digest);
+#else
+  (void) mbedtls_sha256_finish_ret(ctx, digest);
+#endif
+}
+
 #else
 
 /* When no other crypto library is available we use this code segment */

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]