summaryrefslogtreecommitdiff
path: root/packages/moxiebox/sha256_wrap.c
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-11-24 06:14:07 (GMT)
committerAlexey Neyman <stilor@att.net>2018-12-01 18:10:51 (GMT)
commit40d5bf64408a0e103f8149f941ea50fbbb11dc91 (patch)
tree67532a4e3a2498ab5663bb400649ec847ced6ba7 /packages/moxiebox/sha256_wrap.c
parent172308cb1be5b23c816c19d0b9c84ba4910cbe80 (diff)
Add moxiebox as a choice for libc
This required some rework of the libc selection, as moxiebox is a layer on top of another libc - newlib. Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox needs from libcrypto is SHA256, and it already includes a standalone implementation of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use that implementation for the host binary, too. Also, automate collecting/printing the list of all packages in a given category (e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given category. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/moxiebox/sha256_wrap.c')
-rw-r--r--packages/moxiebox/sha256_wrap.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/moxiebox/sha256_wrap.c b/packages/moxiebox/sha256_wrap.c
new file mode 100644
index 0000000..15800c4
--- /dev/null
+++ b/packages/moxiebox/sha256_wrap.c
@@ -0,0 +1,25 @@
+/*
+ Wrapper around moxiebox'es implementation of SHA256 digest that
+ mimics the API of the OpenSSL implementation.
+*/
+
+#include "sha.h"
+#include "../runtime/sha256.c"
+
+void
+SHA256_Init(SHA256_CTX *ctx)
+{
+ sha256_init(ctx);
+}
+
+void
+SHA256_Update(SHA256_CTX *ctx, const void *data, size_t len)
+{
+ sha256_update(ctx, data, len);
+}
+
+void
+SHA256_Final(unsigned char *md, SHA256_CTX *ctx)
+{
+ sha256_final(ctx, md);
+}