From 4306136cf44b7eb1c9eb96aaf43f2d553172b54b Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Mon, 14 Sep 2020 01:29:07 +0200
Subject: [PATCH] change(btle): Use the CSPRNG provided by epicardium

I don't trust the TRNG/PRNG combo inside the binary blob.
---
 card10-cross.ini     | 2 +-
 epicardium/ble/ble.c | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/card10-cross.ini b/card10-cross.ini
index 8ccc99632..dd56226e7 100644
--- a/card10-cross.ini
+++ b/card10-cross.ini
@@ -6,7 +6,7 @@ strip = 'arm-none-eabi-strip'
 [properties]
 c_args      = ['-mthumb', '-mcpu=cortex-m4', '-mfloat-abi=softfp', '-mfpu=fpv4-sp-d16', '-Wa,-mimplicit-it=thumb', '-ffunction-sections', '-fdata-sections', '-fsingle-precision-constant', '-fno-isolate-erroneous-paths-dereference']
 
-c_link_args = ['-mthumb', '-mcpu=cortex-m4', '-mfloat-abi=softfp', '-mfpu=fpv4-sp-d16', '-Wl,--start-group', '-lc', '-lnosys', '-Wl,--end-group', '--specs=nano.specs']
+c_link_args = ['-mthumb', '-mcpu=cortex-m4', '-mfloat-abi=softfp', '-mfpu=fpv4-sp-d16', '-Wl,--start-group', '-lc', '-lnosys', '-Wl,--end-group', '--specs=nano.specs', '-Wl,-wrap,BbBleDrvRand']
 
 target_defs = ['-DTARGET=32665', '-DTARGET_REV=0x4131', '-DBOARD_CARD10=1']
 
diff --git a/epicardium/ble/ble.c b/epicardium/ble/ble.c
index d1bd46d92..120bd31fa 100644
--- a/epicardium/ble/ble.c
+++ b/epicardium/ble/ble.c
@@ -151,6 +151,12 @@ out_err:
 	log_enabled = false;
 }
 /*************************************************************************************************/
+void __wrap_BbBleDrvRand(uint8_t *pBuf, uint8_t len)
+{
+	epic_csprng_read(pBuf, len);
+	//printf("BbBleDrvRand(%d) = %02x %02x ...\n", len, pBuf[0], pBuf[1]);
+}
+/*************************************************************************************************/
 static void WsfInit(void)
 {
 	uint32_t bytesUsed __attribute__((unused));
-- 
GitLab