diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2021-05-14 11:19:04 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2021-05-14 11:46:10 +0200 |
commit | 08b4383e3f7543fca93c7df71343d3559c45637e (patch) | |
tree | e250ab179e8b74013860bb392be05a6d878b33f8 /core | |
parent | 99626d5b57fa123877c9d6bd07d83460d42d355c (diff) |
SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid
Helps users figure out that something is wrong if they did define this
environment variable and it turns out being ignored.
Diffstat (limited to 'core')
-rw-r--r-- | core/SCsub | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/SCsub b/core/SCsub index 21829553a7..607daada21 100644 --- a/core/SCsub +++ b/core/SCsub @@ -12,25 +12,28 @@ import os txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0" if "SCRIPT_AES256_ENCRYPTION_KEY" in os.environ: - e = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"] - txt = "" + key = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"] ec_valid = True - if len(e) != 64: + if len(key) != 64: ec_valid = False else: - + txt = "" for i in range(len(e) >> 1): if i > 0: txt += "," - txts = "0x" + e[i * 2 : i * 2 + 2] + txts = "0x" + key[i * 2 : i * 2 + 2] try: int(txts, 16) except Exception: ec_valid = False txt += txts if not ec_valid: - txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0" - print("Invalid AES256 encryption key, not 64 bits hex: " + e) + print("Error: Invalid AES256 encryption key, not 64 hexadecimal characters: '" + key + "'.") + print( + "Unset 'SCRIPT_AES256_ENCRYPTION_KEY' in your environment " + "or make sure that it contains exactly 64 hexadecimal characters." + ) + Exit(255) # NOTE: It is safe to generate this file here, since this is still executed serially with open("script_encryption_key.gen.cpp", "w") as f: |