diff --git a/include/wolfboot/wolfboot.h b/include/wolfboot/wolfboot.h index a6e79d70..73f45e2f 100644 --- a/include/wolfboot/wolfboot.h +++ b/include/wolfboot/wolfboot.h @@ -185,6 +185,15 @@ extern "C" { #endif #endif /* WOLFBOOT_SELF_HEADER */ +#if defined(WOLFBOOT_SKIP_BOOT_VERIFY) && !defined(WOLFBOOT_SELF_HEADER) +#error "WOLFBOOT_SKIP_BOOT_VERIFY requires WOLFBOOT_SELF_HEADER" +#endif + +#if defined(WOLFBOOT_SKIP_BOOT_VERIFY) && \ + !defined(WOLFBOOT_SELF_UPDATE_MONOLITHIC) +#error "WOLFBOOT_SKIP_BOOT_VERIFY requires WOLFBOOT_SELF_UPDATE_MONOLITHIC" +#endif + #ifdef BIG_ENDIAN_ORDER # define WOLFBOOT_MAGIC 0x574F4C46 /* WOLF */ # define WOLFBOOT_MAGIC_TRAIL 0x424F4F54 /* BOOT */ diff --git a/options.mk b/options.mk index ff8df2c4..517c7588 100644 --- a/options.mk +++ b/options.mk @@ -710,6 +710,12 @@ ifeq ($(ALLOW_DOWNGRADE),1) endif ifeq ($(WOLFBOOT_SKIP_BOOT_VERIFY),1) + ifneq ($(WOLFBOOT_SELF_HEADER),1) + $(error WOLFBOOT_SKIP_BOOT_VERIFY=1 requires WOLFBOOT_SELF_HEADER=1) + endif + ifneq ($(SELF_UPDATE_MONOLITHIC),1) + $(error WOLFBOOT_SKIP_BOOT_VERIFY=1 requires SELF_UPDATE_MONOLITHIC=1) + endif CFLAGS+=-D"WOLFBOOT_SKIP_BOOT_VERIFY" endif diff --git a/tools/unit-tests/unit-update-disk.c b/tools/unit-tests/unit-update-disk.c index 6c051be1..43633f4d 100644 --- a/tools/unit-tests/unit-update-disk.c +++ b/tools/unit-tests/unit-update-disk.c @@ -1,5 +1,7 @@ #define WOLFBOOT_UPDATE_DISK #define WOLFBOOT_SKIP_BOOT_VERIFY +#define WOLFBOOT_SELF_UPDATE_MONOLITHIC +#define WOLFBOOT_SELF_HEADER #define EXT_ENCRYPTED #define ENCRYPT_WITH_CHACHA #define HAVE_CHACHA