From a307da0672024c02bbd86aadccc4d760fbb7ef31 Mon Sep 17 00:00:00 2001 From: Armin Luntzer <armin.luntzer@univie.ac.at> Date: Mon, 31 Aug 2020 10:27:52 +0200 Subject: [PATCH] * write verify-reply packets use data-crc field * rmap return path must be a multiple of 4 bytes * update FEE address configuration --- FEE/smile_fee_cfg.h | 14 +++++++------- FEE/smile_fee_rmap.c | 5 +++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/FEE/smile_fee_cfg.h b/FEE/smile_fee_cfg.h index ea22308..9db20b1 100644 --- a/FEE/smile_fee_cfg.h +++ b/FEE/smile_fee_cfg.h @@ -22,17 +22,17 @@ #include <stdint.h> -#define DPU_ADDR 0x28 -#define FEE_ADDR 0x5A +#define DPU_ADDR 0x50 +#define FEE_ADDR 0x51 +#define DPATH {1} +#define RPATH {0, 0, 0, 33} -#define DPATH {FEE_ADDR} -#define RPATH {0x00, 0x00, 0x00, DPU_ADDR} -#define DPATH_LEN 1 -#define RPATH_LEN 4 +#define DPATH_LEN 0 +#define RPATH_LEN 0 /* default FEE destkey */ -#define FEE_DEST_KEY 0x0 +#define FEE_DEST_KEY 0xD1 /* set header size maximum so we can fit the largest possible rmap commands diff --git a/FEE/smile_fee_rmap.c b/FEE/smile_fee_rmap.c index 8af0d3a..71fddf8 100644 --- a/FEE/smile_fee_rmap.c +++ b/FEE/smile_fee_rmap.c @@ -528,6 +528,8 @@ int smile_fee_package(uint8_t *blob, case RMAP_WRITE_ADDR_INC: case RMAP_WRITE_ADDR_SINGLE_VERIFY: case RMAP_WRITE_ADDR_INC_VERIFY: + case RMAP_WRITE_ADDR_SINGLE_VERIFY_REPLY: + case RMAP_WRITE_ADDR_INC_VERIFY_REPLY: has_data_crc = 1; n += 1; break; @@ -631,6 +633,9 @@ int smile_fee_set_return_path(uint8_t *path, uint8_t len) if (len > RMAP_MAX_REPLY_PATH_LEN) return -1; + if (len & 0x3) + return -1; /* not a multiple of 4 */ + if (!path || !len) { rpath = NULL; rpath_len = 0; -- GitLab