Skip to content

Commit d5e29f8

Browse files
Feat/hw accelerated sha updated (#46)
* feat(SHA): Use hardware acceleration for SHA operations * feat(SHA): Borrow the SHA peripheral instead of unsafely stealing * fix(init_ssl): Cleanup allocated resources on error to prevent a memory leak. * Use patched version of `edge-net` and `embassy-executor` - Use the current HEAD of edge-net for the lifetimes fix in edge-http - Use a patched version for embassy-executor before 0.6.0 was yanked.
1 parent f292457 commit d5e29f8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2833
-158
lines changed

Cargo.toml

+9-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ esp-println = { version = "0.12.0", features = ["log"] }
3232
esp-hal-embassy = { version = "0.4.0", optional = true }
3333

3434
embassy-time = { version = "0.3.0", optional = true }
35-
embassy-executor = { version = "0.6.0", package = "embassy-executor", features = [
35+
embassy-executor = { version = "=0.6.0", package = "embassy-executor", features = [
3636
"nightly",
3737
"integrated-timers",
3838
], optional = true }
@@ -149,6 +149,11 @@ edge-server = [
149149

150150
# Patch until new release
151151
[patch.crates-io]
152-
edge-http = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
153-
edge-nal = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
154-
edge-nal-embassy = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
152+
edge-http = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
153+
edge-nal = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
154+
edge-nal-embassy = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
155+
156+
# Patch before 0.6.0 got yanked
157+
embassy-executor = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }
158+
embassy-time-driver = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }
159+
embassy-time-queue-driver = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }

esp-mbedtls-sys/headers/esp32/config.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -330,9 +330,9 @@
330330
//#define MBEDTLS_POLY1305_ALT
331331
//#define MBEDTLS_RIPEMD160_ALT
332332
//#define MBEDTLS_RSA_ALT
333-
//#define MBEDTLS_SHA1_ALT
333+
// #define MBEDTLS_SHA1_ALT
334334
//#define MBEDTLS_SHA256_ALT
335-
//#define MBEDTLS_SHA512_ALT
335+
// #define MBEDTLS_SHA512_ALT
336336

337337
/*
338338
* When replacing the elliptic curve module, please consider, that it is

esp-mbedtls-sys/headers/esp32c3/config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
334+
#define MBEDTLS_SHA1_ALT
335335
//#define MBEDTLS_SHA256_ALT
336336
//#define MBEDTLS_SHA512_ALT
337337

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;

esp-mbedtls-sys/headers/esp32s2/config.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,9 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
335-
//#define MBEDTLS_SHA256_ALT
336-
//#define MBEDTLS_SHA512_ALT
334+
#define MBEDTLS_SHA1_ALT
335+
#define MBEDTLS_SHA256_ALT
336+
#define MBEDTLS_SHA512_ALT
337337

338338
/*
339339
* When replacing the elliptic curve module, please consider, that it is
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha256_context {
2+
void* sha224_hasher;
3+
void* sha256_hasher;
4+
int is224;
5+
} mbedtls_sha256_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha512_context {
2+
void* sha384_hasher;
3+
void* sha512_hasher;
4+
int is384;
5+
} mbedtls_sha512_context;

esp-mbedtls-sys/headers/esp32s3/config.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,9 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
335-
//#define MBEDTLS_SHA256_ALT
336-
//#define MBEDTLS_SHA512_ALT
334+
#define MBEDTLS_SHA1_ALT
335+
#define MBEDTLS_SHA256_ALT
336+
#define MBEDTLS_SHA512_ALT
337337

338338
/*
339339
* When replacing the elliptic curve module, please consider, that it is
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha256_context {
2+
void* sha224_hasher;
3+
void* sha256_hasher;
4+
int is224;
5+
} mbedtls_sha256_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha512_context {
2+
void* sha384_hasher;
3+
void* sha512_hasher;
4+
int is384;
5+
} mbedtls_sha512_context;

0 commit comments

Comments
 (0)