Prepare signing before sketch is compiled #6287
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes the right value available in ARDUINO_SIGNING in the sketch.
The order of compilation makes the actual value of the define
ARUDINO_SINGING
inconsistently available to users. It might come in handy to check from user code if signature validation is enabled. This PR changes the moment in the build process theUpdater_Signing.h
file is updated.Old order of build process:
#define ARDUINO_SIGNING 0
, this file is always readily available.#define ARDUINO_SIGNING 1
.If the sketch is build and no cache is available,
ARDUINO_SIGNING
will be0
during sketch compilation (step 2). However, if the sketch is build again and a cache of the core is available,ARDUINO_SIGNING
will be1
. This makes the resulting binary inconsistent, even though nothing's changed in the code.Order after this PR:
#define ARDUINO_SIGNING 0
, this file is always readily available.#define ARDUINO_SIGNING 1
.Now the
ARDUINO_SIGNING
is already set to1
in step 2, before compilation of the sketch.Example sketch demonstrating ARDUINO_SIGNING usage.
Essential part of the example